Pipedija - tautosaka, gandai, kliedesiai ir jokios tiesos! Durniausia wiki enciklopedija durnapedija!


CP/M

Iš Pipedijos - durniausios enciklopedijos.
Jump to navigation Jump to search

CP/M - tokia legendinė operacinė sistema, nuo kurios prasidėjo visa mikrokompiuterių era. CP/M pavadinimas kilo nuo "Control Program/Monitor", bet paskui buvo pakeistas į "Control Program for Microcomputers", taigi nors klasikinis pavadinimas ir yra CP/M, pavadinimas CPM irgi yra teisingas.

CP/M sistemą sukūrė pavienis programuotojas - toksai Garry Kildall dar 1974, o viskas gavosi taip sėkminga, kad vėliau jis įkūrė ir Digital Research kompaniją, tapusią viena iš istorinių IT firmų. Pradinis CP/M variantas buvo skirtas tik 8 bitų kompiuteriams, turintiems iki 64kb atminties, tačiau laikui einant, atsirado ir galingesnėms mašinoms skirti CP/M variantai. Kurį laiką ši operacinė sistema buvo tokia populiari, kad tapo visišku asmeninių kompiuterių OS standartu.

Daugeliui įprastos vėlesnių laikų DOS tipo sistemos, kaip kad 86-DOS, MS-DOS, PC-DOS, Concurrent DOS, DR-DOS ir panašios, atsirado kaip įvairūs CP/M sistemos klonai ar analogai, tiesa, dažniausiai su įvairiais pagerinimais.


CP/M paplitimas

CP/M visiškai dominavo rinkoje iki pat 1981, kai IBM paleido į rinką IBM PC kompiuterį, su kuriuo buvo tiekama MS-DOS arba PC-DOS operacinė sistema, kuri, savo ruožtu, buvo nelabai vykęs, lėtas ir bugų pilnas CP/M klonas. Nors vėliau DOS tipo sistemos patobulėjo ir ėmė dominuoti rinkoje, kai kuriuos CP/M paveldėjimus išlaikė ne tik DOS, bet netgi ir įvairiausios Windows versijos.

Pati CP/M sistema buvo kurta labai primityviems kompiuteriams, pagal dabartinį supratimą tai panašiau į kažkokį boot-loaderį, tačiau anais laikais visgi ši OS išsprendė daugybę problemų. Kuriama ji buvo, kiek nusižiūrėjus į ankstyviausias UNIX sistemas, tačiau jas supaprastinant tiek smarkiai, kad panašumų į UNIX liko ne tiek jau ir daug.

Tipiškas kompiuteris su CP/M pradžioje būdavo su Intel firmos 8080 procesoriumi, tačiau vėliau atsirado ir z80 bei 8085 procesoriams, o paskui ir dar kažkokiems kitiems. Aparatūrai buvo tokie reikalavimai:

  • Tekstinis terminalas (arba kontroleris, kuris veikia kaip tekstinis terminalas)
  • Mažiausiai 16kB atminties (nuo adreso 0)
  • Standartiniame variante - diskasukis ir automatinis pirmo diskelio sektoriaus pakrovimas į atmintį vykdymui

Kai kurios modifikuotos CP/M versijos galėjo dirbti ir su kasetiniu magnetofonu, o ne su diskasukiu.

CP/M naudojo 7 bitų ASCII raidyną, o tai reiškė, kad iš esmės vien tik anglų kalba buvo normaliai palaikoma. Kitoms kalboms buvo problemos. Kitą vertus, įvairioms toms kitoms kalboms buvo prikurta visokių ten draiverių ir panašiai, kurių dėka galimybių kitoms kalboms visgi atsirasdavo, daugiausiai per tai, kad įprastos raidės būdavo pakeičiamos kokiomis nors tautinėmis.


CP/M operacinės sistemos sandara

Pati OS susidėjo iš trijų dalių:

  • Basic Input/Output System (BIOS) - įvairios standartinės OS funkcijos duomenų išvedimui ir įvedimui, darbui su klaviatūra ir ekranu. Vėlesnėse DOS sistemose šią dalį atitiko IO.SYS failas.
  • Basic Disk Operating System (BDOS) - įvairios darbo su disku, failais ir failų sistema funkcijos. Vėlesnėse DOS sistemose šią dalį atitiko MSDOS.SYS failas.
  • Console Command Processor (CCP) - komandinis procesorius, per kurį vartotojas bendrauja su OS, paleidinėja programas, kažką daro su failais ir panašiai. Vėlesnėse DOS sistemose šią dalį atitiko COMMAND.COM failas.

