Architettura degli Elaboratori. Lez. 8 : Il Livello di Sistema Operativo

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Architettura degli Elaboratori. Lez. 8 : Il Livello di Sistema Operativo"

Transcript

1 Corso di Laurea Triennale in Informatica Università degli Studi di Bari Aldo Moro Anno Accademico Lez. 8 : Il Livello di Sistema Operativo Sebastiano Pizzutilo Strutturazione del Sistema Operativo Livello dei Linguaggi Applicativi Livello del Linguaggio Assemblatore Livello del Sistema Operativo Livello del liguaggio macchina Livello della microprogrammazione Livello hardware Il livello S.O. aggiunge nuove istruzioni e funzionalità al livello ISA Instruction Set del livello SO : le istruzioni del livello ISA e nuove istruzioni, dette chiamate di sistema ( system call ) Ø Le istruzioni del livello ISA vengono eseguite direttamente dal livello sottostante Ø Le istruzioni di chiamata (istruzioni che servono a richiedere un servizio al SO) sono interpretate dal sistema operativo 1

2 Cosa è un Sistema Operativo (S.O.) Modulo software costituito da un insieme di programmi S.O. supporto all utente permette l uso dell elaboratore a utenti che non hanno necessariamente una conoscenza approfondita dell hardware Sia il programmatore che l utente preferiscono trattare con una ASTRAZIONE (preferibilmente grafica) della macchina reale. Il S.O. nasconde al programmatore la verità sui livelli hardware sottostanti e presenta all utente un interfaccia gradevole e amichevole. S.O. come gestore delle risorse realizza l integrazione, l ottimizzazione e la sincronizzazione della comunicazioni tra le componenti hardware Insieme di moduli software per gestire : il processore centrale, la memoria centrale, l uso delle periferiche, il BUS, i file sulle memorie esterne (File system), i comandi che gli utenti possono usare (interprete comandi),. Parametri prestazioni del Sistema Operativo Turnaround Time (Tta) Tta =T OUT -T IN è il tempo che passa tra l ingresso dei dati e la produzione dell output Throughput E proporzionale al numero di lavori (task) eseguiti dal sistema nell unità di tempo ΔT. E detto anche CARICO del SISTEMA Overhead di Gestione Sovraccarico Gestionale. E proporzionale al tempo di CPU consumato dal S.O. per eseguire il suo compito di gestione dei moduli software che lo compongono Un sistema efficiente... Throughput Elevato Turnaround Time Basso Overhead Gestionale Basso 2

3 La storia dei S.O. Per comprendere le funzionalità di un S.O. è comodo seguirne l evoluzione storica anni 40 (assenza di S.O.) anni 50 (gestione dei lavori a lotti) anni 60 ( multiprogrammazione) metà anni 60 (Sistemi General Purpose) metà anni 70 ( DB, Reti, S.Distribuiti ) oggi (Sistemi Operativi stratificati multitasking con molte componenti middleware ) Evoluzione dei SO Sistemi operativi monoprogrammati monoprogrammazione tempo Attesa per I/O Elaborazione Utilizzo della CPU durante l esecuzione di un programma 3

4 Evoluzione dei SO Anni 60: sistemi multiprogrammati e sistemi time-sharing Multiprogrammazione : più di un programma in memoria centrale Time-sharing : suddivisione del tempo di CPU tra diversi programmi in esecuzione P1" P2" tempo P1 P2 Attesa per I/O Attesa per I/O Elaborazione P3 Elaborazione tempo La multiprogrammazione consente una efficiente elaborazione batch La partizione di tempo consente l elaborazione interattiva Multiprogrammazione Possibilita di caricare piu programmi in memoria in grado di condividere l uso della CPU e delle risorse dell elaboratore E possibile che il S.O., per realizzare la multiprogrammazione, non mantenga tutti i programmi in memoria ma carichi di volta in volta quello piu idoneo da un supporto di memoria di massa. Tale tecnica, detta di swapping, e poco efficiente, ma risulta necessaria quando si hanno problemi di dimensione della memoria. I programmi in memoria centrale possono essere eseguiti, è quindi necessario un opportuno sistema per gestire l esecuzione dei diversi programmi presenti in Memoria Centrale. Processo = Programma in esecuzione Nucleo (o Kernel) del S.O. = gestore dei processi Nella multiprogrammazione più programmi sono in memoria, quindi più processi sono attivati ma una sola è la risorsa CPU (processore). 4

