Gestione di periferici e file

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Gestione di periferici e file"

Transcript

1 Gestione di periferici e file Dispositivi di I/O Gestore di sottosistemi di I/O: esiste una differenza concettuale tra i compiti di un gestore di CPU o memoria e un gestore di un sottosistema di I/O. I gestori di memoria e CPU servono per virtualizzare la risorsa, mentre un gestore di I/O deve soltanto preoccuparsi di assegnare la risorsa. Un processo per tutta la sua vita avrà bisogno di CPU e memoria, ma solo saltuariamente avrà bisogno di dispositivi di I/O.

2 Gestore di I/O Ad un processo si assegnano sempre e comunque CPU e memoria, mentre non gli si assegna un dispositivo di I/O se non ne fa esplicita richiesta. Strategie di allocazione e revoca dei dispositivi diverse a seconda del tipo. In genere un dispositivo di I/O è considerato come risorsa non preemptable, cioè viene assegnato al processo finché questi non ha terminato. minore flessibilità. Gestori di I/O Devono mascherare all utente i problemi HW legati al dispositivo. Devono appiattire il più possibile le differenze tra i dispositivi (es. floppy e hard disk). Devono gestire le interruzioni provenienti dai dispositivi. Devono essere in grado di gestire errori e/o malfunzionamenti. Devono fornire un insieme di comandi per poter operare in modo efficace con i periferici.

3 Architettura HW di riferimento Dispositivi a blocchi: servono per memorizzare informazioni in blocchi di dimensione fisica specificata: da 128 a 2kB. Ogni blocco può essere riferito indipendentemente dagli altri blocchi (accesso casuale). Dispositivi a carattere: Inviano o accettano stringhe di caratteri. Il flusso di byte non può essere alterato nell ordine. Dispositivi speciali: Ad esempio il clock. Non è caratterizzato da blocchi indirizzabili e non può accettare o mandare stringhe di caratteri; può essere programmato per generare interruzioni. Controller Doppia interfaccia: dispositivo controller (a parallelismo proprio del dispositivo). controller bus (a parallelismo proprio del bus -> uguale per tutti i controller). dispositivo segnali stato registri controllo stato comandi stato CPU memoria dati buffer dati parallelismo del dispositivo parallelismo del bus

4 Controller La CPU scrive nel registro di controllo: nel registro di controllo c è un bit per abilitare le interruzioni (quando il dispositivo ha finito manda un interruzione). I registri possono essere visti memory mapped o I/O mapped. Il dispositivo esegue il compito e scrive nel registro di stato delle informazioni riguardanti l operazione che ha eseguito. nel registro di stato vi sono due bit: uno viene automaticamente settato quando il dispositivo ha terminato e l altro in caso di errore. La CPU legge il registro di stato. Architettura SW di riferimento Il sottosistema SW è costituito da componenti organizzati gerarchicamente. livello utente device independent sw device driver. gestori interrupt Le peculiarità dei dispositivi sono confinate in questi due livelli livello utente device independent sw device driver gestori interrupt

5 Architettura SW di riferimento processo esterno /*I/O*/ while(1) <attesa invio del comando> <esegue comando> <verifica l esito del comando> bit_di_flag=1; processo interno while(1) <prepara il comando> <invia il comando> do while(flag==0); <verifica l esito> Architettura SW di riferimento struct semaforo fine=0; processo interno do <prepara il comando <invia il comando wait(&fine); <verifica l esito> while(trasf_non_completato); interrupt handler /*livello kernel*/ <salvataggio stato> signal(&fine); <ripristino stato> <ritorno da interruzione> processo esterno while(1) <attesa invio del comando> <esegue il comando> <registra l esito del comando> bit_di _flag=1; /*interruzione*/

6 Device driver Il device driver è un processo di sistema attivato via interrupt e non dallo scheduler tradizionale. Conviene vedere il device driver come processo di sistema e non come parte integrante del kernel. Compiti del device driver: invia i comandi al dispositivo riceve le interruzioni gestisce gli errori gestisce la competizione sincronizza processo applicativo (utente) e dispositivi mediante bufferizzazione. I/O in Unix In Unix i device driver non sono processi di sistema ma particolari routine del nucleo. Più efficiente ma meno modulare. Due interfacce tra chiamate di sistema e i device driver: raw: trasferisce le stringhe di caratteri così come sono. cocked: (più raffinata) permette l uso del backspace. chiamate di sistema HW independent socket protocolli int. cocked block int. raw block int. cocked tty int. raw tty HW dependent interfaccia di rete block device driver character device driver

7 File system Necessità di memorizzare quantità di informazioni che non possono essere tenute in memoria centrale e che devono sopravvivere al processo che le ha generate. file: contenitore di informazioni di memoria di massa. Caratteristiche di un file system: permette di identificare univocamente un file fornisce metodi per accedere a blocchi elementari di informazioni in un file. maschera le caratteristiche fisiche dei dispositivi. realizza meccanismi di controllo. garantisce la consistenza delle informazioni. Realizzazione del file system struttura fisica del disco: disk drive: parte meccanica. disk controller: parte elettronica. settore (blocco fisico): unità di informazione che può essere letta e/o scritta (da 32 a 4096 byte). traccia (da 4 a 32 settori) superficie (da 20 a 1500 tracce) per indirizzare un settore: seek time per raggiungere la traccia e latency time per portare il settore sotto la testina. indirizzo visto come terna di numeri: numero di cilindro, numero di traccia nel cilindro e numero di settore all interno della traccia.

