Ładowanie systemu operacyjnego: Różnice pomiędzy wersjami

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
(Utworzył nową stronę „Ładowanie systemu operacyjnego CROOK-5 odbywa się w trzech etapach: === Pierwsza część programu ładującego === Pierwsza część programu ładującego (zbi...”)
 
Nie podano opisu zmian
Linia 1: Linia 1:
Ładowanie systemu operacyjnego CROOK-5 odbywa się w trzech etapach:
Ładowanie systemu operacyjnego CROOK-5 odbywa się w trzech etapach:


=== Pierwsza część programu ładującego ===
== 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:
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:
Linia 19: Linia 19:
* klucze 8-9 określają numer urządzenia w kanale
* klucze 8-9 określają numer urządzenia w kanale


=== Druga część programu ładującego ===
== 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:
Druga część programu ładującego (zbiór BOOTL) ładuje właściwy system operacyjny (jądro systemu). Czynności przez nią wykonywane to:
Linia 27: Linia 27:
* Skok do adresu 0
* Skok do adresu 0


=== Uruchomienie systemu ===
== Uruchomienie systemu ==


Skopiowany w poprzednim kroku fragment pamięci to jądro systemu wraz z [[Tablica konfiguracji MERY-400|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]] pokazuje funkcyjny podział pamięci po załadowaniu CROOK-a.
Skopiowany w poprzednim kroku fragment pamięci to jądro systemu wraz z [[Tablica konfiguracji MERY-400|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]] 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

Wersja z 15:48, 17 paź 2012

Ł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 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