Il Sistema Operativo

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Il Sistema Operativo"

Transcript

1 Il Sistema Operativo DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA SIENA UFF

2 Introduzione

3 Introduzione Il software può essere diviso in due grandi classi: - i programmi di sistema, che gestiscono le funzionalità del sistema di calcolo - i programmi applicativi, che risolvono i problemi degli utenti L insieme dei programmi di sistema viene comunemente identificato con il nome di Sistema Operativo (SO)

4 Introduzione Definizione: Un sistema operativo è un programma che controlla l esecuzione dei programmi applicativi ed agisce come interfaccia fra le applicazioni e l hardware del calcolatore

5 Scopo del sistema operativo Gestione EFFICIENTE delle risorse del sistema di elaborazione Creazione di un interfaccia FRIENDLY tra l uomo e la macchina

6 Il SO come macchina estesa Visione a strati delle componenti hardware/software che compongo un elaboratore

7 Il SO come macchina estesa Il SO può essere inteso come uno strumento che virtualizza le caratteristiche dell hardware, offrendo all utente la visione di una macchina astratta più potente e più semplice da utilizzare di quella fisicamente disponibile In questa visione, un SO nasconde a programmatori/utenti i dettagli dell hardware e fornisce un interfaccia conveniente e facile da usare agisce come intermediario tra programmatore/utente e hardware Parole chiave Indipendenza dall hardware Comodità d uso Programmabilità

8 Funzioni del Sistema Operativo

9 Il sistema operativo Il sistema operativo è uno strato software che opera direttamente sull hardware......isola gli utenti dall architettura sottostante e fornisce un insieme di funzionalità di alto livello...permette lo svolgimento di operazioni quali la copia di un file o l esecuzione di un programma; opera le azioni necessarie a caricare i programmi in memoria centrale, eseguirli, leggere e/o scrivere dati da/su memoria di massa e periferiche Il SO rende totalmente disponibile all utente l hardware del calcolatore

10 Il sistema operativo Il SO può essere mono utente (tipicamente nei PC), se l intero sistema hw/sw è dedicato ad un singolo utente -...multi utente, quando diversi utenti condividono lo stesso sistema hw/sw; il SO nasconde a ciascun utente la presenza degli altri, dando l impressione che il sistema (unità di elaborazione, memoria, periferiche, etc.) gli sia interamente dedicato

11 Il sistema operativo Il SO è un insieme di programmi molto complesso ed articolato, soprattutto in contesto multi utente Per facilitarne il progetto, ed isolarne le varie componenti, il SO è organizzato per strati funzionali, con una struttura cosiddetta a cipolla

12 Il sistema operativo Ciascuno strato funzionale realizza una macchina virtuale, che maschera le caratteristiche della macchina hardware e offre all utente un insieme di funzionalità Applications Systems software software Hardware

13 Il sistema operativo Struttura modulare: ciascun modulo esporta funzionalità verso l esterno e mantiene al suo interno i propri meccanismi implementativi Ogni macchina virtuale sembra più potente della corrispondente macchina fisica, perché offre ai suoi utenti l illusione di una macchina dedicata -...tuttavia, la macchina fisica è effettivamente condivisa fra gli utenti

14 Funzioni del sistema operativo Programmi utente Architettura a cipolla del sistema operativo; ciascuno strato corrisponde ad una macchina virtuale Interprete dei comandi Attivazione programmi utente o di sistema File system Controllo e gestione degli accessi a file Gestione delle periferiche Gestione di ingresso/uscita da periferica Gestione della memoria Allocazione e gestione della memoria Gestione dei processi Gestione dei processi e degli interrupt Macchina fisica

15 Gestore dei processi È responsabile dell esecuzione dei programmi da parte dell unità di elaborazione In caso di SO multi utente, deve garantire l esecuzione concorrente di processi multipli, decidendo a quale di essi assegnare l accesso e l uso dell unità di elaborazione

