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

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

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

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

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

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

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

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

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

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

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

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

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

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

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

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

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

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

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

Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base

Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base Scheduling Sistemi Operativi e Distribuiti A.A. 2-25 Bellettini - Maggiorini Concetti di base Il massimo utilizzo della CPU si ottiene mediante la multiprogrammazione Ogni processo si alterna su due fasi

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

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

Sistemi operativi. Esempi di sistemi operativi

Sistemi operativi. Esempi di sistemi operativi Sistemi operativi Un sistema operativo è un programma che facilita la gestione di un computer Si occupa della gestione di tutto il sistema permettendo l interazione con l utente In particolare un sistema

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

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

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

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09 SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli

Dettagli

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

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

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1 SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

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

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

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

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

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

La Gestione delle risorse Renato Agati

La Gestione delle risorse Renato Agati Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File

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

Varie tipologie di memoria

Varie tipologie di memoria Varie tipologie di memoria velocita` capacita` registri CPU memoria cache memoria secondaria (Hard Disk) Gestione della memoria Una parte della viene riservata per il SO I programmi per poter essere eseguiti

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

SCHEDULATORI DI PROCESSO

SCHEDULATORI DI PROCESSO Indice 5 SCHEDULATORI DI PROCESSO...1 5.1 Schedulatore Round Robin...1 5.2 Schedulatore a priorità...2 5.2.1 Schedulatore a code multiple...3 5.3 Schedulatore Shortest Job First...3 i 5 SCHEDULATORI DI

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 Software. Il software del PC. Il BIOS

Il Software. Il software del PC. Il BIOS Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

Informatica: il sistema operativo

Informatica: il sistema operativo pierpaolo.vittorini@cc.univaq.it Università degli Studi dell Aquila Facoltà di Medicina e Chirurgia 6 ottobre 2006 Il software Il software è l insieme dei programmi che operano sul calcolatore Software

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

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

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

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

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

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

Pronto Esecuzione Attesa Terminazione

Pronto Esecuzione Attesa Terminazione Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi 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

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

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

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

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

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

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

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

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

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

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata

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

Sistemi Operativi (modulo di Informatica II) I processi

Sistemi Operativi (modulo di Informatica II) I processi Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Il concetto di processo Schedulazione dei processi e cambio di contesto

Dettagli

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa Raccolta prove scritte Realizzare una classe thread Processo che deve effettuare un numero fissato di letture da una memoria

Dettagli

Le Infrastrutture Software ed il Sistema Operativo

Le Infrastrutture Software ed il Sistema Operativo Le Infrastrutture Software ed il Sistema Operativo Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Il Sistema Operativo (S0) (Inf.) E' l'insieme dei programmi che consentono

Dettagli

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE 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

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1 GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 : Un Sistema Operativo è un insieme complesso di programmi che, interagendo tra loro, devono svolgere una serie di funzioni per gestire il comportamento del computer e per agire come intermediario consentendo

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

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 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

Dettagli

5-1 FILE: CREAZIONE NUOVO DOCUMENTO

5-1 FILE: CREAZIONE NUOVO DOCUMENTO Capittol lo 5 File 5-1 FILE: CREAZIONE NUOVO DOCUMENTO In Word è possibile creare documenti completamente nuovi oppure risparmiare tempo utilizzando autocomposizioni o modelli, che consentono di creare

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

CdL in Medicina Veterinaria - STPA AA 2007-08

CdL in Medicina Veterinaria - STPA AA 2007-08 CdL in Medicina Veterinaria - STPA AA 2007-08 Il Sistema Operativo Architettura del Software Software = insieme (complesso) di programmi. Organizzazione a strati, ciascuno con funzionalità di livello più

Dettagli

Introduzione al sistema operativo Il file system: file, directory,...

Introduzione al sistema operativo Il file system: file, directory,... ,OVRIWZDUHGLVLVWHPD cosa vedremo: Introduzione al sistema operativo Il file system: file, directory,...... 223,OVRIWZDUHLQWURGX]LRQH L hardware da solo non è sufficiente per il funzionamento dell elaboratore

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

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

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo Il Sistema Operativo Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo ... ma Cos'è un S.O.? un PROGRAMMA!... ma Cos'è un programma? PROGRAMMA: 1. algoritmo sequenza

Dettagli

Pag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi.

Pag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi. Concetti fondamentali Scheduling della CU Introduzione allo scheduling Uno degli obbiettivi della multiprogrammazione è quello di massimizzare l utilizzo delle risorse e in particolare della CU er raggiungere

Dettagli

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC BMSO1001 Virtual Configurator Istruzioni d uso 02/10-01 PC 2 Virtual Configurator Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Concetti

Dettagli

Algoritmi di scheduling

Algoritmi di scheduling Capitolo 3 Algoritmi di scheduling Come caso particolare di studio, di seguito è discussa in dettaglio la politica di scheduling del sistema operativo LINUX (kernel precedente alla versione 2.6). Sono

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 5 Martedì 21-10-2014 Thread Come abbiamo detto, un processo è composto

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Scheduling della CPU Simulazione in linguaggio Java

Scheduling della CPU Simulazione in linguaggio Java Scheduling della CPU Simulazione in linguaggio Java Realizzato da: Amelio Francesco 556/001699 Di Matteo Antonio 556/000067 Viola Antonio 556/000387 Progetto di Sistemi Operativi Docente Giancarlo Nota

Dettagli

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file. ESERCIZIO 1 Si consideri un hard disk formattato la cui memoria è suddivisa in 16 blocchi (numerati da 0 a 15). Si supponga che sull hard disk sia memorizzato un unico file, contenuto, nell ordine, nei

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

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass 0_Iniziare con GRASS Avvio di Grass e creazione della cartella del Database di GRASS Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Dettagli

TEORIA DEI SISTEMI OPERATIVI

TEORIA DEI SISTEMI OPERATIVI TEORIA DEI SISTEMI OPERATIVI Classificazione dei sistemi operativi (Sistemi dedicati, Sistemi batch, Sistemi interattivi multiutente) CLASSIFICAZIONE DEI SISTEMI OPERATIVI Le tre principali configurazioni

Dettagli

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo

Dettagli

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica prof. Ing. Corrado Santoro A.A. 2010-11 Architettura di un sistema operativo Progr 1 Progr 2 Progr

Dettagli

Scheduling. Scheduling 14/12/2003 1/7

Scheduling. Scheduling 14/12/2003 1/7 Scheduling In un computer multiprogrammato più processi competono per l'uso della CPU. La parte di sistema operativo che decide quale processo mandare in esecuzione è lo scheduler. Batch OS: scheduling

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

PARTE 4 La Macchina Software

PARTE 4 La Macchina Software PARTE 4 La Macchina Software 94 Macchina Hardware e Macchina Software applicativi sistema operativo macchina hardware Agli albori dell'informatica, si programmava in binario, cioe` in linguaggio macchina,

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

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

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 MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

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

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

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi

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

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro

Dettagli