CP/M

Wikipediasta
Siirry navigaatioon Siirry hakuun
CP/M
Hakemistolistausten tuloksia ja komentokehote
Hakemistolistausten tuloksia ja komentokehote
Kehittaja Digital Research
Ohjelmointikielet PL/M
Toiminnallinen tila Ei tuettu
Julkaistu 1976
Viimeisin vakaa versio 3.1 (1983)
Tuetut kielet englanti
Ytimen tyyppi Monoliittinen
Suoritintuki Intel 8080 , Zilog Z80
Kayttoliittyma komentorivi
Lahdekoodimalli Aluksi suljettu, nykyisin avoin
Lisenssi Aluksi kaupallinen, nykyisin BSD-tyyppinen
Aiheesta muualla
Verkkosivusto

CP/M (lyhenne nimesta Control Program/Monitor ja myohemmin Control Program for Microcomputers ) on Digital Researchin Gary Kildallin kehittama kayttojarjestelma , joka oli ”teollisuusstandardi” 1970-luvun loppupuolelta 1980-luvun lopulle.

Kildall kehitti CP/M:n vuonna 1974 kehittamallaan korkeamman tason PL/M -kielella Intellec-8 -tietokoneelle. [1] Kaupallisena kayttojarjestelmana se oli saatavilla vuonna 1976. [1] CP/M oli dominoiva markkinoilla IBM PC:n julkaisuun saakka. [1]

Kayttojarjestelmassa on piirteita Digital Equipment Corporationin PDP-10:ssa kaytetysta TOPS-10 -kayttojarjestelmasta. [2]

Vuonna 1981 kayttojarjestelmaa kaytettiin yli 3 000:lla laitteistokonfiguraatiolla ja se tuotti Digital Researchille tuloja 6 miljoonaa Yhdysvaltain dollaria . [3] CP/M myi yli 600 000 kappaletta. [4] IBM otti yhteytta Kildalliin, jonka CP/M oli tuohon aikanaan menestyneimpia kayttojarjestelmia. [4] Neuvottelut CP/M:n lisensoimiseksi tulevaan IBM PC -tietokoneeseen kuitenkin kariutuivat ja IBM hankki kayttojarjestelman Microsoftilta . [4]

Microsoft osti Seattle Computer Productsilta (SCP) QDOSin , jonka ohjelmointirajapinta oli kopioitu CP/M:sta. [5] [6] QDOSin yhtena kriteerina oli tukea CP/M:lle tehtyja ohjelmia. [7] Microsoft lisasi QDOSiin CP/M:n piirteita, jotka tekivat siita enemman CP/M:n kaltaisen ja se julkaistiin PC-DOS - (IBM PC:n mukana) seka MS-DOS -nimella. [5] [8]

PL/M ( Programming Language for Microcomputers ) oli Kildallin vuonna 1972 kehittama ohjelmointikieli, joka perustui IBM:n PL/I -kieleen. [1] [9] Kildall tarjosi vuonna 1974 CP/M:aa Intelille, joka ei ollut siita kiinnostunut mutta osti PL/M:n. [9]

8-bittinen CP/M-kayttojarjestelma koostuu kolmesta osasta:

  • komentotulkki CCP, Console Command Processor
  • levykayttojarjestelma BDOS, Basic Disc Operating System
  • syotto- ja tulostusjarjestelma BIOS, Basic I/O System . [10]

BIOS on laitteistoriippuvainen ja se piti kirjoittaa kulloisellekin laitteistolle sopivaksi, loppuosa kayttojarjestelmasta on laitteistoriippumaton. BIOS sisaltaa 17 funktiota [10] (CP/M-versiossa 2.2), joita kaytetaan mm. nappaimiston lukuun, merkin tulostukseen naytolle ja sektorin kirjoittamiseen ja lukuun levykkeelta . Tietokoneen kaynnistyessa BIOS lataa kayttojarjestelman muut osat levykkeelta. BDOS sisaltaa toiminnot tiedostojen kasittelyyn, naytolle kirjoittamiseen ja tulostamiseen. CP/M kasittelee laitteistoa vain BIOS-kutsujen kautta, eli kun BIOS oli kirjoitettu uudelle laitteelle, kayttojarjestelma toimi siina. CP/M:n versiossa 2.2 kayttojarjestelman koko on 3 584 tavua. Sen lisaksi komentotulkki vie viela noin kaksi kilotavua. Ohjelmien kaynnistamisen lisaksi kayttojarjestelmassa on 38 funktiokutsua [10] lahinna tiedostojen kasittelyyn.

Muistin alkupaan 256 tavua on varattu suorittimen keskeytysvektoreille , muutamille muuttujille ja kaynnistettavan ohjelman komentorivipuskuriksi. Aluetta seuraa ohjelmille ja datalle tarkoitettu alue TPA ( Transient Program Area ), joka rajoittuu muistin ylapaahan ladattuihin BIOSiin ja BDOSiin (joista kaytetaan yhteisnimiketta FDOS). [10]

CP/M:sta oli versiot useille eri suoritinarkkitehtuureille . Intel 8080 -yhteensopivaa suoritinta, erityisesti Zilog Z80:aa kayttavissa mikrotietokoneissa se oli suosittu. CP/M tuki kaikkiaan 64 kB keskusmuistia. Suosittu alkuaikojen jarjestelma perustui 8080-suorittimeen, 4 kB muistiin ja yhteen 8 tuuman levykeasemaan. Myohemmissa tietokoneissa oli tyypillisesti Zilog Z80, 64 kB muistia ja kaksi 360 kB, 5¼ tuuman levykeasemaa. Kalleimmissa malleissa toinen levykeasemista oli korvattu yleensa 10 MB kovalevyasemalla. Myos 3½-tuumaisia, kapasiteetiltaan isompia levykkeita (”korppuja”) oli kaytossa.

CP/M oli kaytossa jopa satojen eri valmistajien tietokoneissa. Suosituimpia olivat Altair , IMSAI 8080 , Osbornen ja Kaypron kannettavat seka MSX-kotitietokoneet . Jopa Apple II:een sai Z80-kortin, jolla pystyi ajamaan CP/M-ohjelmia.

Tiedostojarjestelma

[ muokkaa | muokkaa wikitekstia ]

CP/M:n tiedostojarjestelmassa levykkeella on vain yksi hakemisto . [10] Hakemiston koko on kiintea.

Hakemisto on taulukko 32 tavun tietueita. Tiedoston nimi koostuu 8+3 merkista, kuten myohemmassa MS-DOS -kayttojarjestelmassakin. Tiedoston nimen lisaksi hakemistotietue sisaltaa kayttajakoodin, 128-tavuisten levylohkojen maaran ja 16 tavua levylohkojen numeroita. Tilanvarausta varten puolestaan levy on jaettu 1 kB lohkoihin, ja tiedoston hakemistotietue sisaltaa tiedon siita, mitka lohkot kuuluvat tiedostoon.

Tiedoston kokoa tavuina ei tallenneta, joten tiedostoa kasittelevan ohjelman taytyy pitaa huolta siita, ettei se lue tiedoston lopun ohi. Kaytannon nyrkkisaannoksi muodostui paattaa tekstitiedostot ohjauskoodilla control-Z ( ASCII : SUB tai 0x1A).

Tiedostojarjestelma ei pida ylla tietoa levykkeen vapaista lohkoista. Levynvaihdon yhteydessa kayttojarjestelma lukee koko hakemiston lapi ja muodostaa bittikartan, johon on merkitty tiedostoille varatut ja kaytettavissa olevat alueet.

Koska yksi hakemistotietue voi osoittaa vain 16 lohkoa, 16  kB suuremmat tiedostot vaativat usean hakemistotietueen. Tahan kaytetaan hakemistotietueen extends-kenttaa, joka kertoo, monesko tiedostolle varattu tietue on kyseessa.

Lisaksi CP/M:n hakemisto sisaltaa kayttajakentan, jonka avulla tiedostoja voi ryhmitella. Kayttojarjestelma listaa ainoastaan ne tiedostot, joiden kayttaja-kentta on saman kuin nykyinen kayttajanumero. Kayttajaa vaihdetaan komentotulkin komennolla USER x , jossa x on luku 0?15. Eraat valmistajat lisasivat tahan salasanakyselyn, mutta peruskayttojarjestelmassa kayttajanvaihtoon ei sisaltynyt mitaan tietoturvaa, vaan kayttajaa voi vaihtaa ilman salasanoja.

