30/03/2006
Før Windows og endda før MS-DOS var der et operativsystem, der dominerede mikrocomputerverdenen. Navnet var CP/M, og dets indflydelse kan mærkes den dag i dag. CP/M, som står for Control Program for Microprocessors, var ikke bare et stykke software; det var den revolution, der gjorde personlige computere tilgængelige og nyttige for en hel generation. Udviklet af den visionære Gary Kildall og hans firma Digital Research, Inc., blev CP/M de facto-standarden for 8-bit computere i slutningen af 1970'erne og begyndelsen af 1980'erne. Denne artikel tager dig med på en rejse tilbage i tiden for at udforske historien, arkitekturen og arven efter et af de vigtigste stykker software, der nogensinde er skrevet.

CP/M's Historie: Fra en Idé til Industristandard
Historien om CP/M begynder i 1973 med Gary Kildall, en programmør der arbejdede for Intel. Han udviklede programmeringssproget PL/M til Intels 8008-mikroprocessor. Samtidig skabte han et simpelt operativsystem til at styre en diskettedrev, som han kaldte CP/M. I starten var det et sideprojekt, men Kildall så hurtigt potentialet. I 1976 grundlagde han og hans kone, Dorothy McEwen, firmaet Digital Research Inc. (DRI) for at kommercialisere CP/M.
Det geniale ved CP/M var dets modularitet. I en tid, hvor software typisk var skræddersyet til en specifik hardwarekonfiguration, delte Kildall CP/M op i tre separate dele. Denne adskillelse betød, at CP/M med relativt få ændringer kunne tilpasses (eller "porteres") til hundredvis af forskellige computermodeller fra forskellige producenter. Denne portabilitet var nøglen til dets succes. Producenter af computere kunne licensere CP/M og hurtigt få et fungerende operativsystem med et stort bibliotek af eksisterende software, såsom tekstbehandlingsprogrammet WordStar og databaseprogrammet dBase. I 1981 kørte CP/M på over 200.000 mikrocomputere i mere end 3.000 forskellige konfigurationer, hvilket cementerede dets status som markedsleder.
Arkitekturen Bag CP/M: De Tre Kernekomponenter
CP/M's innovative design var grundlaget for dets fleksibilitet. Operativsystemet bestod af tre primære komponenter, der arbejdede sammen for at styre computeren:
- BIOS (Basic Input/Output System): Dette var den hardware-specifikke del af CP/M. Hver computerproducent skulle skrive deres egen BIOS for at fortælle operativsystemet, hvordan det skulle kommunikere med den specifikke hardware, såsom diskettedrevet, skærmen og tastaturet. Ved at isolere al hardware-afhængig kode i BIOS, kunne resten af operativsystemet forblive uændret på tværs af platforme.
- BDOS (Basic Disk Operating System): Dette var hjertet i CP/M. BDOS håndterede filsystemet og logiske operationer som at åbne, læse, skrive og lukke filer. Når et program havde brug for at tilgå en fil, sendte det en anmodning til BDOS, som derefter brugte BIOS til at udføre den fysiske læse- eller skriveoperation på disken. Dette lag af abstraktion betød, at programmører ikke behøvede at bekymre sig om de underliggende hardwaredetaljer.
- CCP (Console Command Processor): Dette var brugergrænsefladen, eller "skallen", i CP/M. CCP var ansvarlig for at læse kommandoer, som brugeren indtastede, og udføre dem. Det viste den velkendte `A>` prompt, som indikerede det aktive drev. CCP indeholdt en række indbyggede kommandoer som `DIR` (vis filoversigt), `ERA` (slet fil) og `REN` (omdøb fil). Hvis en kommando ikke var indbygget, ville CCP søge efter et program med det navn på disken og køre det.
Denne tre-lags arkitektur var revolutionerende. Den skabte et stabilt og forudsigeligt miljø for softwareudviklere, hvilket førte til en eksplosion i tilgængelig software og gjorde CP/M-baserede computere utroligt attraktive for både virksomheder og private.

