OS/2

OS/2 (Operating System/2) är ett operativsystem för PC-datorer utvecklat av IBM och Microsoft.

Historia 
Under 1980-talet utvecklade Microsoft en version av MS-DOS som skulle stödja multikörning (eng. multitasking). 1985 gick IBM in på projektet, som nu fick namnet CP/DOS (Control Program/DOS). Så småningom bytte operativsystemet namn till OS/2 och lanserades i sin första version år 1987.

Version 1.x 
OS/2 1.0 hade ett par viktiga egenskaper som MS-DOS fick först flera år senare.

 flertrådsteknik
 multikörning
 stöd för virtuellt minne (upp till 1 GB)
 stöd för 16 MB fysiskt minne

Systemet kunde också emulera MS-DOS och alltså köra MS-DOS-program. På grund av sitt höga pris, för tiden höga prestandakrav och få program sålde OS/2 1.0 aldrig särskilt bra. Version 1.0 hade dessutom inget grafiskt gränssnitt.

Med OS/2 Version 1.1 fick operativsystemet ett grafiskt gränssnitt, Presentation Manager, som liknade gränssnittet i Windows version 3.0. Version 1.2 introducerade filsystemet HPFS, High Performance File System (kodnamnet under utvecklingen var Pinball), som sedermera stöddes även i Windows NT. Version 1.3 var den sista 16-bitarsversionen av OS/2.

Alla 1.x-versioner var 16-bitars, skrevs specifikt för Intels 80286-processor och fanns i två versioner, SE och EE, Standard Edition respektive Extended Edition. Extended Edition var mer företagsinriktad och inkluderade databasstöd och stöd för uppkoppling mot stordatorer som Standard Edition saknade.

Microsoft satsade hela tiden mindre och mindre pengar på projektet då Windows genererade mycket större intäkter och det uppstod kommunikationssvårigheter mellan IBM:s och Microsofts utvecklare. Man flyttade över stora delar av utvecklingen till sina egna projekt, Windows NT och Windows 3.1. Allt mer av utvecklingen togs över av IBM, och 1992 släppte företaget OS/2 2.0.

Version 2.x 
Denna nya version var det första 32-bitars operativsystem för pc-kompatibla datorer med Intels 80386-processorer (eller senare) och hade ett nytt grafiskt gränssnitt, kallat Workplace Shell (WPS), och var den första OS/2-versionen IBM skrev helt själv. WPS är ett mycket avancerat objektorienterat grafiskt gränssnitt och saknar motstycke i såväl Windows som Linux.

När IBM lanserade OS/2 2.1 kom de även med en billigare version där man hade plockat bort stödet för Windows, denna version kallades OS/2 2.1 för Windows och använde en befintlig kopia av Windows om maskinen det installerades på hade det. Microsoft svarade med att ge ut Windows 3.11 som gjorde det inkompatibelt med OS/2 2.1 för Windows. En hel rad andra mer eller mindre ojusta metoder bidrog till att Microsoft sedermera dömdes som monopolist i en rättegång som amerikanska justitiedepartementet startat, så sent som i juli 2005 betalade Microsoft slutligen nära 800 miljoner dollar till IBM och gjorde därmed upp i godo.

Till skillnad från 1.x-versionerna av OS/2 kunde 2.0 och uppåt ha igång flera DOS-sessioner samtidigt genom stöd för VDM, Virtual DOS Machines. Det var ett generellt DOS-system som emulerade en 8086-processor. Det fanns även stöd för VMB, Virtual Machine Boot, där man kunde starta en specifik kopia av MS- eller PC-DOS om något program krävde det.

Tack vare det nya DOS-stödet kunde OS/2 också inkludera stöd för Windows 3.0 och 3.1-applikationer. Det gick att köra Windows-applikationer antingen i fullskärm där Windowsskrivbordet tog upp hela skärmen eller i seamless mode, där Windowsapplikationerna kördes som vilket annat program som helst i WPS.

