CROOK-5 - Symulator systemu SOM3

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania

Symulator SOM3 jest programem użytkowym działającym pod systemem CROOK4. SOM3 pozwala użytkownikom systemu CROOK korzystać z oprogramowania działającego pod systemem operacyjnym SOM-3 bez konieczności instalowania systemu SOM-3 i bez zakłócania pracy innym użytkownikom systemu CROOK-5 Symulacji podlegają jedynie ekstrakody systemu SOM-3. Ponadto realizowane są niezbędne zlecenia zadania komunikacji SOM-3 jak i nowe zlecenia, umożliwiające wspólpracę pomiędzy symulatorem SOM3 a systemem CROOK. W symulatorze nie są obsługiwane ekstrakody sterujące zadaniami, zaś ekstrakody we/wy z "szybkim powrotem" nie są kolejkowane i wyjście z nich następuje po zakończeniu operacji. SOM3 ma wbudowane dyrektywy umożliwiające współpracę z kasetami dyskowymi uformowanymi przy użyciu procesora FMC. Ponadto zgłoszenie operatora (OPRQ) powoduje natychmiastowe przejście do zadania komunikacji. SOM3 jest programem "autonomicznym" mogącym wywoływać standardowy język operatora OSL. Możliwa jest praca ze wszystkimi standardowymi "procesorami" pracującymi pod systemem SOM-3 w wersji podstawowej.

Strumienie i sekcje

Odpowiednikami sekcji roboczych systemu SOM-3 są w symulatorze zbiory, którymi zarządza system operacyjny CROOK. Zbiory te (o nazwach takich samych jak nazwy sekcji) są otwierane automatycznie przy pierwszej operacji we/wy wykonanej poprzez strumień dołączony do takiego zbioru. Tworzony jest tymczasowy (nietrwały) zbiór typu SOM. W przypadku gdy zbiór o danej nazwie jest znany, jego parametry zostaną wpisane do tablicy AST. Parametry te można odczytać dyrektywą INF zadania komunikacji. Nowe zbiory robocze (sekcje) można tworzyć dyrektywą języka JOB CONTROL (ekstrakod CREATE). Dla pakietu wymiennego utworzonego pod standardowym "procesorem" FMC przy dostępie do sekcji sprawdza się tylko nazwę pakietu, natomiast hasło dostępu do sekcji jest nieistotne (ekstrakod CREATE nie sprawdza hasła).

Uruchomienie symulatora

Ponieważ SOM3 nie używa standardowego języka operatora OSL dlatego też przy wpisywaniu się do systemu należy podac nazwę innego języka operatora (zlecenie programu OSL: OSL SOM3) lub też pisząc przy zgłoszeniu:

<nazwa użytkownika>,[<hasło>],[<skorowidz>],SOM3

Symulator w czasie pracy wywołuje "procesory systemowe" systemu SOM-3. Mogą być one udostępniane poprzez zbiory GXB, GLB oraz GMC zawierające kopie odpowiednich sekcji, lub też poprzez dołączenie dyrektywą ARE talerza dyskowego używanego przez system SOM-3. W tym drugim przypadku dyrektywa ARE musi być wykonana bezpośrednio po uruchomieniu symulatora.

Zadanie komunikacji

Przejście do zadania komunikacji następuje po naciśnięciu klawisza OPRQ (BREAK) lub przy pierwszym wywołaniu symulatora SOM3 (przed załadowaniem JOB CONTROLa). Gotowość programu SOM3 do wczytywania zleceń sygnalizowana jest przez wyprowadzenie na monitorze znaku '\'.

Dyrektywy zadania komunikacji

ARE ,<nr talerza>,<adr. cylindra>,<dług.>,<n. sekcji>[,NOP]

Deklaracja sekcji dyskowej na talerzu dyskowym systemu SOM-3.
  • <nr talerza> - pozycja talerza dyskowego (od 0:-15) zapisanego w tablicy konfiguracji systemu CROOK-5.
  • <adres cylindra> - dyskowy adres początkowy cylindra.
  • <długość> - rozmiar obszaru podany w cylindrach (obszar musi być ciągły).
  • <n. sekcji> - nazwa sekcji, do której będą przypisane parametry (nazwa sekcji musi być znana w tabicy AST).
  • NOP - użycie tego parametru oznacza deklarację dostępu do sekcji bez ochrony przed zapisem.

ALL <nazwa strumienia>

Wczytanie metryki talerza dyskowego ze wskazanego strumienia.
Chcąc, dla przykładu, wczytać metrykę i dołączyć talerz dyskowy o numerze kolejnym 1 i posiadający metrykę przygotowaną "procesorem" FMC, należy wykonać następujące zlecenia:
ARE,1,0,1,RD,NOP
ALL,RD
RD występujące w obu zleceniach jest raz nazwą sekcji, raz strumienia dyskowego. Strumień RD jest wstępnie dołączony do sekcji RD.