16 Gestore dei processi Gestisce gli interrupt provenienti dalle periferiche Lo strato del gestore dei processi offre agli strati superiori una macchina virtuale in cui ciascun programma opera come se avesse a disposizione un unità di elaborazione dedicata

17 Gestore della memoria Alloca la memoria e la ripartisce fra i vari programmi che la richiedono Nei SO multi utente, è opportuno che molti programmi siano contemporaneamente presenti in memoria centrale, per ottenere un esecuzione simultanea Lo strato del gestore di memoria offre agli strati superiori una macchina virtuale in cui ciascun programma opera come se avesse a disposizione una memoria dedicata

18 Driver di dispositivo Sono responsabili delle operazioni di ingresso/uscita che coinvolgono le periferiche Ciascun driver è un modulo software dedicato a guidare una periferica specifica: ne conosce (e ne occulta) le caratteristiche hardware Lo strato del gestore delle periferiche offre all utente una versione astratta delle periferiche hardware; l utente ha a disposizione un insieme di procedure standard di alto livello per leggere/scrivere da/su periferiche, che percepisce come dedicate

19 File System È responsabile della gestione dei file in memoria di massa; struttura i dati in file e li organizza in directory (cartelle nel linguaggio di MS Windows) Fornisce all utente un insieme di funzioni di alto livello per operare su file e directory, mascherando le operazioni realmente effettuate per allocare la memoria e per accedervi in lettura/scrittura Tramite il file system, ciascun utente può organizzarsi la propria area di memoria e garantirne la protezione da accessi esterni Consente la condivisione dei file

20 Interprete dei comandi Consente all utente di attivare i programmi - Accede al programma, residente su memoria di massa, tramite il file system - Alloca memoria e vi carica il programma (tramite il gestore della memoria) - Attiva il processo (sfruttando le funzionalità del nucleo) Sfrutta l organizzazione a strati del SO e può richiedere l esecuzione di qualsiasi funzione implementata negli strati sottostanti

21 Ancora sul sistema operativo... I primi tre strati del SO, dedicati alla gestione dei processi, della memoria e delle periferiche, ne costituiscono il nucleo, o kernel L obiettivo del SO consiste nell ottimizzare le prestazioni del sistema informatico, determinando le politiche migliori di gestione delle risorse sotto il suo controllo

22 Ancora sul sistema operativo... Nei sistemi multi utente, ciascun utente risente della presenza degli altri in misura crescente con il carico complessivo del sistema, ovvero, al crescere del numero delle richieste di elaborazione, il sistema può diventare sovraccarico e fornire prestazioni percepibilmente scadenti

23 La gestione dei processi

24 La gestione dei processi Processo un programma in esecuzione Il processo è un oggetto dinamico, che evolve nel tempo, in contrapposizione al programma, un oggetto statico ed invariante nel tempo L unità di elaborazione che esegue i processi prende il nome di processore

25 La gestione dei processi La corrispondenza tra programma e processo non è necessariamente biunivoca: uno stesso programma eseguibile può essere associato a più processi, ciascuno dei quali svolge uno dei compiti richiesti dal programma

26 La gestione dei processi Il gestore dei processi è il modulo che si occupa del controllo, della sincronizzazione, dell interruzione e della riattivazione dei programmi in esecuzione La gestione dei processi viene compiuta secondo modalità diverse, in funzione del tipo di utilizzo cui il sistema è rivolto

27 La gestione dei processi La corrispondenza tra programma e processo non è necessariamente biunivoca: uno stesso programma eseguibile può essere associato a più processi, ciascuno dei quali svolge uno dei compiti richiesti dal programma

28 Stato dei processi Mentre viene eseguito, un processo cambia stato: - New: Il processo viene creato - Running: Il processo viene eseguito - Waiting: Il processo è in attesa di un evento - Ready: Il processo è in attesa di essere assegnato al processore - Terminated: Il processo ha terminato la propria esecuzione

29 Stato dei processi