Warp, Version 3.x och 4.x 
Version 3 av operativsystemet fick tilläggsnamnet Warp. Det lanserades 1994 och hade inbyggt stöd för nätverk och Internet samt en webbläsare kallad WebExplorer. IBM gjorde sitt bästa för att marknadsföra systemet och menade att det var "bättre DOS än DOS" och "bättre Windows än Windows".

De första betaversionerna av OS/2 Warp hade ingen avlusningskod i kärnan och var märkbart snabbare på samma hårdvara som versioner med avlusningskod, IBM valde dock att skeppa alla OS/2-versioner med avlusningskod kvar trots det. Betaversionerna utan avlusningskod hade texten Ready On Warp under OS/2-logon under uppstart och distribuerades inte i betaprogram utanför IBM.

1996 släpptes den sista versionen av operativsystemet, OS/2 Warp 4.0. Nu inkluderade systemet Java, stöd för OpenGL och ett röststyrningsprogram kallat VoiceType.

OS/2 Warp PowerPC Edition 
Mellan OS/2 Version 3.0 och Version 4.0 lanserade IBM en serie persondatorer med PowerPC-processorer. Meningen var att OS/2 skulle överföras till den nya arkitekturen vilket också skedde till nästan ofantlig kostnad och på bekostnad av Intelversionen av operativsystemet som programmerarna fick order om att inte arbeta på under tiden de skrev OS/2 för PowerPC. Från början var ambitionen att OS/2 för PowerPC bara skulle vara en personlighet av ett helt nytt operativsystem, ett operativsystem som också skulle kunna anta AIX- och MacOS-personligheter men allt eftersom projektet försenades och kostnaderna drog iväg skars det också ned i storlek, det sista som skars bort innan det slutligen skeppades var nätverksstödet.

Till slut skeppades OS/2 för PowerPC bara till kunder som hade kontrakterat IBM att leverera det och IBM:s PC-serie med PowerPC-datorer (IBM PC 830 och 850) föll i glömska.

IBM:s PowerPC-baserade persondatorer kunde förutom OS/2 för PowerPC också köra Windows NT för PowerPC, AIX Version 4.x och Solaris för PowerPC Version 2.5.1 (som åtminstone kom i en Limited Availability-version).

Teknik i OS/2 Warp PowerPC Edition 
Kärnan som OS/2 Warp PowerPC Edition (hädanefter OS2PPC) körs på kallas IBM Microkernel och den i sin tur är baserad på MACH-mikrokärnan från Carnegie-Mellon-universitetet. OS2PPC i sig är bara ett subsystem som körs ovanpå IBM Microkernel med något som kallas System Services som mellanled. Drivrutinsstödet i OS2PPC återfinns i System Services vilket alltså gör att de körs i userspace, fördelen med det är att en drivrutin kan krascha utan att hela systemet kraschar men nackdelen är att det krävs mycket kommunikation och tidsåtgång mellan de olika lagren innan saker utförs.

OS2PPC använder inte CONFIG.SYS, som annars är en väldigt viktig fil i OS/2 för intel, förutom för att vara kompatibel med OS/2 Warp APIet (notera att OS2PPC inte stöder OS/2s 16-bitars API från 1.x-tiden). Bara SET, RUN och RUNSERVER-direktiv från CONFIG.SYS används och RUNSERVER är ett nytt direktiv för OS2PPC som startar privilegierade services. RUNSERVER-direktiv körs innan RUN-direktiv.

Precis som OS/2 Warp gör på intel, stöder OS2PPC att man kör DOS, Windows (3.x) och DPMI-applikationer. Detta åstadkoms genom MVM, Multiple Virtual Machine och en teknik som översätter intel-instruktioner till PowerPC - IST (Instruction Set Translator). Man kan välja att installera OS2PPC med eller utan stöd för DOS, Windows och DPMI. Det fanns planer på att IST skulle användas för ett emuleringslager för att köra intelkompilerade OS/2-program på OS2PPC men eftersom det aldrig kom några uppdateringar eller nya releaser implementerades aldrig den funktionaliteten. Den DOS som emuleras i OS2PPC är baserad på IBM PC-DOS Version 6.3.