INF

Polecenie podania informacji o strumieniach i urządzeniach WE/WY.
W poszczególnych kolumnach podawane są:
  • nazwa strumienia,
  • nazwa sekcji dyskowej lub nazwa urządzenia,
  • liczba precyzująca urządzenie końcowe strumienia; może to być:
    • cyfra 0 dla urządzeń znakowych,
    • liczba sektorów zajmowanych przez zbiór,
    • liczba szesnastkowa opisująca parametry zlecenia ARE. Wartość starszego byte określa numer cylindra, młodszego zaś - długość sekcji wyrażoną w sektorach. Dla strumieni opisanych w ten sposób następna kolumna określa numer obszaru dyskowego.
  • identyfikator (numer) strumienia systemu CROOK. Liczba poprzedzona znakiem ">" określa strumień wyjściowy kanału znakowego.
  • aktualny wskażnik położenia nośnika.

OSL

Uruchomienie interpretatora zleceń XOSL. Powrót z XOSL z powrotem do symulatora można uzyskać zleceniem EXI.

ASG,<nazwa urządzenia logicznego>,<TZ>

Zlecenie przyłączenia urządzenia logicznego systemu SOM-3 (druga kolumna po zleceniu INF) do zbioru. Poprzez to urządzenie symulator może komunikować się ze zbiorami zarządzanymi przez system CROOK-5. Urządzeniami logicznymi mogą być: AI1, AO1, CKn, CSn.
Chcąc, na przykład, wczytać poprzez strumień SI dane ze zbioru FI1//ALFA należy wykonać w zadaniu komunikacji następujące zlecenia:
ASG,AI1,FI1//ALFA
ASS,SI,AI1
Strumień systemu CROOK-5 jest połączony z "umownym" urządzeniem AI1, którego "handler" jest taki sam jak "handler" czytnika. Urządzenie AO1 jest obsługiwane jak perforator, natomiast urządzenia CKn,CSn (n=1-4) tak jak "handlery" KSR, DZM.

MEM <adres>

Deklaracja rozmiaru bloku pamięci używanej przez symulator. Rozmiar pamięci podawany jest w słowach.

BYE

Zlecenie zakończenia sesji (jest to odpowiednik zlecenia ES interpretatora OSL).

Pozostałe zlecenia, takie jak: OPE, CLO, DEF, ASS, R, A, MOD, TYP, TRA, REM, OPT mają takie samo znaczenie i składnię jak w systemie SOM-3 z tym, że w jednym wierszu może występować jedno zlecenie.

UWAGA:

  • Po dyrektywie JOB CONTROLa $JOB kasowane są wszystkie strumienie systemu CROOK.
  • Przy pisaniu komunikatu ABORT jako kod przyczyny błędu może być podana liczba określająca numer alarmu systemu CROOK.
  • Przed uruchomieniem "procesora" BASIC-EXT należy strumień 1 dołączyć do urządzenia NO.
  • Symulator dopuszcza współpracę tylko z jedną kasetą dyskową zorganizowaną przez procesor FMC. Ograniczenie powyższe nie obowiązuje przy współpracy z kasetami dołączonymi przy użyciu dyrektywy ARE (bez wczytywania metryk).

Realizacja ekstrakodów

Ze względu na nieco inne właściwości systemu CROOK część ekstrakodów nie została zaimplementowana, a niektórym zmieniono działanie. Nie obsługiwane są takie ekstrakody jak:

  • PROCESS,
  • ROLL,
  • ALLOCATE,
  • DEALLOCATE,
  • FREEZE,
  • UNCONNECT,
  • CONNECT,
  • THAW,
  • DELAY,
  • CHANGE,
  • DEESTABLISH,
  • RESUME,
  • ESTABLISH,
  • KILL,
  • ACTIVATE,
  • GIVE,
  • TAKE

Ekstrakody WE/WY z szybkim powrotem realizowane są w trybie zwykłym tj. powrót z ekstrakodu następuje dopiero po zakończeniu operacji WE/WY. W konsekwencji ekstrakody:

  • RELINQUISH,
  • RETRY,
  • WAIT,
  • TERMIN

są operacjami pustymi - powodują natychmiastowe wyjście z ekstrakodu. Ekstrakod CREATE nie sprawdza hasła dostępu do zbioru.

Ekstrakod EOFILE dla zbiorów nietrwałych ustala parametr PA1, określający położenie nośnika. Jeśli chce się utrwalić taki zbiór, należy ustalić jego długość. W programach współpracujących z symulatorem można używać wszystkich ekstrakodów systemu CROOK-5.

Źródło: SYSTEM OPERACYJNY CROOK-5 dla minikomputera MERA-400 (wersja 7), Zbigniew Czerniak, Marek Nikodemski, Gdańsk 1988