Przejdź do zawartości

CP/M

Z Wikipedii, wolnej encyklopedii
CP/M
Ilustracja
Interfejs użytkownika
Producent

Digital Research, Inc. / Gary Kildall[1]

Architektura

Intel 8080[1], Intel 8085[1], Zilog Z80[1], Intel 8086[1], MC68000[1], Zilog Z8000

Pierwsze wydanie

1974

Aktualna wersja

3.1 (1983)
(Brak daty wydania) [±]

Jądro

monolityczne

Środowisko pracy

środowisko tekstowe (wiersz poleceń)[1]

Licencja

własnościowa[1]

Wersja Live

T poprzez modyfikację

Strona internetowa

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[2].

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

Charakterystyka

[edytuj | edytuj kod]
Pamiątkowa tablica informacyjna pod dawną siedzibą Digital Research (Pacific Grove, California, 801 Lighthouse Avenue)[4]

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[4].

Działanie

[edytuj | edytuj kod]

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

[edytuj | edytuj kod]

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. 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

[edytuj | edytuj kod]

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:

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[6].

Wersje CP/M dla procesorów 8080 (Z-80)

[edytuj | edytuj kod]

CP/M 2.2

[edytuj | edytuj kod]

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)

[edytuj | edytuj kod]

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[7] i ZX Spectrum +3[8].

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[1][9].

Komputery z CP/M

[edytuj | edytuj kod]

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:

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[10]. 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ę[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]. Do komputerów takich należały Apple II, Commodore 64, Atari XL/XE czy ZX Spectrum.[1][10]

CP/M na ZX Spectrum

[edytuj | edytuj kod]

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[10]. 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[11].

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

[edytuj | edytuj kod]

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ż

[edytuj | edytuj kod]
  1. niewspierany procesor lub mapa pamięci niezgodna z CP/M (brak lub niedostępna pamięć RAM od adresu 0)
  2. rozszerzenia lub peryferia takie zawierały zwykle procesor Z-80, czasem też pamięć RAM

Przypisy

[edytuj | edytuj kod]
  1. a b c d e f g h i j Mark Dahmke. CP/M Plus. „BYTE”, s. 360-384, lipiec 1983. ISSN 0360-5280. [dostęp 2026-01-18]. (ang.). 
  2. a b Naukowiec - biznesmen (wywiad z Gary Kildallem). „Informatyka”. 3/1985. s. 23-24. [dostęp 2026-04-03]. 
  3. Stephen Schmitt. MP/M II - The Multiuser, Multiprogramming Version of CP/M. „BYTE”. vol. 8, no. 3, s. 190-214, marzec 1983. [dostęp 2026-03-07]. (ang.). 
  4. a b Milestones:The CP/M Microcomputer Operating System, 1974. Engineering and Technology History Wiki. [dostęp 2026-01-11]. (ang.).
  5. Digital Research (1984): CP/M-8000 Operating System User’s Guide. Digital Research Inc (ang.).
  6. The Rise of DOS: How Microsoft Got the IBM PC OS Contract. [dostęp 2018-02-03]. (ang.).
  7. The Amstrad CP/M Plus. cpcwiki.edu, 1986. [dostęp 2016-06-20]. (ang.).
  8. CP/M Plus and Mallard BASIC for the Spectrum +3 User Guide. worldofspectrum.org, 1988. [dostęp 2016-06-20]. [zarchiwizowane z tego adresu (2016-08-22)]. (ang.).
  9. Witold Woźniak. CP/M 3+. „Informatyka”. 3/1985. s. 18. [dostęp 2026-04-03]. 
  10. a b c d e f g h Jonasz Mayer. Wielka unifikacja. „Bajtek”. 9/89, s. 5, październik 1989. Młodzieżowa Agencja Wydawnicza. ISSN 0860-1674. [dostęp 2025-11-07]. 
  11. a b Stacja dysków FDD 3000. „Bajtek”. 3-4, s. 30, marzec-kwiecień 1990. Oficyna Wydawnicza „Sztandar Młodych”. ISSN 0860-1674. 

Linki zewnętrzne

[edytuj | edytuj kod]