Struktura talerzy dyskowych
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 dysku jest sektor. 16-bitowy adres pozwala na zaadresowanie 16M słów, czyli 32MB przestrzeni dyskowej. Dyski mogą być dzielone na obszary, co dla dysków o rozmiarze powyżej 32MB pozwala użyć całej ich pojemności (patrz: Tablica konfiguracji MERY-400 i Tablica opisu dysków WINCHESTER).
Podstawowe zbiory
Talerze dyskowe obsługiwane przez system 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 zkorowidzó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.
Podstawowe zbiory użytkownika BOSS:
Adres dyskowy | Zbiór | Słowo | Opis |
---|---|---|---|
0÷1 | LABEL | Metryka dysku | |
0 | nazwa obszaru dyskowego | ||
1 | A0 - adres początku zbioru DICDIC | ||
2 | A1 - adres początku zbioru FILDIC | ||
3 | A2 - adres początku zbioru MAPA | ||
4 | A3 - adres końca zbioru MAPA | ||
5 | AK - długość obszaru dyskowego (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 obszaru 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 żadnego zbioru dyskowego. | |
0÷AK | GLOBAL | Zbiór obejmujący cały obszar dyskowy |
Uwagi:
- A0, A1, A2, A3 oraz AK oznaczają adresy dyskowe ustalane w czasie inicjalizacji talerza dyskowego.
- Zbiór SYSTEM nie jest tworzony na obszarze dyskowym dla którego zadeklarowano A0<0140.
- 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 DICDIC 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ą opis 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.
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 |
3 | liczba sektoró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.