Struktura talerzy dyskowych: Różnice pomiędzy wersjami
(Utworzył nową stronę „Talerze dyskowe podzielone są logicznie na sektory, z których każdy zawiera 256 słów 16-bitowych (512 bajtów). Najmniejszą adresowalną jednostką powierzchni...”) |
Nie podano opisu zmian |
||
(Nie pokazano 7 pośrednich wersji utworzonych 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" | |||
! Adres dyskowy !! Obszar !! Zawartość | |||
|- | |||
| 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-0140 || SYSTEM || system operacyjny CROOK-5 | |||
|- | |||
| 0140-''A0'' || || obszar (na talerzu systemowym) używany do kopiowania obrazu pamięci systemu po upadku | |||
|- | |||
| ''A0''-''A1'' || DICDIC || słownik skorowidzów i użytkowników mogących pracować na danym talerzu dyskowym | |||
|- | |||
| ''A1''-''A2'' || FILDIC || słownik zbiorów przechowywanych na obszarze dyskowym | |||
|- | |||
| ''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 = | |||
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ą 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; | |||
* 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; | |||
* 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". | |||
Poszczególne słowa pozycji opisu skorowidza zawierają: | |||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Słowo !! Opis | ||
|- | |||
| 0, 1 || nazwa skorowidza lub użytkownika | |||
|- | |- | ||
| | | 2 || kod skorowidza nadrzędnego | ||
|- | |- | ||
| | | 3 || liczba skorowidzów podległych | ||
|- | |- | ||
| | | 4 || hasło użytkownika | ||
|- | |- | ||
| | | 5 || budżet do utrwalania zbiorów | ||
|- | |- | ||
| | | 6 || kod skorowidza nadrzędnego | ||
|- | |- | ||
| | | 7 || uprawnienia użytkownika | ||
|- | |- | ||
| | | 8, 9 || nazwa programu obsługi (zlecenie OSL) | ||
|- | |- | ||
| | | 10, 11 || nazwa pierwszego zlecenia (drugi parametr zlecenia OSL | ||
|- | |- | ||
| | |} | ||
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 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: | |||
{| class="wikitable" | |||
! Słowo !! Opis | |||
|- | |- | ||
| | | 0, 1 || nazwa zbioru | ||
|- | |- | ||
| | | 2 || kod skorowidza do którego zbiór należy | ||
|- | |- | ||
| | | 3 || typ zbioru | ||
|- | |- | ||
| | | 4 || parametr 1 zbioru | ||
|- | |- | ||
| | | 5 || parametr 2 zbioru | ||
|- | |- | ||
| | | 6 || słowo zawierające kod ochrony, atrybuty i parametr MEM | ||
|- | |- | ||
| | | 7 || kod użytkownika | ||
|- | |||
| 8 || słowo rezerwowe | |||
|- | |||
| 9 || dyskowy adres początku zbioru | |||
|- | |||
| 10 || dyskowy adres końca zbioru | |||
|- | |||
| 11 || długość informacji (w sektorach) zapisanej do zbioru | |||
|- | |||
|} | |||
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: | |||
{| class="wikitable" | |||
! Bity !! Opis | |||
|- | |||
| 0-5 || zawierają informację o zezwoleniach na dostęp do zbioru | |||
|- | |||
| 6-11 || zawierają atrybut zbioru | |||
|- | |||
| 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. 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: | |||
{| class="wikitable" | |||
! Bit !! Opis | |||
|- | |||
| 12 || zbiór uznany za błędny - ustawiany przez zlecenie GOF | |||
|- | |||
| 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) | |||
|- | |||
| 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}} |
Aktualna wersja na dzień 09:26, 18 sie 2013
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).
Adres dyskowy | Obszar | Zawartość |
---|---|---|
0-1 | LABEL | Metryka dysku. W kolejnych słowach znajdują się następujące informacje (wszystkie adresy są adresami dyskowymi):
|
1-0140 | SYSTEM | system operacyjny CROOK-5 |
0140-A0 | obszar (na talerzu systemowym) używany do kopiowania obrazu pamięci systemu po upadku | |
A0-A1 | DICDIC | słownik skorowidzów i użytkowników mogących pracować na danym talerzu dyskowym |
A1-A2 | FILDIC | słownik zbiorów przechowywanych na obszarze dyskowym |
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
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ą 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;
- 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;
- 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".
Poszczególne słowa pozycji opisu skorowidza zawierają:
Słowo | Opis |
---|---|
0, 1 | nazwa skorowidza lub użytkownika |
2 | kod skorowidza nadrzędnego |
3 | liczba skorowidzów podległych |
4 | hasło użytkownika |
5 | budżet do utrwalania zbiorów |
6 | kod skorowidza nadrzędnego |
7 | uprawnienia użytkownika |
8, 9 | nazwa programu obsługi (zlecenie OSL) |
10, 11 | nazwa pierwszego zlecenia (drugi parametr zlecenia OSL |
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 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:
Słowo | Opis |
---|---|
0, 1 | nazwa zbioru |
2 | kod skorowidza do którego zbiór należy |
3 | typ zbioru |
4 | parametr 1 zbioru |
5 | parametr 2 zbioru |
6 | słowo zawierające kod ochrony, atrybuty i parametr MEM |
7 | kod użytkownika |
8 | słowo rezerwowe |
9 | dyskowy adres początku zbioru |
10 | dyskowy adres końca zbioru |
11 | długość informacji (w sektorach) zapisanej do zbioru |
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:
Bity | Opis |
---|---|
0-5 | zawierają informację o zezwoleniach na dostęp do zbioru |
6-11 | zawierają atrybut zbioru |
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. 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:
Bit | Opis |
---|---|
12 | zbiór uznany za błędny - ustawiany przez zlecenie GOF |
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) |
15 | zbiór, który zostanie skopiowany na taśmę magnetyczną i usunięty w wyniku działania zlecenia WO programu MTC |
Źródło: SYSTEM OPERACYJNY CROOK-5 dla minikomputera MERA-400 (wersja 7), Zbigniew Czerniak, Marek Nikodemski, Gdańsk 1988