Gestione di periferici e file
|
|
- Giuditta Scarpa
- 5 anni fa
- Visualizzazioni
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. 2018-2019 Pietro Frasca Lezione 22 Martedì 08-01-2019 Struttura logica del file system una tipica organizzazione
DettagliUniversità 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
DettagliSistemi 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
DettagliArchitettura 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
Dettagli5. 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
DettagliIl 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
DettagliIl 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
DettagliCAP9. 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
DettagliStruttura 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
DettagliIl 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
DettagliIl 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
DettagliEsercizio 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
DettagliEsercitazione 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
DettagliLab. 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
DettagliSistemi 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.
DettagliGESTIONE 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
DettagliGESTIONE 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
DettagliSystem 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:
DettagliSystem 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:
DettagliGESTIONE 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
DettagliUniversità 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
DettagliFile 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
DettagliIl 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:
DettagliSistema 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:
DettagliSystem 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
DettagliGestione 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
DettagliInterfaccia 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.
DettagliArchitettura 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
DettagliIl 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
DettagliLinguaggio 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
DettagliGestione 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
DettagliArchitettura 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
DettagliIl 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
DettagliSimulazione 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
DettagliArchitettura 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
DettagliFile 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
DettagliSistemi 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
DettagliLogico 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
DettagliUniversità 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
DettagliGestione 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 è
DettagliI 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
DettagliStrutture 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;
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
DettagliLABORATORIO 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
DettagliLa 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
DettagliLaboratorio 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
DettagliIl 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
DettagliCorso 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
DettagliIl 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
DettagliIl 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
DettagliLa 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
DettagliIl 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
DettagliCorso 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
DettagliLA 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
DettagliCapitolo 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
DettagliIl 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
DettagliSistemi 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
DettagliGestione 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
DettagliInput/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
DettagliISA 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),
DettagliIl 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
DettagliLivelli 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
DettagliModulo 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à
DettagliEsame 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:
DettagliUNIX 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:
DettagliCapitolo 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
DettagliSistemi 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
DettagliCenno 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
DettagliIL 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
DettagliComunicazione 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
DettagliUniversità 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
DettagliDIPARTIMENTO 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
DettagliIl 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
DettagliDIPARTIMENTO 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
DettagliEsame 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
DettagliSistemi 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
DettagliIl 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
DettagliFilesystem: 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
DettagliSistemi 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
DettagliSommario 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
DettagliImplementazione 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
DettagliIntroduzione. 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
DettagliProcessi. 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
DettagliIl 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
DettagliSistema 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
DettagliLaboratorio 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
DettagliRichiami 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
DettagliEsercizio 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
DettagliStrutture. 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
DettagliFile 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
DettagliUniversità 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
DettagliEsercizio 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=
DettagliI 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
DettagliComponenti 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
DettagliSystem 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()
DettagliSistemi 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
Dettagli2. 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
DettagliGestione 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