CP / M - CP/M

Z Wikipedii, wolnej encyklopedii

CP / M
CPM-86.png
Zrzut ekranu z CP / M-86
Deweloper Digital Research, Inc. / Gary Kildall
Napisane w PL / M
Stan pracy Historyczny
Model źródłowy Pierwotnie zamknięte źródło , teraz otwarte źródło
Pierwsze wydanie 1974 ; 47 lat temu  ( 1974 )
Najnowsze wydanie 3.1 / 1983 ; 38 lat temu  ( 1983 )
Platformy Intel 8080 , Intel 8085 , Zilog Z80 , Zilog Z8000 , Intel 8086 , Motorola 68000
Typ jądra Jądro monolityczne
Wpływem RT-11 , OS / 8
Domyślny interfejs użytkownika Interfejs wiersza poleceń (CCP.COM)
Licencja Pierwotnie zastrzeżony , teraz podobny do BSD
Oficjalna strona internetowa Strona Digital Research CP / M

CP / M , stojący pierwotnie dla sterowania Program / Monitor , a później program kontroli Mikrokomputery , to rynek masowy system operacyjny stworzony w 1974 roku przez firmę Intel 8080 / 85 opartych mikrokomputery autorstwa Gary Kildall z Digital Research, Inc. Początkowo ogranicza się do jedno- wielozadaniowych na procesorach 8-bitowych , a nie więcej niż 64 kilobajtów pamięci, nowsze wersje CP / M dodano zmiany wielu użytkowników i zostały przeniesione do procesorów 16-bitowych .

Połączenie komputerów szynowych CP / M i S-100 było luźno wzorowane na MITS Altair , wczesnym standardzie w branży mikrokomputerów. Ta platforma komputerowa była szeroko stosowana w biznesie od późnych lat siedemdziesiątych do połowy lat osiemdziesiątych XX wieku. CP / M zwiększył rozmiar rynku zarówno sprzętu, jak i oprogramowania, znacznie zmniejszając ilość programowania wymaganego do zainstalowania aplikacji na komputerze nowego producenta. Ważnym czynnikiem napędzającym innowacje w oprogramowaniu było pojawienie się (stosunkowo) tanich mikrokomputerów obsługujących CP / M, ponieważ niezależni programiści i hakerzy kupowali je i dzielili się swoimi dziełami w grupach użytkowników . CP / M został wyparty przez DOS wkrótce po wprowadzeniu IBM PC w 1981 roku .

Model sprzętu

Komputer Sanco 8001 działający pod kontrolą CP / M 2.2 (1982).
Wkład CP / M do Commodore 64 .

Minimalny 8-bitowy system CP / M zawierałby następujące komponenty:

  • Terminal komputerowy za pomocą ASCII zestaw znaków
  • Mikroprocesor Intel 8080 (a później 8085) lub Zilog Z80
    • NEC V20 i V30 procesory obsługują tryb emulacji-8080, który może być 8-bitowe CP / M na komputerze PC DOS / MS-DOS tak wyposażone, choć każdy komputer może również uruchamiać 16-bitowe CP / M-86.
  • Co najmniej 16 kilobajtów pamięci RAM , zaczynając od adresu 0
  • Środek do załadowania pierwszego sektora dyskietki
  • Przynajmniej jeden dyskietki dysku

Jedynym systemem sprzętowym obsługiwanym przez CP / M sprzedawany przez Digital Research był Intel 8080 Development System. Producenci systemów zgodnych z CP / M dostosowywali części systemu operacyjnego do własnych kombinacji zainstalowanej pamięci, napędów dyskowych i urządzeń konsolowych. CP / M działałby również w systemach opartych na procesorze Zilog Z80, ponieważ Z80 był kompatybilny z kodem 8080. Podczas gdy rozproszony rdzeń CP / M firmy Digital Research (BDOS, CCP, podstawowe polecenia przejściowe) nie korzystał z żadnych instrukcji specyficznych dla Z80, wiele systemów opartych na Z80 używało kodu Z80 w specyficznym dla systemu BIOS-ie, a wiele aplikacji było dedykowanych do maszyn CP / M na bazie Z80.

Na większości maszyn bootstrap był minimalnym bootloaderem w pamięci ROM w połączeniu z pewnymi środkami minimalnego przełączania banków lub sposobem wprowadzania kodu do magistrali (ponieważ 8080 musi widzieć kod rozruchowy pod adresem 0 do uruchomienia, podczas gdy CP / M potrzebuje RAM tam); dla innych ten bootstrap musiał być wprowadzany do pamięci za pomocą elementów sterujących na panelu przednim przy każdym uruchomieniu systemu.

CP / M używał 7-bitowego zestawu ASCII. Pozostałe 128 znaków, które umożliwił 8-bitowy bajt, nie zostało ustandaryzowanych. Na przykład jeden z Kaypro użył ich dla znaków greckich, a maszyny Osborne użyły ósmego zestawu bitów, aby wskazać podkreślony znak. WordStar użył ósmego bitu jako znacznika końca słowa. Międzynarodowe systemy CP / M najczęściej stosowały normę ISO 646 dla zlokalizowanych zestawów znaków, zastępując niektóre znaki ASCII znakami zlokalizowanymi, zamiast dodawać je poza 7-bitową granicą.

Składniki systemu operacyjnego

W wersjach 8-bitowych podczas pracy system operacyjny CP / M załadowany do pamięci składał się z trzech komponentów:

BIOS i BDOS były rezydentne w pamięci, podczas gdy procesor CCP był rezydentny w pamięci, chyba że zostanie nadpisany przez aplikację, w którym to przypadku został automatycznie ponownie załadowany po zakończeniu działania aplikacji. Udostępniono również szereg tymczasowych poleceń dla standardowych narzędzi. Przejściowe polecenia znajdowały się w plikach z rozszerzeniem .COM na dysku.

BIOS sterował bezpośrednio komponentami sprzętowymi innymi niż procesor i pamięć główna. Zawierał funkcje, takie jak wprowadzanie i wyprowadzanie znaków oraz odczytywanie i zapisywanie sektorów dysku. BDOS zaimplementował system plików CP / M i niektóre abstrakcje wejścia / wyjścia (takie jak przekierowanie) w górnej części BIOS-u. Procesor CCP przyjmował polecenia użytkownika i albo wykonywał je bezpośrednio (polecenia wewnętrzne, takie jak DIR, aby pokazać katalog lub ERA, aby usunąć plik) lub ładował i uruchamiał plik wykonywalny o podanej nazwie (polecenia przejściowe, takie jak PIP.COM do kopiowania plików lub STAT.COM, aby wyświetlić różne informacje o plikach i systemie). Aplikacje innych firm dla CP / M były również zasadniczo przejściowymi poleceniami.

