OS/2

OS/2 er et operativsystem som ble utviklet av IBM. Versjon 1 av OS/2 ble utviklet i samarbeid med Microsoft, mens versjon 2 og senere versjoner var rene IBM-produkter. Microsoft brukte enkelte kjernekomponenter fra OS/2 1 i Windows NT.
OS/2 1 var i all hovedsak et tjeneroperativsystem på samme måte som Windows NT var i starten.OS/2 2 ble fort favoritten til mange systemutviklere av DOS-programmer, da det kjørte MS-DOS-applikasjoner raskere og mer effektivt enn MS-DOS selv. OS/2 2 var helt klart den mest populære perioden i OS/2s historie. OS/2 hadde bedre multiprosesseringsmuligheter enn Windows hadde på samme tid.OS/2 kom med flere versjoner, men Windows vokste fortere. OS/2 er ikke lengre i særlig bruk. OS/2 ble utviklet videre av Serenity Systems under navnet eComStation.
Den 12. juli 2005 kunngjorde IBM at brukerstøtten til OS/2 ville opphøre den 31. desember 2006.


== OS/2 1.x ==


=== MS-DOS skaper hodebry ===
MS-DOS ble lansert i 1981 som et adekvat operativsystem for den opprinnelige IBM PC. MS-DOS var skreddersydd for 16-bit mikroprosessorene Intel 8086 og Intel 8088 som kunne håndtere 1024 Kb RAM. 640 Kb var reservert brukerprogrammer, mens minneområdet 640-1024 Kb var reservert drivere.
Allerede i 1982 – året etterpå – ble 16-bit prosessoren Intel 80286 lansert, uten at MS-DOS utnyttet dens potensial. MS-DOS kjørte i reell modus: Uansett hvor mye minne datamaskinen hadde, utnyttet MS-DOS bare 1 Mb (1024 Kb). Intel 80286 var konstruert for 16 Mb minne.
MS-DOS kunne ikke håndtere mange brukere – kun én bruker. MS-DOS kunne ikke kjøre flere programmer samtidig i beskyttet modus – kun ett program av gangen. Ei heller utnyttet MS-DOS  mulighetene for swapping og virtuell hukommelse i Intel 80286.
Maskinvaren utviklet seg raskere enn programvaren og menneskelig fantasi: Intel 80286 var mer avansert enn de største stormaskinene på 1960-tallet.
Av kommersielle grunner, kunne ikke Microsoft og IBM lage et helt nytt system. Det nye operativsystemet måtte kjøre MS-DOS programmer og være kompatibel med filsystemet til MS-DOS (FAT). 


=== OS/2 1.0 (1987) ===

Utviklingen av OS/2 ble innledet av Microsoft og IBM i august 1985 under navnet CP/DOS. Den 2. april 1987 ble det kunngjort at navnet på det nye operativsystemet var OS/2 – Operativsystem 2 (underforstått at MS-DOS var «operativsystem 1»). I desember 1987 ble OS/2 1.0 lansert som et tekstbasert operativsystem, uten et grafisk brukergrensesnitt.
Det nye operativsystemet kjørte sine egne programmer i beskyttet modus. Det utnyttet også 80286-prosessorens evne til å «simulere» 8086/8088 datamaskiner innenfor isolerte minneområder, og å kjøre MS-DOS programmer innenfor disse. Ettersom MS-DOS programmene ikke kjørte i beskyttet modus, kunne feil i programmene føre til at hele operativsystemet krasjet.
OS/2 ble konstruert med Multics som modell. Multics benyttet segmentering under swapping, mens etterfølgeren UNIX benyttet sideveksling. OS/2 kombinerte begge deler ved å utføre sideveksling innenfor et enkelt segment. 
MS-DOS utførte systemkall ved hjelp av avbrudd. OS/2 utførte system-kall gjennom meldinger (API-kall) til rutiner som styrte skjermen, tastaturet og musen. Dermed var det unødvendig for system-programmere å sende kall til BIOS eller benytte maskinvaren direkte.
Utviklingsverktøy inkluderte deler av API-kallene til skjerm og tastatur, i form av dynamiske link-biblioteker for programmer som kjørte under MS-DOS.
Oppgave-svitsjeren Program Selector var tilgjengelig gjennom tastatur-snarveien Ctrl-Esc, slik at brukeren kunne velge mellom flere tekstbaserte programmer som kjørte samtidig. Brukeren kunne også velge mellom «skjerm-grupper», som hver enkelt kunne kjøre flere programmer.
I 1988 ble OS/2 1.0 Extended Edition lansert, med utvidelser for datakommunikasjon og databaser. Denne utvidede utgaven hadde støtte for IBM Systems Network Architecture, X.25, IBM Advanced Program-to-Program Communication / LU 6.2 (en konkurrent til TCP/IP), Lan Manager, IBM Query Management Facility og Structured Query Language.


=== OS/2 1.1 (1988) ===
OS/2 1.1 ble lansert i oktober 1988. Blant nyhetene var det grafiske brukergrensesnittet Presentation Manager, som var nesten identisk i utseende med Windows 2.1.
OS/2 1.1 Extended Edition, som ble solgt gjennom IBMs salgskanaler, introduserte distribuert databasestøtte for IBM databasesystemer og IBM Systems Network Architecture i nettverk med IBM stormaskiner.


=== OS/2 1.2 (1989) ===
OS/2 1.2 introduserte støtte for installerbare filsystemer, og i tillegg det nye filsystemet HPFS. HPFS inneholdt en rekke forbedringer, sammenlignet med det eldre FAT filsystemet, deriblant lange filnavn (256 tegn mot 8+3 på MS-DOS). Filer i HPFS hadde også såkalte «utvidede attributter», som gjorde det mulig for brukere å tilføye metadata til filer.
OS/2 1.2 Extended Edition, lansert i januar 1990, støttet TCP/IP og Ethernet.


=== OS/2 1.3 (1991) ===
Denne versjonen ble lansert i 1991. Den inneholdt en rekke optimaliseringer i ytelsen og enkelte forbedringer av brukervennligheten. Deriblant hadde Presentation Manager nesten samme utseende som Windows 3.0.
OS/2 1.3 Extended Edition ble lansert i februar 1991.


== Microsoft og IBM bryter samarbeidet ==
Mellom lanseringen av Windows 3.0 i 1990 og OS/2 1.3 i 1991, begynte samarbeidet mellom Microsoft og IBM å vakle. I begynnelsen fortsatte riktignok Microsoft å hevde at OS/2 var fremtidens operativsystem. Microsoft og IBM hadde imidlertid forskjellige visjoner om fremtiden til OS/2: IBM ønsket å videreutvikle OS/2 for x86-arkitekturen og sine egne datamaskiner. Microsoft ønsket et portabelt system som kunne kjøre på andre mikroprosessor-arkitekturer. 
Som et kompromiss ble selskapene enige om at IBM skulle utvikle OS/2 2.0 for x86-arkitekturen, mens Microsoft skulle utvikle NT OS/2 3.0 for flere arkitekturer. 
I 1988 ansatte Microsoft Dave Cutler, som tidligere hadde deltatt i utviklingen av VAX/VMS, til å arbeide med OS/2. Forkortelsen NT var i begynnelsen en  forkortelse for «N-Ten (N-10) operativsystemet», ettersom Microsoft planla en utgave av OS/2 for RISC-prosessoren Intel i860 (med kodenavnet N10). Disse planene ble forkastet, og Microsoft fokuserte deretter på et 32-bit operativsystem for MIPS, DEC Alpha og x86-arkitekturen.
Senere ble NT OS/2 3.0 omdøpt til Windows NT, og Microsoft brøt samarbeidet med IBM.


=== OS/2 1.x blir en flaskehals ===

