SISTEMI OPERATIVI. E il S.O. in funzione sul computer che consente all utente di poter avviare i programmi applicativi desiderati.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SISTEMI OPERATIVI. E il S.O. in funzione sul computer che consente all utente di poter avviare i programmi applicativi desiderati."

Transcript

1 SISTEMI OPERATIVI SOFTWARE DI BASE Il software di base comprende tutti quei programmi indispensabili ai fini del funzionamento dell elaboratore, per questo viene detto di base. I S.O. rientrano nella categoria del software di base. SOFTWARE APPLICATIVO Il software applicativo comprende tutti quei programmi che servono a risolvere all utente uno specifico problema. Esempi di software applicativo sono i programmi: word, excel, powerpoint, internet explorer, videogiochi, ecc. SISTEMA OPERATIVO Il S.O. è un insieme di programmi che coordinano il funzionamento delle componenti HARDWARE e SOFTWARE del computer e ne consentono l utilizzo da parte dell utente. In pratica un S.O. deve: Permettere all utente di usare tutte le risorse del sistema in modo semplice e immediato Ottimizzare l uso delle risorse adottando le più adeguate politiche di gestione RISORSA Per risorsa si intende un generico elemento del computer sia esso hardware (CPU, Memoria centrale, Dispositivi) che software (Programmi, Dati). Come è possibile vedere dall immagine sotto, il S.O. fa da interfaccia tra l hardware ed il software applicativo che l utente sceglie di eseguire. E il S.O. in funzione sul computer che consente all utente di poter avviare i programmi applicativi desiderati. Pagina 1 di 26

2 L interfaccia che il S.O. presenta all utente può essere di due tipi: 1. Testuale, detta a linea di comando (CLI - Command Line Interface) 2. Grafica, chiamata anche GUI (Graphic User Interface) Le interfacce di tipo CLI, come quella mostrata nella figura sotto, prevedono che l utente debba conoscere lo specifico comando con la rispettiva sintassi da digitare al fine di far svolgere al S.O. una determinata operazione (es: creazione di una cartella, copia di un file, ecc.). Le interfacce di tipo GUI, come quelle mostrate nelle figure sotto, fanno uso di piccole immagini grafiche dette icone, per ricordare all utente quale applicazione può avviare tramite l icona. Vengono usati i menù per ricordare tutte le opzioni ed i comandi a disposizione dell utente, oltre che finestre per l esecuzione di applicazioni. Questo tipo di interfaccia è molto più semplice da utilizzare per un utente inesperto, infatti, viene detta user friendly. Pagina 2 di 26

3 Sistema operativo Windows Sistema operativo Linux Il S.O. più l hardware del computer creano una macchina virtuale per l utente che lo utilizza, il quale si astrae completamente dalle caratteristiche e dal funzionamento dei componenti vedendo solo quello che il S.O. gli mette a disposizione. Pagina 3 di 26

4 PROCESSO Per processo si intende un programma in esecuzione da parte della CPU, infatti, non è corretto dire che un processo è in esecuzione ma piuttosto che è nello stato di avanzamento. Il modello a buccia di cipolla (figura sopra) è un modello a strati che mostra in dettaglio i moduli (programmi fondamentali) che compongono il S.O., cioè: 1. Nucleo o Kernel o Gestore dei processi che contiene le procedure di gestione della CPU e i programmi di gestione delle interruzioni. E lo strato più vicino all hardware e quindi dipende strettamente da esso. Il nucleo si occupa di: a. Creare e cancellare i processi b. Mantenere aggiornato lo stato dei processi e del processore c. Allocare la risorsa processore in base a una specifica politica di gestione d. Rilasciare il processore e. Gestire la sincronizzazione tra i vari processi f. Gestire le interruzioni 2. Gestore della memoria centrale che contiene le routine per gestire l organizzazione della memoria e per accedere agli indirizzi delle singole celle di memoria. Esso si occupa di: a. Tenere traccia di quali parti della memoria sono libere e quali sono occupate b. Decidere quanta memoria allocare ad un processo in base a una specifica politica di gestione c. Allocare e liberare lo spazio di memoria dedicato ad un processo e memorizzarne le informazioni 3. Gestore delle periferiche o dell I/O che contiene i programmi di gestione dei singoli dispositivi e si occupa di gestire l assegnazione dei dispositivi ai vari processi che ne fanno richiesta secondo una politica di gestione. Esso si occupa di: a. Tenere aggiornato lo stato delle periferiche b. Decidere l allocazione delle periferiche in base a una specifica politica di gestione c. Allocare la risorsa e iniziare l operazione di I/O Pagina 4 di 26

5 d. Rilasciare la risorsa 4. Gestore delle informazioni o File System che si occupa della gestione dei file ed in particolare di controllare ed organizzare come avviene la memorizzazione delle informazioni sulle memorie di massa (hard disk, floppy disk, schede di memoria, ecc.). Esso si occupa nello specifico di: a. Conoscere lo stato delle memorie di massa, il loro uso e il modo di accesso b. Decidere che può utilizzare le informazioni in base a una specifica politica di gestione c. Assegnare la risorsa al processo d. Rilasciare la risorsa e. Creare e cancellare file e cartelle f. Permettere la copia dei file L organizzazione a strati dei moduli del S.O. è basata sul fatto che un determinato modulo sfrutta i servizi offerti dal modulo sottostante senza conoscere quello che c è al di sotto (astrazione) e offre delle funzionalità al livello sovrastante, creando così una macchina virtuale per il livello superiore. Da questo punto di vista gli strati del S.O. hanno una struttura di tipo gerarchico. Di tutto il S.O. l unico modulo che deve sempre essere presente in memoria centrale è il nucleo, mentre gli altri risiedono in Ram solo quando debbono essere eseguiti, altrimenti normalmente sono presenti su memoria di massa. Indici delle prestazioni di un Sistema Operativo Il S.O. al pari degli altri software deve anch esso essere eseguito dalla CPU, questo significa che la sua esecuzione ruba del tempo all esecuzione dei programmi lanciati dall utente, quindi, possiamo dire che un S.O. è tanto più efficiente quanti più programmai riesce ad eseguire nel minor tempo possibile a parità di configurazione hardware. Possiamo individuare alcuni indici di prestazioni di un S.O.: 1. Tempo di Attività della CPU, espresso in percentuale e dato dal rapporto tra il tempo di lavoro della CPU ed il tempo di lavoro dell intero sistema, cioè %CPU = Tcpu / Ttotale (dove Ttotale = Tcpu + tempo I/O) Pagina 5 di 26