8 Gestione dello spazio libero Bit map: ogni blocco è rappresentato da un bit facile trovare sequenze consecutivi di blocchi liberi. la bit map deve essere tenuta in memoria per motivi di efficienza. Lista concatenata di blocchi: ogni blocco contiene la quantità massima possibile di numeri di blocchi di disco liberi non è efficiente perché devo scandire i blocchi in sequenza e non riesco facilmente ad individuare sequenze di blocchi liberi Metodi di allocazione Un file è memorizzato in blocchi logici di dimensione finita. Ogni blocco logico può contenere 1,2,... blocchi fisici. concetto di cluster ogni operazione (lettura o scrittura) riguarda blocchi logici. Allocazione contigua pregi: riduco il tempo di seek, posso avere accessi sia sequenziali sia diretti. difetti: frammentazione esterna, devono conoscere a priori la dimensione massima del file.

9 Metodi di allocazione Allocazione a lista: in ogni blocco ho l indirizzo del blocco successivo. pregi: non ho frammentazione esterna e posso allocare dinamicamente blocchi man mano che il file cresce. difetti: impossibile l accesso diretto, e se perdo un blocco della lista, perdo tutto il file. Allocazione ad indice: in un blocco di indice ho l elenco dei blocchi, in ordine, che costituiscono il file dimensione massima di un file = al numero di indirizzi che possono stare in un blocco (risolvo con l indirizzamento indiretto). risolvo il problema della frammentazione e dell accesso diretto. Metodi di accesso Metodo di accesso byte stream : modello del file: sequenza di byte. le operazioni di lettura e scrittura specificano il numero di byte che devono essere letti o scritti. puntatore alla posizione corrente (viene incrementato del numero di byte letti o scritti). Conoscendo: l indirizzo fisico del primo blocco del file, la dimensione del blocco e la posizione corrente all interno del file, è possibile risalire al blocco che si deve leggere o scrivere. Metodo di accesso append: consente di aggiungere byte alla fine di un file.

10 Metodi di accesso Metodo di accesso seek: posiziona il puntatore alla posizione corrente in un ben preciso punto del file. si usa per effettuare letture o scritture di byte non consecutivi. Organizzazione a record: il file è visto come un insieme di record, suddivisi in campi e identificati da un nome simbolico. i record possono essere a lunghezza fissa o a lunghezza variabile. Tre metodi di accesso ad alto livello fondamentali: sequenziale diretto a chiave Metodi di accesso Accesso sequenziale: Il file è visto come una successione di record cui è associata una posizione corrente. il file sequenziale è un astrazione che modella il comportamento di periferiche di tipo nastro. Accesso diretto: il file è visto come un array di record. il file ad accesso diretto modella il comportamento di periferiche ad accesso casuale (disco). Accesso a chiave: è visto logicamente come una collezione di record all interno dei quali esiste un campo chiave. il record viene identificato specificando il nome del campo chiave possono esistere più campi chiave (chiave primaria, chiave secondaria).

11 Metodi di accesso Ad una chiave primaria può corrispondere solo un record, mentre ad una chiave secondaria possono corrispondere più record. File ad indice (indexed) è usato come sinonimo di file a chiave. File sequenziale con indice è un file su cui si possono eseguire accessi a chiave ed in più vi è associato il concetto di posizione corrente. Proprietà dei file Descrittore di file: corrispondenza tra nome logico e indirizzo fisico. contiene gli attributi del file. un insieme di descrittori è un direttorio. Attributi: protezione -lunghezza record parola chiave -pos. chiav. nel rec. creatore -data creazione proprietario -data ultima modif. read only flag -numero di byte ASCII o BIN -dimensione max lock flag -versione (VMS)

12 Organizzazione del file system Un direttorio è visto come un file, identificato da un nome simbolico. Organizzazione gerarchica ad albero: tutti i nodi dell albero sono direttori e le foglie i file veri e propri. Identificazione univoca di un file = pathname. File system di Unix Non esistono limiti nel livello di annidamento dei direttori. Alcuni direttori predefiniti hanno delle funzioni specifiche indipendentemente della versione (etc, usr, etc.) Caratteristica di omogeneità: tutte le risorse del sistema sono viste come file: file ordinari direttori file speciali (dispositivi fisici). Caratteristica di trasparenza: ogni utente può accedere ad un dispositivo allo stesso modo in cui accede a un file.

13 File system di Unix Un riferimento ad un file può essere fatto in due modi: riferimento relativo (riferito al direttorio corrente). riferimento assoluto (riferito al direttorio radice). Ad ogni file è associato un solo descrittore (i-node), identificato da un indice di tabella (i-number). Ad ogni file possono essere associati più nomi simbolici (linking) Convenzioni:. direttorio corrente.. direttorio padre. Protezioni Multiutenza: username e password classificazione degli utenti in gruppi. Esempio: username anna [user_id:1234], group [group_id:22] Ad ogni file è associato il nome dell utente che lo ha creato e quello del gruppo. Tre modalità di accesso: lettura, scrittura ed esecuzione. 12 bit di protezione per i file: RWX RWX RWX User Group Other suid sgid sticky

14 Protezioni I tre bit più significativi hanno senso solo per file eseguibili: suid: set user id sgid: set group id sticky: save text image bit File eseguibili che contengono codice che può essere eseguito, generando un processo a cui viene assegnato dinamicamente l uid e il gid del proprietario del file (es: posso essere temporaneamente root). Normalmente quando si lancia un eseguibile, il processo che si genera ha uid e gid dell utente che lancia il file. sticky: l immagine del processo rimane in memoria anche dopo la sua terminazione (es: comandi più frequenti). File system di Unix Metodo di allocazione ad indice Blocco: unità elementare di allocazione (da 512 a 4096 byte). Partizionamento del disco in blocchi. Realizzazione del file system attraverso la suddivisione del disco in 4 regioni: Boot Block Super Block I-list Data blocks. Boot block Super block I-list Data blocks