Pasikrovus OS, BIOS ir BDOS dalys nuoalt sėdėdavo atmintyje, tuo tarpu CPP didesnę savo dalį galėdavo išmesti, o vietoje jos pakrauti kokią nors kitą programą. Programos šioje sistemoje turėdavo .COM failo išplėtimą. Pastarasis vėliau išliko ir DOS sistemose.

Bendrai imant, CP/M buvo gan modulinė, tad konkretiems kompiuterių tipams dažniausiai būdavo sukuriama tik specifinė BIOS posistemė, tuo tarpu BDOS jau būdavo modifikuojama žymiai rečiau. CPP praktiškai visada likdavo tas pats ir galėdavo keistis nebent tik jei būdavo panaudojamas koks nors kitas procesorius.

Vienas iš operacinės sistemos privalumų ir trūkumų buvo tai, kad OS būdavo faktiškai sugeneruojama instaliacijos metu, atsižvelgiant ir į turimą aparatūrą, ir į operacinės atminties kiekį. Instaliacijos metu visada būdavo pergeneruojama BIOS dalis, bet kitos dvi dalys (BDOS ir CCP) likdavo nepakitusios. Privalumas iš to buvo tas, kad OS nereikėjo turėti gan kompleksinio programų loaderio, o taip pat ir specifinėms sistemoms nereikalingų IO biobliotekų. Kadangi tuometiniai kompiuteriai turėjo labai mažai atminties, tai šitoksai taupymas buvo labai svarbus. Trūkumas buvo tai, kad OS pergeneruoti reikdavo, netgi pridėjos papildomo RAM į kompiuterį.

Kai IBM kūrė savo IBM PC, didelė dalis CP/M BIOS funkcionalumo buvo suprogramuota naujai ir įkišta į atskirą mikroschemą. Ten pat įkištos ir kai kurios BDOS ekvivalentiškos dalys, duodančios diskų funkcijas. Ta IBM sukurta programinė buvo tiesiog pavadinta BIOS. Nepaisant to, su tais PC tiektos DOS sistemos visvien tą funkcionalumą dubliavo.


CP/M valdymo komandos

CCP dalis veikė kaip tam tikras interaktyvus interfeisas, primenantis UNIX sistemų shell. Tiesa, komandos nebuvo visai tos pačios - Garry Kildall nusižiūrėjo nuo UNIX ne tiesiogiai, o per dar kitas sistemas, skritas Digital Equipment gamintiems PDP-11 ir PDP-8 kompiuteriams, su kuriais pats anksčiau dirbo. Taigi, primityviausią UNIX funkcionalumą lyg ir dalinai atkartojo, tačiau pavadinimus padarė kitus.

Komandų procesorius, gavęs komandą (vartotojas kaip čatų programoje įveda tekstą ir paspaudžią Enter, tą komandą vykdydavo. Jei komandos nerasdavo, ieškodavo kokios nors programos su tokiu vardu, koks įvestas - failo su išplėtimu .COM ir tada paleisdavo tą programą.

CPM komandų procesoriaus komandos buvo šios (dauguma jų veikia ir DOS sistemose):

  • DIR - išvesti į ekraną kataloge esančių failų sąrašą
  • ERA - ištrinti nurodomą failą (DOS sistemose komanda vadinasi DEL)
  • REN - pervadinti nurodomą failą
  • SAVE - išsaugoti operacinės atminties dumpą (DOS sistemose nėra)
  • TYPE - išvesti į ekraną nurodomą failą
  • USER - pakeisti vartotoją į nurodytą (DOS sistemose nėra)

Skirtingai, nei vėlesnė DOS, CP/M turėjo ir šiokią tokią, labai primityvią varotojų teisių valdymo sistemą. Sistemoje galėjo būti 16 vartotojų, su numeriais nuo 0 iki 15. Konkrečiam vartotojui būdavo rodomi tik jo failai, esantys diske ir vykdomos tiktai jo programos. Tai leido kažkiek atskirti vartotojus vienus nuo kitų. Vėlesnės DOS sistemos šitą funkcionalumą prarado - jose vartotojų sąvokos neliko išvis.

Kartu su šiomis komandomis, CP/M turėdavo ir nemažą kiekį įvairių kitų programų, kurios irgi veikdavo kaip komandos, tačiau jau išorinės (ne pačiame CCP realizuotos), vadinamos "transient".

Vat tokios tipiškos CP/M išorinės (transient) komandos:

  • DDT.COM - debugeris
  • STAT.COM - kažkoks utilsas visokiems sistemos parametrams keisti
  • PIP.COM - failų kopijavimo programa
  • ED.COM - neįsivaizduojamo nepatogumo teksto editorius
  • ASM.COM - asembleris