6 2. Throughput, che indica il numero di programmi eseguiti nell unità di tempo, cioè: Throughput = N / Ttotale 3. Tempo S.O. su tempo totale, che indica il rapporto tra il tempo che la CPU dedica all esecuzione del S.O. ed il tempo totale di esecuzione da parte della CPU, cioè: Tso su Ttot = Tcpu S.O. / Tcpu Totale 4. Turnaround Time, che indica il tempo trascorso tra l istante iniziale e quello finale di esecuzione di un programma, cioè: TT = tempo finale tempo iniziale Considerando il Turnaround Time di n lavori è possibile calcolare il tempo medio di esecuzione degli n lavori con la seguente formula: = dove ATT sta per Average Turnaround Time e TTi sta per il tempo di esecuzione dell iesimo lavoro. Classificazione dei Sistemi Operativi (in base alle modalità di input) 1. Elaborazione a lotti (batch): è una modalità di funzionamento del S.O. che prevede che i dati da elaborare vengono accumulati su una memoria ausiliaria prima dell elaborazione, che avviene in tempi prefissati, e che al termine fornisce i risultati. Durante l esecuzione del programma non è possibile fornire dati in input, quindi non esiste interattività tra l utente ed il processo in corso. I S.O. batch sono molto semplici, dato che non prevedono alcuna interfaccia utente e non debbono gestire più programmi presenti in memoria contemporaneamente. Pagina 6 di 26

7 2. Elaborazione interattiva: è una modalità di funzionamento del S.O. che prevede la possibilità per l utente di interagire con il programma in esecuzione, fornendo dati in input durante l elaborazione. L interazione tra ciascun utente e l elaboratore centrale avviene mediante il videoterminale, che consente l invio di dati e comandi tramite tastiera all elaboratore centrale e la visualizzazione dei risultati ricevuti da quest ultimo sullo schermo. Classificazione dei Sistemi Operativi (in base alle modalità di gestione della CPU) 1. Sistema Operativo monoprogrammato: è un S.O. in grado di gestire l esecuzione di un programma utente alla volta, il che lo rende un software non molto complesso. Solo al termine dell esecuzione di un programma, l utente potrà lanciarne un altro. Un classico esempio di S.O. monoprogrammato è l MS-DOS (MicroSoft-Disk Operating System), divenuto oramai obsoleto. In figura sotto è possibile vedere il contenuto della memoria nel caso di utilizzo di un S.O. monoprogrammato. memoria RAM Sistema Operativo Programma utente 2. Sistema Operativo multiprogrammato: è un S.O. in grado di caricare in memoria più programmi utente contemporaneamente e di ripartire fra questi l uso delle risorse. Questi S.O. migliorano nettamente le prestazioni del sistema sfruttando i tempi morti della CPU dovuti alle operazioni di Input/Output, cioè in pratica quando un programma in esecuzione ha la necessità di svolgere una operazione di I/O, la CPU anziché restare senza far nulla in attesa del termine di questa operazione, viene assegnata ad un altro programma che deve essere eseguito, qualora quest ultimo dovesse effettuare anch esso una operazione di I/O, l utilizzo della CPU ritornerebbe al programma che precedentemente era stato sospeso. Con una politica di Pagina 7 di 26

8 gestione di questo tipo si cerca di tenere il più possibile la CPU al lavoro (tempo di attività %CPU molto elevato). La sensazione dell utente è che il sistema stia eseguendo più programmi contemporaneamente, mentre in realtà è grazie alla velocità di esecuzione della CPU che passa da un programma all altro, quindi in un dato istante è in esecuzione un solo programma. In figura sotto è possibile vedere il contenuto della memoria nel caso di utilizzo di un S.O. multiprogrammato. memoria RAM Sistema Operativo Programma utente 1 Programma utente 2 Programma utente 3 Nell immagine sotto è possibile vedere un grafico che illustra l utilizzo della CPU rispetto al tempo in un S.O. monoprogrammato. Pagina 8 di 26

9 Nell immagine sotto è possibile vedere un grafico che illustra l utilizzo della CPU rispetto al tempo in un S.O. multiprogrammato. I vantaggi dei S.O. multiprogrammati sono: Esecuzione di più programmi contemporanemante; Migliore gestione delle risorse; Gli svantaggi sono: Maggiore complessita del S.O.; Uso di algoritmi specifici per la gestione delle risorse: CPU, memoria e dipositivi di I/O; In un S.O. multiprogrammato, quando un programma in esecuzione richiede di svolgere una operazione di I/O, la CPU viene liberata dal compito di gestione di tale operazione grazie all utilizzo degli Elaboratori di Canale, i quali si preoccupano di gestire l intero processo di I/O svincolando la CPU e consentendole quindi di dedicarsi all esecuzione di altri programmi. 3. Sistema Operativo time-sharing I S.O. multiprogrammati così come descritti sopra presentano un grosso problema, cioè nel caso in cui un programma è in possesso della CPU e non necessita mai di fare operazioni di I/O continua a mantenerne il possesso in modo esclusivo, non consentendo agli altri programmi presenti in memoria di poter avanzare nell esecuzione. Per ovviare a questo problema sono stati introdotti i S.O. multi Pagina 9 di 26

10 programmati in Time-Sharing, cioè a condivisione di tempo, in pratica il S.O. assegna la CPU a ciascun programma per un quanto di tempo predefinito chiamato time slice terminato il quale il S.O. toglie la CPU al programma che ha terminato il suo quanto di tempo e la assegna al prossimo che ne ha diritto. Con un meccanismo di gestione della CPU di questo tipo si ha l impressione che tutti i programmi lanciati si eseguono contemporaneamente. Windows è un S.O. time-sharing monoutente, mentre Linux è un S.O. time-sharing multiutente. 4. Sistema Operativo distribuito I S.O. distribuiti consentono di utilizzare più CPU connesse tra di loro come se si trattasse di un unico sistema di elaborazione, al quale ci si può connettere da qualsiasi punto. Ogni CPU aumenta le capacità di calcolo del sistema e può accadere che un programma sia in esecuzione su più processori contemporaneamente. 5. Sistema Operativo realtime I S.O. realtime sono utilizzati specificamente in applicazioni industriali e nel controllo di processo, ovvero in tutte quelle situazioni in cui è necessaria una rapidissima valutazione degli input ed una relativa risposta in uscita in modo tale da controllare in tempo reale l avanzamento di un processo automatizzato dal computer. 6. Sistema Operativo dedicato o transazionale Sono S.O. utilizzati per specifiche applicazioni e quindi diversi dai classici S.O. che permettono l utilizzo dell elaboratore per qualsiasi necessità dell utente mediante l uso del programma specifico. Il Nucleo di un Sistema Operativo Il Nucleo del S.O. si occupa principalmente di: 1. Mantenere aggiornato lo stato del processore (libero/occupato) 2. Decidere a quale processo assegnare il processore secondo una specifica politica di gestione 3. Assegnare il processore al processo scelto 4. Riprendere il controllo del processore quando il processo è terminato o sospeso oppure è terminato il quanto di tempo di CPU spettante Il Nucleo di un S.O. si compone dei seguenti programmi: Pagina 10 di 26