30 Stato dei processi Nell ipotesi di un unico processore, uno solo dei processi può essere in esecuzione ad un certo istante, cioè in stato di running Gli altri processi sono pronti (ready) o in attesa (waiting) - I processi pronti possono venir eseguiti immediatamente: sarà lo scheduler della CPU, in base alla sua politica di gestione dei processi, a decidere quale dei processi pronti sarà il prossimo ad accedere alla CPU - I processi in attesa attendono, invece, il verificarsi di un evento esterno (per esempio l immissione di dati tramite un dispositivo di I/O) per passare in stato di pronto

31 Interruzioni interne Nel corso della sua evoluzione, il processo in esecuzione può richiedere lo svolgimento di un operazione di ingresso/uscita che coinvolge una periferica - L esecuzione del processo si interrompe ed il kernel del SO diviene attivo (si esegue un processo di sistema) La sospensione del processo in esecuzione si dice interruzione interna: il processo passa dallo stato ready allo stato waiting L esigenza di sospendere il processo all atto di una richiesta di un servizio di I/O risponde ad una logica di buona amministrazione delle risorse

32 Interruzioni interne Infatti, vi è una notevole differenza fra i tempi di esecuzione delle istruzioni in memoria centrale (dell ordine delle decine di nanosecondi) ed i tempi di esecuzione delle istruzioni di I/O (qualche millisecondo per accesso alla memoria di massa, qualche secondo per comandi da terminale) La sospensione deve avvenire in modo tale che il processo possa riprendere la propria attività, dopo l interruzione, esattamente dallo stesso punto e con gli stessi dati - Occorre salvare il contesto, cioè copiare il contenuto dei registri del processore in una zona particolare di memoria, il descrittore del processo - Prima di riprendere l esecuzione del processo interrotto, occorre eseguire l operazione inversa, cioè ricopiare il contenuto del descrittore nei registri del processore, per ripristinare il contesto

33 Interruzioni interne Dopo il salvataggio del contesto del processo interrotto, lo scheduler della CPU seleziona uno dei processi pronti e gli alloca il processore - Molti processi possono essere nello stato di pronto allo stesso tempo - Il contesto del processo selezionato, in base alla politica di scheduling, viene ripristinato, e la sua esecuzione può proseguire dall istruzione successiva a quella che ne aveva provocato l interruzione (quella puntata dal registro program counter ) L operazione complessiva di interruzione di un processo, salvataggio del contesto, scelta di un nuovo processo dalla ready queue (coda dei processi pronti), e ripristino del suo contesto, prende il nome di cambiamento di contesto o context switch

34 Interruzioni esterne Le interruzioni esterne sono eventi asincroni, cioè non regolati dal clock del processore: le operazioni dell elaboratore si coordinano con il mondo esterno attraverso le periferiche Quando si verifica un interruzione esterna, il kernel salva il contesto del processo attivo, che passa dallo stato di esecuzione allo stato di pronto -...richiama un proprio modulo, il gestore delle interruzioni, che esegue le operazioni necessarie per far fronte alla particolare interruzione

35 Interruzioni esterne Esempio: Se l interruzione segnala la presenza di dati in ingresso da tastiera, a fronte di un operazione di lettura richiesta dal processo P1, il gestore delle interruzioni trasferisce i dati dal registro della periferica in memoria centrale -...provvede a modificare lo stato del processo P1, da waiting a ready - Inoltre, al termine della gestione dell interruzione, lo scheduler seleziona uno dei processi pronti (non necessariamente quello sospeso dall interruzione appena servita) e lo manda in esecuzione

36 Il ciclo di vita dei processi Ogni nuovo processo entra nel sistema accedendo alla ready queue (new ready), e va in esecuzione (ready running) quando viene selezionato dallo scheduler Un processo attivo può essere arrestato per un interrupt esterno (running ready) Un processo può anche essere sospeso preempted dal nucleo (running ready), dopo un dato intervallo temporale, per garantire a tutti i processi un uso paritario della CPU: lo scheduler sceglie quale fra i processi pronti mandare in esecuzione