5 Sistema Operativo come gestore delle risorse Il S.O. è un insieme di moduli software interagenti fra loro per coordinare l accesso alle risorse da parte degli utenti e del software applicativo: Gestore del processore centrale Gestore della memoria centrale Gestore delle periferiche Gestore dei file (File system) su memorie esterne Gestore degli utenti e dei relativi comandi (interprete comandi=shell) Modelli organizzativi dei S.O. Il SO è caratterizzato funzionalmente come la combinazione di un insieme di processi di servizio e di un gestore, detto nucleo ( Kernel ), che opera come sistema di controllo dei processi. Modelli organizzativi di riferimento per i sistemi operativi stand-alone: Ø Modello monolitico: S.O. costituito da un unico modulo che serve le richieste dei programmi-utente uno alla volta Ø Modello a strati: S.O. costituito da più moduli, ciascuno dei quali svolge specifiche funzioni, ed ogni modulo può servire le richieste di più programmi-utente 5

6 Sistemi Operativi multistrato utente gui Xwindow Programmi di utilità (shell, editor, compilatori, ) Librerie standard SISTEMA OPERATIVO HARDWARE Modello di S.O. a Strati Ä Multiuser Ä Multitask : multiprocessing - multithreading Ä Time-sharing processi e thread GUI e/o applicativi e/o middleware shell tools Gestore dei file Gestore della memoria Gestore dei processi e delle interruzioni HW kernel 6

7 Cos è un processo Processo = programma in esecuzione. Un processo necessita quindi di alcune risorse per assolvere il proprio compito: tempo di CPU, memoria, file e dispositivi di I/O. Un processo (un programma in esecuzione) ha bisogno di utilizzare come proprie risorse : il program counter lo stack una sezione di dati Un Sistema Operativo esegue vari programmi presenti contemporaneamente in memoria centrale. Il SO è quindi responsabile delle seguenti attività di gestione dei processi: Creazione e cancellazione di processi. Sospensione e riattivazione di processi. Fornisce meccanismi per:» sincronizzazione di processi» comunicazione fra processi Stati di un processo Mentre viene eseguito, un processo cambia stato Nuovo (new): Il processo viene creato, quando si manda in RUN un programma. In esecuzione (running): Le istruzioni del programma vengono eseguite perchè il processore centrale è stato assegnato al processo. In attesa (waiting): Il processo è in attesa per qualche evento che deve avvenire (ad es. sincronizzazione operazioni I/O). Pronto (ready): Il processo è in attesa di essere assegnato al (ad un) processore. Terminato (terminated): Il processo ha finito l esecuzione. 7

8 Process Control Block (PCB) Il PCB contiene le informazioni associate ad un processo: Stato del processo Program counter Registri della CPU Informazioni sullo scheduling della CPU Informazioni sulla gestione della memoria Informazioni di contabilizzazione delle risorse Informazioni sullo stato di I/O Sistemi Time Sharing Un processo rimane in running solo per un intervallo fissato di tempo (Time Slice) Per evitare che resti padrone della CPU a tempo indeterminato il Supervisore riacquista il controllo... quando è terminato il time slice assegnato, quando il programma termina la sua esecuzione, quando il programma richiede una operazione di I/O. È ovvio che un programma per terminare la sua esecuzione avrà bisogno di più time slice. Così... aumenta il turnaround time dei singoli processi, migliora il throughput complessivo. 8

9 Switch della CPU tra due processi Quando la CPU passa da un processo all altro, il sistema deve salvare lo stato del vecchio processo e caricare lo stato precedentemente salvato per il nuovo processo. Il tempo di context-switch è un overhead; il sistema non lavora utilmente (idle) mentre cambia processo. Il Gestore della Memoria Il compito del SO è anche di gestire la Memoria Centrale: Ø ricordare quali parti della memoria sono attualmente in uso e quali non lo sono, Ø assegnare la memoria ai processi, Ø deallocare la memoria assegnata, Ø amministrare gli scambi tra memoria centrale e disco quando la prima non è più in grado di contenere i processi (swapping). Spazio degli indirizzi simbolici mov ax.bx cmp ax cx je punto1 add ax,cx punto1:add cx,bx traduzione rilocazione Spazio degli indirizzi logici relativi ad un indirizzo base (binario rilocabile) Spazio degli indirizzi fisici (memoria centrale) 9