11 1. Lo schedulatore dei lavori (Scheduler a lungo termine) 2. Lo schedulatore dei processi (Scheduler a breve termine) 3. Il controllore del traffico (Dispatcher) 4. Il gestore delle interruzioni 5. Le procedure di sincronizzazione e comunicazione tra processi In ogni istante un programma che deve essere eseguito dal sistema, può trovarsi in uno degli stati descritti dal seguente diagramma, che indica in quello specifico momento a che punto dell intero processo di esecuzione si trova il programma. A ciascuno stato corrisponde una specifica situazione in cui si può trovare un processo ed in particolare: HOLD: indica che l utente ha chiesto al sistema l esecuzione di un programma presente su memoria di massa (ad esempio con un doppio click sull icona nel caso di windows); READY: indica che il S.O. ha caricato in memoria RAM il programma che deve essere eseguito, quindi è pronto per l esecuzione; RUN: indica che il processo è in esecuzione da parte della CPU, è chiaro che in un sistema dotato di un solo processore, un solo processo potrà trovarsi in questo stato in un determinato momento; WAIT: indica che il processo è in attesa del completamento di una operazione di Input/Output; Pagina 11 di 26

12 END: indica che il processo di esecuzione è terminato. Esaminiamo ora in corrispondenza di quali eventi avvengono le transizioni tra gli stati del diagramma: Transizione 1: avviene quando lo schedulatore dei lavori (scheduler a medio termine) decide di caricare in memoria RAM un programma scelto tra quelli che si trovano nella lista dei processi in stato di Hold, in questo caso viene rimosso il JCB dalla lista di Hold e viene creato un PCB del processo e aggiunto in coda alla lista di Ready; Transizione 2: avviene quando lo schedulatore dei processi (scheduler a breve termine) decide di assegnare la CPU al processo scelto fra quelli presenti nella lista di Ready, in questo caso viene rimosso il PCB dalla lista di Ready e viene aggiunto alla lista di Run; Transizione 3: avviene quando un processo in esecuzione (stato RUN) chiede di svolgere una operazione di Input/Output, in questo caso viene rimosso il PCB dalla lista di Run e viene aggiunto in coda alla lista di Wait; Transizione 4: avviene quando un processo in esecuzione (stato RUN) termina il quanto di tempo di CPU assegnatogli (time slice) e quindi torna nello stato di Ready, in questo caso viene rimosso il PCB dalla lista di Run e viene aggiunto in coda alla lista dei processi nello stato di Ready; Transizione 5: avviene quando un processo in attesa (stato WAIT) termina di svolgere una operazione di Input/Output e quindi diventa pronto per continuare l esecuzione, in questo caso viene rimosso il PCB dalla lista di Wait e viene aggiunto in coda alla lista dei processi nello stato di Ready; Transizione 6: avviene quando un processo in fase di avanzamento (stato RUN) termina l esecuzione. Sia il JCB che il PCB sono strutture dati (tipicamente dei Record) che contengono informazioni specifiche sul programma/processo ed in particolare: 1. Il JCB (Job Control Block) contiene le seguenti informazioni: a. L identificativo del programma b. La dimensione in Kbyte c. L indirizzo di caricamenti da memoria di massa d. Gli identificatori delle periferiche e. Il puntatore al JCB successivo Pagina 12 di 26

13 2. Il PCB (Process Control Block) contiene le seguenti informazioni: a. L identificatore del processo (PID) b. L identificatore del padre, il puntatore al suo PCB c. Il puntatore alla lista dei figli d. Lo stato in cui si trova: RUN, READY, WAIT, ecc. e. Il registro di salvataggio f. L indirizzo di caricamento in memoria centrale g. Gli identificatori delle periferiche h. I file aperti La figura sotto riporta una ipotetica situazione delle liste dei processi in stato di HOLD e di READY, evidenziando cosa accade quando un processo transita da uno stato all altro: Guardando la figura sopra è possibile notare che, in corrispondenza della transizione 1: da stato di HOLD a stato di READY, il JCB del programma viene eliminato dalla lista HOLD ed il PCB del processo corrispondente viene aggiunto in coda alla lista READY. Pagina 13 di 26

14 Algoritmi di scheduling Lo schedulatore a lungo termine (Job Scheduler) nello scegliere quale programma, tra quelli presenti nella coda di HOLD, caricare in RAM e quindi far diventare processo (con relativo inserimento nella coda di READY), può adottare uno dei seguenti algoritmi: 1. FIFO (First In First Out): I lavori vengono prelevati dalla lista di HOLD secondo l ordine di arrivo e vengono inseriti nella coda di READY, si tratta di una politica semplice ma che non ottimizza al meglio la gestione delle risorse; 2. Priorità statica: ad ogni lavoro presente nella lista di HOLD viene assegnato un livello di priorità in base all importanza della sua esecuzione, in questo modo il job scheduler sceglierà di caricare in memoria il programma con il livello di priorità più elevato presente nel JCB, nel caso di uguale priorità si adotta il metodo FIFO; 3. Priorità dinamica: per evitare di privilegiare sempre gli stessi programmi dotati di priorità più elevata, il S.O. aumenta il valore della priorità dei programmi in funzione del tempo di permanenza nella lista di HOLD. Per attuare questa politica, bisogna memorizzare nel JCB il tempo di inserimento in coda del programma. Lo schedulatore a breve termine (Process Scheduler) nello scegliere a quale processo assegnare la CPU tra quelli presenti nella coda di READY deve rispettare dei criteri generali quali: imparzialità, efficienza, risposta in tempo reale, turnaround time minimizzato, throughput massimizzato e fairness. Gli algoritmi che può adottare lo Job Scheduler possono essere: non preemptive e preemptive in dipendenza del fatto di lasciare la CPU assegnata ad un processo fin quando termina o chiede di svolgere una operazione di I/O oppure di toglierla anche durante la sua esecuzione. Algoritmi di scheduling non preemptive: 1. FCFS (First Come First Served): la CPU viene assegnata al primo processo presente nella coda di READY e così via. Tale politica ha un tempo medio di attesa abbastanza lungo e non privilegia i processi brevi; 2. SJF (Shortest Job First): la CPU viene assegnata al processo che ha il più breve tempo di utilizzo della CPU prima di una operazione di I/O. Il problema di questa politica è che dei tempi di esecuzione è possibile fare solo una stima. Pagina 14 di 26