15 File system di Unix Boot block: contiene le procedure di inizializzazione del sistema. Super block contiene: i limiti delle 4 regioni. il puntatore a una lista dei blocchi liberi. il puntatore a una lista degli i-node liberi Data blocks: area effettivamente disponibile per la memorizzazione dei file. I-list: contiene la lista di tutti gli i-node del file system (accesso con l indice i-number). I-node I-node: è il descrittore del file. Attributi contenuti nell i-node: tipo del file (ordinario, direttorio, speciale). proprietario, gruppo. dimensione. data dell ultima modifica. 12 bit di protezione. numero di links. 13 indirizzi di blocchi.

16 Indirizzamento L allocazione del file non è fisicamente su blocchi contigui. 13 indirizzi di cui: 10 indirizzi di blocchi di dati (0-9). 11 indirizzo contenente l indirizzo di un blocco dove sono registrati gli indirizzi di blocchi di dati. 12 indirizzo (secondo livello di indirettezza). 13 indirizzo (tre livelli di indirettezza). Se la dimensione di un blocco è di 512 byte, con indirizzi su 4 byte, un blocco contiene 128 indirizzi. Capacità di indirizzamento: * *128*128 Dimensione massima di un file dell ordine del Gbyte. Gestione dei file System call creat: cerca spazio sul disco. inserisce il descrittore nel direttorio identificato dal pathname del file. inserisce nel descrittore l indirizzo fisico, gli attributi e il metodo di accesso. system call delete: rilascia lo spazio su disco. cancella il descrittore dal direttorio. System call open: porta in memoria il descrittore del file in un apposita tabella. restituisce l identificatore di file, che corrisponde alla posizione del descrittore nella tabella.

17 Gestione dei file System call close: il descrittore del file, eventualmente modificato, è ricopiato su disco. System call get attributes: fornisce gli attributi del file. System call set attributes: modifica gli attributi del file. System call rename: cambia il nome del file. System call read e write: dipendono dal metodo di accesso. Informazioni necessarie: identificatore del file, area di memoria dove inserire o prelevare i dati, identificatore del blocco interessato al trasferimento (dipende dal metodo di accesso). Gestione dei file in Unix Assenza di strutturazione: file = sequenza di byte I/O pointer : posizione corrente all interno del file. Accesso: sequenziale diretto Varie modalità di accesso: lettura, scrittura, lettura/scrittura, etc. Accesso subordinato all operazione di apertura.

18 File descriptor Ogni processo gestisce una tabella dei file aperti (generalmente max 20). Ogni elemento della tabella rappresenta un file aperto dal processo ed è individuato da un indice intero (file descriptor). 0, 1, 2 individuano rispettivamente standard input, output error (aperti automaticamente alla creazione di un processo). La tabella dei file aperti di un processo è allocata nella user kernel area. Gestione dei file Nella tabella dei file aperti vi è un elemento per ogni apertura : a processi diversi che accedono allo stesso file, corrispondono entry distinte. Ogni elemento contiene il puntatore alla posizione corrente (I/O pointer): più processi possono accedere contemporaneamente allo stesso file, ma con I/O pointer diversi. L operazione di apertura provoca la copia dell i-node in memoria centrale La tabella dei file attivi contiene gli i-node di tutti i file aperti. Il numero dei record è pari al numero di file aperti. Sistema PA fd Tabella dei file attivi i-node PB fd I/O pointer I/O pointer Tabella dei file aperti di sistema Memoria di massa

19 System call: open e creat Apertura: creat, open. L apertura di un file provoca: l allocazione di un elemento nella prima posizione libera dalla tabella dei file aperti del processo. l inserimento di un nuovo record nella tabella dei file aperti di sistema. la copia dell i-node nella tabella dei file attivi (se il file non è già stato aperto da un altro processo). Apertura di file già esistenti: int fd, flags; char *nomefile; fd=open(nomefile,flags); flags esprimono le modalità di accesso: O_RDONLY, O_WRONLY, O_RDWR etc. definite in fcntl.h. fd = file descriptor. System call: open e creat Apertura di nuovi file: fd=creat(nomefile,perm); perm rappresenta i 12 bit di protezione. se un file esiste già viene sovrascritto. Esempio: #include <fcntl.h> #define PERM 0744 main() int fd; if(fd=open( /home/miofile,o_rdonly)<0) printf( Il file non esiste\n ); fd=creat( /home/miofile,perm); /*Accesso a file*/...

20 System call: read Lettura e scrittura di file Accesso attraverso la specifica del file descriptor. Ogni operazione di lettura o scrittura agisce sequenzialmente sul file, a partire dalla posizione corrente del puntatore (I/O pointer). Possibilità di alternare operazioni di lettura e scrittura. Atomicità delle singole operazioni. Read: int fd,n,let; char *buf; let=read(fd,buf,n); buf: area in cui trasferire i byte letti. let: numero di byte effettivamente letti. È previsto un EOF (^D) System call: write Write: int fd,n,scritti; char *buf; scritti=write(fd,buf,n); se scritti è < n errore Esempio: #include <fcntl.h> main() int fd,n; char buf[10]; if (fd=open( /home/miofile,o_rdonly)<0) printf( Il file non esiste\n ), exit(-1); while ((n=read(fd,buf,10))>0) write(1,buf,10); /*scrittura su stand. output */...

21 System call: lseek Accesso diretto: per spostare l I/O pointer: int fd,offset,origine,dest; dest=lseek(fd,offset,origine); offset = spostamento in byte dall origine. origine: 0 inizio file, 1 posizione corr., 2 fine file. Chiusura file: int fd,rit; rit=close(fd); rit = risultato dell operazione. Esempio: #include<fcntl.h> main() int fd,n; char buf[10]; if(fd=open( /home/miofile,o_rd WR)<0)... lseek(fd,-3,2);... close(fd); Pipe: System call: pipe int fd[2],retval; retval=pipe(fd); fd vettore di due elementi interi, fd[0] identifica il file aperto in lettura, fd[1] in scrittura. Comunicazione con pipe nell ambito della gerarchia di processi. Strumenti di lettura e scrittura read() e write().

