3013
edycji
Nie podano opisu zmian |
Nie podano opisu zmian |
||
(Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika) | |||
Linia 1: | Linia 1: | ||
Talerze dyskowe | Talerze dyskowe obsługiwane przez sytem mają z góry narzuconą strukturę. Odpowiednie ich uformowanie można otrzymać w wyniku wykonania zlecenia CFA programu BOSS. Na nowo kreowanym talerzu utworzonych jest wstępnie dwóch użytkowników: LIBRAR i BOSS. Użytkownik LIBRAR jest pniem drzewa skorowidzów. U niego też powinny znajdować się wszystkie zbiory zawierające programy biblioteczne. Drugi z nich, BOSS ma pod swoją kontrolą zbiory zawierające słowniki i metryki dysków oraz zbiór zawierający system operacyjny. Zbiory te mają na talerzu dyskowym ustalone położenie i w związku z tym nie mogą być rozszerzane ani przenoszone w inne miejsce. | ||
Poniżej podano podstawowe zbiory użytkownika BOSS (w lewej kolumnie podane są adresy dyskowe początku i końca zbioru). | |||
{| class="wikitable" | {| class="wikitable" | ||
! Adres dyskowy !! | ! Adres dyskowy !! Obszar !! Zawartość | ||
|- | |- | ||
| 0 | | valign="top" | 0-1 || valign="top" | LABEL || Metryka dysku. W kolejnych słowach znajdują się następujące informacje (wszystkie adresy są adresami dyskowymi): | ||
* 0 - nazwa obszaru dyskowego; | |||
* 1 - adres początku zbioru DICDIC (''A0'') | |||
* 2 - adres początku zbioru FILDIC (''A1'') | |||
* 3 - adres początku zbioru MAPA (''A2'') | |||
* 4 - adres końca zbioru MAPA (''A3'') | |||
* 5 - długość obszaru dyskowego (''AK'') (adres końca dysku) | |||
* 6-7 - nazwa wpisana przez użytkownika (komentarz) | |||
* 8-10 - data inicjalizacji talerza dyskowego | |||
* 11-16 - data i godzina ostatniej aktualizacji czasu | |||
|- | |- | ||
| 1 | | 1-0140 || SYSTEM || system operacyjny CROOK-5 | ||
|- | |- | ||
| 0140 | | 0140-''A0'' || || obszar (na talerzu systemowym) używany do kopiowania obrazu pamięci systemu po upadku | ||
|- | |- | ||
| A0 | | ''A0''-''A1'' || DICDIC || słownik skorowidzów i użytkowników mogących pracować na danym talerzu dyskowym | ||
|- | |- | ||
| A1 | | ''A1''-''A2'' || FILDIC || słownik zbiorów przechowywanych na obszarze dyskowym | ||
|- | |- | ||
| A2 | | ''A2''-''A3'' || MAPA || mapa zajętości dysku. Mapa utworzona jest w ten sposób, że każdemu sektorowi dyskowemu odpowiada jeden bit mapy. Bit ustawiony na 0 oznacza, że odpowiadający mu sektor nie wchodzi w skład żadngo zbioru dyskowego. | ||
|- | |- | ||
| 0-''AK'' || GLOBAL || zbiór obejmujący cały obszar dyskowy. | |||
|} | |} | ||
A0-A3 oraz AK oznaczają adresy dyskowe ustalane w czasieinicjalizacji talerza dyskowego. | |||
Zbiór SYSTEM nie jest tworzony na obszarze dyskowym dla którego zadeklarowano A0<0140, ponadto jeśli A0=0 to nie jest tworzony zbiór LABEL. | |||
Ze względu na przyjęty w systemie sposób kodowania położenia etykiety zbioru wymagane jest, aby różnica A2-A1 była mniejsza od 192. Daje to możliwość zarezerwowania miejsca w słownikach na utworzenie etykiet ponad 4000 zbiorów. | |||
= Słownik skorowidzów DICDIC = | = Słownik skorowidzów DICDIC = | ||
Pierwszych osiem słów zbioru | Pierwszych osiem słów zbioru zawiera powtórzenie metryki dysku. Niezgodność tych ośmiu słów z metryką dysku w chwili startu systemu może być powodem uznania talerza jako obcy. | ||
Gdy A0=0 wtedy początek zbioru DICDIC spełnia rolę metryki talerza. | |||
Następne słowa zbioru zawierają | Następne słowa zbioru zawierają opisy użytkowników i skorowidzów. Opisy uporządkowane są w pozycje takie, że: | ||
* każda pozycja zajmuje 12 słów, zawiera opis jednego skorowidza i rozmieszczona jest na trzech sektorach, po 4 słowa na każdym; | * każda pozycja zajmuje 12 słów, zawiera opis jednego skorowidza i rozmieszczona jest na trzech sektorach, po 4 słowa na każdym; | ||
* cztery kolejne słowa jednego sektora wchodzą w skład jednej pozycji; | * cztery kolejne słowa jednego sektora wchodzą w skład jednej pozycji; | ||
* dalsze słowa pozycji umieszczone są na następnych dwóch sektorach. Początek czterosłowowego przedłużenia pozycji jest w takim samym położeniu względem początku sektora, co początek pozycji; | * dalsze słowa pozycji umieszczone są na następnych dwóch sektorach. Początek czterosłowowego przedłużenia pozycji jest w takim samym położeniu względem początku sektora, co początek pozycji; | ||
* po zapełnieniu trzech sektorów | * po zapełnieniu trzech sektorów początek następnej pozycji znajduje się na następnym wolnym sektorze tzn. o trzy sektory dalej. | ||
Dla łatwiejszego zrozumienia budowy słownika można się przyjrzeć wydrukowi otrzymanemu przy realizacji zlecenia LUA DIR programu BOSS. W lewej kolumnie wyprowadzany jest adres etykiety skorowidza. Jest to adres początku pozycji opisującej skorowidz (dla pierwszego skorowidza wynosi on 010, gdyż osiem pierwszych słów zajmuje kopia metryki dysku - patrz wyżej). Kolejne cztery słowa należą do tej samej pozycji. Dalsze dwie części rozpoczynają się od adresów powiększonych odpowiednio o 0400 i 01000. Po zapełnieniu opisami pierwszego (i dwóch następnych) sektora (ostatni adres 0374) następna pozycja rozpoczyna się od adresu 01400. | |||
Liczba 0 występująca w pierwszym słowie pozycji oznacza pozycję pustą, natomiast 1 - koniec słownika. Brak pozycji "koniec słownika" sygnalizowany jest alarmem "ERROR IN DIRECTORY". | Liczba 0 występująca w pierwszym słowie pozycji oznacza pozycję pustą, natomiast 1 - koniec słownika. Brak pozycji "koniec słownika" sygnalizowany jest alarmem "ERROR IN DIRECTORY". | ||
Linia 76: | Linia 58: | ||
| 0, 1 || nazwa skorowidza lub użytkownika | | 0, 1 || nazwa skorowidza lub użytkownika | ||
|- | |- | ||
| 2 || kod skorowidza | | 2 || kod skorowidza nadrzędnego | ||
|- | |- | ||
| 3 || liczba | | 3 || liczba skorowidzów podległych | ||
|- | |- | ||
| 4 || hasło użytkownika | | 4 || hasło użytkownika | ||
Linia 94: | Linia 76: | ||
|} | |} | ||
Ponadto bit 1=1 w słowie siódmym oznacza użytkownika, bit 0=1 - użytkownika czasowo zawieszonego (zlecenie CLU). Występujący w opisie kod użytkownika równy jest adresowi etykiety pomnożonemu przez 4. | Ponadto bit 1=1 w słowie siódmym oznacza użytkownika, bit 0=1 - użytkownika czasowo zawieszonego (zlecenie CLU). Występujący w opisie kod użytkownika równy jest adresowi | ||
etykiety pomnożonemu przez 4. | |||
= Słownik zbiorów FILDIC = | = Słownik zbiorów FILDIC = | ||
Słownik zbiorów jest zbiorem zawierającym etykiety zbiorów danego obszaru. W celu zapewnienia szybkiego przeszukiwania słownika zastosowano do poszukiwania według klucza (nazwy zbioru) kodowanie mieszające. Wartością funkcji mieszającej jest kilka ostatnich bitów sumy wszystkich czterech byte sześcioznakowej nazwy w kodzie R40. Wartość funkcji mieszającej określa numer sektora (względem początku słownika), na którym powinna | Słownik zbiorów jest zbiorem zawierającym etykiety zbiorów danego obszaru. W celu zapewnienia szybkiego przeszukiwania słownika zastosowano do poszukiwania według klucza (nazwy zbioru) kodowanie mieszające. Wartością funkcji mieszającej jest kilka ostatnich bitów sumy wszystkich czterech byte sześcioznakowej nazwy w kodzie R40. Wartość funkcji mieszającej określa numer sektora (względem początku słownika), na którym powinna znależć się etykieta zbioru. | ||
Poszczególne sektory zawierają opisy zbiorów (po dwanaście słów na zbiór). Cztery ostatnie słowa w każdym sektorze związane są z funkcją mieszającą. W kolejnych słowach opisu zbioru znajdują się następujące informacje: | Poszczególne sektory zawierają opisy zbiorów (po dwanaście słów na zbiór). Cztery ostatnie słowa w każdym sektorze związane są z funkcją mieszającą. W kolejnych słowach opisu zbioru znajdują się następujące informacje: | ||
Linia 129: | Linia 112: | ||
|} | |} | ||
Kod użytkownika i skorowidza jest interpretowany tak samo jak w słowniku DICDIC (tzn. jest to względny adres etykiety w słowniku skorowidzów pomnożony przez | Kod użytkownika i skorowidza jest interpretowany tak samo jak w słowniku DICDIC (tzn. jest to względny adres etykiety w słowniku skorowidzów pomnożony przez cztery). | ||
Słowo szóste zawiera informacje o zezwoleniach dostępu, atrybutach i parametrze MEM: | Słowo szóste zawiera informacje o zezwoleniach dostępu, atrybutach i parametrze MEM: | ||
Linia 136: | Linia 119: | ||
! Bity !! Opis | ! Bity !! Opis | ||
|- | |- | ||
| 0-5 || zawierają informację o zezwoleniach na | | 0-5 || zawierają informację o zezwoleniach na dostęp do zbioru | ||
|- | |- | ||
| 6-11 || zawierają | | 6-11 || zawierają atrybut zbioru | ||
|- | |- | ||
| 12-15 || określają rozmiar bloku pamięci (w jednostkach po | | 12-15 || określają rozmiar bloku pamięci (w jednostkach po 4 Ksłowa) przydzielanej programowi wywoływanemu ze zbioru | ||
|- | |- | ||
|} | |} | ||
Słowo siódme zawiera kod użytkownika, który utworzył zbiór. | Słowo siódme zawiera kod użytkownika, który utworzył zbiór. Długość zbioru jest po jego utrwaleniu odliczana od budżetu użytkownika (od budżetu użytkownika odejmowane są długości zbiorów przez niego utworzonych - mogą być one umieszczone w różnych skorowidzach). | ||
Cztery najmłodsze bity tego słowa określają pewne dodatkowe cechy zbioru. I tak: | |||
Cztery najmłodsze bity tego słowa określają pewne dodatkowe cechy zbioru. | |||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Bit !! Opis | ||
|- | |- | ||
| 12 || zbiór uznany za błędny - ustawiany przez zlecenie GOF | | 12 || zbiór uznany za błędny - ustawiany przez zlecenie GOF | ||
|- | |- | ||
| 13 || zbiór rezydujący ( | | 13 || zbiór rezydujący (ustawiany przez zlecenie RES programu MTC) | ||
|- | |- | ||
| 14 || zbiór, którego aktualna kopia jest na taśmie magnetycznej (ustawiany przez zlecenie WR programu MTC) | | 14 || zbiór, którego aktualna kopia jest na taśmie magnetycznej (ustawiany przez zlecenie WR programu MTC) | ||
|- | |- | ||
| 15 || zbiór, który zostanie | | 15 || zbiór, który zostanie skopiowany na taśmę magnetyczną i usunięty w wyniku działania zlecenia WO programu MTC | ||
|- | |- | ||
|} | |} | ||
{{source|title=SYSTEM OPERACYJNY CROOK-5 dla minikomputera MERA-400 (wersja 7)|author=Zbigniew Czerniak, Marek Nikodemski|date=Gdańsk 1988}} |