15 3. Scheduling con priorità: in questo caso viene associata una priorità ad ogni processo presente nella coda di READY, il processo scelto per l assegnazione della CPU è quello con priorità più elevata. La priorità può essere calcolata tenendo conto sia del tempo di esecuzione che di quello di permanenza all interno della coda di READY, quindi: à= + in questo modo si privilegiano i processi brevi e quelli che attendono da più tempo. Algoritmi di scheduling preemptive: 1. Round Robin: la CPU viene assegnata a turno per un quanto di tempo (time slice) a ciascuno dei processi della coda di READY secondo l ordine di arrivo, quindi con una gestione di tipo FIFO. Qualunque processo che si trova a transitare da uno stato a quello di READY verrà inserito in coda. 2. Round Robin a percentuale di tempo: il round robin tradizionale rischia di penalizzare fortemente i processi che fanno spesso operazioni di I/O, dato che al termine questi vengono inseriti in coda alla lista dei processi READY, indipendentemente dal fatto di aver sfruttato in tutto o in parte il loro time slice prima dell inizio dell I/O. Il RR a percentuale di tempo, invece, tiene conto del tempo di time slice sfruttato dal processo prima dell operazione di I/O, facendolo rientrare nella coda di READY in una posizione tanto più avanzata quanto più bassa è stata la percentuale di time slice consumata precedentemente. 3. Round Robin limitato: fissato un certo numero N di time slice, si utilizza l algoritmo di RR tradizionale fino a quando un processo non consuma i suoi N time slice, dopodiché viene inserito in un altra coda che verrà presa in considerazione solamente quanto tutti i processi avranno usufruito dei loro N time slice. 4. Priorità statica: ad ogni processo viene attribuita una priorità, per esempio in base al tempo di esecuzione stimato, lo scheduler terrà conto di questo valore per inserire i processi in coda. Pagina 15 di 26

16 5. Priorità dinamica: il S.O. modifica la priorità sulla base del tempo di utilizzo della CPU, per esempio in base al fatto che il processo ha sfruttato o meno interamente il suo time slice. L assegnazione della CPU a un nuovo processo comporta il salvataggio del PCB del vecchio processo, la scelta del processo a cui assegnare la CPU ed il caricamento del suo PCB. Il tempo impiegato per il cambio di contesto è chiamato overhead di sistema e deve essere minimizzato. Gli Interrupt L interrupt è il meccanismo mediante il quale vengono comunicati alla CPU alcuni eventi ben precisi, ad esempio lo scadere di un time slice, un errore in un programma, ecc. Un interrupt hardware è un segnale che viene inviato da un dispositivo di I/O alla CPU. Un interrupt software è invocato da un processo attraverso specifiche istruzioni per richiedere al S.O. di svolgere una operazione di I/O. La CPU fin dall accensione svolge il ciclo istruzione, che le consente di eseguire una istruzione di un programma, ma che ripetuto ciclicamente consente di eseguire interi programmi. Il ciclo istruzione si compone delle seguenti fasi: 1. ripeti 2. se non c è stato un interrupt allora 3. fetch (preleva l istruzione dalla memoria) 3. decode (decodifica l istruzione caricata) 4. execute (esegue l istruzione) 5. altrimenti 6. eseguire routine di interrupt 7. finché non viene spento il sistema La commutazione dell esecuzione dal programma corrente alla routine di servizio dell interruzione comporta le seguenti operazioni: Salvataggio dello stato del programma corrente nel suo PCB in memoria RAM; Esecuzione della routine di servizio dell interrupt; Pagina 16 di 26

17 Ripristino delle informazioni sullo stato del programma precedentemente interrotto, prelevate dal PCB presente in memoria RAM; I principali tipi di interruzioni sono: 1. Hardware interrupt: causata da malfunzionamento o guasto hardware; 2. Supervisor call interrupt: chiamata da un modulo supervisore per una richiesta di I/O; 3. Program interrupt: istruzione non valida, overflow, violazione delle aree di memoria protette; 4. External interrupt: causata dalla fine del time slice o dalla pressione dei tasti CTRL+C; 5. I/O interrupt: in caso di comando di I/O errato, canale o dispositivo non correttamente connesso. Interrupt multipli Può accadere che mentre la CPU sta eseguendo una routine di servizio dell interruzione arrivi un altra richiesta di interruzione, la scelta se continuare l esecuzione della routine in corso oppure sospenderla e dedicarsi all esecuzione della routine di servizio della nuova interruzione giunta può essere fatta basandosi su un meccanismo a priorità, in questo modo solo se la nuova richiesta di interruzione ha una priorità più elevata di quella in corso, quella attuale verrà sospesa e la gestione passerà a quella nuova, altrimenti la nuova richiesta di interrupt verrà gestita solo al termine di quella corrente. E anche possibile effettuare il mascheramento di un interrupt, andando a resettare o a settare il bit corrispondente del registro delle interruzioni. Per quanto riguarda la tecnica che permette di sapere in caso di più richieste in contemporanea quale dispositivo ha fatto richiesta, è possibile adottarne una fra le seguenti: 1. Interruzioni vettorizzate: in questo caso la periferica che ha generato l interrupt genera anche un codice che consente alla CPU di identificare direttamente il dispositivo e attivare la corrispondente routine di servizio dell interruzione; 2. Ciclo di polling: i dispositivi che hanno generato un interrupt settano un opportuno flag, che esaminato dalla CPU tramite una interrogazione ciclica di Pagina 17 di 26

18 tutti i flag delle periferiche, consente di capire chi ha fatto richiesta e quindi di attivare la corrispondente routine di servizio dell interruzione. Il Gestore della Memoria centrale di un Sistema Operativo Un programma per poter essere eseguito dalla CPU deve prima essere caricato in memoria RAM. Lo spazio di memoria occupato da un programma è composto dalla zona dati (variabili del programma) e dalla zona istruzioni (i codici macchina eseguibili) che insieme formano il cosiddetto spazio degli indirizzi del programma. Può accadere che un programma durante la sua esecuzione venga più volte caricato in RAM dalla memoria di massa (swap in) e viceversa (swap out), il che comporta che ad ogni caricamento andrà ad occupare indirizzi di memoria differenti. Possiamo distinguere i seguenti tipi di indirizzi: 1. Indirizzo simbolico: l utilizzo del nome di una variabile nel caso di assegnazione di un valore, sia in linguaggio ad alto livello che in linguaggio assembly è un esempio di indirizzo simbolico; 2. Indirizzo logico: si tratta di un indirizzo numerico ma che non corrisponde all indirizzo fisico della locazione di memoria cui effettivamente farà riferimento il programma durante la sua esecuzione; 3. Indirizzo virtuale: si tratta ancora di riferimenti logici che dovranno essere trasformati nei reali indirizzi fisici nel momento in cui il programma verrà caricato in RAM; 4. Indirizzo fisico: sono i reali indirizzi di memoria RAM. La trasformazione degli indirizzi logico-virtuali in indirizzi fisici durante l esecuzione del programma, viene svolta da un circuito hardware dedicato presente internamente alla CPU chiamato MMU (Memory Management Unit). La rilocazione consiste nell andare, all atto del caricamento in Ram del programma da eseguire, a trasformare gli indirizzi logici in indirizzi fisici. La rilocazione può essere di tipo: 1. Statica: se all atto del caricamento in RAM del programma tutti gli indirizzi logici vengono trasformati in fisici. Questa operazione richiede un tempo di preparazione iniziale del programma elevato e ne vincola il funzionamento Pagina 18 di 26