10 Spazi di indirizzi logici e fisici Il concetto di uno spazio degli indirizzi logico che viene limitato ad uno spazio degli indirizzi fisico è centrale per una corretta gestione della memoria. Indirizzo logico (indirizzo virtuale) viene generato dalla CPU nella fase di traduzione di un programma, prima del suo caricamento in memoria centrale. Indirizzo fisico indirizzo di memoria centrale dove è caricato il programma per la sua esecuzione. La MMU ( Memory Management Unit ) è un dispositivo che trasforma l indirizzo virtuale nell indirizzo fisico. Nello schema di MMU il valore nel registro di rilocazione viene sommato a qualunque indirizzo generato da un processo utente nel momento in cui viene inviato alla memoria. Il programma utente ha a che fare con indirizzi logici, non vede mai gli indirizzi fisici reali. Gestione della memoria : la rilocazione Per poter essere eseguiti, i programmi devono essere portati in memoria e posti all interno di un processo di esecuzione. I programmi utente passano attraverso vari stati prima di essere eseguiti. L associazione (binding) di istruzioni e dati a indirizzi di memoria centrale può essere effettuata in diversi momenti: a) Durante la Compilazione: Se la posizione in memoria è nota a priori, si può generare un codice assoluto; se la locazione di inizio cambia, è necessario ricompilare il codice. b) Durante il Caricamento: Se la posizione in memoria non è nota a priori, è necessario generare codice rilocabile. c) Durante l Esecuzione: Se il processo può essere spostato durante la sua esecuzione da un segmento di memoria in un altro, il binding viene rimandato fino al momento dell esecuzione. E necessario un opportuno supporto hardware per mappare gli indirizzi. 10

11 Gestione della memoria : la rilocazione CPU Reg. indir. Spazio logico mov ax.bx cmp ax cx je punto1 add ax,cx punto1:add cx,bx... Map o bind dei due diversi tipi di spazi Memoria centrale Spazio fisico allocare (riservare) ai programmi la quantità di memoria necessaria. rilocare i programmi (tradurre gli indirizzi e le istruzioni dello spazio indirizzabile in locazioni di memoria centrale). rilocazione assoluta = prima che il programma sia caricato in memoria centrale rilocazione statica = quando il programma viene caricato in memoria rilocazione dinamica = durante l esecuzione del programma Gestione della memoria : la rilocazione Spazio logico indirizzabile Prog. A compilazione Prog. A modulo assoluto Rilocazione assoluta (in compile time) Spazio fisico Prog.A rilocato Spazio inutilizzato Indirizzo di impianto Prog. A compilazione Prog. A modulo assoluto segm.1 Rilocazione statica (in load time) supervisore Prog.A rilocato S.O. Indirizzo di impianto Prog. A compilazione segm.2 segm.3 Prog. B rilocato Rilocazione dinamica (in run time) Prog. C 11

12 Gestione della memoria : la allocazione La memoria principale viene generalmente suddivisa in due partizioni: 1.La parte residente del Sistema Operativo è generalmente memorizzata nella parte bassa della memoria, insieme al vettore degli interrupt. 2.I processi degli utenti sono quindi memorizzati nella memoria alta. Allocazione con partizione singola Si impiega uno schema di rilocazione basato su registri per proteggere i programmi e i dati del SO e per proteggere i programmi utente da reciproche interferenze. Il registro di rilocazione contiene il valore del più piccolo indirizzo fisico; il registro limite contiene l intervallo degli indirizzi logici: ciascun indirizzo logico deve essere inferiore al valore del registro limite. Allocazione con partizioni multiple Inizialmente si avevano partizioni di dimensioni fisse. Un buco (hole) è un blocco di memoria disponibile, buchi di varie dimensioni sono sparsi nella memoria. Quando viene caricato un processo, gli viene allocata la memoria di un buco grande abbastanza da contenere il processo. Il SO conserva informazioni su: a) Partizioni allocate b) Partizioni libere (buchi) Gestione della memoria : la allocazione contigua OS" OS" OS" OS" process 5" process 5" process 5" process 5" process 8" process 2" hole process 2" process 9" hole process 2" process 9" process 10" hole process 2" Come soddisfare una richiesta di dimensione N a partire da un insieme di hole? In ogni momento è presente un insieme di hole di diverse dimensioni sparsi per la memoria. First fit: Si alloca il primo hole grande abbastanza da contenere il programma. Best fit: Si alloca il più piccolo hole che possa contenere il processo. E necessario scandire tutta la lista di hole e si utilizza il più piccolo hole residuo. Worst fit: Si alloca il più grande hole. E ancora necessario ricercare su tutta la lista. Si utilizza il più grande hole residuo. 12

