Anteprima
Vedrai una selezione di 13 pagine su 56
Informatica di base - nozioni generali Pag. 1 Informatica di base - nozioni generali Pag. 2
Anteprima di 13 pagg. su 56.
Scarica il documento per vederlo tutto.
Informatica di base - nozioni generali Pag. 6
Anteprima di 13 pagg. su 56.
Scarica il documento per vederlo tutto.
Informatica di base - nozioni generali Pag. 11
Anteprima di 13 pagg. su 56.
Scarica il documento per vederlo tutto.
Informatica di base - nozioni generali Pag. 16
Anteprima di 13 pagg. su 56.
Scarica il documento per vederlo tutto.
Informatica di base - nozioni generali Pag. 21
Anteprima di 13 pagg. su 56.
Scarica il documento per vederlo tutto.
Informatica di base - nozioni generali Pag. 26
Anteprima di 13 pagg. su 56.
Scarica il documento per vederlo tutto.
Informatica di base - nozioni generali Pag. 31
Anteprima di 13 pagg. su 56.
Scarica il documento per vederlo tutto.
Informatica di base - nozioni generali Pag. 36
Anteprima di 13 pagg. su 56.
Scarica il documento per vederlo tutto.
Informatica di base - nozioni generali Pag. 41
Anteprima di 13 pagg. su 56.
Scarica il documento per vederlo tutto.
Informatica di base - nozioni generali Pag. 46
Anteprima di 13 pagg. su 56.
Scarica il documento per vederlo tutto.
Informatica di base - nozioni generali Pag. 51
Anteprima di 13 pagg. su 56.
Scarica il documento per vederlo tutto.
Informatica di base - nozioni generali Pag. 56
1 su 56
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

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).gestisce processi ed eventi esterni generati dalle periferiche,chiamati "INTER-RUZIONI". Il processo è un programma in esecuzione. Include: - il programma eseguibile; - i dati; - altre informazioni sul processo, necessarie alla sua esecuzione, dette contesto. Un programma si trasforma in processo quando viene mandato in esecuzione. I processi possono essere associati ad un programma di sistema operativo o ad un programma utente. 11.2 DIFFERENZA NELLA MODALITÀ DI FUNZIONAMENTO I Programmi di sistema eseguono in modo supervisore le modalità privilegiate senza alcuna restrizione sulle operazioni consentite. I Programmi utente eseguono in modo utente, con diverse restrizioni sulle operazioni permesse. 11.3 S. O. DIFFERENZA TRA SISTEMI OPERATIVI UNIPROGRAMMATI E MULTIPROGRAMMATI Nel sistema operativo uniprogrammato oltre al S.O. in memoria centrale vi è un unico programma applicato. 31 Appunti di conoscenze informatiche di base. Nel sistema multiprogrammato inmemoria centrale, oltre al S.O. stanno più programmi applicati-vi. I tempi di I/O sono "morti" per la CPU, quindi vengono sprecati. Per questo motivo si sono creati i sistemi MULTIPROGRAMMATI che in ogni istante in memoria centrale, oltre al sistema operativo permettono di risiedere a più programmi utente (Windows 95, UNIXS, ETC..). Se un sistema è dotato di una sola CPU, allora un solo programma può trovarsi in esecuzione in un solo istante, per questo motivo si ha un utilizzo limitato del sistema. Qual è allora il vantaggio dei multiprogrammati? Se sono presenti più programmi in esecuzione, questi utilizzano i tempi morti della CPU in un processo per sfruttare il suo operato nell'altro. Il nucleo quindi simula l'esecuzione parallela di più processi stabilendo dei turni di utilizzo della CPU secondo opportune politiche di assegnazione. Bisogna ricordare che il paralle-lismo ottenuto tra i processi è virtuale, visto che in

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 vari

processi.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.

dedicata ad un processo attivo. La gestione della memoria e quella delle periferiche non sono in una scala gerarchizzata. Entrambe vedono, infatti, la macchina virtuale offerta dal nucleo e si trovano sullo stesso piano quindi anche se svolgono funzioni diverse. Il gestore della memoria (G.D.M.) è il modulo di sistema operativo che si occupa di assegnare la memoria ai processi al fine di permettere loro di essere eseguiti. La memoria centrale è una risorsa condivisa tra più processi ed il gestore della memoria si occupa di come suddividere la memoria in parti e come assegnare tali parti ai vari processi. Gli obiettivi del gestore della memoria, sono: - massimizzare il numero di processi caricati in memoria; - massimizzare il grado d'occupazione della memoria, ossia il rapporto fra: NUMERO CELLE OCCUPATE NUMERO TOTALE CELLE DISPONIBILI - minimizzare il sovraccarico di gestione, ossia il tempo speso dall'unità centrale per eseguire i programmi di

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;
Dettagli
Publisher
A.A. 2011-2012
56 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Exxodus di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma La Sapienza o del prof Scienze matematiche Prof.