19 solo a quella porzione di memoria usata per l allocazione. Tipicamente usato nei S.O. mono task; 2. Dinamica: in questo caso il calcolo dell indirizzo fisico viene effettuato solo in corso di esecuzione del programma, ciò significa che tutti gli indirizzi cui esso fa riferimento all atto del caricamento in RAM vengono lasciati inalterati, in pratica restano indirizzi logico-virtuali. Il gestore della memoria del S.O. svolge i seguenti compiti: 1. Tiene traccia di quali intervalli di indirizzi corrispondono ad aree di memoria libere o occupate; 2. Assegna la memoria centrale ai processi che ne fanno richiesta; 3. Gestisce le operazioni di swap-in e swap-out secondo opportune politiche di gestione; 4. Recupera la memoria centrale al termine di un processo. Tecniche di gestione della memoria 1. Allocazione a singola partizione: è una tecnica utilizzata nei S.O. monoprogrammati che prevede di utilizzare la parte di memoria RAM non occupata dal S.O. per allocarvi il programma utente. Il meccanismo di protezione è realizzato tramite l uso di un registro limite che contiene l indirizzo di memoria al di sotto del quale il programma utente non deve accedere per non invadere la porzione di RAM dedicata al sistema operativo. In questo modo se la RAM libera è grande rispetto alla dimensione del programma in esecuzione si ha uno spreco di memoria, se risulta troppo piccola per contenerlo il programma non può essere caricato ed andare in esecuzione, in pratica quindi una tecnica che non ottimizza la gestione della risorsa memoria centrale. 2. Allocazione a partizioni multiple: è una tecnica usata nei S.O. multiprogrammati e si basa sulla suddivisione dello spazio RAM disponibile in più partizioni, dove ogni partizione potrà ospitare un programma permettendo così la multiprogrammazione. Il gestore della memoria deve tenere traccia delle partizioni libere e di quelle occupate, come pure deve attuare il meccanismo di protezione che impedisce ad un processo di accedere ad indirizzi di memoria esterni alla propria partizione. Pagina 19 di 26

20 2.1. Partizioni multiple statiche: in questo caso la dimensione delle partizioni è fissata in anticipo dal sistemista che stabilisce per ottimizzarne lo sfruttamento partizioni di dimensioni differenti, cioè piccole, medie e grandi in modo tale da poter soddisfare le esigenze dei vari programmi. Questa tecnica genera una frammentazione degli spazi residui di ciascuna partizione che impedisce l allocazione di altri programmi la cui occupazione sarebbe inferiore allo spazio libero totale. Nella figura seguente è visibile la tabella di gestione della partizioni. Nella figura seguente è possibile vedere un esempio di occupazione della memoria con la relativa tabella delle partizioni Partizioni multiple dinamiche: questa tecnica consiste nel non definire in anticipo la dimensione delle partizioni, in modo tale da allocare una partizione delle esatte dimensioni necessarie al programma da eseguire. Pagina 20 di 26

40. Le transizioni fra stati Lo schema di transizione fra stati può essere rappresentato graficamente nel modo seguente :

40. Le transizioni fra stati Lo schema di transizione fra stati può essere rappresentato graficamente nel modo seguente : 32. Il Sistema Operativo : definizione e struttura Il SO è un insieme di programmi le cui funzioni principali sono costituire un interfaccia tra la macchina e l utente e gestire in modo ottimale le risorse

Dettagli

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Un sistema operativo è un insieme di programmi che consentono ad un utente di INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli

Dettagli

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore. I processi Cos è un processo? Un processo è una attività, controllata da un programma, che si svolge su un processore. Il programma è una entità statica che descrive la sequenza di istruzioni che devono

Dettagli

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione Introduzione Fondamenti di Informatica: Sistemi Operativi 1 Elaboratori necessitano di SOFTWARE SOFTWARE DI SISTEMA (SISTEMI OPERATIVI): fanno funzionare le varie componenti del computer e permettono all

Dettagli

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!!

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! Buona lezione a tutti!! La dispensa è disponibile per tutti sul sito personale del Prof Simone al link: www.ascuoladi.135.it nella pagina programmazione, sezione 5Dx Indice degli argomenti del s.o. Software

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 3 Martedì 15-10-2013 1 Struttura ed organizzazione software dei sistemi

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Sistemi Operativi Kernel

Sistemi Operativi Kernel Approfondimento Sistemi Operativi Kernel Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni

Dettagli

LA GESTIONE DELLA MEMORIA

LA GESTIONE DELLA MEMORIA LA GESTIONE DELLA MEMORIA Ambiente Monoprogrammato (monoprogrammazione) In ambiente monoprogrammato é possibile far girare un solo programma per volta. Tutte le risorse sono dedicate all unico programma

Dettagli

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007 2007 SISTEMI OPERATIVI Gestione della memoria Domande di verifica Luca Orrù Centro Multimediale Montiferru 18/06/2007 Gestione della memoria 1. Si descriva il concetto di memoria virtuale (esame del 19-06-2006)

Dettagli

Il supporto al Sistema Operativo

Il supporto al Sistema Operativo Il supporto al Sistema Operativo Obiettivi e funzioni del S.O. Il Sistema Operativo è il software che controlla l esecuzione dei programmi e amministra le risorse del sistema. Ha due obiettivi principali:

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Processo - generalità

Processo - generalità I processi Processo - generalità Astrazione di un attività; Entità attiva che ha un suo percorso evolutivo; Attività = azione dedicata al raggiungimento di uno scopo Il processo esegue istruzioni per svolgere

Dettagli

Il software. la parte contro cui si può solo imprecare. Il software

Il software. la parte contro cui si può solo imprecare. Il software Il software la parte contro cui si può solo imprecare Il software L hardware da solo non è sufficiente per il funzionamento dell elaboratore ma è necessario introdurre il software ovvero un insieme di

Dettagli

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione SISTEMI OPERATIVI (parte prima - gestione dei processi) Tra i compiti di un sistema operativo sicuramente troviamo i seguenti: Gestione dei processi Gestione della memoria Gestione del file-system Ci occuperemo

Dettagli

La gestione della memoria