Som en skjebnens ironi opphørte utviklingen av OS/2 1.x av samme årsak som den oppstod. Videreutviklingen av x86-arkitekturen gjorde OS/2 1.x stadig mer uegnet, liksom MS-DOS hadde vært det.
OS/2 kjørte i «standard modus» og utnyttet bare 16 Mb RAM, uansett hvor mye minne datamaskinene hadde. I 1985 lanserte Intel prosessoren Intel 80386, og i 1989 kom etterfølgeren Intel 80486, som begge var konstruert for 4 Gb (4096 Mb) minne. 
Disse prosessorene var også 32-bit, mens OS/2 1.x bare kjørte 16-bit kode. På det tidspunkt da OS/2 1.x var ferdig utviklet, var også Intel 80286 i ferd med å bli avleggs.
OS/2 1.x utnyttet ikke 80386-prosessorens «flate minnemodell», som tillot bruk av paging istedenfor segmentering til å realisere virtuell hukommelse.
Windows var også blitt OS/2 1.x. overlegen i å kjøre MS-DOS programmer. I 1988 kunne Windows/386 2.10 kjøre flere MS-DOS programmer samtidig i 80386-prosessorens virtuelle 8086 modus. I 1991 var OS/2 1.3 fortsatt bare istand til å kjøre ett enkelt MS-DOS program av gangen innenfor en «DOS-boks».


=== Windows 3.x blir en salgs-suksess ===
Microsoft brøt også samarbeidet med IBM av kommersielle grunner. Det ble solgt tre millioner eksemplarer av Windows 3.0 det første året. Etter at Windows 3.1 ble lansert den 6. april 1992, ble det solgt tre millioner eksemplarer på to måneder. MS-DOS og Windows 3.x ble solgt sammen med de fleste nye datamaskiner. OS/2 måtte kjøpes separat. Windows hadde også flere utstyrsdrivere enn OS/2.
Fra 1980-tallet til 2000-tallet ble det benyttet to ulike løsninger for å overvinne begrensningene til MS-DOS:

Et nytt operativsystem. Dette var filosofien bak OS/2.
Utvidet DOS, eller å kjøre et annet operativsystem sammen med MS-DOS. Mens MS-DOS bruker 1024 Kb (hvorav 640 Kb var reservert programmer), kjører et annet operativsystem i minneområdet fra 1 Mb og oppover. For brukeren skjer dette «sømløst», og gir den illusjon at datamaskinen bare kjører ett operativsystem. Mange såkalte «DOS-spill» kjører utenfor minneområdet til MS-DOS, i et annet operativsystem, mens brukerne illusorisk opplever dette som et og samme system.Windows 3.0, Windows 3.1x, Windows 95, Windows 98 og Windows ME var DOS-utvidere, og selv om de var en dårligere løsning enn et nytt operativsystem, tjente Microsoft mer penger på dette en å videreutvikle OS/2.
Mens Microsoft ventet på at Windows NT skulle ferdigutvikles, kunne de dessuten fortsatt tjene lisens-penger på salget av Xenix og OS/2.


== IBM OS/2 2.x ==


