Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
COSA NON SI VEDE
Il S.O. si occupa di: - leggere il programma dal disco e caricarlo in memoria centrale, cioè fa in modo che il loader si occupi del caricamento del programma in memoria; - comandare l'esecuzione del programma; - riprendere il controllo del sistema di elaborazione ed esecuzione. Altri esempi: stampa di un documento da un dispositivo periferico all'altro. Le tre macchine virtuali sono tra loro integranti in quanto quella più esterna usa la funzionalità della precedente. Nucleo: (KERNEL) insieme di programmi che colloquiano direttamente con l'H.W. e si occupano dell'esecuzione dei programmi utente e di sistema. Autori: Messina Francesco, Lento Maria Rita. In ogni calcolatore c'è una ROM contenente un programma che si occupa del caricamento del sistema operativo in memoria centrale (BIOS). Per questo motivo appena acceso il computer lo si ritrova sulla RAM ed è in condizione di operare nel giro di pochi secondi (BOOT).realta' non sono paralleli. Si ha un pa-rallelismo effettivo invece nei sistemi multiprocessore, che dispongono di piu' CPU.
11.4 VANTAGGI E SVANTAGGI DEL PARALLELISMO VIRTUALE
Il vantaggio del parallelismo virtuale comporta uno spreco inferiore nel tempo di CPU poiché i pro-cessi eseguono le operazioni di CPU parallelamente. Si tratta in ogni modo di un parallelismo vir-tuale visto che, in un qualunque istante sarà solo un processo ad occupare la CPU.
Autori: Messina Francesco, Lento Maria Rita.
Tuttavia il grado di parallelismo virtuale è limitato dalla quantità di tempo I/O dei processi in ese-cuzione come ad esempio problemi con processi CPU bound, Oltre tutto un eventuale processo P3deve aspettare che vadano in esecuzione P1 e P2, anche se dura un solo secondo. Per evitare il pro-blema bisogna aumentare il GRADO DI PARALLELISMO VIRTUALE. Vale a dire che occorreevitare che un processo monopolizzi la CPU o che la impegni per troppo tempo.
Nei
sistemi a partizione di tempo, detti anche TIME SHARING, AD OGNI PROCESSO è assegnato un QUANTO di tempo, ossia un intervallo massimo d'utilizzo della CPU. Il nucleo del sistema operativo, anche detto Kernel, toglie la CPU al processo che ha esaurito il suo quanto o che deve fare un'operazione di I/O.
11.4 Vantaggi del time sharing
I sistemi a partizione di tempo tendono ad uno sfruttamento continuo della CPU. Con "tendere" si vuole sottolineare che lo sfruttamento può non avvenire se le fasi di I/O non coincidono.
Se dovesse essere inserito un altro processo P4 verrebbe inserito con un quanto pari a quello degli altri. Gli utenti che hanno lanciato i processi P1, P2, P3, hanno tutti la sensazione che i loro programmi siano in esecuzione. Così facendo non si ha un processo che monopolizza la CPU, conseguenza diretta ne è che P1, P2, P3, evolvono come se avessero tre CPU separate.
Quanto deve essere lungo un quanto?
La durata del quanto è
critica per l'efficienza del sistema poiché un quanto breve si ha una scarsa efficienza in quanto il sistema operativo deve gestire molte volte il passaggio dei contesti, questo ne provoca il sovraccarico con relativa perdita di velocità. Anche l'opposto provoca un problema analogo, se un quanto fosse eccessivamente lungo si perderebbe il parallelismo con la consecutiva monopolizzazione della CPU per il primo processo rispetto agli altri. Si avrebbe in ogni caso una condizione di sequenzialità nei programmi e non un parallelismo. Abbiamo parlato di programmi e di processi, cerchiamo di vedere la differenza che ne intercorre. Sono definiti processi delle entità dinamiche che evolvono attraversando stadi. Gli stadi attraversati sono: - In esecuzione, RUNNING, la CPU è a disposizione per l'esecuzione; - Pronto per l'esecuzione, READY TO RUN, nell'attesa che la CPU possa eseguirlo. Se vi sono un insieme di processi pronti, questofenomeno va sotto il nome di ready queue; In attesa, waiting, non ancora pronto per l'esecuzione, nell'attesa di un evento esterno. 33Appunti di conoscenze informatiche di base. Una volta pronto il processo passa in esecuzione e abbandonerà questo stadio per due possibili motivi, o perché il processo ha avuto termine, oppure perché è terminato il quanto di tempo a sua disposizione. Gli accodamenti dei processi verranno gestiti in modo FIFO (first in first out). Il nucleo maschera al processo la privazione ed il riassegnamento del processore tramite salvataggio e ripristino del contesto. IL GESTORE DELL' UNITA' CENTRALE è una parte del nucleo che si occupa di assegnare la CPU ai processi pronti al fine di permettere loro di progredire nell'elaborazione e di terminarla. In ogni istante un solo processo ha la CPU, trattandosi di sistemi monoprocessore, la gestione della CPU consiste nell'assegnare il tempo di CPU ai variprocessi.Gli obiettivi del gestore della CPU sono:
- Massimizzare il tasso di servizi, detto troughput, ossia il numero medio di processi eseguitinell'unità di tempo;
- Massimizzare il grado d'utilizzo della CPU, ossia il rapporto tra:
INTERVALLI DI TEMPO IN CUI LA CPU È ATTIVA
TEMPO TOTALE DI CPU TRASCORSO
- Minimizzare il tempo di risposta che consiste nella differenza di tempo tra il lancio di un processo ed il suo termine o tra l'invio di un comando e l'arrivo della risposta;
- Minimizzare il sovraccarico di schedulazione, ossia il tempo speso dall'unità centrale per eseguire i programmi di gestione della CPU.
11.5 INTERRUZIONI
Le eventi generati dalle periferiche sono detti interruzioni. Possono essere:
- Interne, dove il segnale parte da un processo come ad esempio la richiesta di I/O;
- Esterne, dove il segnale è generato dalla periferica. Ad es. quando la stampante richiede altra carta per finire l'operazione, oppure
Perché è stata già conclusa? Per errore.
Al verificarsi di un'interruzione il nucleo del sistema operativo:
- Interrompe il processo P in esecuzione;
- Ne salva il contesto in una determinata zona di memoria;
- Esegue il programma di gestione dell'interruzione, che si troverà in un punto determinato della memoria centrale;
- Stabilisce qual è il processo da mandare in esecuzione e ne ripristina il contesto.
Ripristinare il contesto significa copiare nei registri della CPU il contenuto dell'area di memoria nella quale è registrata la descrizione del contesto del processo al momento della sua sospensione.
La macchina virtuale simulata dal nucleo, differisce dalla macchina base perché:
- Possiede tante unità centrali quanti sono i processi da eseguire;
- Non possiede meccanismi d'interruzione.
Il nucleo fornisce agli strati superiori la visione di un insieme di CPU virtuali.
gestione e della memoria.
11.6 Rilocazione
Attraverso la rilocazione si stabilisce una corrispondenza tra indirizzi relativi o logici e indirizzi fisici. È questa un'operazione della quale non si occupa il sistema operativo, ma i compilatori, il linker ed il loader, che non ne fanno parte.
35Appunti di conoscenze informatiche di base.
TECNICHE DI GESTIONE DELLA MEMORIA
Rilocazione assoluta: viene fatta o in fase di compilazione o subito dopo la compilazione, quindi senza tenere conto dell'effettiva disponibilità di memoria nel momento in cui il programma sarà eseguito. Ad esempio, parliamo di rilocazione assoluta se chiediamo che il programma eseguibile dovrà essere caricato nella porzione di memoria che va dalla cella 1000 alla cella 1267.
SVANTAGGI:
- il programma dovrà essere caricato sempre e solo in quella posizione, anche se eseguito più volte;