La gestione della memoria La gestione della memoria Nella gestione della memoria il sistema operativo deve perseguire l'obiettivo di allocare il maggior numero di processi in memoria centrale per aumentare la probabilità che ci

Dettagli

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Secondo biennio Articolazione Informatica TPSIT Prova Quarta Sistema operativo: gestione memoria centrale La Memoria Virtuale consente di superare i limiti della Memoria Centrale : A. no B. a volte C. si, ma non sempre e' adeguata D. si, attraverso tecniche di gestione

Dettagli

Lo schedulatore del kernel

Lo schedulatore del kernel Lo schedulatore del kernel Lo schedulatore Lo schedulatore è un programma del kernel che si occupa di scegliere un processo/lavoro che ha richiesto una risorsa. Lo schedulatore a lungo termine LTS è quello

Dettagli

SISTEMI OPERATIVI. Gestione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 13/05/2007

SISTEMI OPERATIVI. Gestione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 13/05/2007 2007 SISTEMI OPERATIVI Gestione dei processi Domande di verifica Luca Orrù Centro Multimediale Montiferru 13/05/2007 Gestione dei processi 1. Qual è la differenza tra un programma e un processo? Un programma

Dettagli

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base) Sistema Operativo (Software di base) Il Sistema Operativo Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei dati attraverso

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Il software Dipartimento di Ingegneria dell Informazione Universitàdegli Studi di Parma SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 3-Schedulazione 1 Prerequisiti Concetto di media Concetto di varianza 2 1 Introduzione Come sappiamo, l assegnazione della CPU ai processi viene gestita dal nucleo, attraverso

Dettagli

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. I Sistemi Operativi Il Software di Base Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. Il sistema operativo è il gestore di tutte le risorse

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Il software di base Software

Dettagli

boot loader partizioni boot sector

boot loader partizioni boot sector IL SISTEMA OPERATIVO Il sistema operativo (S.O.) è un software che fa da interfaccia tra l uomo e l hardware, mettendo a disposizione un ambiente per eseguire i programmi applicativi. Grazie al S.O. un

Dettagli

Sistemi Operativi. 5 Gestione della memoria

Sistemi Operativi. 5 Gestione della memoria Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

Sistema Operativo Compilatore

Sistema Operativo Compilatore MASTER Information Technology Excellence Road (I.T.E.R.) Sistema Operativo Compilatore Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Il Sistema

Dettagli

IL SISTEMA OPERATIVO

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO... è l insieme dei programmi che rende agevole l uso dell hardware, mascherando le caratteristiche delle risorse fisiche (interfaccia) gestisce le risorse fisiche ottimizzandone l

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi a.a. 2010/2011 Francesco Fontanella Il Sistema Operativo Sistema Operativo 2 Il Sistema Operativo Il Sistema Operativo è uno strato

Dettagli

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! SISTEMI OPERATIVI

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! SISTEMI OPERATIVI Buona lezione a tutti!! SISTEMI OPERATIVI Gli appunti sono disponibili per tutti gratis sul sito personale del Prof M. Simone al link: www.ascuoladi.135.it nella pagina web programmazione, sezione classi

Dettagli

Cosa è un Sistema Operativo (S.O.)

Cosa è un Sistema Operativo (S.O.) Cosa è un Sistema Operativo (S.O.) Modulo software costituito da un insieme di programmi per: permettere all utente l uso dell elaboratore senza la conoscenza approfondita dell hardware S.O. supporto all

Dettagli

Funzioni del Sistema Operativo

Funzioni del Sistema Operativo Il Software I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (ferramenta). La struttura del calcolatore può essere schematizzata come una serie di

Dettagli

Infrastrutture Software

Infrastrutture Software Infrastrutture Software I componenti fisici di un sistema informatico sono resi accessibili agli utenti attraverso un complesso di strumenti software finalizzati all utilizzo dell architettura. Si tratta

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Cos è un Sistema Operativo? Per capirlo, immaginiamo inizialmente

Dettagli

Sistemi Operativi. Scheduling dei processi

Sistemi Operativi. Scheduling dei processi Sistemi Operativi Scheduling dei processi Scheduling dei processi Se più processi sono eseguibili in un certo istante il sistema deve decidere quale eseguire per primo La parte del sistema operativo che

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Il Sistema Operativo Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela Fogli Cos

Dettagli

1. I dispositivi periferici

1. I dispositivi periferici La gestione dell I/O 1. I dispositivi periferici Un ulteriore aspetto fondamentale del SO è la gestione dei dispositivi periferici (periferiche) Dal punto di vista del sistema operativo per periferiche

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

Il Software Il sistema Operativo Il processo Lo scheduler dei processi Il S. O. e l utenza Le modalità di elaborazione

Il Software Il sistema Operativo Il processo Lo scheduler dei processi Il S. O. e l utenza Le modalità di elaborazione Il Software Il sistema Operativo Il processo Lo scheduler dei processi Il S. O. e l utenza Le modalità di elaborazione Nella terminologia informatica esistono due termini che caratterizzano una prima valutazione

Dettagli

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z)

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z) 2011-2012 Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z) 13 Il Software Il sistema Operativo Il processo Lo scheduler dei processi Il S. O. e l utenza

Dettagli

Scheduling della CPU:

Scheduling della CPU: Coda dei processi pronti (ready( queue): Scheduling della CPU primo ultimo PCB i PCB j PCB k contiene i descrittori ( process control block, PCB) dei processi pronti. la strategia di gestione della ready

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Funzioni dei Sistemi Operativi!2 Le funzioni principali del SO Gestire le risorse dell elaboratore

Dettagli

Lo scheduling. Tipici schedulatori

Lo scheduling. Tipici schedulatori Lo scheduling Un processo durante la sua evoluzione è o running o in attesa di un evento. Nel secondo caso trattasi della disponibilità di una risorsa (CPU, I/O, struttura dati, ecc.) di cui il processo

Dettagli

Sistemi Operativi: avvio

Sistemi Operativi: avvio Sistemi Operativi: avvio All avvio del computer, terminate le verifiche del BIOS, il controllo passa al sistema operativo. Il Sistema Operativo opera come intermediario tra l hardware del sistema e uno

Dettagli

Sistemi operativi e reti A.A. 2015-16. Lezione 2

Sistemi operativi e reti A.A. 2015-16. Lezione 2 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 2 Giovedì 8-10-2015 Sistemi batch multiprogrammati La causa principale

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII.UNISI.IT HTTP://WWW.DII.UNISI.IT/~RIGUTINI/

Dettagli

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (DF-M)

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (DF-M) 2009-2010 Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (DF-M) 12 Il Software Il sistema Operativo Il processo Lo scheduler dei processi Il S. O. e l utenza

Dettagli

Sistema Operativo e Applicativi

Sistema Operativo e Applicativi Sistema Operativo e Applicativi Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Software A.A. 2012-2013 1 / 36 Software Conosciamo due classi di software: Programmi

Dettagli

Scheduling Introduzione Tipi di scheduler Scheduler di lungo termine (SLT) Scheduler di medio termine (SMT) Scheduler di breve termine (SBT)

Scheduling Introduzione Tipi di scheduler Scheduler di lungo termine (SLT) Scheduler di medio termine (SMT) Scheduler di breve termine (SBT) Scheduling Introduzione Con scheduling si intende un insieme di tecniche e di meccanismi interni del sistema operativo che amministrano l ordine in cui il lavoro viene svolto. Lo Scheduler è il modulo

Dettagli

CAP. 6: Nucleo del sistema operativo (La gestione dei processi)

CAP. 6: Nucleo del sistema operativo (La gestione dei processi) Struttura interna del sistema operativo Linux CAP. 6: Nucleo del sistema operativo (La gestione dei processi) Architettura del sistema operativo shell Programmi utente Modo utente Interfaccia delle chiamate

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: attivita` di allocazione della risorsa CPU ai processi. Scheduler

Dettagli

Il memory manager. Gestione della memoria centrale

Il memory manager. Gestione della memoria centrale Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda

Dettagli

Obiettivo della multiprogrammazione: massimizzazione dell utilizzo CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi

Obiettivo della multiprogrammazione: massimizzazione dell utilizzo CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi Scheduling della CPU Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo CPU Scheduling della CPU: commuta l uso della CPU tra i vari processi Scheduler della CPU (a

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1

Dettagli

Concetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst

Concetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst Impossibile visualizzare l'immagine. Scheduling della CPU Concetti di base La multiprogrammazione cerca di ottenere la massima utilizzazione della CPU. L esecuzione di un processo consiste in cicli d esecuzione

Dettagli

Software che sovrintende al funzionamento del computer eseguendo compiti diversi:

Software che sovrintende al funzionamento del computer eseguendo compiti diversi: Sistema Operativo dispensa a cura di Alessandro Bellini Software che sovrintende al funzionamento del computer eseguendo compiti diversi: 1. Gestire interazione utente macchina 2. Fornire un interfaccia

Dettagli

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU Il sistema operativo Sistema operativo Gestione della CPU Primi elaboratori: Monoprogrammati: un solo programma in memoria centrale Privi di sistema operativo Gestione dell hardware da parte degli utenti

Dettagli

Gestione della Memoria

Gestione della Memoria Gestione della Memoria Idealmente la memoria dovrebbe essere grande veloce non volatile Gerarchia di memorie Disco: capiente, lento, non volatile ed economico Memoria principale: volatile, mediamente grande,

Dettagli

Lezione 6. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Lezione 6. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. Lezione 6 Sistemi operativi 31 marzo 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 6.1 Di cosa parliamo in questa lezione? La schedulazione 1 e caratteristiche

Dettagli

Il Sistema Operativo Introduzione Gestione dei processi Gestione della memoria Memoria cache (cenni) Informatica B Prof. A.

Il Sistema Operativo Introduzione Gestione dei processi Gestione della memoria Memoria cache (cenni) Informatica B Prof. A. Il Sistema Operativo Introduzione Gestione dei processi Gestione della memoria Memoria cache (cenni) Informatica B Prof. A. Morzenti Il sistema Operativo Il sistema operativo (SO) è uno strato software

Dettagli

Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU

Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU Scheduling della CPU Concetti fondamentali Criteri di scheduling Algoritmi di scheduling Concetti fondamentali L obiettivo della multiprogrammazione è di avere processi sempre in esecuzione al fine di

Dettagli

CAPITOLO 1 I SISTEMI OPERATIVI

CAPITOLO 1 I SISTEMI OPERATIVI CAPITOLO 1 I SISTEMI OPERATIVI Introduzione ai sistemi operativi pag. 3 La shell pag. 3 Tipi di sistemi operativi pag. 4 I servizi del sistema operativo pag. 4 La gestione dei file e il file system Il

Dettagli

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio)

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio) GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio) #include void main (int argc, char *argv[]) { pid = fork(); /* genera nuovo processo */ if (pid < 0) { /* errore */ fprintf(stderr,

Dettagli

DATA: 21-09-08 CLASSE: V a EL. TITOLO: ELABORAZIONE DEL SISTEMA OPERATIVO PER mp0

DATA: 21-09-08 CLASSE: V a EL. TITOLO: ELABORAZIONE DEL SISTEMA OPERATIVO PER mp0 DATA: 21-09-08 CLASSE: V a EL. TITOLO: ELABORAZIONE DEL SISTEMA OPERATIVO PER mp0 nelle lezioni precedenti abbiamo preso in esame tutte le caratteristiche e le funzionalità del microprocessore didattico

Dettagli

Cos e` un Sistema Operativo? Cos è un sistema operativo?

Cos e` un Sistema Operativo? Cos è un sistema operativo? Cos e` un Sistema Operativo? È un programma (o un insieme di programmi) che agisce come intermediario tra l utente e l hardware del computer: fornisce un ambiente di sviluppo e di esecuzione per i programmi

Dettagli

AOT LAB. Software di base. Fondamenti di Informatica. Michele Tomaiuolo. Agent and Object Technology Lab

AOT LAB. Software di base. Fondamenti di Informatica. Michele Tomaiuolo. Agent and Object Technology Lab Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Software di base Michele Tomaiuolo Software di base Con software di

Dettagli

Software di base. Informatica Generale (CdL in E&C), A.A. 2000-2001 2

Software di base. Informatica Generale (CdL in E&C), A.A. 2000-2001 2 Software di base Il sistema operativo, funzioni e strutturazione logica La gestione di PU, memoria e I/O I file e il File System Il sistema operativo DOS Il sistema operativo Windows Software di base (o

Dettagli

La Memoria Virtuale Ottimizzazione della memoria centrale

La Memoria Virtuale Ottimizzazione della memoria centrale La Memoria Virtuale Ottimizzazione della memoria centrale 1) Introduzione- Gerarchia della memoria Da un punto di vista funzionale, ogni dispositivo di memorizzazione elettronica di informazioni presenta

Dettagli

Gli stati di un processo

Gli stati di un processo Roberta Gerboni 1 Gli stati di un processo Gli stati possibili nei quali si può trovare un processo sono: Hold (parcheggio): il programma (chiamato job) è stato proposto al sistema e attende di essere

Dettagli

Processi e Thread. Scheduling (Schedulazione)

Processi e Thread. Scheduling (Schedulazione) Processi e Thread Scheduling (Schedulazione) 1 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L

Dettagli

I SISTEMI OPERATIVI CONCETTI INTRODUTTIVI

I SISTEMI OPERATIVI CONCETTI INTRODUTTIVI I SISTEMI OPERATIVI CONCETTI INTRODUTTIVI Il Software Software di Base Sistema Operativo (Software di base essenziale) Software di base non essenziale Utility Driver Software applicativi (Applicazioni)

Dettagli

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche Sommario Definizione di S. O. Attività del S. O. Struttura del S. O. Il gestore dei processi: lo scheduler Sistemi Mono-Tasking e

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

Corso di Elettronica dei Sistemi Programmabili. Sistemi Operativi Real Time. Introduzione. Aprile 2014 Stefano Salvatori 1/28

Corso di Elettronica dei Sistemi Programmabili. Sistemi Operativi Real Time. Introduzione. Aprile 2014 Stefano Salvatori 1/28 Corso di Elettronica dei Sistemi Programmabili Sistemi Operativi Real Time Introduzione Aprile 2014 Stefano Salvatori 1/28 Sommario Definizioni livelli di astrazione processi di tipo batch e processi interattivi

Dettagli

Calcolo numerico e programmazione. Sistemi operativi

Calcolo numerico e programmazione. Sistemi operativi Calcolo numerico e programmazione Sistemi operativi Tullio Facchinetti 25 maggio 2012 13:47 http://robot.unipv.it/toolleeo Sistemi operativi insieme di programmi che rendono

Dettagli

Introduzione all Informatica

Introduzione all Informatica Lezione 3 Davide Di Ruscio Alfonso Pierantonio Dipartimento di Informatica Università degli Studi dell Aquila Università degli Studi dell Aquila alfonso@di.univaq.it diruscio@di.univaq.it. Sommario 2 2»

Dettagli

CAP. 4: Aspetti generali del Sistema Operativo Linux. l http://home.dei.polimi.it/silvano/acso.htm

CAP. 4: Aspetti generali del Sistema Operativo Linux. l http://home.dei.polimi.it/silvano/acso.htm Struttura interna del sistema Operativo Linux CAP. 4: Aspetti generali del Sistema Operativo Linux CAP. 5: Funzionalità del calcolatore l http://home.dei.polimi.it/silvano/acso.htm Funzionalità del Sistema

Dettagli

Informatica e Bioinformatica: Sistemi Operativi

Informatica e Bioinformatica: Sistemi Operativi Informatica e Bioinformatica: Sistemi Operativi 11 marzo 2013 Macchina Hardware/Software Sistema Operativo Macchina Hardware La macchina hardware corrisponde alle componenti fisiche del calcolatore (quelle

Dettagli

Sistemi Operativi ELEMENTI DI INFORMATICA CORSO DI. (Slide realizzate da Riccardo Lancellotti e Sara Casolari e integrate da Alberto Setti) 1 di 95

Sistemi Operativi ELEMENTI DI INFORMATICA CORSO DI. (Slide realizzate da Riccardo Lancellotti e Sara Casolari e integrate da Alberto Setti) 1 di 95 CORSO DI ELEMENTI DI INFORMATICA (Slide realizzate da Riccardo Lancellotti e Sara Casolari e integrate da Alberto Setti) 1 di 95 Sistemi Operativi 2 di 95 1 Modulo 0: Riprendiamo qualche concetto 3 di

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU

Sistemi Operativi SCHEDULING DELLA CPU Sistemi Operativi SCHEDULING DELLA CPU Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling

Dettagli

Scheduling della CPU. Contenuti delle lezioni del 23 e del 26 Marzo 2009. Sequenza alternata di CPU burst e di I/O burst.

Scheduling della CPU. Contenuti delle lezioni del 23 e del 26 Marzo 2009. Sequenza alternata di CPU burst e di I/O burst. Contenuti delle lezioni del 23 e del 26 Marzo 2009 Scheduling della CPU Introduzione allo scheduling della CPU Descrizione di vari algoritmi di scheduling della CPU Analisi dei criteri di valutazione nella

Dettagli

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi Evoluzione dei sistemi operativi (4) Sistemi multiprogrammati! più programmi sono caricati in contemporaneamente, e l elaborazione passa periodicamente dall uno all altro Evoluzione dei sistemi operativi

Dettagli

Come funziona un sistema di elaborazione

Come funziona un sistema di elaborazione Introduzione Cosa è un Sistema Sste aoperativo? Come funziona un sistema di elaborazione Proprietà dei Sistemi Operativi Storia dei Sistemi di Elaborazione Sistemi Mainframe Sistemi Desktop Sistemi i Multiprocessori

Dettagli

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano scheduling Riedizione modifi cata delle slide della Prof. DI Stefano 1 Scheduling Alternanza di CPU burst e periodi di I/O wait a) processo CPU-bound b) processo I/O bound 2 CPU Scheduler Seleziona uno