GRADD, Graphics Adapter Device Driver, är en ny drivrutinsmodell för grafik som först implementerades i OS2PPC och sedan flyttades till OS/2 för intel. Arkitekturen medger snabbare utveckling av drivrutiner än OS/2 för intels gamla modell.

OS/2 idag (2007–) 
IBM rekommenderar sina återstående OS/2-kunder att överväga ett byte till Linux. IBM har dock fortfarande ett team som jobbar med buggfixar till OS/2 för kunder som betalar för det och det släpps alltjämt nya drivrutiner och förbättringar.

Fast IBM numera slutat sälja nya OS/2-licenser lever operativsystemet kvar och vidareutvecklas som eComStation på licens från IBM.

Delsystem och teknik i OS/2 (Intel)

Multimedia 
När multimedia var i sin linda i början av 1990-talet var IBM på frontlinjen med MMPM/2, MultiMedia Presentation Manager/2, en samling API för att hantera bilder, ljud, musik och video på OS/2. Produkten lanserades först separat men bakades in kostnadsfritt i operativsystemet senare. De viktigaste komponenterna i MMPM/2 var DART, ett API-set för snabb åtkomst till ljudkort, DIVE och EnDIVE (Direct Interface to Video Extensions respektive Enhanced DIVE) som gav direkt åtkomst till grafikkort. Doom portades tidigt till OS/2 men fick ingen officiell release, sedan källkoden släpptes fri av id Software finns det dock att ladda ner. RTMIDI, Real-Time MIDI, användes för att spela MIDI-filer och styra MIDI-instrument.

Gemensamt för DART, DIVE, EnDIVE och RTMIDI var att det krävdes att drivrutinerna för hårdvaran stödde funktionerna.

MMPM/2 inkluderade kodeks för att spela upp följande videoformat: Ultimotion (IBM:s egen videokodek, IBM kallade länge området för Ultimedia utan inledande m), Indeo 2.1, Indeo 3.1, Indeo 3.2 (Indeo var Intels videokodek), DIB, FLI, FLC, och MPEG-1 (som bland annat Video CD använder).

OS/2 Warp inkluderade stöd för röststyrning, VoiceType, av det grafiska gränssnittet samt stöd för att diktera i till exempel ordbehandlare. Tekniken har utvecklats vidare och återfinns numera som ViaVoice i IBM:s programutbud.

WorkPlace Shell och objektorientering 
WorkPlace Shell (WPS) var ett avancerat objektorienterat skal som låg ovanpå det grafiska subsystemet Presentation Manager. WPS underliggande teknik var SOM, System Object Model, som senare utvecklades till DSOM, Distributed SOM. Objektorienteringen gjorde att systemet utan manuellt ingripande alltid spårade objekten, även när man ändrade saker från kommandoraden. SOM följde OMG:s CORBA-standard.

OpenDoc, ett ramverk för små återanvändbara komponenter, introducerades i OS/2 Warp Version 4. Det var ett resultat av ett samarbete med Apple och var en direkt konkurrent till Microsofts OLE med skillnaden att OpenDoc-komponenter var plattformsoberoende.

Nätverksstöd 
En annan viktig komponent i OS/2 var nätverksstödet, allt från stordatorkoppling via 3270 till TCP/IP stöddes efterhand. När TCP/IP introducerades till OS/2 var det en tilläggsprodukt men i senare versioner ingick det. OS/2 fungerade även som server, Microsofts produkt LAN Manager byggde på OS/2 precis som IBM:s senare produkt LAN Server. Det var i LAN Server-produkten som det mer avancerade filsystemet HPFS386 följde med.

För att göra ett gemensamt gränssnitt mot nätverkshårdvaran skapades NTS/2, Network Transport Services/2 och LAPS, LAN Adapter Protocol Services, som senare ersattes av MPTS, Multi Protocol Transport Services. OS/2 stödjer NetBIOS (eller SMB), TCP/IP, Novell IPX/SPX, TCPBEUI (NetBIOS över TCP/IP), LANtastic, DECnet, Banyan Vines, 802.2/SNA och Appletalk.