=== OS/2 2.0 (1992) ===
OS/2 2.0 ble lansert av IBM den 31. mars 1992. På samme måte som Windows 95 og Windows 98 var dette en hybrid mellom 16-bit og 32-bit kode. Operativsystemet ga utviklere tilgang til en ny 32-bit API, som gjorde det mulig å skrive 32-bit programmer for OS/2. Under kjøring ble likevel deler av 32-bit koden oversatt til 16-bit kode av operativsystemet.
Den segmenterte minnemodellen i OS/2 1.x, som var inspirert av Multics, ble i versjon 2.0 erstattet av 80386-prosessorens såkalte «flate minnemodell». Liksom UNIX benyttet OS/2 2.0 paging til å realisere virtuell hukommelse.
Det grafiske brukergrensesnittet Presentation Manager (PM) ble erstattet av Workplace Shell. Mens PM og Program Manager i Windows 3.x bare sørget for program-vinduer, var Workplace Shell et objekt-orientert grafisk brukergrensesnitt der brukerne kunne håndtere programmer, filer og periferiutstyr ved å manipulere med objekter på skjermen.
OS/2 2.0 ble lansert av IBM som «en bedre DOS enn DOS og en bedre Windows enn Windows».  OS/2 1.x kunne bare kjøre ett enkelt MS-DOS program av gangen innenfor en DOS-boks. Samtidig kunne MS-DOS programmer krasje hele systemet. I versjon 2.0 kunne flere MS-DOS programmer kjøre samtidig i 80386-prosessorens virtuelle 8086 modus. Samtidig hadde OS/2 2.0 omfattende konfigurasjons-muligheter for å optimalisere MS-DOS programmenes ytelse. 
Også Xenix-programmer kunne kjøre innenfor virtuelle maskiner på OS/2 2.0.
Liksom de fleste 32-bit operativsystemer, benyttet OS/2 2.0 DOS Protected Mode Interface, som ble lansert i 1990 sammen med Windows 3.0 til å kjøre av MS-DOS programmer. OS/2 hadde ikke støtte for den eldre Virtual Control Program Interface spesifikasjonen.
I motsetning til Windows NT, ga OS/2 2.0 MS-DOS programmene tilgang til å foreta avbruddshåndtering. Dette kunne i teorien føre til vranglås. I slike tilfeller kunne imidlertid OS/2 benytte en watchdog timer for å oppheve vranglåsen.
OS/2 2.0 kjørte en modifisert kopi av DOS-utvideren Windows 3.0. Windows 3.0 kunne kjøres over hele skjermen; alternativt kunne Windows-programmer kjøres i egne vinduer innenfor rammene av OS/2s Workplace Shell. Flere Windows-programmer kunne kjøre samtidig innenfor én enkelt Windows-prosess; i tillegg var det mulig å kjøre flere instanser av Windows 3.0. Det var mulig å foreta dynamisk datautveksling mellom OS/2 programmer og Windows-programmer. OLE var også tilgjengelig mellom Windows-programmer.


=== OS/2 2.1 (1993) ===
OS/2 2.1 ble lansert av IBM i mai 1993. All 16-bit grafikk-kode (Gre) ble oppdatert med en raskere 32-bit kode. Systemet fikk også støtte for TrueType fonter, og multimedia gjennom Multimedia Presentation Manager (MMPM/2). Windows-støtten ble forbedret med en modifisert utgave av DOS-utvideren Windows 3.1.
OS/2 2.1 innførte også støtte for PCMCIA og Advanced Power Management (APM) for bærbare datamaskiner


=== OS/2 2.1 for Windows (1993) ===
Denne versjonen ble lansert av IBM i desember 1993, for å redusere kostnadene for brukere som allerede hadde Windows installert på datamaskinen. Den kjørte ikke noen modifisert Windows-utgave, men benyttet den eksisterende Windows-installasjonen til å kjøre Windows-programmer i OS/2. Ved å foreta enkelte modifikasjoner i Windows-filene SYSTEM.INI og WIN.INI, kunne OS/2 kjøre Windows 3.1 som en virtuell maskin.
IBM unngikk på denne måten lisenskostnader til Microsoft. Dessuten fikk brukerne større valgfrihet, ved at de selv kunne velge hvilken versjon av Windows (3.0, 3.1 eller 3.11) de ønsket å kjøre.


=== OS/2 2.11 (1994) ===
Denne versjonen ble lansert av IBM i februar 1994.


=== OS/2 2.11 SMP (1994) ===
Denne versjonen ble lansert av IBM i desember 1994. Den hadde støtte for symmetrisk multiprosessering, og kunne kjøres på datamaskiner med inntil 16 mikroprosessorer.


== IBM OS/2 3.x ==


