Inizializzazione del Livello di Supporto
Alloca staticamente tutte le strutture dei T-Process:
inizializza i descrittori di segmento contenuti nelle tabelle dei
segmenti;
inizializza i descrittori di pagina contenuti nelle tabelle di
pagina.
In particolare:
Il main thread di ogni T-Process puo' accedere in lettura e scrittura
solo ai segmenti 2 e 3, mentre i gestori possono accedere anche ai
segmenti 0 e 1.
Le pagine dei segmenti 0 e 1 sono mappate 1:1 con la memoria fisica e
vengono marcate come non presenti in modo da impedire al livello di
supporto di accedere alla memoria del nucleo.
Le pagine del segmento 3, che sono condivise da tutti i T-Process, sono
inizialmente marcate come non presenti in modo che al primo accesso
vengano automaticamente allocate dal sistema.
Inizializza le strutture dati e crea i processi Timer e Pager che si
occupano, rispettivamente, di servire le richieste di ritardo dei
T-Process e di fornire le pagine di memoria virtuale richieste.
Crea i System Service Thread dei T-Process, i quali si occuperanno di
creare i thread dei gestori di trap e di caricare il main thread.
Infine si mette in attesa di un messaggio, da parte di ogni T-Process,
che ne notifica la terminazione. Una volta terminato anche l'ultimo
T-Process, si auto termina innescando, in questo modo lo shutdown del
sistema.
[LancOS Home] [AMPEOS
Index] [Indice codice] [Fasi
1 & 2] [Fase 3]