System operacyjny CP/M i ISIS: historia, architektura i znaczenie

ByTomasz Sanecki

System operacyjny CP/M i ISIS: historia, architektura i znaczenie

CP/M (ang. Control Program/Monitor lub Control Program/Microcomputer) - prosty system operacyjny, produkowany przez firmę Digital Research, dopuszczający działanie tylko jednego procesu (wykonywanego programu).

CP/M (ang. Control Program/Monitor lub Control Program/Microcomputer) - pierwszy przenośny system operacyjny dla mikrokomputerów stworzony w 1974 roku przez Gary'ego Kildalla, a następnie rozwijany przez założoną przez niego firmę Digital Research.

Początki i idea przenośności

To naprawdę komputerowa archeologia.

40 lat temu Gary Kildalprzedstawił światu system operacyjny CP/M (ControlProgram/Monitor, a później Control Program forMicrocomputers), działający na czymś, co nie było wielkąmaszyną typu mainframe czy minikomputerem, ale „zwykłym”mikrokomputerem IntelIntellec 8, z mikroprocesorem Intel 8008.

Intellec 8 korzystał zośmiocalowej stacji dysków elastycznych, podłączonychsamodzielnie przez Kildalla zrobiony kontroler, zaś uruchamiany ztych ośmiocalowych dyskietek system napisany był w samodzielniestworzonym przez Kildalla języku programowania o nazwie PL/M(Programming Language for Microcomputers).

Jak widać, byłyto czasy ludzi bardzo samodzielnych.

Twórca systemu od początku myślał, że stanie się onkomercyjnym produktem - jednak w tamtych czasach wyjaśnienie potencjalnym nabywcom samejidei komercyjnego systemu operacyjnego dlamikrokomputerównie było łatwe.

Kildall, który wrazżoną założył firmę Digital Research chciał, by jego produktstał się dla konsumentów czymś nierozłącznym z samą koncepcjąmikrokomputera, więc opisywał go jako software'ową magistralę,która pozwala wielu programom na wchodzenie ze sobą w interakcje,bez względu na sprzęt, na jakim jest uruchomiona.

Przenośność jako przewaga konkurencyjna

Jedną z najważniejszych cech CP/M była przenośność zapewniona przez rozdzielenie systemu operacyjnego na BIOS, zależny od konstrukcji sprzętowej danego komputera, oraz pozostałą część systemu (wraz z aplikacjami), która była taka sama i przenośnia pomiędzy komputerami, opartymi na tym samym lub kompatybilnym typie procesora (dla pierwszych wersji systemu był to Intel 8080 oraz zgodny z nim Zilog Z80).

Właśnie ten ostatni aspektprzyczynił się do początkowego sukcesu CP/M.

Był to przełom werze, gdy każdy producent sprzętu tworzył systemy operacyjnedziałające tylko z jego komputerami.

System operacyjny z DigitalResearch pozwalał na tworzenie oprogramowania, które działało nabardzo różnych mikrokomputerach z procesorami od Intela 8080 poZiloga Z80, od pierwszych maszyn pokroju Altaira 8800 czy Osborne 1,po najpotężniejsze 8-bitowe komputery lat osiemdziesiątych, takiejak Amstrad/Schneider 6128 czy Commodore 128.

W Stanach Zjednoczonychprodukowano nawet kartę rozszerzającą z procesorem Z80, dziękiktórej CP/M można było uruchomić na ogromnie popularnym Apple II.

To właśnie popularność CP/M doprowadziła do upowszechnienia siędysków elastycznych i wyparcia nośników taśmowych (przynajmniej wprofesjonalnych zastosowaniach), to właśnie też dzięki CP/M mogłyzaistnieć tak popularne programy jak edytor tekstu WordStar czy bazadanych dBase.

system CP/M na retro komputerze

Interfejs, polecenia i tryb pracy

System CP/M miał bardzo ubogi zestaw poleceń wewnętrznych, interpreter poleceń był częścią jądra systemu i ładowany był do początkowego obszaru pamięci.

Interpreter poleceń pozwalał na wyświetlenie w różnej postaci zawartości katalogu, zmianę katalogu, zmianę aktywnego użytkownika (polecenie user z parametrem w zakresie 0-15) i uruchomienie polecenia zewnętrznego lub programu.

System CP/M dopuszczał działanie tylko jednego procesu (wykonywanego programu).

Ta cecha - normalna we wczesnych latach osiemdziesiątych XX w.

Oprogramowanie dostępne dla CP/M

