Appunti per Scuola e Università
humanisticheUmanistiche
Appunti e tesine di tutte le materie per gli studenti delle scuole medie riguardanti le materie umanistiche: dall'italiano alla storia riguardanti le materie umanistiche: dall'italiano alla storia 
sceintificheScientifiche
Appunti, analisi, compresione per le scuole medie suddivisi per materie scientifiche, per ognuna troverai appunti, dispense, esercitazioni, tesi e riassunti in download.
tecnicheTecniche
Gli appunti, le tesine e riassunti di tecnica amministrativa, ingegneria tecnico, costruzione. Tutti gli appunti di AppuntiMania.com gratis!
Appunti
informatica
CComputerDatabaseInternetJava
Linux unixReti


AppuntiMania.com » Informatica » Appunti di computer » Struttura di un sistema operativo

Struttura di un sistema operativo




Visite: 1086Gradito:apreciate 4-stela [ Picolo appunti ]
Leggi anche appunti:

Definizione di Sistema Operativo


Definizione di Sistema Operativo        Un Sistema Operativo (SO) è un software, quasi

Il microprocessore :storia ed evoluzione


Il microprocessore :storia ed evoluzione Storia Il microprocessore nasce

Meccanismi di sincronizzazione tra processi


MECCANISMI DI SINCRONIZZAZIONE TRA PROCESSI Le macchine concorrenti seguono
immagine di categoria

Scarica gratis Struttura di un sistema operativo

STRUTTURA DI UN SISTEMA OPERATIVO


Un SO è schematizzabile come una 'cipolla', ossia è formato da più strati o "livelli" concentrici. Cerchiamo di capire in che senso si può affermare questo.


Abbiamo detto che ogni qual volta che un processo in corso di esecuzione necessita del SO (in quanto dev'essere fatta un'operazione non direttamente accessibile) si ha una SUPERVISOR CALL (SRC). Ad esempio, se stiamo eseguendo un programma in C e si incontra un'istruzione di read da una periferica di input, questo comporta, come si sa, il richiamo della giusta subroutine dall'interno di una libreria fornita insieme al linguaggio. La subroutine non fa altro che richiedere una SRC che effettua 'a basso livello' (ossia a stretto contatto con l'hardware) l'operazione di I/O.

Ci si potrebbe domandare perché mai non può essere direttamente il programma utente ad effettuare la SRC e in questo caso la risposta sarebbe duplice:

1) una SRC non può essere ottenuta se non con un'istruzione in linguaggio macchina; questa è la risposta più ovvia ma è anche poco soddisfacente;

2) un'operazione di ingresso/uscita necessita della conoscenza di tutta una serie di informazioni non banali che riguardano il 'come operare' e il 'su che cosa operare', al di fuori della portata dell'utilizzatore medio e che dipendono solo in piccola parte dal particolare programma in esecuzione. Queste informazioni sono note al kernel del sistema operativo, che le può quindi mettere a disposizione della procedura richiamata (in questo caso una read) per il buon funzionamento dell'operazione. È bene che il programma utente si limiti a fornire soltanto le indicazioni dipendenti dalla volontà di quest'ultimo, come ad esempio la variabile nella quale va posizionato il risultato.

È dunque la read a produrre la SRC, che in pratica consiste in un salto ad una routine di servizio. Queste routine sono parte integrante del kernel del SO. È probabile che tali routine abbiano a loro volta bisogno di altre routine, sempre facenti parte del SO. Un esempio potrebbe essere il seguente: il programma utente richiama una routine di libreria del linguaggio simbolico, la quale da parte sua effettua mediante una SRC una chiamata al SO. Il particolare processo del SO che viene interpellato potrebbe comportare l'uso di una certa quantità di memoria. Allora, esso chiama a sua volta il gestore della memoria che, se possibile, gli mette a disposizione tale spazio di memoria.

Abbiamo quindi già individuato due livelli del kernel del SO: uno più esterno, contenente fra le altre la routine di lettura, e uno più interno, quello che nel nostro esempio include il gestore della memoria. È chiaro che i processi facenti parte dello strato più esterno non possono prescindere da quelli dello strato più interno, mentre non è vero il contrario.

Che succede se la memoria richiesta non è disponibile? Subentra un terzo processo, posto ad un livello più basso rispetto ai due che abbiamo esaminato, che si occupa della gestione dei due livelli immediatamente superiori. Esso prende il nome di SEMAFORO (si parlerà ampiamente di semafori nel seguito). Come mai questo nome? In caso di mancanza di memoria, il processo che l'ha richiesta non può continuare a funzionare e occorre quindi temporaneamente 'bloccarlo'. Il semaforo si incarica di gestire tale situazione: arresta il processo originario e crea le condizioni affinché ne possa partire un altro. Non appena si sarà resa disponibile una porzione sufficiente di memoria, il semaforo farà ripartire il processo che era stato temporaneamente sospeso.


Da questo discorso si comprende come sia possibile considerare un SO come suddiviso in più livelli, l'uno dentro l'altro. In un SO ben fatto ogni livello deve definire verso il proprio esterno una macchina virtuale. Il nucleo del SO, ossia il livello più interno, è l'hardware dell'elaboratore. Subito dopo viene il gestore dei processi. Esso genera verso l'esterno la propria macchina virtuale: i livelli superiori devono cioè poter guardare al gestore dei processi come ad una macchina entro la quale ogni processo possa essere svolto dal proprio processore. Il terzo strato a partire dall'interno, che possiamo supporre sia il gestore della memoria, rappresenta per i processi dei livelli superiori l'illusione di una macchina virtuale che possa fornire ad ogni processo il proprio processore e la propria memoria, e così via.


Scarica gratis Struttura di un sistema operativo
Appunti su:



Scarica 100% gratis e , tesine, riassunti



Registrati ora

Password dimenticata?
  • Appunti superiori
  • In questa sezione troverai sunti esame, dispense, appunti universitari, esercitazioni e tesi, suddivisi per le principali facoltà.
  • Università
  • Appunti, dispense, esercitazioni, riassunti direttamente dalla tua aula Universitaria
  • all'Informatica
  • Introduzione all'Informatica, Information and Comunication Tecnology, componenti del computer, software, hardware ...