22 System call: pipe Esempio: #include<stdio.h> char *buf= Ciao ; main() int fd[2], rit, pid, n; rit=pipe(fd); if((pid=fork())!=0) /*padre*/ close(fd[0]); write(fd[1],buf,5); close(fd[1]); else close(fd[1]); read(fd[0],buf,5); printf( Ho letto %s dalla pipe \n,buf); close(fd(0)); System call: link e unlink Link: char *oldpath, *newpath; int rit; rit=link(oldpath,newpath); oldpath è un nome simbolico del file (preesistente); newpath è il nuovo nome che si desidera assegnare al file. rit valore restituito (-1 errore). Unlink: decrementa il numero di link dell i-node; se è 0 provoca la cancellazione del file. char *path; int rit; rit=unlink(path);

23 Comandi Sintassi del tipo: nome comando [opzioni] [argomenti]. esempio: ls -la /usr/anna Comandi di interazione con il file system: gestione dei file e dei direttori. Comandi di gestione del sistema: informazioni sulle risorse modifica di dati di sistema Standard input Comando Standard error Standard ouput Redirezione e piping Comandi filtro: elaborano dati dallo standard input producono risultati sullo standard output. more, sort, grep, head, tail. E possibile deviare standard input, output e error di un comando su file usando i caratteri <, >, >>: < redirezione dello standard input > redirezione dello standard output >> redirezione in append dello standard output 2> redirezione dello standard error. È possibile deviare lo standard output di un comando nello standard input di un altro con il comando: comando1 comando2 i due comandi vengono eseguiti in parallelo.

24 Esecuzione dei comandi Per ogni comando da eseguire la shell crea una shell figlio, dedicato all esecuzione del comando. Esecuzione in foreground: il padre si sospende in attesa della terminazione del figlio. Esecuzione in background: il padre continua la propria esecuzione in parallelo con il figlio. Esecuzione comandi: schema implementativo do <accettazione comando> <interpretazione comando> pid=fork(); if (pid==0) /*figlio*/ execl(<comando>); exit(-1); else /*padre */ if (<foreground>)) wait (&status); while(!eof) /*fine ciclo*/

25 Redirezione: schema implementativo... pid=fork(); if (pid == 0) /* figlio */ if (<redirezione input>) close(0); open(<filein>,o_rdonly); execl(<comando>); exit(-1);... Piping: schema implementativo... pipe(fd); pid1=fork(); if (pid1==0) /*1^ figlio*/ close(1); dup(fd[1]); execl(<comando1>); else pid2=fork(); if (pid2 ==0) /*2^ figlio */ close(0); dup(fd[0]); execl(<comando2>); else /* padre */

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2018-2019 Pietro Frasca Lezione 22 Martedì 08-01-2019 Struttura logica del file system una tipica organizzazione

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 23 Martedì 17-01-2017 Il file system Il file system si basa sulle astrazioni

Dettagli

Sistemi Operativi Teledidattico