Dla systemu CP/M dostępne były aplikacje takie jak: WordStar (edytor tekstu, pierwowzór późniejszego WordPerfect dla systemu DOS; obsługiwany kombinacjami klawiszy Ctrl+klawisz), arkusz kalkulacyjny Multiplan oraz oprogramowanie specjalistyczne.

Dla mikrokomputerów, na których może działać system operacyjny CP/M, istnieje bardzo obszerna biblioteka zawierająca kilkaset programów, m. in. kompilatory i programy do przetwarzania tekstów, programy graficzne, programy obsługi baz danych.

U szczytu swojej wielkości, w1981 roku, Digital Research zatrudniało niemal 200 osób iprzynosiło rocznie ponad 20 milionów ówczesnych dolarów.

Błędyw biznesowej strategii doprowadziły jednak do upadku, jeszczeszybszego niż wzlot firmy.

Altair 8800 with FabGL (ESP32) - CP/M Setup Wordstar 4

CP/M, MS-DOS i rywalizacja na rynku

CP/M jest jedną z pierwszych ofiarMicrosoftu.

To właśnie firma Billa Gatesa, widząc, że DigitalResearch nie może się porozumieć z IBM w sprawie licencjonowaniaCP/M w pierwszych komputerach PC, wykupiła jeden z klonów CP-M,system 86-DOS, przerobiła go nieco, a następnie zaoferowałaWielkiemu Błękitnemu na atrakcyjnej licencji jako PC-DOS, z czasemznany jako MS-DOS.

Reszta jest już dobrze znaną historią.

Wersja tego systemu operacyjnego powstała również dla procesorów Intel x86, ale nie zdobyła popularności, gdyż system MS-DOS miał już ugruntowaną pozycję wśród użytkowników komputerów osobistych.

Ostatniewydanie CP/M 3.1 przypadło na 1983 rok, zaś jego następca CP/M-86dla procesorów Intel 8086, mimo że był oceniany przez specjalistówjako system doskonalszy niż MS-DOS (Gary Kildall nie uważał np.,że każdemu wystarczy 640 KB RAM) nie zdobył większejpopularności.

Ostatnią wersję 2.11 wydano w 1986 roku.

Rozwój: CP/Net, DR-DOS, GEMDOS i inne systemy

Do tego systemu firma Digital Research opracowała sieć CP/Net która umożliwiała współdzielenie zasobów dyskowych i drukarek poprzez serwer sieciowy pracujący pod kontrolą MP/M.

Rozwinięciem systemu CP/M był Digital Research DOS (znany jako DR-DOS), przeznaczony dla komputerów klasy PC oraz GEMDOS, część systemu operacyjnego m.in.

Warto wspomnieć też o ciekawejpróbie walki z Microsoftem.

W 1988 roku Digital Research wydałswoją własną alternatywę dla MS-DOS, system DR-DOS.

Umowy, jakieMicrosoft podpisywał z producentami komputerów PC nie dały jednaktemu produktowi większych szans, mimo że był on zarówno tańszy,jak i oferował większe możliwości (przy pełnej kompatybilnościz MS-DOS).

Gdy zaś pojawiły się pierwsze wersje Windows 3.1,Microsoft miał wprowadzić do nich kod celowo destabilizujący praceDR-DOS, by użytkownicy mieli wrażenie, że konkurencyjny system doniczego się nie nadaje.

Towarzyszące temu spory sądowe firmieKindalla nic nie pomogły, choć wywarły pewien wpływ na branżęPC - w 1994 roku amerykański Departament Sprawiedliwości zakazałMicrosoftowi licencjonowania systemów operacyjnych „od procesora”.

Systemy pokrewne: MP/M, FlexOS i inne próby

Twórcy CP/M próbowali teżswoich sił z niezwykle innowacyjnym jak na swoje czasy systememczasu rzeczywistego FlexOS, który potrafił np. dynamicznie ładowaćsterowniki sprzętowe, wspierał zaawansowaną wielozadaniowość zwywłaszczaniem i znalazł pewne zastosowanie w kasach sklepowych odIBM - ale to był już schyłek firmy Kindalla.

W 1991 roku to cozostało z Digital Research zostało kupione przez Novella.

Sprzęt zgodny z CP/M i jego odmiany

Na świecie powstało wiele komputerów umożliwiających pracę w systemie CP/M.

Należały do nich m.in. liczne komputery pracujące w standardzie MSX, ale także komputery dedykowane do pracy z CP/M takie jak Kaypro II czy Osbourne 1.

Istniały również produkowane w Polsce komputery umożliwiające korzystanie z CP/M.