13 Frammentazione Frammentazione esterna E disponibile lo spazio per soddisfare la richiesta di spazio di allocazione della memoria, ma non è contiguo. Frammentazione interna la memoria allocata è leggermente maggiore della memoria richiesta (qualche byte di differenza) dalla esatta dimensione del programma. Questa differenza di dimensioni è memoria interna (inutilizzata) alla partizione dove viene memorizzato il programma. Si può ridurre la frammentazione esterna con la compattazione Sposta i contenuti della memoria per avere tutta la memoria libera insieme in un grande blocco. La compattazione è possibile solo con la rilocazione dinamica, e viene effettuata nel momento dell esecuzione (execution time). Si possono spostare tutti i processi verso un estremità della memoria. Questo schema è però costoso in termini temporali. Tecniche di mapping tra spazio logico e spazio fisico In sistemi uniprogrammati Ø - sequenziale : consiste nel suddividere l area di lavoro in due parti : una riservata al Sistema Operativo e l altra assegnata al programma utente Ø - overlay: il programma viene suddiviso in blocchi, ciascuno dei quali contiene una entità logica a sé stante (subroutine), che può venire caricata al momento del suo utilizzo e rilasciata subito dopo. S.O. S.O. S.O. S.O. Prog. A Prog. A Prog. A Prog. A Subroutine 1 Subroutine 2 Subroutine 3 Subroutine 4 Si mantengono in memoria solo quelle istruzioni e quei dati che vengono richiesti ad un dato istante. Quando sono necessarie altre istruzioni, queste vengono caricate nello spazio che era precedentemente occupato dalle istruzioni che non vengono più utilizzate. L esecuzione è rallentata a causa dell operazione di I/O necessaria per caricare l overlay. 13

14 Tecniche di mapping tra spazio logico e spazio fisico In sistemi multiprogrammati Ø Partizionamento: La memoria fisica viene suddivisa in un certo numero di aree (PARTIZIONI) di dimensioni prefissate, ciascuna delle quali può essere assegnata separatamente ad un programma ( o a dati). Le partizioni possono essere create PRIMA che i vari programmi vengano caricati in memoria (P. STATICO) o all atto del caricamento dei programmi (P. DINAMICO). Questa tecnica è efficiente se si dispone di un meccanismo di rilocazione dinamica In ogni caso : occorre effettuare un mapping da indirizzo a singola componente ad indirizzo a doppia componente area di indirizzi (partizione) e offset (indirizzo nell area) Tecniche di mapping tra spazio logico e spazio fisico N. partizione Diritto di accesso trap offset Traduzione indirizzo Indirizzo fisico MMU Memory Management Unit componenti: tavola dei descrittori unità di verifica del tipo di accesso unità di traduzione degli indirizzi 14

15 PAGINAZIONE Partizioni fisse con contenuto disomogeneo La memoria (spazio fisico e spazio logico) è divisa in N partizioni di uguale dimensione dette pagine (in genere da 1 a 4 KB). Tavola dei descrittori delle pagine: N. pag. Page frame Start address su disco Modalità di accesso Nel programma Opcode num.pag. ind.relat. Indirizzo logico Page frame Indirizzo fisico In memoria centrale offset Modalità di accesso Ad ogni pagina si associa (almeno) un bit di protezione pagina read-only pagina read/write R W E Significato Esempio R = read W = write E = execute nessun accesso al processo pagine di sistema sola esecuzione codice condiviso tra processi sola lettura data base protetto lettura o esecuzione consente copia non modifica Un tentativo di accesso per operazione non consentita provoca un interrupt di tipo TRAP lettura o scrittura area dati - no codice ogni accesso è consentito 15

16 Paginazione L indirizzo generato dalla CPU viene suddiviso in: Numero di pagina (p) impiegato come indice in una tabella di pagine che contiene l indirizzo di base di ciascuna pagina nella memoria fisica. Offset nella pagina (d) viene combinato con l indirizzo di base per definire l indirizzo fisico di memoria che viene inviato all unità di memoria. Esempio di paginazione 16