CP/M i Praksis: En Typisk Brugeroplevelse
At bruge en CP/M-computer var en tekstbaseret oplevelse. Efter opstart blev brugeren mødt af prompten, typisk `A>`. Herfra kunne man interagere med systemet. For at se filerne på diskette A, skrev man `DIR` og trykkede enter. For at kopiere filer fra drev A til drev B, brugte man det kraftfulde, men kryptisk navngivne, program `PIP` (Peripheral-Interchange-Program). For eksempel ville kommandoen `PIP B:=A:*.COM` kopiere alle programfiler (dem der slutter på .COM) fra A til B.
Når man kørte et program, blev det indlæst i hukommelsen. Ofte overskrev programmet den del af hukommelsen, hvor CCP lå, for at maksimere den tilgængelige RAM. Når programmet var færdigt, ville BDOS automatisk genindlæse CCP fra disken, så brugeren igen kunne indtaste kommandoer. Selvom det virker primitivt i dag, var dette system robust og effektivt på den begrænsede hardware, der var tilgængelig dengang, hvor 64 kilobyte RAM blev betragtet som meget.
Sammenligning: CP/M vs. Efterfølgeren MS-DOS
CP/M's fald fra magten er tæt forbundet med fremkomsten af IBM PC'en og MS-DOS. Historien fortæller, at IBM oprindeligt henvendte sig til Digital Research for at licensere CP/M til deres nye personlige computer, men forhandlingerne brød sammen. IBM gik derefter til et lille firma ved navn Microsoft, som købte et CP/M-klonoperativsystem kaldet QDOS (Quick and Dirty Operating System), omdøbte det til MS-DOS og licenserede det til IBM. Resten er, som man siger, historie. Her er en sammenligning af de to systemer:
| Funktion | CP/M-80 | MS-DOS (tidlig version) |
|---|---|---|
| Primær Processor | Intel 8080, Zilog Z80 (8-bit) | Intel 8088/8086 (16-bit) |
| Maksimal Hukommelse | 64 KB | 640 KB |
| Filsystem | Fladt filsystem, 8.3 filnavne, ingen undermapper | Hierarkisk filsystem (FAT12), 8.3 filnavne, undermapper (fra v2.0) |
| API-kald | Funktionskald via register og `CALL 5` | Funktionskald via software interrupt `INT 21h` (stærkt inspireret af CP/M) |
| Portabilitet | Meget høj takket være BIOS/BDOS-adskillelsen | Lav, tæt knyttet til IBM PC-kompatibel hardware |
At Køre CP/M i Dag: En Hobby for Entusiaster
Selvom CP/M ikke længere bruges kommercielt, lever det videre blandt retro-computing entusiaster. Der er primært to måder at opleve CP/M på i dag. Den ene er at køre det på original hardware fra 70'erne og 80'erne, hvilket kan være en udfordrende, men givende hobby. Den anden, og mere tilgængelige, metode er at bruge en emulator. Der findes adskillige emulatorer, der kan køre CP/M på moderne computere med Windows, macOS eller Linux. Disse emulatorer genskaber den gamle hardware i software, så man kan køre de originale CP/M-programmer.

En stor udfordring for entusiaster er at finde de originale systemdisketter. Heldigvis er der gennem årene blevet opbygget store online arkiver takket være pionerer som Don Maslin, Rlee Peters og Dave Dunfield. Disse arkiver indeholder disk-images af CP/M-systemer til hundredvis af forskellige computere, som kan bruges med emulatorer eller skrives til rigtige disketter for at genoplive gammel hardware.
Arven fra CP/M
CP/M's direkte indflydelse på computerindustrien kan ikke overvurderes. Dets modulære design med en hardware-abstraktionslag (BIOS) blev en model for fremtidige operativsystemer. MS-DOS kopierede mange af CP/M's koncepter, herunder dets API-struktur og filhåndteringsprincipper. Selv kommandoer og filnavnekonventionen (8 tegn for navnet, 3 for filtypen) levede videre i DOS og de tidlige versioner af Windows. Den juridiske strid mellem Digital Research og Microsoft om MS-DOS's oprindelse er et af de mest omdiskuterede kapitler i computerhistorien. I 1996 anlagde Caldera, som havde opkøbt DRI's aktiver, et antitrustsøgsmål mod Microsoft, som senere blev forligt uden for retten.
Selvom CP/M tabte markedskrigen, vandt dets ideer. Det beviste, at et enkelt, standardiseret operativsystem kunne skabe et blomstrende økosystem af hardware og software. Det var den gnist, der antændte den personlige computerrevolution, og dets arv er indlejret i DNA'et af næsten alle de operativsystemer, vi bruger i dag.
Ofte Stillede Spørgsmål (FAQ)
- Hvad står CP/M for?
CP/M står for "Control Program for Microprocessors". - Hvem skabte CP/M?
Det blev skabt af Gary Kildall i 1973-1974 og senere kommercialiseret gennem hans firma, Digital Research, Inc. - Hvorfor forsvandt CP/M?
CP/M tabte sin markedsdominans til MS-DOS, primært fordi MS-DOS blev valgt som operativsystem til den enormt succesfulde IBM PC. En mislykket forhandlingsaftale mellem Digital Research og IBM anses for at være et vendepunkt. - Kan man bruge internettet på CP/M?
Det er ekstremt vanskeligt og meget begrænset. CP/M-systemer mangler den processorkraft, hukommelse og software, der kræves til moderne internetbrug. Der har dog eksisteret projekter til at implementere basale netværksprotokoller som TCP/IP, men det er primært for eksperimentelle formål. - Hvad er nogle af de vigtigste CP/M-kommandoer?
Nogle af de mest almindelige kommandoer var `DIR` (vis filer), `ERA` (slet fil), `REN` (omdøb fil), `TYPE` (vis indhold af en tekstfil) og `PIP` (kopier filer).
Hvis du vil læse andre artikler, der ligner CP/M: Operativsystemet der startede en revolution, kan du besøge kategorien Teknologi.
