CROOK

Z Wikipedii, wolnej encyklopedii

CROOKsystem operacyjny, zbliżony w końcowej fazie rozwoju do systemu Unix, opracowany w latach 70. i 80. XX wieku na Politechnice Gdańskiej, przy współpracy Politechniki Poznańskiej, dla polskich minikomputerów K-202 i 16-bitowej Mery 400. Posiadał 5 wersji.

Wersje[edytuj | edytuj kod]

Wersja 1[edytuj | edytuj kod]

Pierwszą wersję stanowił system SOWA (System Operacyjny WieloAktywny), napisany dla komputera K-202 w celu zastąpienia dostarczonego z nim nominalnego systemu operacyjnego SOK-1. System SOWA po prezentacji na seminarium w IMM, na którym stwierdzono, że nie jest możliwe, aby działał, został przemianowany na CROOK-1. Pozwalał na równoległą pracę kilku użytkownikom z obsługą różnorodnych peryferyjnych urządzeń wejścia-wyjścia, jak perforatory i czytniki taśm papierowych, urządzenia znakowe, dalekopisy oraz drukarki. Wykorzystywał szeregowanie procesów metodą stosu (LIFO). Do pracy nie wymagał generatora przerwań zegara.

Wersja 2[edytuj | edytuj kod]

CROOK-2 oferował m.in. sterowanie obiektami w czasie rzeczywistym poprzez kasetę CAMAC. Posiadał poszerzony algorytm szeregowania wykorzystujący priorytetowanie procesów oraz rotację w bazie przerwań zegarowych. Był wykorzystywany w systemie intensywnego nadzoru po operacjach neurochirurgicznych w Centrum Medycyny Doświadczalnej i Klinicznej PAN.

Wersja 3[edytuj | edytuj kod]

Kolejna wersja, CROOK-3, wykorzystywała opracowane w ramach prac dyplomowych na Wydziale Elektroniki sterowniki dysków i taśm magnetycznych dla bloku sprzężenia K-202 z modułem CAMAC[1]. W związku z tym CROOK stał się systemem dyskowym, umożliwiającym przydzielenie użytkownikom nazw i haseł oraz puli przestrzeni dyskowej w postaci osobistego skorowidza plików, z możliwością pracy z ogólnodostępną biblioteką. Ponadto system z wielodostępnego stał się też wielozadaniowy - pozwalał każdemu z pracujących użytkowników wystartować kilka programów, z których każdy mógł stanowić kilka współbieżnych procesów. Po przeniesieniu go na komputer Mera 400[2] pozwalał na standardowej konfiguracji z ferrytową pamięcią operacyjną 64 kiB i jednym dyskiem 5 MiB obsługiwać do czterech użytkowników, zajmując na stałe 16 kiB i udostępniając każdemu z pracujących pozostałe 48 KiB.

Wersja 4[edytuj | edytuj kod]

Następna wersja, CROOK-4, obsługiwała hierarchiczną strukturę zbiorów dyskowych oraz hierarchiczną strukturę procesów, a także wszystkie urządzenia peryferyjne, które można było podłączyć do Mery 400. Pozwalał na definiowanie i wykorzystywanie symulatorów innych systemów operacyjnych, jak np. natywnego dla Mery systemu SOM-3. Ponadto zespół z Politechniki Poznańskiej opracował dla CROOKa translatory języków Algol, Modula-2, CSL, Lisp i Fortran. W okresie 1982-1985 system był stosowany na około siedemdziesięciu komputerach Mera 400, m.in. w kilku miastach w zastosowaniu pierwotnym tego systemu, czyli sterowaniem w czasie rzeczywistym urządzeń, w tym przypadku urządzeń sygnalizacji świetlnej.

Wersja 5[edytuj | edytuj kod]

Po zaprzestaniu w 1985 roku produkcji komputerów Mera 400 i rezygnacji z dostarczania systemu przez IMM, jego rozwoju i dystrybucji podjęło się Przedsiębiorstwo Zagraniczne AMEPOL, zajmujące się też unowocześnianiem komputerów Mera 400. W wyniku prac rozwojowych powstała ostatnia wersja, CROOK-5, współpracująca z zegarem czasu rzeczywistego, procesorem komunikacyjnym, pamięciami operacyjnymi wielkości do 2 MiB oraz dyskami 40 MiB, pozwalająca na połączenie komputerów łączem o przepływności 2 MiB/s[3]. Do obsługiwanych języków dołączył C. Instalacje dwukomputerowe mogły obsługiwać jednocześnie 24 użytkowników.

CROOK vs. UNIX[edytuj | edytuj kod]

CROOK w końcowej wersji zbliżył się do systemu UNIX, ale głównie ze względu na obsługę ideowo takiego samego hierarchicznego systemu plików. Natomiast na poziomie fizycznej organizacji dysku, odmiennie niż w Uniksie, pliki nie były fragmentowane, ale zajmowały zawsze spójne obszary.

Autorzy systemu[edytuj | edytuj kod]

Inicjatorem przedsięwzięcia był Włodzimierz J. Martin, a jedynym autorem wersji 1 i 2 Zbigniew Czerniak[4]. W tworzeniu kolejnych wersji mieli udział: Marek Nikodemski - hierarchiczny system zbiorów dyskowych oraz interpreter języka komunikacji z systemem, Roman Lutowski – sterownik dysków, Wiesław Bojarski – sterownik taśm, szybkie łącze 2 MiB/s, Zbigniew Czerniak - obsługa peryferii, zarządzanie procesami i pamięcią operacyjną oraz kompilator języka maszynowego ASSM; Zenon Kapała – interpreter języka BASIC, kompilator języka C oraz symulator systemu SOM-3, August Rams – symulator maszyny analogowej CEMMA; Andrzej Bobcow – edytor kontekstowy EDIT; Janusz Gocałek i Jacek Klauziński – kompilatory języków FORTRAN, LISP, CSL, ALGOL, MODULA-2.

Przypisy[edytuj | edytuj kod]

  1. Komputer K-202 nie posiadał kanału podłączenia pamięci masowych, natomiast była możliwa transmisja blokowa pomiędzy pamięcią operacyjną i modułem CAMAC za pośrednictwem bloku sprzężenia.
  2. Mera 400 była pod względem architektury i listy rozkazów praktycznie zgodna z K-202, co pozwalało na automatyczną translację programów napisanych w asemblerze K-202.
  3. Taką wartość - 2 MiB na sekundę podaje Z. Czerniak.
  4. Sprawa autorstwa nie jest jednoznaczna w świetle jedynego wykorzystanego źródła, wymienionego w bibliografii artykułu Z. Czerniaka, który w nim stwierdza: ... kto był autorem systemu. Inicjatorem przedsięwzięcia był niewątpliwie Włodzimierz Martin. To dzięki jego działaniom egzemplarze K−202 i MERY−400 znalazły się w Instytucie Okrętowym PG. On też wciągał do współpracy przy tworzeniu systemu młodszych kolegów i organizował studentom informatyki prace dyplomowe. Pierwszym i przez jakiś czas jedynym „wciągniętym” był autor niniejszego tekstu. Tak więc CROOK−1 i 2 były w całości dziełami jednego autora. CROOK−3 miał już drugiego autora.

Bibliografia[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]