Praca w systemie CP/M na komputerach, na których uruchomienie CP/M bezpośrednio nie było możliwe ze względu na architekturę[a], stawała się możliwa dzięki kartom rozszerzającym (czasem w formie kartridży) lub urządzeniom peryferyjnym, na którym system CP/M mógł zostać uruchomiony[b].

Na ZX Spectrum (i jego dostępnych w Polsce klonach) CP/M w wersji 2.2 był dostępny dzięki wykorzystaniu stacji dysków Timex FDD 3000[13].

System operacyjny CP/M wymagał do działania dostępności pamięci RAM na początku przestrzeni adresowej, podczas gdy w ZX Spectrum pierwsze 16 kB pamięci zajmowała pamięć ROM.

Stacja FDD3000 była wyposażona w procesor Z80A 4 MHz i 64 kB pamięci RAM, tak więc była też funkcjonalnie komputerem (bez monitora i klawiatury).

System CP/M był wczytywany do pamięci stacji dysków i tam uruchamiany.

Na podobnej zasadzie użycie CP/M 2.2 jest możliwe na ośmiobitowym Atari.

Potrzebna jest do tego stacja dysków Indus GT, LDW Super 2000 lub CA-2001 (te dwie ostatnie były sprzedawane przez Pewex i bardzo popularne w Polsce).

Wszystkie te stacje zawierają procesor Z80 taktowany zegarem 4 MHz.

Każda z nich ma wprawdzie tylko 2 kB pamięci RAM, ale do uruchomienia CP/M wystarczy rozbudowa tej pamięci do 64 kB, dość prosta, gdyż stacja jest specjalnie do tego zaprojektowana.

komputery zgodne z CP/M

Tablica porównawcza podstawowych cech

CechaOpis
Model działaniaSystem operacyjny dopuszczający działanie tylko jednego procesu
ArchitekturaRozdzielenie na BIOS zależny od sprzętu i część przenośną
ProcesoryIntel 8080, Zilog Z80, później Intel x86
PamięćSystem CP/M wymagał dostępności pamięci RAM na początku przestrzeni adresowej
PoleceniaWyświetlanie katalogu, zmiana katalogu, user 0-15, uruchamianie programów
Znane aplikacjeWordStar, Multiplan, oprogramowanie specjalistyczne
Następcy i rozwinięciaCP/Net, MP/M, DR-DOS, GEMDOS, FlexOS

Archiwa, dokumentacja i ślady historii

Teraz Muzeum Historii Komputerów z Mountain View udostępniłopublicznie mające 147 MB archiwum, zawierające zarówno kodźródłowy CP/M, pisany w assemblerze i PL/M, jak i skanydokumentacji z lat siedemdziesiątych.

Pobrać je możecie ze stronyMuzeum (gdzie można się zapoznać też ze szczegółowąhistorią CP/M).

Upublicznienie kodu nie oznacza jego formalnegootwarcia, to wciąż własnościowe oprogramowanie, udostępnionewyłącznie do celów edukacyjnych.

Jeśli jednak macie ochotępobawić się trochę w IT lat siedemdziesiątych i osiemdziesiątych,to polecamy The Unofficial CP/M Web site, gdzie znajdziecie binarne wersje systemu, dokumentację,aplikacje, języki programowania, a także emulatory, które możnauruchomić na MS-DOS (który można uruchomić np. Digital Research Operating systems.

Isa i skrótowe odniesienia do nazwy systemu

CP/M (ang. Control Program/Monitor lub Control Program/Microcomputer) - prosty system operacyjny, produkowany przez firmę Digital Research, dopuszczający działanie tylko jednego procesu (wykonywanego programu).

System CP/M miał bardzo ubogi zestaw poleceń wewnętrznych, interpreter poleceń był częścią jądra systemu i ładowany był do początkowego obszaru pamięci.

Interpreter poleceń pozwalał na wyświetlenie w różnej postaci zawartości katalogu, zmianę katalogu, zmianę aktywnego użytkownika (polecenie user z parametrem w zakresie 0-15) i uruchomienie polecenia zewnętrznego lub programu.

tags: #system #operacyjny #cp #m #isis

Popularne posty:

About the author

Tomasz Sanecki administrator

Informatyk z zawodu i zamiłowania. Od 2007r właściciel firmy Perfect Systems. Specjalista do spraw bezpieczeństwa IT, serwisu urządzeń elektronicznych, sieci komputerowych. Prywatnie mąż i ojciec dwójki dzieci. Pasjonat nowoczesnych technologii, motocykli oraz włoskiego espresso.