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. Do czasu pojawienia się IBM PC z systemem PC-DOS w 1981 roku był to najpopularniejszy system operacyjny dla mikrokomputerów i komputerów osobistych.

Rozwinięciem CP/M były bardziej zaawansowane, wielozadaniowe i wieloużytkownikowe systemy Concurrent CP/M oraz M/PM.

Charakterystyka thumb|Pamiątkowa tablica informacyjna pod dawną siedzibą Digital Research (Pacific Grove, California, 801 Lighthouse Avenue) 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). Koncepcję tę później zastosowano również w architekturze IBM PC oraz systemie QDOS, na bazie którego powstały PC-DOS oraz MS-DOS. Znaczenie powstania CP/M oraz BIOS dla rozwoju i upowszechnienia mikrokomputerów organizacja IEEE upamiętniła tablicą pod dawną siedzibą Digital Research.

Działanie System CP/M dopuszczał działanie tylko jednego procesu (wykonywanego programu). Ta cecha – normalna we wczesnych latach osiemdziesiątych XX w. – upraszczała konstrukcję systemu, przede wszystkim zarządzanie pamięcią, która poza obszarem zarezerwowanym dla systemu, była dostępna tylko dla jednego procesu.

System CP/M miał krótki 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. Struktura plików wykonywalnych była pierwowzorem formatu .COM stosowanego w PC-DOS.

Oprogramowanie 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 ), arkusz kalkulacyjny Multiplan oraz oprogramowanie specjalistyczne. Pozwalał on na korzystanie z języków programowania BASIC, Pascal, C, Fortran, COBOL, a także narzędzi wspomagających programowanie w asemblerze.

Wersje systemu CP/M System CP/M napisany został pierwotnie dla procesora Intel 8080, jednak używany był przede wszystkim na bardzo popularnym wówczas procesorze Zilog Z80, który był z nim zgodny programowo. 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. W popularyzacji nie pomogło nawet wydanie wielozadaniowej wersji systemu pod nazwą MP/M.

Wprowadzone na rynek wersje systemu CP/M: CP/M (zwany również CP/M 80) – dla procesora Intel 8080 i z nim zgodnych, CP/M-86 – dla procesora Intel 8086 i z nim zgodnych CP/M-68k – dla procesora Motorola 68000. CP/M-8000 – dla procesora Zilog Z8000Digital Research (1984): CP/M-8000 Operating System User’s Guide. Digital Research Inc ..

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. Jako stacje klienckie używane były komputery pracujące pod CP/M oraz bezdyskowe terminale z systemem CP/NOS, który był odmianą CP/M 2.2 obsługującym wyłącznie dyski sieciowe.

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. komputerów Atari ST odpowiedzialna za zarządzanie plikami.

Systemy CP/M dla x86 przegrały z MS-DOS z powodu ceny – CP/M-86 kosztował $240 wobec $40 za MS-DOS.

Wersje CP/M dla procesorów 8080 (Z-80) CP/M 2.2 Ostatnia wersja systemu wspierająca maksymalnie 64kB pamięci RAM (stosowana w komputerach z taką właśnie ilością pamięci).

CP/M Plus (CP/M 3.0) CP/M Plus został wprowadzony do sprzedaży przez Digital Research w roku 1982.

Później firma Locomotive Software Limited przygotowała natywne wersje tego systemu (CP/M Plus) dla komputerów Amstrad Schneider 6128 i ZX Spectrum +3.

W porównianiu do poprzednika (wersji 2.2) system ten został znacznie ulepszony, m.in. poprawiono obsługę dysków (była 4-10 razy szybsza). System ten pozwalał na użycie maksymalnie 1 MB pamięci RAM (16 bloków po 64 kB). Był zwykle uruchamiany na komputerach z min. 128 kB RAM.

Komputery z CP/M 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. W Polsce CP/M był stosowany głównie na komputerach z procesorem Z-80, do których należały: Amstrad CPC - CP/M2.2 (CPC 464/664), CP/M Plus (CPC 6128) Amstrad PCW - CP/M Plus Commodore 128 - CP/M Plus Spectravideo SVI-738 - CP/M 2.2 ZX Spectrum ze stacją Timex FDD 3000 - CP/M 2.2

Istniały również produkowane w Polsce komputery umożliwiające korzystanie z CP/M. W komputerach Elwro 800 Junior stosowany był system CP/J, który był wersją CP/M 2.2 dostosowaną do pracy w sieci. CP/M 2.2 był też jednym z systemów dostępnych dla komputera ComPAN-8.

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ę niewspierany procesor lub mapa pamięci niezgodna z CP/M (brak lub niedostępna pamięć RAM od adresu 0), 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ć uruchomionyrozszerzenia lub peryferia takie zawierały zwykle procesor Z-80, czasem też pamięć RAM. Do komputerów takich należały Apple II, Commodore 64, Atari XL/XE czy ZX Spectrum.

CP/M na ZX Spectrum 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. 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 ZX Spectrum uruchamiany był z kolei program terminala umożliwiający korzystanie z systemu CP/M działającego w stacji dysków.

Uruchomienie CP/M nie było możliwe na uboższej wersji stacji FDD3, która miała jedynie 16 kB pamięci RAM (co wystarczało do uruchomienia systemu TOS, z wyłączeniem wersji 4).

CP/M na Atari XL/XE 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. Podobnie jak w przypadku ZX Spectrum, jednak z innych nieco względów (procesor MOS 6502 montowany w Atari jest niezgodny z Z80), komputer pełni wtedy funkcję inteligentnego terminala dla programów uruchamianych wewnątrz stacji dysków.

Zobacz też systemy operacyjne bazujące na systemie CP/M i z nim zgodne: CP/J CPM/R EMOS Mikros FDD3000 Polecenia systemu operacyjnego CP/M

Uwagi

Przypisy

Linki zewnętrzne

Źródła systemu i historia powstania

Kategoria:Nierozwijane systemy operacyjne