Przejdź do zawartości

CROOK

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez Ency (dyskusja | edycje) o 09:37, 22 kwi 2009. Może się ona znacząco różnić od aktualnej wersji.

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

Wersja 1

Pierwszą wersje 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ą LIFO. Do pracy nie wymagał generatora przerwań zegara.

Wersja 2

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 intesywnego nadzoru po operacjach neurochirurgicznych w Centrum Medycyny Doświadczalnej i Klinicznej PAN.

Wersja 3

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

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

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 wyniki 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 łączenie komputerów łączem z 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

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

Twórcami wymienionych wersji systemu byli: Włodzimierz Martin - inicjator przedsięwzięcia i jedyny autor wersji 1 oraz 2, 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, 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, Wiesław Bojarski – szybkie łącze 2 MiB/s, 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.

  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/s na sekundę podaje Z. Czerniak.
Błąd w przypisach: Znacznik <ref> o nazwie „stopień”, zdefiniowany w <references>, nie był użyty wcześniej w treści.
BŁĄD PRZYPISÓW

Bibliografia