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]