lunedì 23 novembre 2015

Operazioni base del OS

Operazioni base del OS
Un computer quando viene acceso o riavviato, ha bisogno di un programma iniziale per l’esecuzione. Questo programma iniziale, detto bootstrap program tende ad essere semplice e di solito è memorizzato nell’hardware nella memoria read-only (ROM) o eletrically erasable programmable read-only memory (EEPROM), generalmente detto firmware. Il bootstrap per adempiere al suo compito, deve allocare il kernel del s.o. e caricarlo in memoria.
Una volta che il kernel è stato caricato ed è in esecuzione, comincia a fornire dei servizi al sistema e ai suoi utenti. Qualcuno tra questi è fuori dal kernel, attraverso programmi di sistema che sono caricate in memoria all’accensione per diventare processi di sistema, o system daemons, che restano in esecuzione per tutta l’esecuzione del kernel.


Interrupt
Dopo che il primo processo di init viene eseguito, e fa partire altre catene di daemons, il sistema è stato caricato e aspetta il verificarsi di un evento per partire.
Questo evento è segnalato da un interrupt, dall’hardware o dal software.
Dall’hardware i segnali possono essere innescati mandando un segnale alla CPU, attraverso il bus di sistema, mentre dal software l’interrupt è dato da una speciale operazione chiamata system call.
Quando la CPU riceve un interrupt, ferma l’esecuzione attualmente in corso e la trasferisce in una determinata posizione che contiene l’indirizzo di partenza nella quale è posizionata la service routine per l’interrupt. Così viene eseguito l’interrupt service routine e una volta completata, la CPU riprende l’operazione interrotta.
L’interrupt trasferisce il controllo all’appropriata routine richiamata.
Poiché vi è un numero predefinito di interrupts possibili, si utilizza una tabella per fornire la velocità necessaria.

Next > (Tratti generali)

Nessun commento:

Posta un commento