r   e   k   l   a   m   a
r   e   k   l   a   m   a

W Sieci pojawił się kod źródłowy jednego z najważniejszych systemów operacyjnych w historii

Strona główna AktualnościOPROGRAMOWANIE

Źle by było, gdybyśmy w tej całej wrzawie towarzyszącej wydaniu Windows 10 Technical Preview przeoczyli tę sprawę, tak ważną dla wszystkich zainteresowanych architekturą oprogramowania. Do Sieci wyciekł kod jednego z najważniejszych w historii systemów operacyjnych. OK, może nie wyciekł, ale został oficjalnie udostępniony przez Muzeum Historii Komputerów z Kalifornii, ale i tak jest się z czego cieszyć. Panie i panowie, przypomnijmy sobie CP/M.

To naprawdę komputerowa archeologia. 40 lat temu Gary Kildal przedstawił światu system operacyjny CP/M (Control Program/Monitor, a później Control Program for Microcomputers), działający na czymś, co nie było wielką maszyną typu mainframe czy minikomputerem, ale „zwykłym” mikrokomputerem Intel Intellec 8, z mikroprocesorem Intel 8008. Intellec 8 korzystał z ośmiocalowej stacji dysków elastycznych, podłączonych samodzielnie przez Kildalla zrobiony kontroler, zaś uruchamiany z tych ośmiocalowych dyskietek system napisany był w samodzielnie stworzonym przez Kildalla języku programowania o nazwie PL/M (Programming Language for Microcomputers). Jak widać, były to czasy ludzi bardzo samodzielnych.

Twórca systemu od początku myślał, że stanie się on komercyjnym produktem – jednak w tamtych czasach wyjaśnienie potencjalnym nabywcom samej idei komercyjnego systemu operacyjnego dla mikrokomputerów nie było łatwe. Kildall, który wraz żoną założył firmę Digital Research chciał, by jego produkt stał 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.

r   e   k   l   a   m   a

Właśnie ten ostatni aspekt przyczynił się do początkowego sukcesu CP/M. Był to przełom w erze, gdy każdy producent sprzętu tworzył systemy operacyjne działające tylko z jego komputerami. System operacyjny z Digital Research pozwalał na tworzenie oprogramowania, które działało na bardzo różnych mikrokomputerach z procesorami od Intela 8080 po Ziloga Z80, od pierwszych maszyn pokroju Altaira 8800 czy Osborne 1, po najpotężniejsze 8-bitowe komputery lat osiemdziesiątych, takie jak Amstrad/Schneider 6128 czy Commodore 128. W Stanach Zjednoczonych produkowano nawet kartę rozszerzającą z procesorem Z80, dzięki któ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 w profesjonalnych zastosowaniach), to właśnie też dzięki CP/M mogły zaistnieć tak popularne programy jak edytor tekstu WordStar czy baza danych dBase.

U szczytu swojej wielkości, w 1981 roku, Digital Research zatrudniało niemal 200 osób i przynosiło rocznie ponad 20 milionów ówczesnych dolarów. Błędy w biznesowej strategii doprowadziły jednak do upadku, jeszcze szybszego niż wzlot firmy. CP/M jest jedną z pierwszych ofiar Microsoftu. To właśnie firma Billa Gatesa, widząc, że Digital Research nie może się porozumieć z IBM w sprawie licencjonowania CP/M w pierwszych komputerach PC, wykupiła jeden z klonów CP-M, system 86-DOS, przerobiła go nieco, a następnie zaoferowała Wielkiemu Błękitnemu na atrakcyjnej licencji jako PC-DOS, z czasem znany jako MS-DOS. Reszta jest już dobrze znaną historią. Ostatnie wydanie CP/M 3.1 przypadło na 1983 rok, zaś jego następca CP/M-86 dla procesorów Intel 8086, mimo że był oceniany przez specjalistów jako system doskonalszy niż MS-DOS (Gary Kildall nie uważał np., że każdemu wystarczy 640 KB RAM) nie zdobył większej popularności. Ostatnią wersję 2.11 wydano w 1986 roku.

Warto wspomnieć też o ciekawej próbie walki z Microsoftem. W 1988 roku Digital Research wydał swoją własną alternatywę dla MS-DOS, system DR-DOS. Umowy, jakie Microsoft podpisywał z producentami komputerów PC nie dały jednak temu produktowi większych szans, mimo że był on zarówno tańszy, jak i oferował większe możliwości (przy pełnej kompatybilności z MS-DOS). Gdy zaś pojawiły się pierwsze wersje Windows 3.1, Microsoft miał wprowadzić do nich kod celowo destabilizujący prace DR-DOS, by użytkownicy mieli wrażenie, że konkurencyjny system do niczego się nie nadaje. Towarzyszące temu spory sądowe firmie Kindalla 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”.

Twórcy CP/M próbowali też swoich sił z niezwykle innowacyjnym jak na swoje czasy systemem czasu rzeczywistego FlexOS, który potrafił np. dynamicznie ładować sterowniki sprzętowe, wspierał zaawansowaną wielozadaniowość z wywłaszczaniem i znalazł pewne zastosowanie w kasach sklepowych od IBM – ale to był już schyłek firmy Kindalla. W 1991 roku to co zostało z Digital Research zostało kupione przez Novella.

Teraz Muzeum Historii Komputerów z Mountain View udostępniło publicznie mające 147 MB archiwum, zawierające zarówno kod źródłowy CP/M, pisany w assemblerze i PL/M, jak i skany dokumentacji z lat siedemdziesiątych. Pobrać je możecie ze strony Muzeum (gdzie można się zapoznać też ze szczegółową historią CP/M). Upublicznienie kodu nie oznacza jego formalnego otwarcia, to wciąż własnościowe oprogramowanie, udostępnione wyłą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żna uruchomić na MS-DOS (który można uruchomić np. w maszynie wirtualnej).

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.