=== OS/2 3.0 (1994) ===
OS/2 3.0 ble lansert av IBM i september 1994 under navnet «OS/2 Warp», for å fremheve operativsystemets høye ytelse. I utviklingsfasen ble benevnelsen «Warp» brukt internt av IBM som kodenavn. Benevnelsen var hentet fra TV-serien Star Trek. IBM benyttet navn fra Star Trek som interne kodenavn på OS/2 2.x, og mente at «Warp» også var egnet som offisielt produktnavn.
I motsetning til OS/2 2.x var dette ingen hybrid mellom 16-bit og 32-bit kode. OS/2 3.0 var et rent 32-bit operativsystem for Intel 80386, Intel 80486 og deres kloner, og markerte det endelige bruddet med Intels 16-bit prosessorer.
Warp 3, som operativsystemet også ble kalt, var konstruert for å kjøre på datamaskiner med bare 4 megabyte RAM. Blant nyhetene var langt flere drivere, og innebygd støtte for de fleste former for periferiutstyr som var i salg (deriblant PCMCIA). Workplace Shell var også betydelig forbedret, både med hensyn til ytelse og funksjonalitet. 
Utskrift på skrivere gikk raskere, og operativsystemet ble levert sammen med en «bonus-pakke» CD-ROM som inneholdt en rekke OS/2 programmer. Blant programmene var kontorpakken IBM Works, som bestod av et tekstbehandlingsprogram, et regneark, et databaseprogram, et presentasjons-program og et program for generering av grafer (charts).
Blant nyhetene var også utvidet støtte for multimedia og internett. Programpakken Internet Access Kit bestod av nettleseren Web Explorer, programmet Ultimail for å sende og motta e-post og en FTP-klient for filoverføring.
Liksom de fleste versjonene av OS/2 2.x, kjørte også OS/2 3.0 en modifisert kopi av DOS-utvideren Windows 3.x. OS/2 3.0 ble i denne forbindelse også kalt «Blue Spine», mens OS/2 3.0 for Windows ble kalt «Red Spine» (oppkalt etter fargen på eskene de ble solgt i).


=== OS/2 3.0 for Windows (1994) ===
Denne versjonen ble lansert av IBM i oktober 1994. Den ble noen ganger kalt «Red Spine», og også Ferengi – en rase av romvesener i Star Trek, på grunn av dens evne til å «utforske» eksistensen av en mulig Windows-installasjon.


=== OS/2 Warp Connect 3.0 (1995) ===
Denne versjonen ble lansert av IBM i midten av 1995, og hadde en innebygd modifisert kopi av Windows 3.x.  OS/2 Warp Connect 3.0 var en utgave av OS/2 3.0 som kunne kjøre som klient i et lokalt datanett, og dele filer, skrivere og modemer med andre arbeidsstasjoner i datanettet. Nettverks-operativsystemene IBM LAN Server 4.0 og Netware ble benyttet av OS/2 som nettverks-servere.


=== OS/2 Warp Server 3.0 (1996) ===
Tidlig i 1996 lanserte IBM OS/2 Warp Server. Den bestod av OS/2 3.0 og en rekke programmer med funksjoner som ellers måtte kjøpes separat på andre operativsystemer: IBM LAN Server 4.0, SystemView for OS/2, programvare for remote access, backup, disaster recovery, og forbedrede utskriftsmuligheter (det ble blant annet mulig å skrive ut postscript-filer på skrivere som ikke var laget for postscript). En lignende server-utgave ble samme år lansert for OS/2 4.0.


== IBM OS/2 4.x ==