37 Il ciclo di vita dei processi Anche un interruzione interna può causare l arresto di un processo (running waiting) Viceversa, il verificarsi dell evento atteso da un processo fa sì che esso passi dallo stato di attesa allo stato di pronto (waiting ready)

38 Il ciclo di vita dei processi Infine, un processo in esecuzione può terminare regolarmente, o essere interrotto e terminato forzatamente dal nucleo (aborted ) per il verificarsi di un errore Ugualmente, lo scheduler seleziona un nuovo processo dalla ready queue

39 Scheduling della CPU Oltre ad arrestarsi a causa delle interruzioni, il processo attivo può venire arrestato d autorità dallo scheduler, che ha come obiettivo quello di far eseguire ciascun processo utente entro un tempo approssimativamente proporzionale alla sua complessità, effettuando una ripartizione equa della risorsa CPU Criteri di scheduling: Utilizzo di CPU la CPU deve essere più attiva possibile max{ Throughput numero di processi completati nell unità di tempo { Tempo di turnaround tempo di esecuzione di un processo Tempo di attesa tempo di attesa del processo nella ready min queue Tempo di risposta tempo che intercorre tra la sottomissione di una richiesta e la prima risposta prodotta

40 Scheduling della CPU Le politiche di scheduling sono raggruppabili in due grandi categorie: - Preemptive: l uso della CPU da parte di un processo può essere interrotto in un qualsiasi momento, e la risorsa concessa ad altro processo - Non preemptive: una volta che un processo ha ottenuto l uso della CPU, è unico proprietario della risorsa finché non ne decide il rilascio

41 Scheduling della CPU Round robin : la politica di scheduling più semplice, che consiste nel garantire la rotazione nell esecuzione dei processi - Lo scheduler assegna la CPU ad un processo per un quanto di tempo - Quando il quanto di tempo termina, il processo in esecuzione viene interrotto e ritorna nella ready queue Per realizzare l alternanza fra processi, lo scheduler gestisce la ready queue in modo tale da assegnare il processore al primo processo in coda che, quando esaurisce il suo quanto, viene posto alla fine della coda Alla fine della coda si inseriscono anche i processi che passano dallo stato di attesa allo stato di pronto

42 Scheduling della CPU Esempio: Scheduling Round robin, con quanto di tempo 20 Processo Tempo di CPU P 1 53 P 2 17 P 3 68 P 4 24 P 1 P 2 P 3 P 4 P 1 P 3 P 4 P 1 P 3 P P 2 P 4 P 1 P 3

43 Scheduling della CPU Il quanto di tempo assegnato a ciascun processo deve essere molto maggiore del tempo di context switch -...deve essere significativamente inferiore al tempo medio di esecuzione dei programmi, altrimenti l effetto della politica di rotazione si annulla

44 Scheduling della CPU Utilizzando la politica Round robin, il tempo di esecuzione di ciascun programma diviene approssimativamente proporzionale alla complessità in tempo del programma stesso ed al numero di operazioni di ingresso/uscita Inoltre, frazionare l esecuzione dei processi ha l effetto di favorire il completamento rapido dei più brevi, con conseguente massimizzazione del numero di processi terminati nell unità di tempo: aumento del throughput del sistema

45 Scheduling della CPU Possono essere utilizzate politiche di scheduling più complesse: per esempio, se i processi hanno differenti priorità, è possibile associare a ciascun livello di priorità una diversa coda di processi pronti, per prelevare il primo processo dalla coda (non vuota) a priorità più alta

46 Scheduling della CPU Esempio: In un sistema che comporta problemi di sicurezza, alcuni eventi (come la segnalazione di guasti ai motori di un aereo) sono molto più importanti di altri (come la segnalazione di difetti al sistema di intrattenimento) Nella maggior parte delle applicazioni di elaborazione dati viene attribuita una priorità bassa ai cosiddetti processi batch, che non necessitano interazione con l utente Problema: Starvation (blocco indefinito), i processi a bassa priorità potrebbero non venir mai eseguiti Soluzione: Aging (invecchiamento), aumento graduale della priorità dei processi che si trovano in attesa nel sistema da lungo tempo

47 Sincronizzazione dei processi I processi devono sincronizzarsi, devono cioè coordinare le loro attività La modalità più semplice di coordinamento consiste nell esecuzione sequenziale : un processo termina invocando l attivazione di un nuovo processo C B A T Tempo di utilizzo della Tempo CPU di attesa di eventi esterni t

48 Sincronizzazione dei processi Tecniche di sincronizzazione più complesse nascono dall esigenza dei processi di competere per alcune risorse, o di cooperare fra loro Esempio: Un processo che richiede un servizio di I/O può essere interrotto e la CPU passata a un altro programma C B Tempo di utilizzo della CPU Tempo di attesa di eventi esterni A t Tmulti-tasking Tmono-tasking

49 Sincronizzazione dei processi Un esempio di competizione si verifica quando due processi vogliono accedere simultaneamente ad una risorsa, detta risorsa critica, sulla quale può operare un solo processo alla volta; nel caso di richieste contemporanee, uno solo dei processi richiedenti accede alla risorsa critica, mentre l altro deve attendere il rilascio della risorsa per potervi accedere a sua volta Un esempio di coordinazione si ha quando due processi sono tali per cui ciascuno di essi ha bisogno dell altro per poter evolvere; nel classico problema del produttore/consumatore, il primo processo produce dati (per esempio, acquisendoli da una periferica) mentre il secondo li utilizza (per esempio, svolgendo su di essi delle elaborazioni)

50 Sincronizzazione dei processi La sincronizzazione dei processi, necessaria sia nel caso di competizione sia nel caso di cooperazione, avviene tramite due meccanismi fondamentali l uso di variabili condivise (dette semafori), per l accesso a parti critiche di codice -...e la comunicazione esplicita fra processi (mediante scambio di messaggi) Esempio: - L accesso concorrente a dati condivisi può causare incoerenza nei dati - Per garantire la coerenza dei dati occorrono meccanismi che assicurano l esecuzione ordinata dei processi cooperanti

51 Sincronizzazione dei processi Problema della sezione critica: - n processi competono per utilizzare dati condivisi; ciascun processo è costituito da un segmento di codice, detto sezione critica, in cui accede ai dati e li modifica - Ipotesi: Assicurarsi che, quando un processo esegue la sua sezione critica, a nessun altro processo sia concesso eseguire la propria L esecuzione di sezioni critiche da parte di processi cooperanti è mutuamente esclusiva nel tempo

52 Sincronizzazione dei processi - Soluzione: progettare un protocollo di cooperazione fra processi Ogni processo deve chiedere il permesso di accesso alla sezione critica, tramite una entry section (il semaforo diviene rosso ad opera del processo che trova il verde e si accinge ad accedere ai dati) La sezione critica è seguita da una exit section (il semaforo rosso diviene verde ad opera del processo che ha terminato di utilizzare i dati condivisi); il rimanente codice è non critico

53 La gestione della memoria

54 Gestione della memoria centrale La memoria centrale - è un array di byte indirizzabili singolarmente - è un deposito di dati facilmente accessibile e condiviso tra la CPU ed i dispositivi di I/O Il SO è responsabile delle seguenti attività riguardanti la gestione della memoria principale: - Tenere traccia di quali parti della memoria sono usate e da chi - Decidere quali processi caricare quando diventa disponibile spazio in memoria - Allocare e deallocare lo spazio di memoria quando necessario

55 Gestione della memoria centrale Premessa indispensabile per la gestione concorrente di molti processi è infatti la presenza di molti programmi in memoria centrale - La memoria centrale assume un ruolo simile all unità di elaborazione: è una risorsa unica, talvolta scarsa, da suddividere fra i vari processi Per allocare i programmi in memoria centrale è necessario rilocarli: - Rilocare significa trasformare gli indirizzi logici, presenti nei programmi, in indirizzi fisici, corrispondenti alle locazioni di memoria dove il codice eseguibile viene effettivamente caricato - D altra parte, l uso di indirizzi logici nei programmi è essenziale per consentirne il caricamento in differenti porzioni di memoria Problema: come allocare lo spazio in maniera ottimale

56 1 soluzione: Allocazione lineare 0000x Memoria Programma A Programma B Programma C

57 1 soluzione: Allocazione lineare 0000x Memoria Programma A Programma D Programma E Programma C

58 1 soluzione: Allocazione lineare 0000x Memoria Programma A Programma D Programma F Programma E Programma C

59 Gestione della memoria centrale Un importante meccanismo di suddivisione della memoria centrale, e delle entità in essa memorizzate, è quello della paginazione: La memoria centrale è considerata dal gestore della memoria come partizionata in pagine, ciascuna delle quali è un aria di memoria contigua, di dimensione fissata Anche i programmi vengono partizionati in pagine ed allocati in un numero intero di pagine, non necessariamente contigue

60 Gestione della memoria centrale

61 Soluzione: Paginazione 0000x Memoria Programma A Programma A Programma A Programma B Programma B Programma D

62 Soluzione: Paginazione 0000x Memoria Programma A Programma A Programma A Programma E Programma F Programma D Programma F

63 Gestione della memoria centrale Un altro meccanismo ampiamente utilizzato per il partizionamento della memoria è detto segmentazione: Un programma può essere logicamente frazionato in parti che svolgono funzioni distinte Il gestore della memoria può utilizzare il partizionamento logico del programma per caricare segmenti diversi in maniera indipendente Nota: Mentre le pagine hanno lunghezza fissa, i segmenti, essendo semanticamente significativi, hanno lunghezza variabile

64 Gestione della memoria centrale Spazio utente Spazio fisico di memoria

65 Gestione della memoria centrale Segmentazione e paginazione non sono mutuamente esclusive: in molti SO vengono applicate contemporaneamente In entrambi i casi, il gestore della memoria offre al programma applicativo la visione di una memoria virtuale, che può essere maggiore di quella fisica Si possono gestire programmi caricandone effettivamente in memoria solo le pagine (o i segmenti) relative al codice attualmente in esecuzione Le pagine (o i segmenti) che non sono al momento caricate in memoria rimangono disponibili sulla memoria di massa, all interno di opportuni file

66 La memoria virtuale Memoria 0000x Programma A-1 Programma B-1 Programma D Swap Programma A-2 Programma A-3 Programma B-2

67 La memoria virtuale Memoria 0000x Programma A-2 Programma B-1 Programma D Swap Programma A-1 Programma A-3 Programma B-2

68 Gestione della memoria centrale Un sistema informatico può avere una memoria virtuale di v gigabyte ed una memoria fisica di p gigabyte, con v > p La memoria virtuale garantisce la condivisione efficiente della memoria centrale fra più processi, e consente l esecuzione di quei programmi la cui dimensione s è maggiore della dimensione p della memoria fisica Naturalmente, la dimensione s del programma non può essere superiore a quella della memoria virtuale realizzata dal gestore

69 Gestione della memoria centrale La gestione di memoria e processi deve essere coordinata: quando un processo viene eseguito, il codice relativo al corrispondente programma deve essere almeno parzialmente residente in memoria Più precisamente: le pagine (o i segmenti) attualmente in esecuzione o che contengono i dati attualmente indirizzati/elaborati devono risiedere in memoria centrale Se una pagina o un segmento necessario al processo non è presente in memoria centrale, il processo deve essere sospeso per consentire il caricamento, da parte del gestore della memoria, della pagina o del segmento di codice Il processo corrispondente passa da running a waiting; entrerà nuovamente nella ready queue quando saranno completate le operazioni necessarie a portare la pagina o il segmento in memoria

70 Memoria di modo S ed U Ai programmi che realizzano le funzioni proprie del SO, ed alle strutture dati da esso usate, devono essere assegnate opportune zone di memoria Inoltre, i processi di sistema possono usare l intero set di istruzioni del calcolatore (talune non disponibili per i programmi utente), possono venire allocati in memoria in maniera ottimale, e devono essere protetti da errori causati da altri programmi La memoria viene suddivisa in memoria di modo S (supervisore) e memoria di modo U (utente) Nella porzione di modo S vengono caricati i processi del SO e vengono create le strutture dati da esso utilizzate Nella porzione di modo U vengono caricati i processi utente

71 Memoria di modo S ed U Se il processore sta eseguendo un processo utente, lo si dice attivo in modo utente (modo U), U se esegue un processo di sistema, cioè se è attivo il nucleo, lo si dice attivo in modo supervisore (modo S) S Quando il processore è attivo in modo S può accedere a tutta la memoria (di modo U e di modo S) ed ha a disposizione un insieme più ricco di istruzioni Il processore attivo in modo U può accedere solo alle zone di memoria di modo U, ed in particolare a quelle riservate al solo processo in esecuzione La suddivione della memoria protegge il codice e le strutture dati che il SO usa per garantire una gestione delle risorse corretta ed efficiente Le istruzioni di codice utente non possono accedere a zone di memoria di modo S se non richiedendo l intervento del SO

72 La gestione delle periferiche

73 La gestione dei dispositivi di I/O La gestione dell I/O richiede: - Un interfaccia comune per la gestione dei device driver - Un insieme di driver per dispositivi hardware specifici - Un sistema di gestione di buffer per il caching delle informazioni Il gestore dei dispositivi di I/O è il modulo del SO incaricato di assegnare i dispositivi ai task che ne fanno richiesta e di controllare i dispositivi stessi Da esso dipende la qualità e il tipo di periferiche riconosciute dal sistema

74 Driver di dispositivo I driver sono moduli software cui è affidato il compito di comunicare dati da e verso le periferiche Permettono l accesso alle periferiche tramite primitive di alto livello I device driver implementano le seguenti funzioni: Rendono trasparenti le caratteristiche fisiche tipiche di ogni dispositivo Gestiscono la comunicazione dei segnali verso i dispositivi Gestiscono i conflitti, nel caso in cui due o più task vogliano accedere contemporaneamente allo stesso dispositivo I driver vengono scritti specificamente per ciascun dispositivo e sono normalmente forniti dal costruttore

75 Il file system

76 Il file system File: - Spazio di indirizzi logici contigui; è un insieme di informazioni correlate e registrate nella memoria secondaria, a cui è stato assegnato un nome

77 Il file system Dal punto di vista dell utente è la più piccola porzione di memoria secondaria indirizzabile logicamente e i dati possono essere scritti nella memoria secondaria soltanto all interno di un file Dal punto di vista del SO i file vengono mappati su dispositivi fisici di memorizzazione non volatili

78 Il file system Attributi del file: - Nome: identificativo del file - Locazione: puntatore al dispositivo ed alla posizione del file sul dispositivo - Dimensione: dimensione attuale del file - Protezione: parametri di controllo per l accesso in lettura, scrittura ed esecuzione del file - Ora, data, identificativo dell utente: dati necessari a protezione e sicurezza del sistema, e per il controllo d uso

79 Il file system Il file system è responsabile della gestione dei file in memoria di massa - struttura i dati in file li organizza in directory (o cartelle) - realizza inoltre un insieme di funzioni di alto livello per operare su file e directory Il file system garantisce una gestione dei file indipendente dalle caratteristiche fisiche dei dispositivi che costituiscono la memoria di massa: astrazione utile sia per l utente sia per i programmi

80 La gestione dei file Le infomazioni sui file sono conservate nella struttura di directory, che risiede sulla memoria secondaria Le directory hanno (nel caso più semplice) organizzazione ad albero; ciascuna directory può contenere file e sottodirectory Directory File Albero delle directory

81 La gestione dei file Ciascun file viene identificato da un pathname che include l intero cammino, dalla radice dell albero al file stesso Tutti i file e sottodirectory presenti nella stessa directory devono avere nomi distinti ciascun pathname è unico Il file system di WINDOWS

82 La gestione dei file Un utente che interagisce con il file system ha un proprio contesto, cioè una specifica posizione nel file system, corrispondente ad un nodo nell albero Per default, all atto del collegamento al sistema, il contesto dell utente è costituito dalla sua home directory Il contesto può essere variato, muovendosi ovunque nell albero delle directory (almeno in quelle accessibili all utente)

83 La gestione dei file Funzioni disponibili agli utenti del file system: - Creazione di file (operazione normalmente eseguita da software applicativo, come editor e word processor) e directory - Comandi per stabilire i parametri di protezione - Lista del contenuto di una directory - Comandi per cambiare il contesto - Copia, ridenominazione e visualizzazione di file - Cancellazione di file e rimozione di directory

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

Il software può essere diviso in due grandi classi:

Il software può essere diviso in due grandi classi: Il Sistema Operativo Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

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

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

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

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

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

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

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

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

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

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

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

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

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

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera CPU Memoria principale Il Sistema Operativo Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura A.A. 2009/2010 ALU Unità di controllo Registri A indirizzi

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

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

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

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

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

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

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

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

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

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

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

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

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

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

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

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

Architettura di un sistema di calcolo

Architettura di un sistema di calcolo Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un

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

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1 IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

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

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

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

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

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

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

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

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

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi 1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi Il processo E' un programma in esecuzione Tipi di processo Stati di un processo 1 indipendenti

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

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

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

Software di base. Corso di Fondamenti di Informatica

Software di base. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Software di base Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

Dettagli

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME) Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti GESTIONE DEI PROCESSI 4.1 Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in diversi S.O. 4.2 Concetto di

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

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

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

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 software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale Funzioni principali del sistema operativo Il software la parte contro cui si può solo imprecare Avvio dell elaboratore Gestione del processore e dei processi in Gestione della memoria principale Gestione

Dettagli

01/05/2014. Dalla precedente lezione. Ruolo dei sistemi operativi. Esecuzione dei programmi

01/05/2014. Dalla precedente lezione. Ruolo dei sistemi operativi. Esecuzione dei programmi Marco Lapegna Laboratorio di Programmazione Dalla precedente lezione 6. I sistemi operativi LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica I Sistemi Operativi Il linguaggi di programmazione

Dettagli

Sistemi operativi e reti A.A. 2013-14. Lezione 2

Sistemi operativi e reti A.A. 2013-14. Lezione 2 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 2 Giovedì 10-10-2013 1 Sistemi a partizione di tempo (time-sharing) I

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

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. 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. 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 File System

Il Sistema Operativo: il File System Il Sistema Operativo: il File System Il File System è quella parte del S.O. che si occupa di gestire e strutturare le informazioni memorizzate su supporti permanenti (memoria secondaria) I file vengono

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

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione Lezione 4 La Struttura dei Sistemi Operativi Introduzione Funzionamento di un SO La Struttura di un SO Sistemi Operativi con Struttura Monolitica Progettazione a Livelli di un SO 4.2 1 Introduzione (cont.)

Dettagli

Il File System. Il file system

Il File System. Il file system Il File System Il file system Parte di SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti di file:

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

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

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

Tecnologia di un Database Server (centralizzato) Gestione del buffer

Tecnologia di un Database Server (centralizzato) Gestione del buffer Buffer Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione del buffer Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Buffer

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

Protezione. Protezione. Protezione. Obiettivi della protezione

Protezione. Protezione. Protezione. Obiettivi della protezione Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in

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

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

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

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

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

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

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

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa Il File System 1 Il file system E quella componente del SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti

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

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. La nozione di multiprogrammazione prevede la possibilità di

Dettagli

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di 60 minuti dalla sua

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

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

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza

Dettagli

LINUX. Che cos'e` un sistema operativo?

LINUX. Che cos'e` un sistema operativo? LINUX LINUX Introduzione Una versione completa e affidabile di UNIX Disponibile per PC x86 Intel/AMD e numerose altre piattaforme Strumento (quasi) indispensabile per le esercitazioni Include gli strumenti

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1 GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli