Ładowanie systemu operacyjnego

Z MERA 400 wiki
Wersja z dnia 11:38, 11 lip 2013 autorstwa Amo (dyskusja | edycje) (→‎Uruchomienie systemu)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania

Ładowanie systemu operacyjnego CROOK-5 odbywa się w trzech etapach:

Pierwsza część programu ładującego

Pierwsza część programu ładującego (zbiór BOOT) zapisana może być na taśmie perforowanej, pamięci PROM zegara czasu rzeczywistego lub pamięci EPROM. Wczytywana jest przy użyciu funkcji klucza BIN (patrz Wczytywanie binarne) poczynając od adresu 0 w bloku pamięci systemowej i uruchamiana. Czynności wykonywane przez nią to:

  • Skierowanie do pamięci dyskowej rozkazu wczytania zerowego sektora z dysku
  • Przejście w stan oczekiwania na przerwanie z kanału, mówiące o poprawnej transmisji
  • Skok do załadowanego programu, który jest drugą częścią programu ładującego (zbiór BOOTL)

Domyślnie przeprowadzana jest próba ładowania z:

  • talerza stałego dysku MERA-9425 skonfigurowanego jako jednostka nr 0 w kanale 4,
  • WINCHESTER-a nr 0 procesora MULTIX w kanale 1.

Możliwe jest też wybranie innego urządzenia. Dokonuje się tego za pomocą kluczy pulpitu technicznego, w następujący sposób:

  • klucz 15 wybiera rodzaj dysku: 0 - wymienny dysk w pamięci MERA 9425 lub dysk elastyczny 5,25", 1 - stały dysk w pamięci MERA-9425 lub dysk WINCHESTER
  • klucz 14=0
  • klucze 10-13 wybierają kanał
  • klucze 8-9 określają numer urządzenia w kanale

Druga część programu ładującego

Druga część programu ładującego (zbiór BOOTL) ładuje właściwy system operacyjny (jądro systemu). Czynności przez nią wykonywane to:

  • Transmisja 5888 słów z dysku, poczynając od pierwszego sektora (zbiór SYSTEM), do pamięci systemu operacyjnego od adresu 0x900, w sposób jak poprzednio
  • Skopiowanie swojego fragmentu, składającego się z trzech słów, do ostatnich trzech słów bloku 0
  • Skok do skopiowanego fragmentu, który jest pętlą kopiującą wczytane 5888 słów z lokalizacji pod adresem 0x900 do nowej lokalizacji, od adresu 0
  • Skok do adresu 0

Uruchomienie systemu

Skopiowany w poprzednim kroku fragment pamięci to jądro systemu wraz z tablicą konfiguracji i występującym tuż przed nią rozkazem skoku do właściwego programu systemu operacyjnego. Wykonanie go uruchamia działanie systemu. Mapa pamięci CROOK-5 pokazuje funkcyjny podział pamięci po załadowaniu CROOK-a.

Spis stopów

W przypadku zatrzymania się procesu ładowania systemu z bitów 12-15 rejestru IR można odczytać etap, na którym proces został przerwany:

  • 020 - oczekiwanie na zakończenie pierwszej transmisji
  • 021 - transmisja została potwierdzona, lecz nie wykonana
  • 022 - błąd pierwszej transmisji (w R4 specyfikacja przerwania)
  • 023 - błąd drugiej transmisji (w R4 specyfikacja przerwania)
  • 024 - niezakończona druga transmisja