17 SEGMENTAZIONE Segmento = raggruppamento logico di informazioni omogenee. I segmenti sono dunque partizioni di lunghezza diversa che contengono ciascuno un solo oggetto di elaborazione A differenza della paginazione, necessità di : ü - controllare che l offset non superi la lunghezza del segmento, ü - controllare le modalità di accesso Num. segm. = indice di riga della tavola dei Nel programma Tavola dei descrittori dei segmenti: Start address in memoria centrale Opcode num.seg. ind.relat. Indirizzo logico Lunghezza segm. Modalità di accesso al segmento descrittori KB KB KB Segmento Nella memoria centrale offset Indirizzo fisico Paginazione e Segmentazione Paginazione non visibile al programmatore elimina frammentazione esterna e consente un uso efficiente della memoria Segmentazione visibile al programmatore elimina la frammentazione interna e consente la modularità (segmento codice e segmento dati) Lo spazio di indirizzi logici è monodimensionale, ossia gli indirizzi sono consecutivi" Lo spazio di indirizzi logici è bidimensionale, ossia formato da più spazi lineari non necessariamente contigui" 17

18 Memoria Virtuale 10 pagine logiche di 4KB l una programma Per la gestione dinamica della paginazione (demand paging memory management) spazio logico > spazio fisico Memoria centrale 4 Pagine fisiche di 4KB l una Page fault: eccezione che provoca un page demand con diverse strategie possibili N.pagina logica = indice tavola descrittori in mem. Centrale non in mem. centrale Tavola dei descrittori delle pagine: flag Page frame Start address su disco Modalità di accesso C4T8S C2T8S C2T3S memoria virtuale con paginazione Page fault Quando c è un riferimento ad una pagina che non si trova in memoria (P=0), viene generata un eccezione (page fault) che provoca un page demand con diverse possibili strategie. Il SO, con l intervento della MMU: 1. libera lo spazio in memoria 2. trasferisce la pagina richiesta dal disco alla memoria 3. aggiorna la page table con l indirizzo fisico della pagina appena trasferita 18

19 Algoritmi di rimpiazzamento delle pagine Ø Least Recently Used (LRU) rimozione della pagina usata meno recentemente, perché la probabilità che non sia utilizzata al momento è alta (località temporale) Ø First In First Out (FIFO) rimozione della pagina caricata in memoria meno recentemente, indipendentemente dall ultimo utilizzo della pagina. Ø Not Used Recently (NUR) viene rimpiazzata la pagina in memoria centrale che non è stata usata recentemente (località temporale). Ø Last Frequently Used (LFU) viene rimpiazzata la pagina in memoria centrale meno frequentemente usata (località spaziale e temporale) Approccio misto : segmentazione e paginazione Tavola dei descrittori dei segmenti: Start address in memoria centrale Lunghezza segm. Indirizzi page tables di ciascun segmento KB KB KB Segmento 1 Segmento 2 Segmento 3 Tavola dei descrittori delle pagine del primo segmento: N. pag. Page frame Indirizzo su disco Modalità di accesso Tavola dei descrittori delle pagine del secondo segmento: N. pag. 2 Page frame Modalità di accesso Pag1 Pag 2.. Pag1 Pag

20 Segmentazione e Paginazione combinate Ogni segmento è diviso in pagine di dimensione fissa ed è dotato di una page table Il numero del segmento permette l accesso alla tabella del segmento Dalla tabella dei segmenti si ricava l indirizzo base della page table del segmento stesso Indirizzo virtuale Numero del Segmento Numero di Offset pagina Numero di Frame Offset Puntatore alla Tabella dei segmenti Tabella delle pagine Numero del segmento Tabella dei segmenti Numero di pagina Offset Frame Programma Segmentazione Paginazione Memoria principale Il File System E quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate nelle memorie esterne. Realizza i concetti: di file: unità logica di memorizzazione di directory: insieme di file (e directory) di partizione: insieme di file associato ad un particolare dispositivo fisico (o porzione di esso) N.B. Le caratteristiche di file, directory e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. 20

21 Il File System Dal punto di vista dell utente il File System è caratterizzato dalle operazioni che ha a disposizione, cioè come si definisce un file come il file vengono denominati e protetti che operazioni sono permesse sui file,.. Per tenere traccia dei file, il File system mette a disposizione dell utente delle strutture logiche gerarchiche ( directory ) contenenti un certo numero di elementi, uno per file E molto comune che un utente voglia raggruppare i suoi file in modo logico, attraverso una struttura gerarchica (ad albero) Struttura della directory e informazioni Il disco è suddiviso in partizioni, ciascuna partizione ha una directory di dispositivo che contiene informazioni su tutti i file lì contenuti. Directory" File" F 1" F 2" F 3" F 4" F n" Sia la struttura della directory che i file stanno su disco. Informazioni in una directory di dispositivo: Nome Indirizzo Massima lunghezza Tipo Lunghezza reale Data ultimo accesso Data ultima modifica (per copia di backup) ID del proprietario Informazioni di protezione 21

22 Associazione di un file system logico ai dispositivi fisici Memorizzazione dei File Un file è di solito composto da una sequenza di blocchi. Il File System deve tenere traccia dei blocchi occupati da ciascun file. Negli ambienti Microsoft ad ogni disco è associata una Tabella di Allocazione dei File o FAT, contenente un elemento per ogni blocco del disco. In LINUX ad ogni disco è associata un layout che descrive il contenuto in termini di blocchi, superblocchi ed i-node 22

23 File System Ogni S.O. ha il proprio filesystem e non sempre questi sono tra loro compatibili: Microsoft Windows : FAT16, FAT32, NTFS Linux : FAT16, FAT32, NTFS, EXT2, EXT3, EXT4 Durante la fase di avvio della macchina (boot) per prima cosa vengono consultate le informazioni che risiedono nel BIOS (Basic Input/Output System) del PC. Qui viene indicata la posizione del Master Boot Record (MBR) che prende il controllo della macchina e cerca nella tabella delle partizioni la prima partizione contrassegnata come attiva. Da essa carica il Boot Record (BR) specifico del SO che vi risiede e lo esegue. Il BR contiene il codice necessario per caricare tutto il resto del SO. Il journaling (presente in alcune versioni di File System) è una tecnica che consente di tenere traccia di modifiche effettuate sui file o sulle directory in un area riservata del file system (journal), prima di effettuare la modifica sul File System. Tale tecnica consente di ripristinare velocemente il File System in caso di crash del sistema o improvvise mancanze di corrente che potrebbero corrompere le informazioni contenute nel file system. File Allocation Table La FAT mantiene la traccia delle aree del disco disponibili e di quelle usate dai file e dalle directory: la differenza fra FAT12, FAT16 e FAT32 consiste appunto in quanti bit sono allocati per numerare i cluster del disco. Con 12 bit, il file system può indirizzare al massimo 2 12 = 4096 cluster, mentre con 32 si possono gestire 2 32 = cluster. Il file system FAT è un file system con allocazione concatenata. Una partizione FAT è strutturata in quattro sezioni diverse: 1. I settori riservati, che si trovano proprio all'inizio. Il primo settore riservato (settore zero) è il settore di avvio, seguito dal BIOS Parameter Block (con alcune informazioni di base del FS, in particolare il suo tipo, e puntatori alla posizione delle altre sezioni). 2. La Regione FAT: Contiene almeno due copie della FAT (per motivi di sicurezza). Rappresentano la mappa della regione dati. Una partizione è divisa in cluster (insieme di settori fisici contigui) dalle dimensioni variabili tra 2 e 32 KB. Ogni file è strutturato sul disco come una lista concatenata di cluster non necessariamente contigui: questa è la ragione principale per cui si parla di frammentazione del disco nei filesystem FAT. 3. La Regione della ROOT directory: è una tabella che memorizza le cartelle e i files presenti nella directory di root. 4. L'area dati: è dove files e cartelle sono realmente memorizzati e occupa la maggior parte della partizione FAT utilizza il formato little endian per le voci nell'intestazione e la/le FAT. 23