=== OS/2 Warp 4 (1996) ===
I september 1996 ble OS/2 4.0 lansert under navnet Warp 4, og under kodenavnet «Merlin». Warp 4 hadde innebygd støtte for talegjenkjenning, og var verdens første operativsystem som gjorde det mulig å navigere i systemet, og å diktere operasjoner, uten tilleggsprogrammer. Det støttet også OpenGL, og introduserte en ny driver-modell for skjermer kalt GRADD.
Warp 4 ble av IBM lansert som en «universell nettverks-klient». Operativsystemet hadde innebygd konnektivitet til LAN Server, OS/2 Warp Connect, OS/2 Warp Server, LANtastic for både MS-DOS og OS/2, Novell Netware, Netware Directory Services, PCLAN Program, IPX-SPX, Windows NT Server, Windows NT Workstation, Windows 95, Windows for Workgroups,  TCP/IP (inkludert  DHCP, DDNS, FTP, TFTP, Telnet, SLIP, PPP, SMTP og SNMP), SNA og NetBIOS. I tillegg var programmeringsspråket Java innebygd, slik at man ikke behøvde å kjøpe ekstra programmer for å kjøre Java-programmer innenfor et lokalt datanett eller via internett.
Workplace Shell var betydelig forbedret. WarpGuides sørget for en selv-konfigurerbar hjelp for vanlige oppgaver, og var ideéll for nye brukere. Skrivebordsmiljøet gjorde det mulig å få tilgang til favorittsider på internett med et enkelt museklikk.TME 10 Netfinity (SystemView) ga tilgang til system management, deriblant DMI (Desktop Management Interface). LAN Distance sørget for Remote Access Services, for tilgang til lokale datanett hjemme eller andre steder og for konfigureringer av vidstrakte datanett i nødstilfeller. Mobile Office Services kunne sørge for å holde filene i en bærbar datamaskin synkronisert med filene på kontoret utenfor arbeidstid.
En personlig versjon av Lotus Notes fulgte også med. 
På tross av sine nye fasiliteter, kom Warp 4 i skyggen av Windows 95. I et forsøk på å kapre kunder, ble en gratis utgave av Warp 4 lagt ved på en CD-ROM i Australian Personal Computer i juli 2000. IBM lanserte også en versjon av OS/2 for sine arbeidsstasjoner basert på PowerPC. Den ble imidlertid forkastet under en måned etter sin lansering. Den kunne ikke konkurrere med Windows NT, som allerede hadde eksistert i utgaver for PowerPC i mer enn 5 år.
Warp 4 var den siste versjonen av OS/2 med en større utbredelse, og IBM kunngjorde ganske snart at de hadde sluttet å markedsføre OS/2 for private brukere.


=== IBM WorkSpace on-Demand 1.0 (1997) ===
Denne versjonen ble lansert av IBM i 1997.


=== IBM WorkSpace on-Demand 2.0 (1999) ===
Denne versjonen ble lansert av IBM i 1999.


=== IBM OS/2 Warp Server 4.50 for e-Business (1999) ===
Denne versjonen ble lansert av IBM i 1999.


=== IBM OS/2 Warp 4.51 (2000) ===
Denne versjonen ble lansert av IBM i desember 2000.


=== IBM OS/2 Warp 4.52 (2001) ===
Denne versjonen ble lansert av IBM i desember 2001, og var den siste utgaven av OS/2.


== Referanser ==


== Litteratur ==
Jeffrey I. Krantz, Ann M. Mitzell og Robert L. Williams: OS/2 Features, Functions and Applications. Standard Edition, John Wiley & Sons, Inc., New York, 6. april 1988, ISBN 0-471-60709-6
Herbert Schildt: OS/2 Programming: An Introduction, Osborne/McGraw-Hill, New York, 1. oktober 1988, ISBN 0078814278
David A. Schmitt: The OS/2 Programming Environment, Englewood Cliffs, Prentice-Hall Ptr, New Jersey, januar 1989, ISBN 0136429270
Edward E. Iacobucci: OS/2 Programmer’s Guide, Osborne McGraw-Hill, Berkeley, California, 1988, ISBN 007881300X
Operating System/2, IBM Personal System/2 Seminar Proceedings, G360-2758, IBM Corporation
Operating System/2 Programmers Guide, 84x1448, IBM Corporation, oktober 1987
Operating System/2 Technical Reference Volume I (84x1 434) og Volume II (84X 1440), IBM Corporation, oktober 1987