Dettagli

INTERFACCIA UTENTE----------------------------------------------------------------------------------------------------

INTERFACCIA UTENTE---------------------------------------------------------------------------------------------------- IL FILE SYSTEM PROF. ANTONIO TUFANO Indice 1 FILE SYSTEM ------------------------------------------------------------------------------------------------------------------ 3 1.1. CARATTERISTICHE E STORIA

Dettagli

PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE

PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE

Dettagli

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Il Sistema Operativo Gerarchia del software

Dettagli

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO IL SOFTWARE L HARDWARE da solo non è sufficiente a far funzionare un computer Servono dei PROGRAMMI (SOFTWARE) per: o Far interagire, mettere in comunicazione, le varie componenti hardware tra loro o Sfruttare

Dettagli

Processi. Laboratorio Software 2008-2009 C. Brandolese

Processi. Laboratorio Software 2008-2009 C. Brandolese Processi Laboratorio Software 2008-2009 Introduzione I calcolatori svolgono operazioni simultaneamente Esempio Compilazione di un programma Invio di un file ad una stampante Visualizzazione di una pagina

Dettagli

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Introduzione: 1. Principi di base dei sistemi operativi 2. Sistemi

Dettagli

Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari. Copyright 2005 The McGraw-Hill Companies srl

Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari. Copyright 2005 The McGraw-Hill Companies srl Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precision; anywhere, anytime; affidabilità,

Dettagli

Scheduling. Lo scheduler è la parte del SO che si occupa di

Scheduling. Lo scheduler è la parte del SO che si occupa di Scheduling Lo scheduler è la parte del SO che si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L algoritmo di scheduling (la politica utilizzata dallo scheduler) ha impatto

Dettagli

Lezione 5: Software. Firmware Sistema Operativo. Introduzione all'informatica - corso E

Lezione 5: Software. Firmware Sistema Operativo. Introduzione all'informatica - corso E Lezione 5: Software Firmware Sistema Operativo Architettura del Calcolatore La prima decomposizione di un calcolatore è relativa a due macrocomponenti: Hardware e Software Firmware: strato di (micro-)programmi

Dettagli