24 New Technology File System NTFS è un file system dei sistemi operativi basati su kernel NT. NTFS sfrutta un'indicizzazione a 64 bit. La struttura principale di un filesystem NTFS è la Master File Table (MFT), una tabella strutturata in blocchi (solitamente in record di 1KB) che contiene gli attributi di tutti i file del volume. Le directory sono memorizzate come file: in ogni file-directory sono presenti degli attributi speciali, che si riferiscono ai file contenuti in tale directory. I dati veri e propri dei file sono memorizzati in stream (flussi sequenziali) puntati da appositi attributi Data ü NTFS è un sistema transazionale (o "Journaled" come si dice nei sistemi operativi Apple come Mac OS X); questo vuol dire che se un'operazione è interrotta a metà (ad esempio per un blackout) viene persa solo quell'operazione ma non è compromessa l'integrità del file system il quale resta comunque leggibile dal computer. ü A ciascun file o cartella è possibile assegnare dei diritti di accesso (lettura, scrittura, modifica, cancellazione e altri). ü I nomi dei file e delle cartelle possono essere lunghi fino a 255 caratteri e possono contenere caratteri di tutte le lingue del mondo grazie alla codifica Unicode. ü La dimensione dei volumi e il massimo numero di file sono praticamente illimitati; la dimensione del volume può raggiungere al massimo i 256 Terabytes (2 48 clusters - 1), il numero limite di file è invece di circa 4,3 miliardi (2 32-1). La dimensione massima di un singolo file è di 16 Terabytes. EXTented filesystem Il file system di tipo ext è uno dei filesystem più diffusi nei vari sistemi operativi open source, in quanto è stato per lungo tempo quello usato dai sistemi GNU/ Linux. Attualmente è supportato da tutti i sistemi operativi open source e esistono programmi per utilizzare i volumi ext anche da Microsoft Windows (senza supporto Microsoft) e Mac OS X. Il suo uso è diffuso per via delle sue buone prestazioni e alla grande stabilità che ha dimostrato negli anni. ext2 non è dotato di nessun tipo di journaling. Inoltre, sebbene nel momento della sua prima scrittura la dimensione massima di un volume fosse di 2GB, ora ext2 supporta volumi di 4TB. Ext2 è stato sostituito da versioni più recenti Ext3 ed Ext4 che introducono delle importanti caratteristiche (il journaling) mantenendo la compatibilità completa. Lo spazio è suddiviso in blocchi e organizzato in gruppi di blocchi, per ridurre la frammentazione interna e minimizzare i movimenti della testina del disco durante la lettura di molti dati consecutivi. All'interno di ogni gruppo di blocchi ci sono i superblock, group descriptor, block bitmap, i-node bitmap, infine seguiti dai blocchi dei dati. Il superblock contiene informazioni importanti per l'avvio del sistema operativo, per cui vengono fatte copie di backup in ogni gruppo dei blocchi. Il descrittore del gruppo memorizza il valore del block bitmap, inode bitmap e l'inizio della tabella degli i-node per ogni gruppo dei blocchi. 24

25 Descrive lo stato del file system complessivo: n. di blocchi complessivo, n. di inode, n. di blocchi liberi, Blocco logico multiplo di blocchi fisici Esempio : Layout del disco in EXT3 Label Boot area Primary superblock Cylinder Group 1 summary Block I-node Table Ogni disco contiene: Una label con la tabella delle partizioni Una boot area Un superblock (con copia di backup) N gruppi di cilindro Copia di backup del primary superblock Data Block area Backup Superblock Cylinder Group 2 summary Block I-node Table Data Block area Un insieme di gruppi di cilindro può essere associato ad un filesystem Unix I-node Ad ogni file è associata una piccola tabella, detta i-node ("index-node"), contenente ü gli attributi del file (tipo, dimensione, permessi,.) ü gli indirizzi dei primi blocchi del disco su cui è memorizzato il file ü l indirizzo di un blocco a singola indirezione contenente gli indirizzi di blocchi a singola indirezione ü l indirizzo di un blocco a doppia indirezione contenente gli indirizzi di ulteriori blocchi di dati su disco Ogni i-node è identificato da un i-number Tutte le operazioni su un file o una directory vengono effettuate tramite il suo i-node, che contiene tutte le informazioni sul file stesso, esclusi i dati veri e propri 25

Cosa è un Sistema Operativo (S.O.)

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

Dettagli

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

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

Capitolo 11 -- Silberschatz

Capitolo 11 -- Silberschatz Implementazione del File System Capitolo 11 -- Silberschatz Implementazione del File System File system: Definizione dell aspetto del sistema agli occhi dell utente Algoritmi e strutture dati che permettono

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

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

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

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 Il Sistema Operativo Windows (parte 3)

Sistemi Operativi Il Sistema Operativo Windows (parte 3) Sistemi Operativi Il Sistema Operativo Windows (parte 3) Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Architettura di NTFS 1 NTFS file system adottato

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

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

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

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

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

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

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

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

Dettagli

Il 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

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

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

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

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

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

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

