CP/M
Uit Wikipedia, de vrije encyclopedie
CP/M was oorspronkelijk een 8-bits besturingssysteem. Het was het eerste besturingssysteem dat dankzij een modulaire opbouw aangepast kon worden aan de hardware van verschillende typen computers.
Inhoud |
[bewerk] Geschiedenis
[bewerk] 8-bits versies
CP/M werd in 1973 ontwikkeld door Gary Kildall in de programmeertaal PL/M. Net als MS-DOS, in feite een opvolger van CP/M, maakt het gebruik van een zogenaamde opdrachtregel, waarin opdrachten moeten worden getypt. CP/M betekende oorspronkelijk Control Program/Monitor en werd later uitgelegd als Control Program for Microcomputers. Het werd op de markt gebracht door Kildalls Digital Research. Het was ontworpen voor computers uitgerust met de Intel 8080-processor en ook geschikt voor de daarmee compatibele 8085- en de Zilog Z80-processor. Deze processors konden met hun 16 adresbits maximaal 64 KB geheugen adresseren. (De aanduiding "8 bits" heeft betrekking op de databus.) Van deze drie processors werd de Z80 uiteindelijk verreweg het meest gebruikt en sommige programma's, waaronder Turbo Pascal, waren uitsluitend voor deze processor geschikt. Ook de Apple II kon door middel van een uitbreidingskaart van Microsoft of ander fabrikaat met daarop een Z80 voor CP/M geschikt gemaakt worden.
CP/M was oorspronkelijk ontworpen voor het gebruik met enkelzijdige floppydisks met enkele dichtheid van 8 inch (20,32 cm) met een capaciteit van 243 KB en werd ook in dit formaat geleverd. Maar al spoedig werden schijven van 5¼ inch (13,335 cm) populair en CP/M werd aangepast om schijven van verschillende capaciteit te kunnen gebruiken. Bij gebrek aan een standaard voor 5¼ inch ontwikkelde echter bijna elke fabrikant zijn eigen indeling binnen dit formaat (met verschillen in dichtheid, sectorgrootte, directorygrootte en aantallen zijden, sporen en systeemsporen (gereserveerde ruimte voor CP/M), etc.), wat in honderden onderling niet uitwisselbare formaten resulteerde, waardoor de uitwisseling van software en data bemoeilijkt werd. Ook werden schijven van 3½ inch (8,89 cm) en 3 inch (7,62 cm) gebruikt.
Vanaf CP/M 2.2, de eerste versie die redelijk vrij van fouten en eenvoudig voor verschillende schijfformaten aan te passen was, nam het gebruik een grote vlucht. Met 64 KB geheugen was, na aftrek van de ruimte benodigd voor BDOS en BIOS en vaak ook het videogeheugen, ca. 55 à 57 KB vrije ruimte voor gebruikersprogramma's en hun data beschikbaar.
De laatst uitgebrachte 8-bits versie, CP/M Plus (intern werd de aanduiding 3.0 gebruikt), was geschikt voor meer dan 64 KB geheugen door middel van bank switching. Een deel van het geheugen was omschakelbaar tussen verschillende "banken"; het bovenste deel was gemeenschappelijk voor alle banken. Het BDOS en BIOS bevonden zich nu in een andere bank dan het gebruikersprogramma, waarvoor nu ca. 60 KB beschikbaar was. Doordat de grootte van BDOS en BIOS niet meer ten koste van de vrije ruimte ging, kon de functionaliteit fors worden uitgebreid ten opzichte van het toch wel spartaanse 2.2. Ook was er in het geheugen nu plaats voor zaken als een kopie van de CCP, schijfcaching, een printerbuffer, een toetsenbordbuffer, commandoregelherhaling, functietoetsdefinities etc., waardoor de snelheid aanzienlijk toenam.
Toch bleef de geheugenlimiet van 64 KB knellen. Veel programma's voor CP/M waren inmiddels ook in een versie voor MS-DOS verkrijgbaar, vaak met extra mogelijkheden dankzij het grotere geheugen. Nieuwe programma's werden nauwelijks meer uitgebracht. Een uitzondering was versie 4 van WordStar in 1987. Met de introductie van kantoorpakketten, met daarin geïntegreerd een tekstverwerker, een spreadsheet- en een databaseprogramma, was de tijd van de 8-bits processors voorbij.
[bewerk] 16-bits versies
Toen IBM in 1981 een besturingssysteem voor zijn 16-bits IBM PC zocht, klopte het als eerste bij Digital Research aan. Daar werd echter in eerste instantie niet adequaat gereageerd, waarop IBM zijn heil bij Microsoft zocht, dat geen besturingssysteem voorhanden had, maar er een aankocht, QDOS, en aan de wensen van IBM aanpaste. Nadat Digital Research alsnog met CP/M-86 kwam, een 16-bits versie afgeleid van CP/M 2.2, werd de IBM PC naar keuze geleverd met CP/M-86 of Microsoft PC-DOS. Ondanks de iets betere specificaties van CP/M-86 was het door het prijsverschil (PC-DOS een paar tientjes, CP/M-86 ca. 1600 gulden) in het nadeel. Na de introductie van subdirectory's in versie 2 van PC-DOS, waar het bestandssysteem van CP/M zich moeilijk voor leende, was het pleit snel beslecht.
Opvolgers van CP/M 86 waren nog DOS Plus, Concurrent DOS en REAL/32. Ook was er een versie voor de Motorola 68000-processor, CP/M-68k genaamd.
CP/M-programma's voor 8-bits processors waren niet geschikt voor 16-bits processors en omgekeerd. Sommige computers beschikten daarom over twee processors. Aan het bestandstype was te zien voor welke processor een programma bedoeld was: COM voor 8 bits, CMD voor 16 bits.
[bewerk] Onderdelen
CP/M bestaat uit drie modules:
- De CCP (console command processor) is de interface met de gebruiker als er geen ander programma actief is. Het voert enkele eenvoudige commando's uit en laadt de gebruikersprogramma's.
- Het BDOS (basic disc operating system) is het belangrijkste deel van CP/M. Het verwerkt opdrachten van gebruikersprogramma's en de CCP, verzorgt alle in- en uitvoer van en naar bestanden en randapparatuur en beheert de schijfadministratie.
- Het BIOS (basic input/output system, meestal niet in ROM, zoals bij de huidige pc) is de interface met de hardware. Alleen dit deel hoeft aan de hardware te worden aangepast. Het verzorgt in opdracht van het BDOS de in- en uitvoer op het laagste niveau: lezen en schrijven van afzonderlijke lettertekens en schijfsectoren.
[bewerk] Zie ook
- DOS voor de verdere ontstaans- en ontwikkelingsgeschiedenis.
[bewerk] Externe link
- http://jfrace.sourceforge.net/ Een CP/M-emulator in Java.