CP/M

Wikipedia
Loikkaa: valikkoon, hakuun
Komentokehote

CP/M (Control Program for Microcomputers tai Control Program/Monitor) on Digital Researchin Gary Kildallin kehittämä käyttöjärjestelmä, joka oli "teollisuusstandardi" 1970-luvun loppupuolella ja 1980-luvun puoleenväliin asti.

CP/M:stä oli versiot useille eri suoritinarkkitehtuureille. Intel 8080-yhteensopivaa suoritinta, erityisesti Zilog Z80:aa käyttävissä mikrotietokoneissa se oli suosittu. CP/M tuki kaikkiaan 64 kB keskusmuistia. Suosittu aikainen järjestelmä perustui 8080-suorittimeen, 4 kB muistiin ja yhteen 8" levykeasemaan. Myöhemmissä tietokoneissa oli Zilog Z80, jopa 64 kB muistia ja 720 kB levykeasema.

8-bittinen CP/M-käyttöjärjestelmä koostui kolmesta osasta:

  • komentotulkki CCP tai console command processor
  • levykäyttäjärjestelmä BDOS
  • syöttö- ja tulostusjärjestelmä BIOS.

BIOS oli laitteistoriippuvainen ja se piti kirjoittaa laitteistolle sopivaksi, loppu käyttöjärjestelmästä oli laitteistoriippumatonta. BIOS sisälsi 17 funktiota (CP/M versiossa 2.2), joita käytettiin näppäimistön lukuun, merkin tulostukseen näytölle ja sektorin kirjoittamiseen ja lukuun levykkeeltä. Tietokoneen käynnistyessä BIOS latasi käyttöjärjestelmän muut osat levykkeeltä. BDOS sisälsi toiminnot tiedostojen käsittelyyn, näytölle kirjoittamiseen ja tulostamiseen. CP/M käsittelee laitteistoa vain BIOS-kutsujen kautta. Kun BIOS oli kirjoitettu uudelle laitteelle, käyttöjärjestelmä toimi siinä. CP/M versiossa 2.2 käyttöjärjestelmän koko oli 3 584 tavua. Sen lisäksi komentotulkki vie vielä noin kaksi kilotavua. Ohjelmien käynnistämisen lisäksi käyttöjärjestelmässä on 38 funktiokutsua, lähinnä tiedostojen käsittelyyn.

Muistin alkupäästä osa on varattu suorittimen keskeytysvektoreille, muutamille muuttujille ja komentorivipuskuriksi käynnistettävälle ohjelmalle.

Tietokoneen käynnistyttyä se jäi "A>"-kehotteeseen, josta voi käynnistää ohjelmia tai käsitellä tiedostoja komentotulkin avulla. Komento DIR näyttää levykkeellä olevat tiedostot. ERA tuhoaa tiedoston. Tiedostojen kopiointi tapahtui käskyllä PIP <kohde>=<lähde> (nimi tulee DEC:in PDP-6:n Peripheral Interchange Program -ohjelmasta). PIP pystyi myös kopioimaan tiedostoja erikoislaitteisiin, kuten CON: näytölle, tai syöttö näppäimistöltä, LST: tai PRN: kirjoittimelle.

Sisällysluettelo

Ohjelmistot [muokkaa]

Ohjelmat toimitettiin 8" levykkeellä, jolle vakiintui yhteensopiva "jakeluformaatti", joka toimi kaikissa tietokoneissa. Myös 5¼" levykkeitä käytettiin, mutta niille ei ollut yleistä standardia, eivätkä yhden valmistajan koneessa formatoidut levykkeet toimineet toisten valmistajien koneissa.

CP/M oli käytössä jopa sadoissa eri valmistajien tietokoneissa. Suosituimpia olivat Altair, IMSAI 8080, Osborne 1 ja Kaypron kannettavat ja MSX. Luultavasti myydyin CP/M:ää ajava kone oli Commodore 128, jota harva käyttäjä kuitenkaan käytti CP/M-tilassa. Jopa Apple II:een sai Z80-kortin, jolla pystyi ajamaan CP/M-ohjelmia.

Suosittuja CP/M:n ohjelmia olivat tekstinkäsittelyohjelmat Magic Wand, WordStar, dBASE-tietokanta, KAMAS, Turbo Pascal ja Multiplan. Suosittu ilmainen XMODEM mahdollisti modeemin käytön ja tiedostojen latauksen.

Tiedostojärjestelmä [muokkaa]

CP/M:n tiedostojärjestelmässä levykkeellä on vain yksi hakemisto. Hakemiston koko on kiinteä.

Hakemisto on taulukko 32 tavun tietueita. Tiedoston nimi koostui 8+3 merkistä, kuten myöhemmässä MS-DOS-käyttöjärjestelmässä. Tiedoston nimen lisäksi hakemistotietue sisältää käyttäjäkoodin, 128-tavuisten levylohkojen määrän ja 16 tavua levylohkojen numeroita. Tilanvarausta varten puolestaan levy on jaettu 1 kB lohkoihin, ja tiedoston hakemistotietue sisältää tiedon siitä, mitkä lohkot kuuluvat tiedostoon.

Tiedoston kokoa ei ole tallennettu mihinkään, joten tiedostoa käsittelevän ohjelman täytyy pitää huolta siitä, ettei se lue tiedoston lopun ohi. Käytännön nyrkkisäännöksi muodostui päättää tekstitiedostot ohjauskoodilla control-Z (ASCII: SUB tai 0x1A).

Tiedostojärjestelmä ei pidä yllä tietoa siitä, mitkä levykkeen lohkot ovat vapaita. Käynnistyessään käyttöjärjestelmä lukee koko hakemiston läpi ja muodostaa bittikartan, johon on merkitty tiedostoille varatut ja käytettävissä olevat alueet.

Koska yksi hakemistotietue voi osoittaa vain 16 lohkoa, 16  kB suuremmat tiedostot vaativat usean hakemistotietueen. Tähän käytetään hakemistotietueen extends-kenttää, joka kertoo monesko tiedostolle varattu tietue on kyseessä.

Lisäksi CP/M:n hakemisto sisältää käyttäjäkentän, jonka avulla tiedostoja voi ryhmitellä. Käyttöjärjestelmä listaa ainoastaan ne tiedostot, joiden käyttäjä-kenttä on saman kuin nykyinen käyttäjänumero. Käyttäjää vaihdettiin komentotulkin komennolla USER x, jossa x on luku 0–15. Eräät valmistajat lisäsivät tähän salasanakyselyn, mutta peruskäyttöjärjestelmässä käyttäjänvaihtoon ei sisältynyt mitään tietoturvaa, vaan käyttäjää voi vaihtaa ilman salasanoja.

16-bittiset versiot [muokkaa]

Digital Research kehitti 16-bittisille suorittimille omat versiot CP/M:stä: CP/M-86 Intel 8086 -suorittimille ja CP/M-68k Motorola 68000:lle. Myös Zilog Z8000:lle oli CP/M-8000.

Lähteet [muokkaa]

Aiheesta muualla [muokkaa]