Komentotulkki (CCP) ja apuohjelmat

[ muokkaa | muokkaa wikitekstia ]

Tietokoneen kaynnistyttya se jaa komentotulkin ”A>”-kehotteeseen, josta voi kaynnistaa ohjelmia tai kasitella tiedostoja sisaanrakennettujen komentojen ja erillisten apuohjelmien avulla. Komentotulkki sisaltaa komennot:

  • ERA - tiedoston tuhoaminen
  • DIR - hakemistolistaus
  • REN - tiedoston uudelleennimeaminen
  • SAVE - muistin tallentaminen levykkeelle
  • TYPE - tiedoston tulostaminen naytolle
  • USER - kayttajaalueen vaihtaminen.

Muut toimet tehdaan ulkoisilla apuohjelmilla, joista ehka tarkein on PIP (nimi tulee DEC PDP-6:n Peripheral Interchange Program -ohjelmasta), jolla voi kopioida tiedostoja eri laitteiden valilla - yhta lailla levykkeelta levykkeelle, nappaimistolta levykkeelle kuin levykkeelta tulostimellekin: PIP LST:=tiedosto.txt [10]

Ohjelmat toimitettiin ensi alkuun 8 tuuman levykkeella, jolle vakiintui kaikissa tietokoneissa toimiva formaatti. Myohemmin siirryttiin kayttamaan 5¼-tuumaisia levykkeita, mutta yhteisen standardin puuttuessa yhden valmistajan koneessa formatoituja levykkeita ei yleensa voinut lukea toisten valmistajien koneilla. Poikkeuksiakin oli, esimerkiksi Osborne 1 pystyi kasittelemaan muita formaatteja levyasematunnuksen perusteella.

Suosittuja CP/M:n ohjelmia olivat tekstinkasittelyohjelmat Magic Wand ja WordStar , dBASE-tietokanta , KAMAS, Turbo Pascal seka taulukkolaskentaohjelmat Multiplan ja SuperCalc . Ilmainen XMODEM mahdollisti modeemin kayton ja tiedostosiirrot.

Lisaksi CP/M sisaltaa perustyokalut konekieliseen ohjelmointiin (ASM, LOAD, DDT ja ED). [10]

16-bittiset versiot

[ muokkaa | muokkaa wikitekstia ]

Digital Research kehitti 16-bittisille suorittimille omat versiot CP/M:sta: CP/M-86 Intel 8086:lle , CP/M-68k Motorola 68000:lle ja CP/M-8000 Zilog Z8000:lle .

  1. a b c d David Laws: Early Digital Research CP/M Source Code computerhistory.org . 1.10.2014. Viitattu 24.12.2019. (englanniksi)
  2. Herbert R. Johnson: CP/M and Digital Research Inc. (DRI) History retrotechnology.com . 30.7.2014. Viitattu 20.6.2019. (englanniksi)
  3. Gary Kildall and Collegial Entrepreneurship ? Internet Archive
  4. a b c Mary Bellis: How MS-DOS Put Microsoft on the Map thoughtco.com . 13.2.2019. Viitattu 20.6.2019. (englanniksi)
  5. a b Jimmy Maher: The complete history of the IBM PC, part two: The DOS empire strikes 31.7.2017. Ars Technica. Viitattu 23.6.2019. (englanniksi)
  6. Andrew Orlowski: MS-DOS paternity suit settled 30.7.2007. The Register. Viitattu 23.6.2019. (englanniksi)
  7. Tony Smith: Microsoft's MS-DOS is 30 today 27.7.2011. The Register. Viitattu 23.6.2019. (englanniksi)
  8. Tony Smith: Microsoft's MS-DOS is 30 today  (sivu 2) 27.7.2011. The Register. Viitattu 23.6.2019. (englanniksi)
  9. a b A Short History of CP/M landley.net . Viitattu 24.12.2019. (englanniksi)
  10. a b c d e f g CP/M Operating System Manual, 3rd edition (PDF) 1983. Yhdysvallat: Digital Research. Viitattu 2.8.2013. (englanniksi)

Aiheesta muualla

[ muokkaa | muokkaa wikitekstia ]