Gestione della memoria centrale

Gestione della memoria centrale FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione della memoria centrale 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

Dettagli

Modulo 4: Gestore del File System (Memoria secondaria) Componenti

Modulo 4: Gestore del File System (Memoria secondaria) Componenti Parte 3 Modulo 4: Gestore del File System (Memoria secondaria) Componenti Interfaccia utente Gestore dell I/O Gestore del File System Gestore dei Processi Gestore della Memoria Centrale *KERNEL Informatica

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

12. Implementazione di un File System. 12.1.1 Struttura a livelli. 12.2.1 Allocazione contigua

12. Implementazione di un File System. 12.1.1 Struttura a livelli. 12.2.1 Allocazione contigua 12. Implementazione di un File System 1 Struttura del file system Metodi di allocazione Gestione dello spazio libero Implementazione delle directory Prestazioni ed efficienza 2 Utente 12.1.1 Struttura

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

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

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

File system II. Sistemi Operativi Lez. 20

File system II. Sistemi Operativi Lez. 20 File system II Sistemi Operativi Lez. 20 Gestione spazi su disco Esiste un trade-off,tra spreco dello spazio e velocità di trasferimento in base alla dimensione del blocco fisico Gestione spazio su disco

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

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

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

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

Infrastrutture Software

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

Dettagli

Il 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

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

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

1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi:

1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi: 1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi: compile time, load time, execution time. Quale delle modalità precedenti necessita di un supporto hardware per poter essere

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

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

GESTIONE DELLA MEMORIA CENTRALE

GESTIONE DELLA MEMORIA CENTRALE GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:

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

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

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

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

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

Sistema Operativo Compilatore

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

Dettagli

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

Modello dei processi. Riedizione delle slide della Prof. Di Stefano Modello dei processi Riedizione delle slide della Prof. Di Stefano 1 Processi Modello di Processi asincroni comunicanti Process Scheduling Operazioni sui Processi Cooperazione tra Processi Interprocess

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

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

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

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

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

La Memoria Virtuale Ottimizzazione della memoria centrale

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

Dettagli

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione Gestione della memoria Paginazione Segmentazione Segmentazione con paginazione Modello di paginazione Il numero di pagina serve come indice per la tabella delle pagine. Questa contiene l indirizzo di base

Dettagli

Sistemi Operativi. Organizzazione logica ed implementazione di un File System

Sistemi Operativi. Organizzazione logica ed implementazione di un File System Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Organizzazione logica ed implementazione di un File

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

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

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

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

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

Indice. settembre 2008 Il File System 2

Indice. settembre 2008 Il File System 2 Il File System Indice 4. Il File System 5. Vantaggi del FS 6. Protezione 7. Condivisione 8. I file - 1 9. I file - 2 10. Attributi dei file 11. Directory 12. Livelli di astrazione - 1 13. Livelli di astrazione

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

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

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

Corso di Informatica

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

Dettagli

Il computer: primi elementi

Il computer: primi elementi Il computer: primi elementi Tommaso Motta T. Motta Il computer: primi elementi 1 Informazioni Computer = mezzo per memorizzare, elaborare, comunicare e trasmettere le informazioni Tutte le informazioni

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

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

Struttura del Micro Filesystem (µfs)

Struttura del Micro Filesystem (µfs) Struttura del Micro Filesystem (µfs) Il Micro Filesystem deve essere organizzato all'interno di un unico file regolare Linux (dev_ufs) ed può basato sul filesystem FAT-32 con la gestione dei permessi in

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

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

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

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

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

Informatica di Base - 6 c.f.u.

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

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

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

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

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

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

TITLE Sistemi Operativi 1

TITLE Sistemi Operativi 1 TITLE Sistemi Operativi 1 Cos'è un sistema operativo Definizione: Un sistema operativo è un programma che controlla l'esecuzione di programmi applicativi e agisce come interfaccia tra le applicazioni e

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

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

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

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

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

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

11 Realizzazione del File System. 11.1.1 Struttura a livelli (fig. 11.1) 11.4 Allocazione dei file

11 Realizzazione del File System. 11.1.1 Struttura a livelli (fig. 11.1) 11.4 Allocazione dei file 11 Realizzazione del File System 1 Metodi di allocazione Allocazione contigua Allocazione concatenata e varianti Allocazione indicizzata e varianti Gestione dello spazio libero 11.1.1 Struttura a livelli

Dettagli