Struktura talerzy dyskowych: Różnice pomiędzy wersjami

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
Nie podano opisu zmian
Nie podano opisu zmian
Linia 141: Linia 141:
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).
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. Ustawienie ich na 1 ma następujące znaczenie:


{| class="wikitable"
{| class="wikitable"
! Bity !! Opis
! Bity !! Opis
|-
|-
| 12=1 || zbiór uznany za błędny - ustawiany przez zlecenie GOF
| 12 || zbiór uznany za błędny - ustawiany przez zlecenie GOF
|-
|-
| 13=1 || zbiór rezydujący (stawiany przez zlecenie RES programu MTC)
| 13 || zbiór rezydujący (stawiany przez zlecenie RES programu MTC)
|-
|-
| 14=1 || 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=1 || zbiór, który zostanie automatycznie skopiowany na taśmę magnetyczną i usunięty w wyniku działania zlecenia WO programu MTC
| 15 || zbiór, który zostanie automatycznie skopiowany na taśmę magnetyczną i usunięty w wyniku działania zlecenia WO programu MTC
|-
|-
|}
|}

Wersja z 14:49, 26 paź 2012

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.

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 4).

Słowo szóste zawiera informacje o zezwoleniach dostępu, atrybutach i parametrze MEM:

Bity Opis
0-5 zawierają informację o zezwoleniach na dostępdo zbioru
6-11 zawierają atrybuty zbioru
12-15 określają rozmiar bloku pamięci (w jednostkach po 4k słów) przydzielonej 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. Ustawienie ich na 1 ma następujące znaczenie:

Bity Opis
12 zbiór uznany za błędny - ustawiany przez zlecenie GOF
13 zbiór rezydujący (stawiany 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 automatycznie skopiowany na taśmę magnetyczną i usunięty w wyniku działania zlecenia WO programu MTC