BDOS, CCP i standardowe polecenia przejściowe były (idealnie) takie same we wszystkich instalacjach określonej wersji CP / M, ale część BIOS-u była zawsze dostosowana do konkretnego sprzętu. Na przykład dodanie pamięci do komputera oznaczało, że system CP / M musiał zostać ponownie zainstalowany z zaktualizowanym BIOS-em zdolnym do adresowania dodatkowej pamięci. Dostarczono narzędzie do poprawiania dostarczonego systemu BIOS, BDOS i CCP, aby umożliwić ich uruchamianie z wyższej pamięci. Po zainstalowaniu system operacyjny (BIOS, BDOS i CCP) był przechowywany w zarezerwowanych obszarach na początku każdego dysku, który miałby zostać użyty do uruchomienia systemu. Podczas uruchamiania bootloader (zwykle zawarty w chipie ROM firmware'u) ładował system operacyjny z dysku w napędzie A: .

Według współczesnych standardów CP / M był prymitywny ze względu na ekstremalne ograniczenia rozmiaru programu. W wersji 1.0 nie było możliwości wykrywania zmienionego dysku. Gdyby użytkownik zmienił dyski bez ręcznego ponownego wczytania katalogu na dysku, system zapisywałby na nowym dysku, używając informacji o katalogu starego dysku, niszcząc dane przechowywane na dysku. Począwszy od wersji 1.1 lub 1.2, zmiana dysku, a następnie próba zapisu na nim, zanim jego katalog został odczytany, spowodowałaby zasygnalizowanie błędu krytycznego. Pozwoliło to uniknąć nadpisania dysku, ale wymagało ponownego uruchomienia i utraty danych, które miały być przechowywane na dysku.

Większość złożoności CP / M została wyizolowana w BDOS, aw mniejszym stopniu w CCP i rozkazach przejściowych. Oznaczało to, że po przeniesieniu ograniczonej liczby prostych procedur w systemie BIOS na określoną platformę sprzętową cały system operacyjny działałby. To znacznie skróciło czas rozwoju potrzebny do obsługi nowych maszyn i było jednym z głównych powodów powszechnego stosowania CP / M. Dziś ten rodzaj abstrakcji jest powszechny w większości systemów operacyjnych ( warstwa abstrakcji sprzętowej ), ale w momencie narodzin CP / M systemy operacyjne były zwykle przeznaczone do uruchamiania tylko na jednej platformie maszynowej, a projekty wielowarstwowe uważano za niepotrzebne.

Procesor poleceń konsoli

Zrzut ekranu pokazujący listę katalogów CP / M 3.0 za pomocą DIR polecenia na komputerze domowym Commodore 128 .

Procesor poleceń konsoli (CCP) przyjmował dane wejściowe z klawiatury i przekazywał wyniki do terminala. Sam CP / M działałby z terminalem drukującym lub terminalem wideo. Wszystkie polecenia CP / M musiały być wpisane w wierszu poleceń . Konsola najczęściej wyświetlałaby A> monit, aby wskazać bieżący domyślny napęd dysków. W przypadku korzystania z terminala wideo zwykle towarzyszyłby migający kursor dostarczany przez terminal. CCP oczekiwałby na dane wejściowe od użytkownika.

Do wybrania dysku domyślnego można użyć wewnętrznego polecenia CCP składającego się z litery dysku, po której następuje dwukropek. Na przykład wpisanie B: i naciśnięcie klawisza Enter w wierszu polecenia zmieniłoby domyślny dysk na B, a wiersz polecenia zacząłby B> wskazywać tę zmianę.

Interfejs wiersza poleceń CP / M był wzorowany na systemach operacyjnych z Digital Equipment , takich jak RT-11 dla PDP-11 i OS / 8 dla PDP-8 .

Polecenia miały postać słowa kluczowego, po którym następowała lista parametrów oddzielonych spacjami lub znakami specjalnymi. Podobnie jak w przypadku wbudowanej powłoki systemu Unix , jeśli rozpoznano polecenie wewnętrzne, zostało ono wykonane przez sam procesor CCP. W przeciwnym razie spróbuje znaleźć plik wykonywalny na aktualnie zalogowanym napędzie dyskowym i (w nowszych wersjach) w obszarze użytkownika, załaduje go i przekaże dodatkowe parametry z wiersza poleceń. Były one określane jako programy „przejściowe”. Po zakończeniu, CP / M przeładuje część procesora CCP, która została nadpisana przez programy aplikacyjne - pozwoliło to programom przejściowym na większą przestrzeń pamięci.

Same polecenia mogą czasami być niejasne. Na przykład polecenie duplikowania plików nosiło nazwę PIP (Peripheral-Interchange-Program), czyli nazwę starego narzędzia DEC używanego do tego celu. Format parametrów podawanych programowi nie był znormalizowany, więc nie było jednego znaku opcji, który odróżniałby opcje od nazw plików. Różne programy mogły i używały różnych znaków.

Polecenia

Poniższa lista wbudowanych poleceń jest obsługiwana przez procesor poleceń konsoli CP / M:

Przejściowe polecenia w CP / M obejmują:

CP / M Plus (CP / M wersja 3) zawiera następujące wbudowane polecenia:

  • DIR - wyświetla listę plików z katalogu oprócz tych oznaczonych atrybutem SYS
  • DIRSYS / DIRS - wyświetla listę plików oznaczonych atrybutem SYS w katalogu
  • ERASE / ERA - usuń plik
  • RENAME / REN - zmień nazwę pliku
  • TYPE / TYP - wyświetl zawartość pliku znaków ASCII
  • UŻYTKOWNIK / UŻYTKOWNIK - zmień numer użytkownika

CP / M 3 pozwala użytkownikowi na skrócenie wbudowanych poleceń.

Przejściowe polecenia w CP / M 3 obejmują:

Podstawowy system operacyjny dysku

System operacyjny dysku podstawowego, czyli BDOS, zapewniał dostęp do takich operacji, jak otwieranie pliku, wyjście na konsolę lub drukowanie. Programy aplikacyjne ładowałyby rejestry procesora kodem funkcji dla operacji i adresami parametrów lub buforów pamięci i wywoływały stały adres w pamięci. Ponieważ adres był taki sam, niezależnie od ilości pamięci w systemie, aplikacje działałyby w ten sam sposób dla każdego typu lub konfiguracji sprzętu.

Podstawowy System Wejścia Wyscia

Reklama CP / M w numerze magazynu InfoWorld z 11 grudnia 1978 roku

Podstawowy system wejścia i wyjścia, czyli BIOS, zapewniał funkcje najniższego poziomu wymagane przez system operacyjny.

Obejmowały one odczyt lub zapis pojedynczych znaków w konsoli systemowej oraz odczyt lub zapis sektora danych z dysku. BDOS obsługiwał część buforowania danych z dyskietki, ale przed CP / M 3.0 zakładał rozmiar sektora dysku ustalony na 128 bajtów, tak jak na dyskietkach o pojedynczej gęstości 8-calowych. Ponieważ większość formatów dysków 5,25-calowych wykorzystywała większe sektory, blokowanie i odblokowywanie oraz zarządzanie obszarem bufora dysku było obsługiwane przez kod specyficzny dla modelu w systemie BIOS.

Dostosowanie było wymagane, ponieważ wybór sprzętu nie był ograniczony przez zgodność z żadnym popularnym standardem. Na przykład niektórzy producenci używali oddzielnego terminala komputerowego, podczas gdy inni zaprojektowali wbudowany zintegrowany system wyświetlania wideo. Porty szeregowe dla drukarek i modemów mogły używać różnych typów układów UART , a adresy portów nie zostały naprawione. Niektóre maszyny wykorzystywały we / wy mapowane w pamięci zamiast przestrzeni adresowej we / wy 8080. Wszystkie te różnice w sprzęcie były ukryte przed innymi modułami systemu za pomocą systemu BIOS, który wykorzystywał standardowe punkty wejścia dla usług wymaganych do uruchomienia CP / M, takich jak we / wy znakowe lub dostęp do bloku dyskowego. Ponieważ obsługa komunikacji szeregowej z modemem była bardzo prymitywna w BIOS-ie lub mogła być w ogóle nieobecna, powszechną praktyką w programach CP / M używających modemów była nakładka instalowana przez użytkownika zawierająca cały kod wymagany do uzyskania dostępu do określonego komputera. Port szeregowy.

System plików

Nazwy plików zostały określone jako ciąg do ośmiu znaków, po których następowała kropka, po której następowało rozszerzenie nazwy pliku do maksymalnie trzech znaków ( format nazwy pliku „8.3” ). Rozszerzenie zwykle określało typ pliku. Na przykład .COM wskazano wykonywalny plik programu i .TXT wskazano plik zawierający tekst ASCII .

Każdy dysk był identyfikowany za pomocą litery dysku , na przykład dysk A i dysk B . Aby odwołać się do pliku na określonym dysku, przed nazwą pliku została dodana litera dysku, oddzielona dwukropkiem, np A:FILE.TXT . Bez prefiksu litery dysku dostęp był możliwy do plików na bieżącym dysku domyślnym.

Format nazwy pliku „8.3” i kombinacja litery dysku + dwukropek przetrwały do ​​systemu MS-DOS. Konwencja litery dysku + dwukropek przetrwała w systemie Microsoft Windows i jest nadal używana. Ponadto rozszerzenia plików (na przykład .txt , .com (a skompilowany plik) lub .exe (an wykonywalny plik)) są nadal używane do identyfikacji typów plików na wielu systemach operacyjnych.

Rozmiar pliku określono jako liczbę 128-bajtowych rekordów (bezpośrednio odpowiadających sektorom dysku na dyskach 8-calowych) zajmowanych przez plik na dysku. Nie było ogólnie obsługiwanego sposobu określania rozmiarów plików z dokładnością do bajtów. Bieżący rozmiar pliku był utrzymywany w bloku kontroli plików (FCB) przez system operacyjny. Ponieważ wiele programów użytkowych (takich jak edytory tekstu ) woli traktować pliki jako sekwencje znaków, a nie jako sekwencje rekordów, zgodnie z konwencją pliki tekstowe były zakończone znakiem sterującym-Z ( ASCII SUB , szesnastkowo 1A). Ustalenie końca o pliku tekstowego zatem zaangażowany bada ostatni rekord z pliku do zlokalizowania kończącego Control-Z. Oznaczało to również, że wstawienie znaku control-Z w środku pliku zwykle powodowało obcięcie zawartości tekstowej pliku.

Wraz z pojawieniem się większych, wymiennych i stałych dysków, zastosowano formuły odblokowywania dysków, co zaowocowało większą liczbą bloków dysku na logiczny blok alokacji plików. Chociaż pozwalało to na większe rozmiary plików, oznaczało to również, że rozmiar najmniejszego pliku, który można przydzielić, zwiększył się z 1  KB (na dyskach o pojedynczej gęstości) do 2 KB (na dyskach o podwójnej gęstości) itd., Aż do 32 KB dla pliku zawierającego tylko jeden bajt. Spowodowało to nieefektywne wykorzystanie miejsca na dysku, jeśli dysk zawierał dużą liczbę małych plików.

Znaczniki czasu modyfikacji plików nie były obsługiwane w wersjach do CP / M 2.2, ale były opcjonalną funkcją w MP / M i CP / M 3.0.

CP / M 2.2 nie miał podkatalogów w strukturze plików, ale zapewniał 16 ponumerowanych obszarów użytkownika do organizowania plików na dysku. Aby zmienić użytkownika, należało po prostu wpisać „Użytkownik X” w wierszu poleceń, gdzie X to numer żądanego użytkownika; bezpieczeństwo nie istniało i uważano, że nie jest konieczne. Koncepcja obszaru użytkownika polegała na tym, aby wersja CP / M dla jednego użytkownika była w pewnym stopniu kompatybilna z systemami MP / M dla wielu użytkowników. Wspólną poprawką dla CP / M i pochodnych systemów operacyjnych było udostępnienie użytkownikowi jednego obszaru użytkownika niezależnego od aktualnie ustawionego obszaru użytkownika. Polecenie USER pozwalało na zmianę obszaru użytkownika na dowolny obszar od 0 do 15. Domyślnym ustawieniem był użytkownik 0. W przypadku zmiany na innego użytkownika, na przykład UŻYTKOWNIKA 1, materiał zapisany na dysku dla tego użytkownika byłby dostępny tylko dla UŻYTKOWNIKA 1; UŻYTKOWNIK 2 nie będzie mógł go zobaczyć ani uzyskać do niego dostępu. Jednak pliki przechowywane w obszarze USER 0 były dostępne dla wszystkich innych użytkowników; ich położenie zostało określone za pomocą wstępnej ścieżki , ponieważ pliki USER 0 były widoczne tylko dla kogoś zalogowanego jako USER 0. Funkcja obszaru użytkownika prawdopodobnie miała niewielkie narzędzie na małych dyskietkach, ale była przydatna do organizowania plików na komputerach z twardym dyski . Celem tej funkcji było ułatwienie korzystania z tego samego komputera do różnych zadań. Na przykład, sekretarka może wprowadzać dane , a następnie po zmianie obszaru USER inny pracownik mógłby użyć maszyny do rozliczenia bez mieszania się plików.

Przejściowy obszar programu

Pamięć do odczytu / zapisu między adresem szesnastkowym 0100 a najniższym adresem BDOS to Transient Program Area (TPA) dostępny dla programów użytkowych CP / M. Chociaż wszystkie procesory Z80 i 8080 mogą zajmować 64 kilobajty pamięci, ilość dostępna dla aplikacji może się różnić w zależności od projektu konkretnego komputera. Niektóre komputery wykorzystywały duże części przestrzeni adresowej na potrzeby pamięci ROM systemu BIOS lub pamięci wyświetlania wideo. W rezultacie niektóre systemy miały dostępną więcej pamięci TPA niż inne. Przełączanie banków było powszechną techniką, która umożliwiała systemom uzyskanie dużego TPA przy jednoczesnym wyłączaniu pamięci ROM lub pamięci wideo w zależności od potrzeb. CP / M 3.0 umożliwił również umieszczenie części BDOS w pamięci z przełączaniem banków.

Aplikacja do debugowania

CP / M zawierało narzędzie do dynamicznego debugowania, nazwane DDT (od środka owadobójczego, tj. Zabijacza błędów ), które umożliwia badanie i manipulowanie modułami pamięci i programu oraz wykonywanie programu krok po kroku.

Programy dla mieszkańców

CP / M pierwotnie nie obsługiwał odpowiednika programów typu terminate and stay resident (TSR), jak w systemie DOS. Programiści mogli pisać oprogramowanie, które mogłoby przechwytywać określone wywołania systemu operacyjnego i rozszerzać lub zmieniać ich funkcjonalność. Korzystanie z tej możliwości, programiści opracowane i sprzedawane pomocniczych akcesoriów biurko programy, takie jak SmartKey , mechanizm klawiatury przypisać dowolny ciąg bajtów do dowolnego klawisza. CP / M 3 dodał jednak obsługę dynamicznie ładowanych rozszerzeń systemu rezydentnego (RSX). Podobne rozwiązania, takie jak RSM (dla modułów systemu rezydentnego ), zostały również doposażone w systemy CP / M 2.2 przez inne firmy.

Instalacja

Chociaż CP / M dostarczył pewnej abstrakcji sprzętowej w celu ujednolicenia interfejsu do dyskowych we / wy lub konsoli we / wy, zazwyczaj programy aplikacji nadal wymagały instalacji, aby wykorzystać wszystkie funkcje takiego sprzętu, jak drukarki i terminale. Często były one kontrolowane przez sekwencje ucieczki, które musiały zostać zmienione dla różnych urządzeń. Na przykład sekwencja ucieczki, aby wybrać pogrubioną twarz na drukarce, różniłaby się między producentami, a czasami między modelami w asortymencie producenta. Ta procedura nie została zdefiniowana przez system operacyjny; użytkownik zwykle uruchamiałby program instalacyjny, który umożliwiałby wybór z szeregu urządzeń lub też pozwalałby na edycję funkcji po funkcji sekwencji ucieczki wymaganych do uzyskania dostępu do funkcji. Musiało to zostać powtórzone dla każdego programu użytkowego, ponieważ nie było zapewnionej centralnej usługi systemu operacyjnego dla tych urządzeń.

Kody inicjalizacyjne dla każdego modelu drukarki musiały zostać zapisane w aplikacji. Aby korzystać z programu takiego jak Wordstar z więcej niż jedną drukarką (powiedzmy, szybka drukarka igłowa lub wolniejsza, ale prezentacyjna drukarka daisy wheel ), należało przygotować osobną wersję Wordstar i załadować wersję Wordstar odpowiadające wybranej drukarce (wyjście i ponowne załadowanie w celu zmiany drukarek).

Historia

Reklama CP / M w numerze magazynu InfoWorld z 29 listopada 1982 roku

Początek i rozkwit CP / M

Gary Kildall pierwotnie opracował CP / M w 1974 roku, jako system operacyjny działający na systemie rozwoju Intel Intellec-8 , wyposażonym w 8-calową stację dyskietek Shugart Associates połączoną z niestandardowym kontrolerem dyskietek . Został napisany we własnym języku PL / M firmy Kildall ( język programowania mikrokomputerów ). Na różne aspekty CP / M wpłynął system operacyjny TOPS-10 komputera mainframe DECsystem-10 , którego Kildall używał jako środowisko programistyczne.

Imię

CP / M pierwotnie oznaczało „Control Program / Monitor”, nazwę, która sugeruje monitor rezydentny - prymitywny prekursor systemu operacyjnego. Jednak podczas konwersji CP / M do produktu komercyjnego dokumenty rejestracyjne znaku towarowego złożone w listopadzie 1977 r. Nadały produktowi nazwę „Program sterujący dla mikrokomputerów”. Nazwa CP / M jest zgodna z dominującym wówczas schematem nazewnictwa, jak w języku PL / M Kildalla i PL / P ( język programowania dla Prime ) firmy Prime Computer , co sugeruje PL / I IBM ; oraz system operacyjny IBM CP / CMS , z którego Kildall korzystał podczas pracy w Naval Postgraduate School (NPS).

Ta zmiana nazwy CP / M była częścią większego wysiłku Kildalla i jego żony / partnera biznesowego, Dorothy McEwen, mającego na celu przekształcenie osobistego projektu Kildalla CP / M i kompilatora PL / M podpisanego przez firmę Intel w komercyjne przedsiębiorstwo. Celem Kildalls było ustanowienie marki Digital Research i jej linii produktów jako synonimu „mikrokomputera” w umyśle konsumenta, podobnie do tego, co IBM i Microsoft wspólnie osiągnęli później, czyniąc „komputer osobisty” synonimem ich oferty produktowej.

Firma Intergalactic Digital Research, Inc. została później przemianowana poprzez złożenie przez korporację zgłoszenia zmiany nazwy na Digital Research, Inc.

Ruchliwość

We wrześniu 1981 roku Digital Research sprzedał więcej niż 250 000 licencji CP / M; InfoWorld stwierdził, że rzeczywisty rynek był prawdopodobnie większy z powodu sublicencji. Wiele różnych firm produkowało komputery oparte na CP / M dla wielu różnych rynków; magazyn stwierdził, że „CP / M jest na dobrej drodze do ustanowienia siebie jako na system operacyjny małej komputerowego”. Firmy zdecydowały się na obsługę CP / M ze względu na dużą bibliotekę oprogramowania. Xerox 820 uruchomiono system operacyjny, ponieważ „gdzie istnieją dosłownie tysiące programów napisanych dla niego, byłoby nierozsądne, aby nie skorzystać z niego”, powiedział Xerox. (Xerox załączył podręcznik Howarda W. Samsa CP / M jako rekompensatę za dokumentację Digital Research, którą InfoWorld w 1982 określił jako okropną.) W 1984 Columbia University użył tego samego kodu źródłowego do zbudowania binariów Kermita dla ponad tuzina różnych CP / M systemy, a także wersję ogólną. System operacyjny został opisany jako „ magistrala oprogramowania ”, umożliwiająca wielu programom interakcję z różnymi urządzeniami w ustandaryzowany sposób. Programy napisane dla CP / M były zazwyczaj przenośne między różnymi maszynami, zwykle wymagając jedynie specyfikacji sekwencji ucieczki do sterowania ekranem i drukarką. Ta przenośność sprawiła, że ​​CP / M stał się popularny i znacznie więcej oprogramowania zostało napisanych dla CP / M niż dla systemów operacyjnych, które działały na sprzęcie jednej marki. Jednym z ograniczeń przenośności było to, że niektóre programy korzystały z rozszerzonego zestawu instrukcji procesora Z80 i nie działały na procesorze 8080 lub 8085. Innym były procedury graficzne, zwłaszcza w grach i programach graficznych, które były generalnie specyficzne dla maszyny, ponieważ korzystały z bezpośredniego dostępu do sprzętu w celu uzyskania szybkości, omijając system operacyjny i BIOS (był to również częsty problem we wczesnych maszynach DOS).

Karta Apple
CP / M z instrukcją

Bill Gates twierdził, że rodzina Apple II z kartą Z-80 SoftCard była najpopularniejszą platformą sprzętową CP / M. Wiele różnych marek maszyn uruchomiono system operacyjny, niektóre godne uwagi przykłady bycia Altair 8800 The IMSAI 8080 , The Osborne 1 i Kaypro luggables i MSX komputery. Najlepiej sprzedającym się systemem wszechczasów obsługującym CP / M był prawdopodobnie Amstrad PCW . W Wielkiej Brytanii CP / M był również dostępny na komputerach edukacyjnych Research Machines (z kodem źródłowym CP / M opublikowanym jako zasób edukacyjny) oraz dla BBC Micro, gdy był wyposażony w koprocesor Z80. Ponadto był dostępny dla serii Amstrad CPC , Commodore 128 , TRS-80 i późniejszych modeli ZX Spectrum . CP / M 3 był również używany na NIAT, niestandardowym podręczny komputer przeznaczony dla AC Nielsen użytku wewnętrznego „sz 1  MB z SSD pamięci.

Aplikacje

Dystrybucja 5 dyskietek 1/4 cala i opakowanie ostatniej wersji (wersja 4) edytora tekstu WordStar wydanego dla 8-bitowego CP / M.

WordStar , jeden z pierwszych powszechnie używanych edytorów tekstu oraz dBase , wczesny i popularny program bazodanowy dla mikrokomputerów, zostały pierwotnie napisane dla CP / M. Dwa wczesne outliners , Kamas (wiedza i umysł Amplification System) i jego następcy cut-down Out przemyślenia (bez obiektów za programowanie i retooled 8080 / kompatybilność V20) były także napisane dla CP / M, choć później przepisany dla MS-DOS. Turbo Pascal , przodek Borland Delphi , i Multiplan , przodek Microsoft Excel , również zadebiutowały na CP / M, zanim wersje MS-DOS stały się dostępne. Visicalc , pierwszy w historii program do obsługi arkuszy kalkulacyjnych, został udostępniony dla CP / M. Inna firma, Sorcim , stworzyła swój arkusz kalkulacyjny SuperCalc dla CP / M, który stał się liderem rynku i de facto standardem w CP / M. Supercalc stałby się konkurentem na rynku arkuszy kalkulacyjnych w świecie MS-DOS. AutoCAD , aplikacja CAD firmy Autodesk, zadebiutowała na CP / M. Gospodarzem kompilatorów i tłumaczy dla popularnych języków programowania na czas (jak BASIC , Borland „s Turbo Pascal , FORTRAN , a nawet PL / I ) były dostępne, a wśród nich kilka z najwcześniejszych Microsoft produktów.

Oprogramowanie CP / M często było dostarczane z instalatorami, które dostosowywały je do wielu różnych komputerów. Kod źródłowy programów w języku BASIC był łatwo dostępny, a większość form ochrony przed kopiowaniem była nieskuteczna w systemie operacyjnym. Na przykład właściciel Kaypro II pobierałby oprogramowanie w formacie Xerox 820, a następnie kopiował je i uruchamiał z dysków w formacie Kaypro.

Brak standaryzowanych grafiki wspierać ograniczone gier wideo , ale różny charakter i gry oparte na tekście zostały przeniesione , jak Telengard , Goryle , Hamurabi , Lunar Lander , wraz z wczesnym interaktywnej fikcji tym ZORK serii i Colossal Cave Adventure . Przygoda tekst specjalista, Infocom był jednym z niewielu wydawców konsekwentnie uwalniają swoje mecze w CP / M formacie. Firma Lifeboat Associates rozpoczęła zbieranie i dystrybucję „bezpłatnego” oprogramowania napisanego przez użytkowników. Jednym z pierwszych był XMODEM , który umożliwiał niezawodne przesyłanie plików przez modem i linię telefoniczną. Innym rodzimym programem CP / M był procesor konturów KAMAS .

Formaty dysków

System / 34 and IBM 3740 „s pojedynczej gęstości, format jednostronny jest CP / średnia 8-calowy M Format dyskietki . Nie istnieje żaden standardowy 5,25-calowy format dysku CP / M, a Kaypro, Morrow Designs , Osborne i inni używają ich własnych. InfoWorld oszacował we wrześniu 1981 r., Że „około dwóch tuzinów formatów było na tyle popularnych, że twórcy oprogramowania musieli wziąć je pod uwagę, aby dotrzeć do jak najszerszego rynku”. Na przykład JRT Pascal dostarczył wersje na 5,25-calowym dysku dla dysków twardych i miękkich firm North Star , Osborne, Apple, Heath oraz Superbrain , a także jedną wersję 8-calową. Ellis Computing oferowała również swoje oprogramowanie dla obu formatów Heath i 16 innych 5,25-calowych formatów, w tym dwie różne modyfikacje TRS-80 CP / M.

Niektóre formaty dysków były bardziej popularne niż inne. Większość oprogramowania była dostępna w formacie Xerox 820, a inne komputery, takie jak Kaypro II, były z nim zgodne. Żaden pojedynczy producent nie dominował jednak w erze 5,25-calowego użycia CP / M, a formaty dysków często nie były przenoszone między producentami sprzętu. Producent oprogramowania musiał przygotować osobną wersję programu dla każdej marki sprzętu, na którym miał on działać. W przypadku niektórych producentów (przykładem jest Kaypro), nie było nawet standaryzacji w różnych modelach firmy. Z powodu tej sytuacji popularne stały się programy do tłumaczenia formatów dysków, które pozwalały maszynie odczytywać wiele różnych formatów, i zmniejszyły zamieszanie, podobnie jak programy takie jak Kermit, które umożliwiały przesyłanie danych i programów z jednej maszyny na drugą za pomocą portów szeregowych, które najbardziej Maszyny CP / M miały.

Zastosowano różne formaty w zależności od charakterystyki poszczególnych systemów i do pewnego stopnia wyborów projektantów. Opcje obsługiwane przez CP / M do kontrolowania rozmiaru zarezerwowanych i obszarów katalogowych na dysku oraz mapowania między sektorami logicznymi dysku (jak widać w programach CP / M) i sektorami fizycznymi przydzielonymi na dysku. Było wiele sposobów dostosowywania tych parametrów dla każdego systemu, ale po ich ustawieniu nie istniał żaden standardowy sposób, aby system mógł ładować parametry z dysku sformatowanego w innym systemie.

Stopień przenośności między różnymi maszynami CP / M zależał od typu używanego napędu dyskowego i kontrolera, ponieważ w erze CP / M istniało wiele różnych typów dyskietek, zarówno w formacie 8-calowym, jak i 5,25-calowym. Dyski mogą być twarde lub miękkie, o pojedynczej lub podwójnej gęstości, jednostronne lub dwustronne, 35-ścieżkowe, 40-ścieżkowe, 77-ścieżkowe lub 80-ścieżkowe, a także układ sektora, rozmiar i przeplot mogą się znacznie różnić. Chociaż programy do tłumaczenia umożliwiały użytkownikowi odczytywanie typów dysków z różnych maszyn, zależało to również od typu napędu i kontrolera. Do 1982 roku, dyski typu soft sektor, jednostronne, 40-ścieżkowe, 5,25-calowe dyski stały się najpopularniejszym formatem dystrybucji oprogramowania CP / M, ponieważ były używane przez najpopularniejsze komputery konsumenckie tamtych czasów, takie jak Apple II, TRS -80, Osborne 1, Kaypro II i IBM PC. Program do tłumaczenia umożliwiał użytkownikowi odczytanie dowolnych dysków na jego komputerze, które miały podobny format - na przykład Kaypro II mógł czytać dyski TRS-80 , Osborne , IBM PC i Epson . Inne typy dysków, takie jak 80 ścieżek lub twarde sektory, były całkowicie niemożliwe do odczytania. Pierwsza połowa dwustronnych dysków (takich jak Epson QX-10) może być odczytana, ponieważ CP / M uzyskuje dostęp do ścieżek dysku sekwencyjnie, przy czym ścieżka 0 jest pierwszą (najbardziej zewnętrzną) ścieżką strony 1, a ścieżka 79 (na dysku 40 ścieżkowym) jest ostatni (najbardziej wewnętrzny) utwór strony 2. Użytkownicy Apple II nie mogli używać niczego poza formatem GCR firmy Apple, więc musieli pobrać oprogramowanie CP / M na dyski w formacie Apple lub przesłać je przez łącze szeregowe.

Rozdrobniony rynek CP / M, wymagający od dystrybutorów przechowywania wielu formatów dysków lub inwestowania w wieloformatowy sprzęt do powielania, w porównaniu z bardziej znormalizowanymi formatami dysków IBM PC , był czynnikiem przyczyniającym się do szybkiego starzenia się CP / M po 1981 roku.

Jedną z ostatnich godnych uwagi maszyn obsługujących CP / M, które się pojawiły, był Commodore 128 w 1985 roku, który miał Z80 dla obsługi CP / M oprócz trybu natywnego z wykorzystaniem procesora pochodnego 6502. Korzystanie z CP / M wymagało dysku 1571 lub 1581, który może odczytywać dyski w formacie MFM z 40 ścieżkami sektora miękkiego .

Pierwszy komputer, w którym zastosowano 3,5-calową stację dyskietek, Sony SMC-70 , miał CP / M 2.2. Commodore 128 , Bondwell-2 laptop Micromint / Ciarcia SB-180, MSX i TRS-80 Wzór 4 (z systemem Montezuma CP / M, 2.2) współpracuje również zastosowanie CP / m dyskietek 3,5-calowych. Amstrad PCW prowadził CP / M za pomocą stacji dyskietek 3 cale na początku, a później włączony do dysków 3,5-calowych.

Grafika

Wyjście tekstowe
MBASIC wyświetlane na typowym dla tego czasu monochromatycznym monitorze.

Chociaż systemy S-100 obsługujące grafikę istniały od komercjalizacji magistrali S-100 , CP / M nie zapewniało żadnej znormalizowanej obsługi grafiki aż do 1982 roku z GSX (Graphics System Extension). Dzięki małej dostępnej pamięci grafika nigdy nie była powszechną cechą związaną z 8-bitowymi systemami operacyjnymi CP / M. Większość systemów mogła wyświetlać tylko podstawowe wykresy i diagramy ASCII w trybie tekstowym lub przy użyciu niestandardowego zestawu znaków . Niektóre komputery z linii Kaypro i TRS-80 Model 4 były wyposażone w sprzęt wideo obsługujący blokowe znaki graficzne i były one dostępne dla programistów asemblera i programistów BASIC za pomocą polecenia CHR $. Model 4 może wyświetlać grafikę 640 na 240 pikseli z opcjonalną płytą o wysokiej rozdzielczości.

Wielu użytkowników

W 1979 roku została wypuszczona pochodna CP / M kompatybilna z wieloma użytkownikami. MP / M umożliwiło wielu użytkownikom podłączenie się do jednego komputera przy użyciu wielu terminali, aby zapewnić każdemu użytkownikowi ekran i klawiaturę. Późniejsze wersje działały na 16-bitowych procesorach.

CP / M Plus

Przewodnik po systemie CP / M Plus (CP / M 3)

Ostatnią 8-bitową wersją CP / M była wersja 3, często nazywana CP / M Plus, wydana w 1983 roku. Zawierała ona zarządzanie pamięcią przełączania banków MP / M w jednozadaniowym systemie operacyjnym dla jednego użytkownika, kompatybilnym z CP / Aplikacje M 2.2. CP / M 3 może zatem używać więcej niż 64 KB pamięci w procesorze 8080 lub Z80. System można skonfigurować do obsługi znakowania datami plików. Oprogramowanie do dystrybucji systemu operacyjnego zawierało również przemieszczający się asembler i konsolidator. CP / M 3 był dostępny dla ostatniej generacji komputerów 8-bitowych, w szczególności Amstrad PCW , Amstrad CPC , ZX Spectrum +3 , Commodore 128 , MSX i Radio Shack TRS-80 Model 4 .

16-bitowy świat

Dystrybucja dyskietek DEC PRO-CP / M-80 dla koprocesora Z80-A w serii DEC Professional 3xx.

Były też wersje CP / M dla niektórych 16-bitowych procesorów.

Pierwszą wersją z rodziny 16-bitowej był CP / M-86 dla Intel 8086 w listopadzie 1981. W tym momencie oryginalny 8-bitowy CP / M stał się znany przez retronim CP / M-80, aby uniknąć nieporozumień.

CP / M-86 miał być standardowym systemem operacyjnym nowych komputerów IBM PC , ale DRI i IBM nie były w stanie negocjować warunków rozwoju i licencjonowania. Zamiast tego IBM zwrócił się do Microsoftu, a Microsoft dostarczył PC DOS oparty na 86-DOS . Chociaż CP / M-86 stał się opcją dla IBM PC po tym, jak DRI zagroziło podjęciem kroków prawnych, nigdy nie wyprzedził systemu Microsoftu. Większość klientów odstraszyła znacznie wyższa cena, jaką IBM pobierał za CP / M-86 w porównaniu z PC DOS ( odpowiednio 240 USD i 40 USD).

Kiedy Digital Equipment Corporation (DEC) wypuściło Rainbow 100, aby konkurować z IBM, przyszedł z CP / M-80 z układem Z80, CP / M-86 lub MS-DOS z mikroprocesorem 8088 lub CP / M-86 / 80 przy użyciu obu. Procesory Z80 i 8088 działały równolegle. Zaletą Rainbow było to, że mógł on nadal obsługiwać 8-bitowe oprogramowanie CP / M, zachowując możliwie duże inwestycje użytkownika, gdy przenosili się do 16-bitowego świata MS-DOS. Podobna adaptacja dwuprocesorowa dla CompuPro System 816  [ sr ] została nazwana CP / M 8-16 . Adaptacja CP / M-86 dla Zenith Z-100 opartego na 8085/8088 obsługiwała również programy uruchomione na obu procesorach.

Wkrótce po CP / M-86 kolejną 16-bitową wersją CP / M był CP / M-68K dla Motoroli 68000 . Oryginalna wersja CP / M-68K z 1982 roku została napisana w Pascal / MT + 68k , ale została później przeniesiona na C. CP / M-68K, działający już w systemach Motorola EXORmacs , miał być początkowo używany w komputerze Atari ST , ale Atari zdecydowało się na nowszy dyskowy system operacyjny o nazwie GEMDOS . CP / M-68K był również używany w komputerach SORD M68 i M68MX.

W 1982 roku istniał również port z CP / M-68K do 16-bitowego Ziloga Z8000 dla Olivetti M20 , napisany w C , o nazwie CP / M-8000 .

Te 16-bitowe wersje CP / M wymagały ponownej kompilacji programów użytkowych dla nowych procesorów lub, jeśli były napisane w języku asemblera , przetłumaczenia za pomocą narzędzi takich jak XLT86 firmy Digital Research , program napisany przez Gary'ego Kildalla w 1981 roku, który przetłumaczył kod źródłowy .ASM dla procesora Intel 8080 na kod źródłowy .A86 dla procesora Intel 8086. Korzystając z analizy globalnego przepływu danych dla wykorzystania rejestrów 8080, translator zoptymalizowałby również wyjście pod kątem rozmiaru kodu i zadbał o konwencje wywoływania, tak aby CP Programy / M-80 i MP / M-80 mogą być automatycznie przenoszone na platformy CP / M-86 i MP / M-86 . Sam XLT86 został napisany w PL / I-80 i był dostępny dla platform CP / M-80, a także dla DEC VMS (dla VAX 11/750 lub 11/780 ).

MS-DOS przejmuje kontrolę

Wielu spodziewało się, że CP / M będzie standardowym systemem operacyjnym dla komputerów 16-bitowych. W 1980 roku IBM zwrócił się do Digital Research, zgodnie z sugestią Billa Gatesa , aby uzyskać licencję na przyszłą wersję CP / M dla swojego nowego produktu, IBM Personal Computer . W przypadku niepowodzenia w uzyskaniu podpisanej umowy o zachowaniu poufności rozmowy zakończyły się niepowodzeniem, a IBM zlecił firmie Microsoft dostarczenie systemu operacyjnego. Powstały produkt, MS-DOS , wkrótce zaczął sprzedawać więcej niż CP / M.

Wiele podstawowych koncepcji i mechanizmów wczesnych wersji MS-DOS przypominało te z CP / M. Jak wewnętrzne struktury danych obsługi plików były identyczne i obie mowa dysków z listem ( A: , B: , itd.). Główną innowacją MS-DOS był system plików FAT . To podobieństwo ułatwiło przenoszenie popularnego oprogramowania CP / M, takiego jak WordStar i dBase . Jednak koncepcja CP / M oddzielnych obszarów użytkownika dla plików na tym samym dysku nigdy nie została przeniesiona do MS-DOS. Ponieważ MS-DOS miał dostęp do większej ilości pamięci (ponieważ niewiele komputerów IBM było sprzedawanych z mniej niż 64 KB pamięci, podczas gdy CP / M mógł działać w 16 KB w razie potrzeby), więcej poleceń zostało wbudowanych w powłokę wiersza poleceń , dzięki czemu MS -DOS nieco szybszy i łatwiejszy w użyciu na komputerach z dyskietkami.

Chociaż jednym z pierwszych urządzeń peryferyjnych dla IBM PC była karta rozszerzeń podobna do SoftCard, która pozwalała na uruchomienie 8-bitowego oprogramowania CP / M, CP / M szybko stracił udział w rynku, gdy rynek mikrokomputerów przeniósł się na platformę kompatybilną z IBM i to nigdy nie odzyskał swojej dawnej popularności. Magazyn Byte , w tamtym czasie jeden z wiodących magazynów branżowych poświęconych mikrokomputerom, zasadniczo przestał publikować produkty CP / M w ciągu kilku lat od wprowadzenia IBM PC. Na przykład w 1983 r. Wciąż było kilka reklam płyt S-100 i artykułów na temat oprogramowania CP / M, ale do 1987 r. Nie było ich już w magazynie. W artykule z 1984 r. W InfoWorld stwierdzono, że próby wprowadzenia CP / M na rynek krajowy były w dużej mierze nieudane, a większość oprogramowania CP / M była zbyt droga dla użytkowników domowych, aw 1986 r. Stwierdzono, że Kaypro zaprzestało produkcji 8-bitowego CP / Modele oparte na M, aby skoncentrować się na sprzedaży systemów kompatybilnych z MS-DOS, długo po tym, jak większość innych dostawców zaprzestała produkcji nowego sprzętu i oprogramowania dla CP / M.

Późniejsze wersje CP / M-86 poczyniły znaczące postępy w wydajności i użyteczności i zostały dostosowane do MS-DOS. Aby odzwierciedlić tę kompatybilność, zmieniono nazwę i CP / M-86 stał się DOS Plus , który z kolei stał się DR-DOS .

ZCPR

ZCPR (Z80 Command Processor Replacement) został wprowadzony 2 lutego 1982 roku jako bezpośredni zamiennik standardowego procesora poleceń konsoli Digital Research (CCP) i został początkowo napisany przez grupę hobbystów komputerowych, którzy nazywali siebie „Grupą CCP”. Byli to Frank Wancho, Keith Petersen (ówczesny archiwista Simtel ), Ron Fowler, Charlie Strom, Bob Mathias i Richard Conn. Richard był w rzeczywistości siłą napędową tej grupy (wszyscy utrzymywali kontakt za pośrednictwem poczty elektronicznej ).

ZCPR1 został wydany na dysku wydanym przez SIG / M (Special Interest Group / Microcomputers), część Amateur Computer Club of New Jersey .

ZCPR2 został wydany 14 lutego 1983 roku. Został wydany jako zestaw dziesięciu dysków firmy SIG / M. ZCPR2 został zaktualizowany do wersji 2.3, a także został wydany w kodzie 8080, umożliwiając użycie ZCPR2 w systemach 8080 i 8085.

ZCPR3 został wydany 14 lipca 1984 roku jako zestaw dziewięciu dysków firmy SIG / M. Kod dla ZCPR3 można również skompilować (z ograniczonymi funkcjami) dla 8080 i działałby w systemach, które nie miały wymaganego mikroprocesora Z80 .

W styczniu 1987 roku Richard Conn przestał rozwijać ZCPR, a Echelon poprosił Jaya Sage'a (który miał już prywatnie ulepszony ZCPR 3.1), aby kontynuował pracę nad nim. W ten sposób opracowano i wydano ZCPR 3.3. ZCPR 3.3 nie obsługiwał już serii mikroprocesorów 8080 i dodał większość funkcji ze wszystkich aktualizacji w linii ZCPR.

Funkcje ZCPR od wersji 3 obejmują:

  • muszle
  • skróty
  • Przekierowanie we / wy
  • Kontrola przepływu
  • nazwane katalogi
  • ścieżki wyszukiwania
  • menu niestandardowe
  • Hasła
  • pomoc online

ZCPR3.3 zawierał również pełen zestaw narzędzi o znacznie rozszerzonych możliwościach. Chociaż był entuzjastycznie wspierany przez ówczesną bazę użytkowników CP / M, sam ZCPR był niewystarczający, aby spowolnić upadek CP / M.

Pochodne CP / M z bloku wschodniego

CP / M wyprowadza SCP działający na wschodnioniemieckim robotronie PC 1715
Wersja CP / J 2.21 działająca na Elwro 804 Junior

Szereg pochodnych CP / M-80 istniało w byłym bloku wschodnim pod różnymi nazwami, w tym SCP ( Single User Control Program  [ de ] ), SCP / M, CP / A, CP / KC, CP / L, CP / KSOB , CP / Z, MICRODOS, BCU880, ZOAZ, OS / M, TOS / M, ZSDOS, M / OS, COS-PSA, DOS-PSA, CSOC, CSOS, CZ-CPM i inne. Były też pochodne CP / M-86 o nazwach SCP1700 , CP / K i K8918-OS . Zostały wyprodukowane przez wschodnioniemiecki VEB Robotron i inne.

Dziedzictwo

Szereg zachowań wykazywanych przez Microsoft Windows jest wynikiem wstecznej kompatybilności z MS-DOS, co z kolei próbowało pewnej wstecznej kompatybilności z CP / M. Literę dysku i 8.3 Plik konwencje w MS-DOS (i wcześniejszych wersjach Windows) zostały pierwotnie przyjęte z CP / M. W wieloznacznych znaków pasujących używane przez system Windows (? I *) są oparte na tych z CP / M, jak są zarezerwowane nazwy plików używane do przekierowania wyjścia do drukarki ( „PRN”) oraz konsola ( „CON:”). Nazwy napędów A i B zostały użyte do oznaczenia dwóch stacji dyskietek, z których zwykle korzystały systemy CP / M; kiedy pojawiły się dyski twarde, oznaczono je jako C, które przetrwały do ​​MS-DOS jako C:\> wiersz poleceń. Znak kontrolny ^ Z oznaczający koniec niektórych plików tekstowych można również przypisać CP / M. Różne polecenia w DOS były wzorowane na poleceniach CP / M, niektóre z nich nosiły nawet taką samą nazwę jak DIR, REN / RENAME lub TYPE (i ERA / ERASE w DR-DOS).

Wersje kodu źródłowego

W 1997 i 1998 Caldera wydany jakiś CP / M 2.2 binarne i kod źródłowy pod licencją open source , umożliwiając także redystrybucji i modyfikacji dodatkowo zebranych Digital Research pliki związane z CP / M i MP / M rodzin poprzez Tim Olmstead „The Unofficial Witryna internetowa CP / M ”od 1997 r. Po śmierci Olmsteada 12 września 2001 r. Licencja na dystrybucję została odświeżona i rozszerzona przez Lineo , który w międzyczasie stał się właścicielem tych aktywów Digital Research, w dniu 19 października 2001 r. W październiku 2014 r. Oznaczono 40. rocznica pierwszej prezentacji CP / M, Muzeum Historii Komputerów wydało wczesne wersje kodu źródłowego CP / M.

Komputery hobbystyczne i "retro"

Od 2018 r. Istnieje wiele aktywnych osób i grup komputerów vintage, hobbystów i komputerów retro , a także kilka małych firm komercyjnych, które nadal rozwijają i wspierają platformy komputerowe, które używają CP / M (głównie 2.2) jako systemu operacyjnego hosta.

Zobacz też

Bibliografia

Dalsza lektura

Linki zewnętrzne