CP/M
Interfejs użytkownika | |
| Producent | |
|---|---|
| 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) |
| Jądro | |
| Środowisko pracy | |
| Licencja | |
| Wersja Live |
|
| 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]
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:
- CP/M – 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 Z8000[5].
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:
- Amstrad CPC - CP/M2.2 (CPC 464/664), CP/M Plus (CPC 6128)[10]
- Amstrad PCW - CP/M Plus[10]
- Commodore 128 - CP/M Plus[10]
- Spectravideo SVI-738 - CP/M 2.2[10]
- ZX Spectrum ze stacją Timex FDD 3000 - CP/M 2.2[10][11]
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]- systemy operacyjne bazujące na systemie CP/M i z nim zgodne:
- FDD3000
- Polecenia systemu operacyjnego CP/M
- Kaypro w angielskiej Wikipedii
- Osborne 1 w angielskiej Wikipedii
Uwagi
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ 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.).
- ↑ a b Naukowiec - biznesmen (wywiad z Gary Kildallem). „Informatyka”. 3/1985. s. 23-24. [dostęp 2026-04-03].
- ↑ 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.).
- ↑ a b Milestones:The CP/M Microcomputer Operating System, 1974. Engineering and Technology History Wiki. [dostęp 2026-01-11]. (ang.).
- ↑ Digital Research (1984): CP/M-8000 Operating System User’s Guide. Digital Research Inc (ang.).
- ↑ The Rise of DOS: How Microsoft Got the IBM PC OS Contract. [dostęp 2018-02-03]. (ang.).
- ↑ The Amstrad CP/M Plus. cpcwiki.edu, 1986. [dostęp 2016-06-20]. (ang.).
- ↑ 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.).
- ↑ Witold Woźniak. CP/M 3+. „Informatyka”. 3/1985. s. 18. [dostęp 2026-04-03].
- ↑ 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].
- ↑ 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]- Historia systemu CP/M. pldos.pl. [zarchiwizowane z tego adresu (2006-07-21)]. (pol.).
- CP/M na Atari. trub.atari8.info. [zarchiwizowane z tego adresu (2008-09-21)]. (pol.).
- Źródła systemu i historia powstania (ang.)