CROOK

Źródło CROOK-5 - start systemu

CROOK jest systemem operacyjnym opracowanym w Instytucie Okrętowym Politechniki Gdańskiej. Rodzina systemów obejmuje wersje od 1 do 5. Trzy pierwsze napisane były dla K-202. Wersja trzecia była pierwszą działającą również na MERZE-400. Kolejne wersje powstawały już tylko dla MERY-400.

Inicjatorem projektu był Włodzimierz J. Martin. Autorem dwóch pierwszych wydań systemu był Zbigniew Czerniak, a więc zarządzanie procesami, pamięcią, podstawowe wejście/wyjście czy wywołania systemowe (ekstrakody) są jego dziełem. Wydanie trzecie i dalsze zawierały już kod również innych autorów. Roman Lutowski odpowiedzialny był za sterownik dysków, Marek Nikodemski za system plików. W miarę rozbudowy zestawu narzędzi systemowych zespół rozwijający CROOK-a poszerzał się o kolejne osoby.

CROOK rozwinął się do uniwersalnego, wielozadaniowego, wielodostępnego systemu operacyjnego z hierarchicznym systemem plików. Obsługiwał zarówno starsze urządzenia, jak np. dyski MERA 9425 czy czytniki taśmy CT2100, jak również urządzenia produkowane przez Amepol - dyski Winchester czy pamięci półprzewodnikowe o dużej pojemności.

Ponieważ jego budowę dyktowały te same potrzeby i zasady, na których opierał się również UNIX, systemy te stały się funkcjonalnie bardzo zbliżone, choć diametralnie różne budową. CROOK jest napisany w całości w assemblerze. Mimo, że został przeniesiony na MERĘ-400, do samego końca rozwijany był w assemblerze K-202. Źródła używają mnemoników ASSK, których zbiór został jedynie poszerzony o instrukcje charakterystyczne dla MERY-400. Rozwój systemu CROOK odcisnął się również na budowie procesora MERY-400 oraz ostatecznym kształcie MX-16 (patrz: Modyfikacje sprzętowe procesora).

Nazwa systemu operacyjnego zrodziła się, kiedy autorzy opisali jego budowę na seminarium w Instytucie Maszyn Matematycznych. Koncepcja spotkała się tam z mocnym sceptycyzmem i konkluzją, że na takich zasadach system nie może działać. Mimo to w laboratorium autorów już działał, więc najwyraźniej było w tym oszustwo - stąd CROOK.

Ostatnia wersja jądra CROOK-5 datowana jest na 5 grudnia 1990 i nosi numer 8/15. Jej źródło ma 167KB i 10251 linii. Po assemblacji zajmuje jedynie 38KB (19162 słowa 16-bit).

CROOK-3

CROOK-4

CROOK-5

CROOK-6

Plany dotyczące kolejnej wersji systemu operacyjnego CROOK opisane zostały w dokumencie Kierunki rozwoju systemu operacyjnego CROOK dla minikomputera MERA-400.