Person2Person var en produkt för samarbete över nätverk, en peer-to-peer-lösning för arbetsgrupper med stöd för gemensamt chatrum, video, delat anteckningsblock och filöverföring som följde med OS/2 Warp.

REXX 
OS/2 Version 1.2 Extended Edition inkluderade skriptspråket REXX, det blev i och med Version 1.3 en del av basoperativsystemet och återfinns i alla OS/2-versioner sedan dess. REXX hade gränssnitt mot MMPM/2, kunde manipulera WPS-objekt och automatisera tidsödande operationer.

Pink, Taligent och Mikrokärnor 
Apple och IBM gjorde i mitten av 90-talet gemensam sak när det gällde objektteknik. Apple hade redan börjat göra ett operativsystem de kallade Pink som skulle bli nästa version av Mac OS Classic. IBM hade bestämt sig för att precis som Apple övergå till PowerPC-processorer för PC-datorer och man startade upp ett dotterbolag vid namn Taligent för att göra ett nytt operativsystem tillsammans.

Under flera år jobbade Taligent mot att få ihop ett operativsystem, Workplace OS, byggt på en mikrokärna, som skulle kunna köra AIX-, Mac OS- och OS/2-program och se ut som vilket som helst av dem, allt efter vad användaren önskade. Under projektets gång hoppade även HP på ett tag. Det fanns stora och, skulle det visa sig, oöverstigliga problem; OS/2-programmerarna som var inblandade kände sig lurade av mikroprocessordivisionen som hade levererat en CPU som visade sig vara betydligt långsammare än utlovat, mikrokärnan som användes körde drivrutiner i user space vilket gjorde hela systemet mycket långsamt och drivrutinerna väldigt kraschbenägna. Apple förlorade intresset för Taligent efter en intern maktkamp.

Allteftersom tiden gick och projektet blev dyrare och dyrare sjönk ambitionerna och planerna på ett helt nytt operativsystem dog. Ett tag skulle det bli ett ramverk som kallades TalOS, det skulle köras på de tre inblandade operativsystemen. Till slut blev det bara ett bibliotek för internationalisering av programvara kvar, något IBM sedermera gjort till ett open source-projekt - International Components for Unicode.

Åtminstone två betaversioner av Taligent (på Intel-versionen av OS/2) kom ut internt på IBM, systemet var mycket långsamt och tog bokstavligen 5 minuter på sig att starta. När det kom igång såg det ut som om man fått igång en långsam Mac-emulering.

Taligent skeppade till slut aldrig något operativsystem och såväl Apple (Apple köpte sedan som bekant upp NeXT och Mac OS är Unix-baserat) som HP drog sig ur samarbetet så småningom. OS/2 för PowerPC som är baserat på en mikrokärna är ett av väldigt få påtagliga (men svårhittade) bevis för de grandiosa planerna med Workplace OS och dess futuristiska gränssnitt People, Places and Things.

På IBM:s utvecklingslab fortsätter dock experiment med operativsystem baserade på mikrokärnor men med andra projektmål som i form av K42.

OS/2-versioner och kodnamn (kernelrevision där det finns) 
 OS/2 1.0 – CP DOS
 OS/2 1.1 – Trimaran
 OS/2 1.2 – Sloop
 OS/2 1.3 – Cutter
 OS/2 2.0 – Cruiser (6.307)
 OS/2 2.1 – Borg (6.514)
 OS/2 2.1 for Windows – Ferengi (6.514)
 OS/2 2.11 – Borg (6.617)
 OS/2 Warp Version 3 – Warp (8.162)
 OS/2 Warp Version 4 – Merlin (9.023)
 OS/2 Warp PowerPC Edition – Falcon

Källor

Externa länkar 
Hobbes OS/2-arkiv, massivt arkiv med OS/2-program
OS/2 Worlds webbplats, för OS/2-användare.

Operativsystem
IBM
OS/2