Sistemi Operativi Teledidattico Sistemi Operativi Teledidattico Anno 2002 3a esercitazione 5/10/2002 Paolo Torroni processi fork (creazione di un figlio) exec (sostituzione di codice del programma in esecuzione) wait (attesa della terminazione

Dettagli

Architettura dei calcolatori e sistemi operativi. Input Output. IO 3 Device driver

Architettura dei calcolatori e sistemi operativi. Input Output. IO 3 Device driver Architettura dei calcolatori e sistemi operativi Input Output IO 3 Device driver Device driver - gestori delle periferiche Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi

Dettagli

5. I device driver. Device driver - gestori delle periferiche. Struttura interna del sistema operativo Linux. Tipi di periferiche. Tipi di periferiche

5. I device driver. Device driver - gestori delle periferiche. Struttura interna del sistema operativo Linux. Tipi di periferiche. Tipi di periferiche Device driver - gestori delle periferiche Struttura interna del sistema operativo Linux Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi periferici Interagiscono con

Dettagli

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. Il File System 1 Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i

Dettagli

Il file system. Il File System. Il file È un insieme di informazioni: programmi dati testi

Il file system. Il File System. Il file È un insieme di informazioni: programmi dati testi Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Il File System Realizza i concetti

Dettagli

CAP9. Device drivers

CAP9. Device drivers Struttura interna del sistema operativo Linux CAP9. Device drivers Device drivers Gestori di periferiche Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi periferici

Dettagli

Struttura interna del sistema operativo Linux

Struttura interna del sistema operativo Linux Struttura interna del sistema operativo Linux 5. I device driver A cura di: Anna Antola Giuseppe Pozzi DEI, Politecnico di Milano anna.antola/giuseppe.pozzi@polimi.it -versione del 30 marzo 2004-1-04.-04

Dettagli

Il file È un insieme di informazioni: programmi. Il File System. Il file system

Il file È un insieme di informazioni: programmi. Il File System. Il file system Il File System Il file È un insieme di informazioni: programmi d a t i testi rappresentati come insieme di record logici (bit, byte, linee, record, etc.) Ogni file è individuato da (almeno) un nome simbolico

Dettagli

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti

Dettagli

Esercizio FAT 1. Soluzione: 1. Capacità del disco: 2 24 blocchi (3 byte=24 bit) 2

Esercizio FAT 1. Soluzione: 1. Capacità del disco: 2 24 blocchi (3 byte=24 bit) 2 Esercizio FAT 1 In un disco con blocchi di 1 Kbyte (= 2 10 byte), è definito un file system FAT. Gli elementi della FAT sono in corrispondenza biunivoca con i blocchi fisici del disco. Ogni elemento ha

Dettagli

Esercitazione 4. Gestione dei file in Unix

Esercitazione 4. Gestione dei file in Unix Esercitazione 4 Gestione dei file in Unix Primitive fondamentali (1/2) open close Apre il file specificato e restituisce il suo file descriptor (fd) Crea una nuova entry nella tabella dei file aperti di

Dettagli

Lab. di Sistemi Operativi - Lezione in aula - a.a. 2012/2013

Lab. di Sistemi Operativi - Lezione in aula - a.a. 2012/2013 Lab. di Sistemi Operativi - Lezione in aula - a.a. 2012/2013 Processi bash 1 Sommario I processi Comando ps (process status) Terminazione di un processo CTRL-C Kill Controllo dei processi Processi in background

Dettagli

Sistemi Operativi. 7 Gestione dei processi in Unix

Sistemi Operativi. 7 Gestione dei processi in Unix Gestione dei processi in Unix Creazione e terminazione dei processi: fork: crea un nuovo processo duplicando il processo chiamante exec: attiva l esecuzione di un programma memorizzato in un file eseguibile.

Dettagli

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI Compiti del sottosistema di I/O Architettura del sottosistema di I/O Gestore di un dispositivo di I/O Gestione e organizzazione dei dischi COMPITI

Dettagli

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI Compiti del sottosistema di I/O Architettura del sottosistema di I/O Gestore di un dispositivo di I/O COMPITI DEL SOTTOSISTEMA DI I/O 1. Nascondere

Dettagli

System call per la gestione di processi

System call per la gestione di processi System call per la gestione di processi Chiamate di sistema per creazione di processi: fork() sostituzione di codice e dati: exec...() terminazione: exit() sospensione in attesa della terminazione di figli:

Dettagli

System call per la gestione di processi

System call per la gestione di processi System call per la gestione di processi Chiamate di sistema per creazione di processi: fork() sostituzione di codice e dati: exec...() terminazione: exit() sospensione in attesa della terminazione di figli:

Dettagli

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA COMPITI DEL SOTTOSISTEMA DI I/O ARGOMENTI

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA COMPITI DEL SOTTOSISTEMA DI I/O ARGOMENTI GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI Compiti del sottosistema di I/O Architettura del sottosistema di I/O Gestore di un di I/O 1. Nascondere al programmatore i dettagli delle interfacce

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2017-18 Pietro Frasca Lezione 23 Giovedì 11-01-2018 Organizzazione fisica del file system Il file system

Dettagli

File System. Sistemi Operativi Lezione 19

File System. Sistemi Operativi Lezione 19 File System Sistemi Operativi Lezione 19 Necessità Un qualunque sistema per la gestione delle informazioni deve essere in grado di soddisfare i seguenti requisiti: Memorizzare grosse quantità di dati Garantire

Dettagli

Il file system. Il File System. Attributi del file. File

Il file system. Il File System. Attributi del file. File 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

Sistema Operativo (Software di base)

Sistema Operativo (Software di base) 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

System call per l accesso a file

System call per l accesso a file System call per l accesso a file Nome open creat close read write lseek unlink remove fcntl Significato apre un file in lettura e/o scrittura o crea un nuovo file crea un file nuovo chiude un file precedentemente

Dettagli

Gestione del file system. Astrazione di File System. Attributi del file. File

Gestione del file system. Astrazione di File System. Attributi del file. File Gestione del file system Astrazione di 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

Dettagli

Interfaccia del file system

Interfaccia del file system Interfaccia del file system Concetto di file Metodi di accesso Struttura delle directory Protezione 1 Concetto di File Insieme di informazioni correlate, registrate in memoria secondaria, con un nome.

Dettagli

Architettura dei calcolatori e sistemi operativi. Input Output. IO 2 Il File System

Architettura dei calcolatori e sistemi operativi. Input Output. IO 2 Il File System Architettura dei calcolatori e sistemi operativi Input Output IO 2 Il File System File System E quel componente del Sistema Operativo che realizza i servizi di gestione dei file file: unità di archiviazione

Dettagli

Il File System. Sistemi Operativi L-A AA

Il File System. Sistemi Operativi L-A AA Il File System Sistemi Operativi L-A AA 2009-2010 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

Dettagli

Linguaggio C: i file

Linguaggio C: i file Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica A - GES Prof. Plebani A.A. 2006/2007 Linguaggio C: i file La presente dispensa e da utilizzarsi ai soli fini didattici previa

Dettagli

Gestione periferiche I/O

Gestione periferiche I/O Gestione periferiche I/O Compiti del sottosistema IO Nascondere al programmatore i dettagli delle interfacce hw e dei dispositivi (utilizzo di controllori) Omogeneizzare la gestione di dispositivi diversi

Dettagli

Architettura degli elaboratori Docente:

Architettura degli elaboratori Docente: Politecnico di Milano Il File System Architettura degli elaboratori Docente: Ouejdane Mejri mejri@elet.polimi.it Sommario File Attributi Operazioni Struttura Organizzazione Directory Protezione Il File

Dettagli

Il File System. Sistemi Operativi T AA

Il File System. Sistemi Operativi T AA Il File System Sistemi Operativi T AA 2011-12 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

Dettagli

Simulazione esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Simulazione esame Laboratorio di Sistemi Operativi Cognome Nome Mat. Il compito è costituito da domande chiuse, domande aperte ed esercizi. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio

Dettagli

Architettura dei Sistemi Informatici

Architettura dei Sistemi Informatici Sistemi di Calcolo Architettura dei Sistemi Informatici Sistemi informatici PC, terminali e reti Architettura insieme delle componenti del sistema, descrizione delle loro funzionalità e della loro interazione

Dettagli

File System ext2. Struttura del filesystem ext2.

File System ext2. Struttura del filesystem ext2. Struttura di base File System ext2 Lo spazio fisico di un disco viene usualmente diviso in partizioni; ogni partizione può contenere un filesystem. Nel filesystem ext2 il blocco (block) definisce la minima

Dettagli

Sistemi Operativi. Bruschi Martignoni Monga. File system Astrazioni utente Metadati Tecniche implementative. Sistemi Operativi

Sistemi Operativi. Bruschi Martignoni Monga. File system Astrazioni utente Metadati Tecniche implementative. Sistemi Operativi 1 Mattia Lezione XXX: Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo

Dettagli

Logico e fisico. Fisico: legato agli aspetti costruttivi e tecnologici HARDWARE Logico: legato al significato e all organizzazione SOFTWARE FISICO

Logico e fisico. Fisico: legato agli aspetti costruttivi e tecnologici HARDWARE Logico: legato al significato e all organizzazione SOFTWARE FISICO File System FISICO LOGICO Indice Caratteristiche generali I file e directory Metodi di accesso Directory e descrittori dei file Operazioni sui file Organizzazione della memoria fisica Allocazione della

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2017-18 Pietro Frasca Lezione 9 Giovedì 2-11-2017 Comunicazione con pipe Oltre che con la memoria condivisa

Dettagli

Gestione dei files. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132

Gestione dei files. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132 Gestione dei files Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132 Struttura del disco fisso Un disco fisso è composto da una serie di piatti sovrapposti Ogni piatto è

Dettagli

I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix.

I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix. I Processi nel Sistema Operativo Unix Processi Unix Unix è un sistema operativo multiprogrammato a divisione di tempo: l unità di computazione è il processo. Caratteristiche del processo Unix: processo

Dettagli

Strutture dei sistemi di calcolo

Strutture dei sistemi di calcolo Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di protezione Architettura di un sistema di calcolo

Dettagli

&& (nessun altro processo ha il file aperto) && (il fd e chiuso) Cancella il file;

&& (nessun altro processo ha il file aperto) && (il fd e chiuso) Cancella il file; CREAZIONE ritorna fd o 1 Pseudocodice dell operazione: If(file esiste) If(Write permission) Tronca la lunghezza a 0 e lascia il file aperto in scrittura; Else Exit(-1); Else Alloca un nuovo INODE con link=1

Dettagli

LABORATORIO DI SISTEMI OPERATIVI

LABORATORIO DI SISTEMI OPERATIVI LABORATORIO DI SISTEMI OPERATIVI Corso di Laurea Triennale in Ingegneria Informatica A.A. 2018/2019 Guglielmo Cola Email: g.cola@iet.unipi.it Web: iet.unipi.it/g.cola Organizzazione del filesystem Meccanismo

Dettagli

La Comunicazione tra Processi in Unix

La Comunicazione tra Processi in Unix La Comunicazione tra Processi in Unix 1 Interazione tra processi Unix I processi Unix non possono condividere memoria (modello ad ambiente locale ) L interazione tra processi può avvenire: mediante la

Dettagli

Laboratorio di Informatica (Chimica)

Laboratorio di Informatica (Chimica) Laboratorio di Informatica (Chimica) Lezione 02: Il Sistema Operativo. Walter Cazzola Dipartimento di Informatica e Comunicazione Università à degli Studi di Milano. e-mail: cazzola@dico.unimi.it Walter

Dettagli

Il Sistema Operativo

Il Sistema Operativo Corso di Alfabetizzazione Informatica 2003/2004 Il Sistema Operativo Modello di von Neumann Bus di sistema CPU Memoria Centrale Memoria di Massa Interfaccia Periferica 1 Interfaccia Periferica 2 Il computer

Dettagli

Corso di Reti di Calcolatori T

Corso di Reti di Calcolatori T Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 0 (proposta) Lettura e Scrittura File in Java e C Luca Foschini Michele Solimando, Giuseppe Martuscelli

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche

Dettagli

Il Sistema Operativo Gestione del File System

Il Sistema Operativo Gestione del File System ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario File System File e Cartelle Partizione Path Tabella di Allocazione Frammentazione 2 File File Gestione dell Interfaccia Gestione

Dettagli

La Comunicazione tra Processi in Unix

La Comunicazione tra Processi in Unix La Comunicazione tra Processi in Unix La è un canale di comunicazione tra processi: unidirezionale: accessibile ad un estremo in lettura ed all'altro in scrittura molti-a-molti: più processi possono spedire

Dettagli

Il file system di Unix. Caratteristiche generali dei FS comunemente usati da Unix/Linux

Il file system di Unix. Caratteristiche generali dei FS comunemente usati da Unix/Linux Il file system di Unix Caratteristiche generali dei FS comunemente usati da Unix/Linux Il file system di Unix Il file system è la parte del SO che si occupa di mantenere i dati/programmi in modo persistente

Dettagli

Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 9 File

Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 9 File Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Unità 9 File D. Bloisi, A. Pennisi, S. Peluso, S. Salza, C. Ciccotelli Sommario Input/Output

Dettagli

LA GESTIONE DELLA I/O

LA GESTIONE DELLA I/O LA GESTIONE DELLA I/O Il S.O. È l interfaccia tra l hardware e i programmi che effettuano richieste di I/O Sottosistema di I/O strutturato in moduli chiamati DRIVER uno per ogni dispositivo I Driver rendono

Dettagli

Capitolo 3 -- Stevens

Capitolo 3 -- Stevens I/O non bufferizzato (1) Capitolo 3 -- Stevens System Call open close read write lseek 1.2 sono degli interi non negativi file descriptor il kernel assegna un file descriptor ad ogni file aperto le funzioni

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali Indice Architettura Gestione dei processi Gestione della memoria centrale Driver Gestione dei file 2 1 Il sistema operativo E uno

Dettagli

Sistemi Operativi FILE SYSTEM : INTERFACCIA. D. Talia - UNICAL. Sistemi Operativi 8.1

Sistemi Operativi FILE SYSTEM : INTERFACCIA. D. Talia - UNICAL. Sistemi Operativi 8.1 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

Gestione dei processi nel sistema operativo Unix

Gestione dei processi nel sistema operativo Unix Gestione dei processi nel sistema operativo Unix (Bach: the Design of the Unix Operating System (cap: 6, 7, 8) 1 Argomenti Processi Strutture dati associate ai processi boot, init, shell Process Scheduling

Dettagli

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente

Dettagli

ISA Input / Output (I/O) Data register Controller

ISA Input / Output (I/O) Data register Controller ISA Input / Output (I/O) Numerose Periferiche di tanti tipi diversi, collegati alla CPU mediante BUS diversi. Solo Input (tastiera, mouse), producono dati che la CPU deve leggere. Solo Output (Schermo),

Dettagli

Il File System di Unix

Il File System di Unix Il File System di Unix 1 Il File System di UNIX Organizzazione logica / bin etc usr dev anna paolo.profile file1 mbox testi... Sistemi Operativi L A - Il File System di Unix 2 2 Il File System di UNIX

Dettagli

Livelli del sottosistema di I/O

Livelli del sottosistema di I/O Input/Output 1 Livelli del sottosistema di I/O Software di I/O di livello utente Software di sistema indipendente dal dispositivo Driver dei dispositivi Gestori delle interruzioni Hardware Modo utente

Dettagli

Modulo 10: Gestione dei dispositivi di I/O

Modulo 10: Gestione dei dispositivi di I/O Modulo 1: Gestione dei dispositivi di I/O Complessità del sottosistema di I/O Livello HW Gestione interrupt Buffering Politiche di Scheduling del disco 1.1 Complessità del sottosistema di I/O Grande varietà

Dettagli

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat. Esame Laboratorio di Sistemi Operativi 2-01-2008 Il compito è costituito da domande chiuse e domande aperte. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 1 ora. Domande chiuse:

Dettagli

UNIX file system: organizzazione logica. Il File System di UNIX. UNIX file system: organizzazione fisica

UNIX file system: organizzazione logica. Il File System di UNIX. UNIX file system: organizzazione fisica UNIX file system: organizzazione logica / Il File System di UNIX omogeneità: tutto è file tre categorie di file file ordinari direttori bin.profile etc usr dev anna file1 paolo mbox dispositivi fisici:

Dettagli

Capitolo 2: Strutture dei sistemi di calcolo

Capitolo 2: Strutture dei sistemi di calcolo Capitolo 2: Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di protezione Struttura delle reti di calcolatori

Dettagli

Sistemi operativi 2003/2004. Input e output

Sistemi operativi 2003/2004. Input e output Sistemi operativi 2003/2004 Input e output Dispositivi di I/O Human readable Usati per comunicare con esseri umani Stampanti Terminali video Tastiera Mouse, joystick, ecc. Dispositivi di I/O Machine readable

Dettagli

Cenno al file system di base di Linux

Cenno al file system di base di Linux Cenno al file system di base di Linux DISCO (memoria secondaria) E' un deposito di blocchi, ottenuti con la formattazione fisica: 0 1 2 3 4 5 6 7 8 9 100000 100005 100001 100006 100002 100007 100003 100009

Dettagli

IL SISTEMA OPERATIVO. Modulo 2

IL SISTEMA OPERATIVO. Modulo 2 IL SISTEMA OPERATIVO Modulo 2 L hardware non basta Sia l utente che gli applicativi software non possono interagire direttamente con l hardware perché: è troppo complesso da gestire offre dei servizi di

Dettagli

Comunicazione tra processi: pipe Le pipe sono un meccanismo UNIX di Inter Process Communication (IPC)

Comunicazione tra processi: pipe Le pipe sono un meccanismo UNIX di Inter Process Communication (IPC) Comunicazione tra processi: pipe Le pipe sono un meccanismo UNIX di Inter Process Communication (IPC) Le pipe sono canali di comunicazione unidirezionali Limitazione pipe: permettono la comunicazione solo

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 6 Marzo 2016

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 6 Marzo 2016 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 6 Marzo 2016 Obiettivi Il salvataggio dei dati File File e OS File in C 2 3 I programmi che abbiamo considerato finora. Perdono

Dettagli

Il File System di UNIX

Il File System di UNIX Il File System di UNIX UNIX file system: organizzazione logica / bin etc usr dev omogeneità: tutto è file tre categorie di file file ordinari direttori anna paolo.profile file1 mbox testi... dispositivi

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 21 Maggio 2014

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 21 Maggio 2014 File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 21 Maggio 2014 Obiettivi Il salvataggio dei dati File File e OS File in C 2 3 I programmi che abbiamo considerato finora. Perdono

Dettagli

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat. Il compito è costituito da domande chiuse, domande aperte ed esercizi. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio

Dettagli

Sistemi Operativi Da Unix a GNU/Linux (parte 3)

Sistemi Operativi Da Unix a GNU/Linux (parte 3) Sistemi Operativi Da Unix a GNU/Linux Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Caratteristiche del File System 1 File visto da FS come sequenza

Dettagli

Il sistema di I/O. Sistemi Operativi 13.1

Il sistema di I/O. Sistemi Operativi 13.1 Il sistema di I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Prestazioni 13.1 Introduzione Un elaborazione eseguita da

Dettagli

Filesystem: richiami sui concetti di base

Filesystem: richiami sui concetti di base Filesystem: richiami sui concetti di base 1 Cosa è un file system? Con file system si intende la parte del sistema operativo che si occupa di organizzare e gestire i dati/programmi in modo persistente

Dettagli

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1 SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware

Dettagli

Sommario FONDAMENTI DI INFORMATICA. Schema dell'architettura a livelli del SO. Il Sistema Operativo (SO) SISTEMI OPERATIVI

Sommario FONDAMENTI DI INFORMATICA. Schema dell'architettura a livelli del SO. Il Sistema Operativo (SO) SISTEMI OPERATIVI Università degli Studi di Cagliari Corsi di Laurea in Ingegneria Chimica e Ingegneria Meccanica FONDAMENTI DI INFORMATICA http://www.diee.unica.it/~marcialis/fi A.A. 217/218 Docente: Gian Luca Marcialis

Dettagli

Implementazione del File System nel Sistema Operativo Unix

Implementazione del File System nel Sistema Operativo Unix Implementazione del File System nel Sistema Operativo Unix (Bach: the Design of the Unix Operating System (cap: 4, da 5.1 a 5.7, 5.12) 1 Argomenti Index node (I-NODE) gestione dei file mediante i-node

Dettagli

Introduzione. P4 termina prima di P3, P2 e P3 prima di P1 P1 P2 P3 P4 P1 P1 P2 P3 P4. Padre. P1,..., P4 sono processi. Figlio

Introduzione. P4 termina prima di P3, P2 e P3 prima di P1 P1 P2 P3 P4 P1 P1 P2 P3 P4. Padre. P1,..., P4 sono processi. Figlio Processi Introduzione Processo = entità attiva 1. esiste per un certo lasso di tempo 2. utilizza risorse Ogni processo ha un identificatore intero (PID: process identifier) Tutti i processi UNIX hanno

Dettagli

Processi. Introduzione. Effective user/group id. Fork

Processi. Introduzione. Effective user/group id. Fork Introduzione Processi = entità attiva 1. esiste per un certo lasso di tempo 2. utilizza risorse Ogni processo ha un identificatore intero (PID: process identifier) Tutti i processi UNIX hanno un genitore

Dettagli

Il Sistema Operativo. Informatica Sistema Operativo 1

Il Sistema Operativo. Informatica Sistema Operativo 1 Il Sistema Operativo Informatica Sistema Operativo 1 O.S.:.: un intermediario SW Applicativo Sistema Operativo HW Informatica Sistema Operativo 2 O.S. vs applicativi Applicativi accesso a un insieme ridotto

Dettagli

Sistema operativo: Gestione del file system e delle periferiche

Sistema operativo: Gestione del file system e delle periferiche Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2009/2010 Sistema operativo: Gestione del file system e delle periferiche La

Dettagli

Laboratorio di Sistemi Operativi

Laboratorio di Sistemi Operativi II Semestre - Marzo/Giugno 2008 matricole congr. 0 mod 3 I/O non bufferizzato System Call open close read write lseek 2 1 file descriptor sono degli interi non negativi il kernel assegna un file descriptor

Dettagli

Richiami sui Concetti Fondamentali dei Processi

Richiami sui Concetti Fondamentali dei Processi Processi Processi 1 Richiami sui Concetti Fondamentali dei Processi Processi 2 Definizione Nell ambito dei sistemi operativi esistono diverse definizioni di processo, ad es. un programma in esecuzione

Dettagli

Esercizio n. 4 File system

Esercizio n. 4 File system Esercizio n. 4 File system Un processo P esegue il programma seguente, creando un processo figlio Q, che crea a sua volta un figlio R: int main ( ) { /* processo P */ / dichiarazioni varie / fd = open

Dettagli

Strutture. Array dei nomi degli esami (MAX ESAMI è il massimo numero degli esami). Array con i crediti degli esami.

Strutture. Array dei nomi degli esami (MAX ESAMI è il massimo numero degli esami). Array con i crediti degli esami. Consideriamo l esercizio assegnato la scorsa lezione per rappresentare il libretto di uno studente. Per memorizzare i dati si sono utilizzati tre array: char* nomiesami[max ESAMI] Array dei nomi degli

Dettagli

File binari e file di testo

File binari e file di testo I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 20 Martedì 16-12-2014 1 System call per la gestione dei processi Creazione

Dettagli

Esercizio 2 Scrivere un programma C che: Prende in input da linea di comando il nome di una directory ed il nome di un file. Se non e' possibile aprir

Esercizio 2 Scrivere un programma C che: Prende in input da linea di comando il nome di una directory ed il nome di un file. Se non e' possibile aprir Esercizio 1 Scrivere un programma in C che prende in input (su riga di comando) il nome di un file e visualizza: Il file uid=

Dettagli

I SISTEMI OPERATIVI (1)

I SISTEMI OPERATIVI (1) I SISTEMI OPERATIVI () un computer può essere pensato come una stratificazione di macchine virtuali, ciascuna delle quali mette a disposizione alcuni servizi, che sono utilizzabili mediante chiamate effettuate

Dettagli

Componenti di un sistema operativo

Componenti di un sistema operativo Componenti di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Componenti di un S.O. Gestione dei processi Gestione della memoria primaria Gestione della memoria secondaria

Dettagli

System Calls per la Gestione dei Processi

System Calls per la Gestione dei Processi System Calls per la Gestione dei Processi Domenico Cotroneo Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II Roadmap Process Context Identificativi getpid() getppid()

Dettagli

Sistemi Operativi 1. Lezione IV: Processi e thread. Mattia Monga. 11 marzo 2008

Sistemi Operativi 1. Lezione IV: Processi e thread. Mattia Monga. 11 marzo 2008 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

2. Tipi di periferiche e classificazione dei gestori

2. Tipi di periferiche e classificazione dei gestori 9. I GESTORI DI PERIFERICHE 1. Introduzione I gestori di periferiche (device drivers) sono dei componenti il cui funzionamento, a differenza di quello del file system, è fortemente intrecciato con quello

Dettagli

Gestione di files Motivazioni

Gestione di files Motivazioni Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)

Dettagli