(9) pid1 = waitpid (pid1, &status, 0); (10) exit (0); } / end if / } / main.c / File system_
|
|
- Romano Castellani
- 4 anni fa
- Visualizzazioni
Transcript
1 File system_ Si considerino i seguenti frammenti di programma: / programma main.c / main ( ) { int pid, pid2; int fd, fd2; char v = abcdefghil ; char c []; () pid = fork ( ); (2) fd = open ( /user/acso/prova, O_RDWR); / 6 blocchi / if (pid == ) { / codice eseguito da Q figlio di P / (3) write (fd, v, ); / blocco / (4) exit (); } else { / codice eseguito da P / (5) pid2 = fork ( ); if (pid2 == ) { / codice eseguito da R figlio di P / (6) fd2 = open ( /user/acso/prova, O_RDWR); (7) read (fd2, c, 5); / blocco / (8) exit (2); } else { / codice eseguito da P / (9) pid = waitpid (pid, &status, ); () exit (); } / end if / } / end if / } / main.c / Un processo P prima crea un figlio Q e successivamente crea un figlio R.Non ci sono altri processi utente nel sistema.
2 seconda parte funzioni di system Si considerino le chiamate di sistema identificate dai numeri d ordine, 2, 3, 4. Nell ipotesi che l ordine di esecuzione delle chiamate di sistema considerate sia, 2(Q), 3, 2(P), 5, 6 dove il valore numerico rappresenta il numero d ordine di chiamata, mentre la lettera tra parentesi identifica il processo che invoca la chiamata nel caso ci siano ambiguità. si completi il contenuto delle tabelle seguenti, indicando la sequenza dei valori assunti fino alla conclusione di 6 (tutti i processi sono ancora esistenti): del proc P del proc Q del proc R riga tabella globale dei posizione corrente n. di processi X X X X X X X X X X X X 2 X 2 X 2 X 3 X X X nome del NE 5 4 prova 4 L 4 L 4 NE L prova 5 L 5 L 5 NE L 6 prova 6 L 6 L 6 NE L 7 L L L Si supponga ora che a conclusione della chiamata 6, si verifichino nell ordine le chiamate 7, 4 e 9. A conclusione di 9: si completi il contenuto delle tabelle sotto riportate, indicando la sequenza dei valori assunti si indichi il contenuto il contenuto del prova a partire dalla posizione fino alla posizione 8 compresa: a b c d e f g h i si indichi il contenuto significativo della variabile c nel processo R: a b c d e del proc P del proc Q del proc R riga tabella globale dei posizione corrente n. di processi X X X X X X X X X... X X X 2 X 2 X 2 X 3 X X X nome del NE L L prova L 4 L 4 L NE prova 5 L 5 L NE 5 L 6 5 prova 6 L 6 L NE 6 L 7 L L L
3 File system_2.3.2 Si considerino i seguenti frammenti di programma: / programma CODICE_UNO.c eseguito dai processi P e Q / main ( ) { char buff_ [..], buff_2 [..]; char buff_3 [ ] = fghilfghil ; () fd = open ( /acso/, O_RDWR); / 4 blocchi / read (fd, buff_, ); / blocco / pid = fork ( ); if (pid == ) { / codice eseguito da Q figlio di P / (2) fd2 = open ( /acso/2, O_RDWR); / 4 blocchi / (3) write (fd, buff_3, 5); / blocco /... exit (); } else { / codice eseguito dal padre P / pid = wait (&status);... exit (); } / end if / } / CODICE_UNO / / programma CODICE_DUE.c eseguito dal processo S / main ( ) { char buff [ ] = abcdeabcde ; (4) fd = open ( /acso/, O_RDWR); / 4 blocchi / lseek (fd,, ); (5) write (fd, buff, );... exit (2); } / CODICE_DUE / Sono dati due processi P e S: il processo P esegue il programma CODICE_UNO e crea il processo figlio Q; il processo S esegue il programma CODICE_DUE. Nel sistema non ci sono altri processi utente oltre a P, S e Q. Si considerino le chiamate di sistema identificate dai numeri d ordine, 2, 3, 4 e 5.
4 CASO_: nell ipotesi che l ordine di esecuzione delle chiamate di sistema considerate sia si completi il contenuto delle tabelle seguenti, indicando la sequenza dei valori assunti fino alla conclusione di 5 (tutti i processi sono ancora esistenti): del proc P del proc Q del proc S riga tabella globale dei posizione corrente n. di processi X X X X X X X X X X X X 2 X 2 X 2 X 3 X X X nome del ,, L L L 5 L 5 L 6, 6 L 6 L 6 L 7 L L L si scriva, al momento della conclusione di 5, il contenuto di a partire dalla posizione : abcdeabcde CASO_2: nell ipotesi che l ordine di esecuzione delle chiamate di sistema considerate sia si completi il contenuto delle tabelle seguenti, indicando la sequenza dei valori assunti fino alla conclusione di 3 (tutti i processi sono ancora esistenti): del proc P del proc Q del proc S riga tabella globale dei posizione corrente n. di processi X X X X X X X X X... X X X 2 X 2 X 2 X 3 X X X nome del ,, L L L 5 L 5 L 6, 6 L 6 L 6 L 7 L L L si scriva, al momento della conclusione di 3, il contenuto di a partire dalla posizione : fghilabcde
5 File system_ Dato il seguente programma int main ( ) { fd = open ( /miocat/f, O_RDWR); pid = fork ( ); if (pid == ) { lseek (fd, 22L, ); / relativa alla posizione corrente / write (fd, v, 4); exit (); } / end if / waitpid (pid, NULL); read (fd, v2, ); lseek (fd, 2L, ); / relativa alla posizione corrente / write (fd, v3, 24); close (fd); } / end main / Sapendo che:. nello Inode del F sono indicati i seguenti LBA ai blocchi del volume: < 2, 7, 24, 3, > 2. lo Inode di un viene letto al momento dell apertura e quindi mantenuto in memoria in un area specifica (MEM I_list) fino alla chiusura 3. lo Inode della radice si trova inizialmente già in memoria in MEM I_list 4. un blocco viene letto solamente quando il suo contenuto è necessario per svolgere l operazione in corso 5. per potere scrivere un blocco, è necessario che esso sia già in memoria o altrimenti che venga caricato in memoria 6. la dimensione di un blocco è di 52 byte 7. per accedere un catalogo è necessario leggere due blocchi: uno per lo Inode e uno per il contenuto effettivo Si compilino la tabella seguente nell ipotesi che l area buffer/cache sia sempre sufficiente per le operazioni indicate e che l algoritmo di PFRA non intervenga mai per diminuire tale area. Per ogni operazione si indichi la posizione corrente del F dopo l operazione, gli LBA dei blocchi di F letti o scritti per eseguire l operazione, e il numero di interrupt di DMA richiesti dall operazione operazione posiz. corr. dopo oper. puntatori ai blocchi di F letti puntatori ai blocchi di F scritti numero di interrupt richiesti open nessuno nessuno 4 lseek 22 nessuno nessuno write 26 7, 24 nessuno 2 read 26 nessuno nessuno lseek 926 nessuno nessuno write 95 3 nessuno close nessuno 7, 24, 3 3
6 File system_4..2 Dato il seguente codice int main ( ) {... fd = open ( /acso/, O_RDWR); lseek (fd, 248, ); / = rif. rel. inizio / read (fd, buf_rd, 4); write (fd, buf_wr, 4); exit (); } / main / Per questo esercizio si considerino le specifiche seguenti: per tutte le operazioni su (a) (b) la dimensione del blocco trasferito da o verso tramite DMA, è 52 byte e l'interruzione di fine DMA è associata al trasferimento di un singolo blocco il sistema deve garantire che, per tutti i aperti, il blocco contenente la posizione corrente sia in memoria (c) l area buffer/cache in memoria centrale gestita dal SO per le operazioni su è sempre sufficiente a contenere i blocchi trasferiti per l'apertura del è sempre necessario accedere a: (a) un blocco per l'accesso allo Inode di ogni cartella (catalogo) o presente nel nomepercorso (pathname) (b) un blocco per il contenuto di ogni cartella (catalogo) presente nel nomepercorso (pathname) i blocchi possono trovarsi in memoria (se già acceduti) o necessitare di trasferimento DMA da disco. Una volta che un inode è stato acceduto viene sempre trasferito dall area buffer/cache ad altra area di memoria specifica Al momento dell'esecuzione del programma, il contenuto del volume è il seguente: Ilista:, dir, 4 6, dir, 2 32, norm, ( 6, 6, 62, 63, 64, 65, 66 ) 48, norm, ( 8, 82, 7, 73, 75 ) blocco 4:... 6, acso... blocco 2:... 32, 48, 2... Nota: lo Inode di root è sempre in memoria e il contenuto dei blocchi dei normali è omesso poiché non è significativo ai fini dell'esercizio.
7 Per ciascuna della chiamate di sistema del processo riportate sotto, si indichino il numero totale di interruzioni di fine DMA che si verificano affinché l'operazione possa essere completata, e la sequenza di accessi agli Inode e ai blocchi (del tipo: Ilista [X] oppure blocco Y ) in memoria principale (MM) o su disco D. chiamata di sistema fd = open ( /acso/, O_RDWR) n. di interruzioni di fine DMA totale 5 interrupt sequenza di accessi in memoria (MM) o su disco Ilista [] in MM blocco 4 D Ilista [6] D blocco 2 D Ilista [32] D blocco 6 D lseek (fd, 248, ) totale interrupt Ilista [32] in MM blocco 64 D read (fd, buf_rd, 4) totale interrupt Ilista [32] in MM blocco 64 in MM write (fd, buf_wr, 4) totale interrupt Ilista [32] in MM blocco 64 in MM blocco 65 D
8 File system_5 Si consideri un calcolatore dotato di sistema operativo Linux e in cui valgono le seguenti specifiche: per tutte le operazioni su : a) la dimensione di un blocco trasferito in DMA da o su è di 52 byte b) l'interruzione di fine DMA è associata al trasferimento di un singolo blocco c) il sistema deve garantire che, per tutti i aperti, il blocco contenente la posizione corrente sia in memoria d) l area buffer/cache in memoria centrale gestita dal SO per le operazioni su è sempre sufficiente a contenere i blocchi trasferiti per l'apertura dei è sempre necessario accedere a: blocco per l'accesso allo Inode di ogni cartella (catalogo) o presente nel nomepercorso (pathname) blocco per il contenuto di ogni cartella (catalogo) presente nel nomepercorso (pathname) i blocchi possono trovarsi in memoria (se già acceduti) o necessitare di trasferimento DMA da disco Sul calcolatore è eseguito questo programma, che parte come processo P, genera il processo Q che a sua volta genera il processo R (le chiamate di sistema sono identificate da n 7 ): int main ( ) { / processo P / fd = open ( /cat/cat3/, O_RDONLY); read (fd, bufp, 5); 2 fd2 = open ( /cat/cat3/2, O_RDONLY); 3 read (fd2, bufp2, 4); 4 pid = fork ( ); 5 if (pid == ) { / processo Q / read (fd2, bufq2, 8); 6 pid2 = fork ( ); 7 if (pid2 == ) { /* processo R / fd3 = open ( /cat/cat2/3, O_RDWR); 8 write (fd3, bufr3, 5); 9 read (fd3, bufr3, 5); close (fd2); exit (); 2 } else { / processo Q / exit (); 3 } / if / } else { / processo P / close (fd); 4 } / if / exit (); 5 } / main /
9 Al momento dell'esecuzione, il contenuto del volume è il seguente: ILista: <, dir, 8> <3, dir, 2> <4, dir, 2> <5, dir, 7> <, norm, 75> <8, norm, 85> <3, norm, 95> Blocco 8: Blocco 2: Blocco 7: Blocco 2: Blocco 75: Blocco 85: Blocco 95: <, dev> <3, cat> <, > <8, 2> <3, 3> <4, cat3> <5, cat2> Grammatica Enciclopedia_Universale Alfabeto Nota: la cartella (il catalogo) di root ha Inumber e lo Inode di root è sempre presente in memoria. a) Per ciascuna delle seguenti chiamate di sistema del processo P, si indichi il numero totale di interruzioni di fine DMA che si verificano affinché l'operazione possa essere completata, la sequenza di accessi agli Inode e ai blocchi (del tipo: ILista [X] oppure Blocco Y) in memoria principale (M) o su disco. chiamata di sistema n. di interruzioni di fine DMA fd = open ( /cat/cat3/, O_RDONLY) (totale 7) sequenza di accessi in memoria (M) o su disco ILista [] in M Blocco 8 D ILista [3] D Blocco 2 D ILista [4] D Blocco 2 D ILista [] D Blocco 75 D read (fd, bufp, 5) ILista [] in M Blocco 75 in M fd2 = open ( /cat/cat3/2, O_RDONLY) (totale 2) read (fd2, bufp2, 4 ) ILista [] in M Blocco 8 in M ILista [3] in M Blocco 2 in M ILista [4] in M Blocco 2 in M ILista [8] D Blocco 85 D ILista [8] in M Blocco 85 in M
10 b) Durante l'esecuzione è stata osservata la seguente sequenza di chiamate di sistema:, 2, 3, 4, 5, 6, 7, 8, 9,,, 2. Si indichi il contenuto delle seguenti variabili assunto alla conclusione di 2: bufp: Gramm bufp2: Enci bufq2: clopedia c) Durante l'esecuzione è stata osservata la seguente sequenza di chiamate di sistema:, 2, 3, 4, 5, 6, 7, 8, 9,,, 2. Si indichi il contenuto delle tabelle seguenti, indicando la sequenza dei valori assunti fino alla conclusione di 2 (si scriva L oppure NE per indicare che una cella si è liberata oppure non esiste più): tabella aperti processo P. rif. riga tabella aperti processo Q. rif. riga tabella aperti processo R. tabella globale dei aperti rif. riga riga posizione corrente n. di proc. Inumber X X X X X X X X X X X X 2 X 2 X 2 X 2 X X X , NE 3, 5, 2, 3, , L, NE 4, 4, 2, 2, 3, , NE 5, 5,, L, L 3, L
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
DettagliAXO Architettura dei Calcolatori e Sistemi Operativi
Politecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Luca Breveglieri prof. Giuseppe Pelagatti prof.ssa Donatella Sciuto prof.ssa Cristina Silvano AXO Architettura
DettagliAXO Architettura dei Calcolatori e Sistemi Operativi
Politecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Luca Breveglieri prof. Giuseppe Pelagatti prof.ssa Donatella Sciuto prof.ssa Cristina Silvano AXO Architettura
DettagliAXO Architettura dei Calcolatori e Sistemi Operativi
Politecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Luca Breveglieri prof. Giuseppe Pelagatti prof.ssa Donatella Sciuto prof.ssa Cristina Silvano AXO Architettura
DettagliAXO Architettura dei Calcolatori e Sistemi Operativi
olitecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Luca Breveglieri prof. Giuseppe elagatti prof.ssa Donatella Sciuto prof.ssa Cristina Silvano AXO Architettura
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
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
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
DettagliEsercizio 1 - nucleo e commutazione tra processi
Esercizio 1 - nucleo e commutazione tra processi / programma CODICE.c / int main ( ) {... fd = open( /acso/file_prova, ORDWR) pid = fork ( ); if (pid == 0) {/ codice eseguito da F1 / execl ( /acso/prog_x,
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
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
DettagliCorso di laurea in ingegneria informatica Esame di sistemi operativi 21 gennaio 2009 SOLUZIONI
Corso di laurea in ingegneria informatica Esame di sistemi operativi 21 gennaio 2009 SOLUZIONI 1. Si consideri il programma C seguente (gli #include necessari sono omessi): / programma principale / 1.
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. 2018-2019 Pietro Frasca Lezione 22 Martedì 08-01-2019 Struttura logica del file system una tipica organizzazione
DettagliAddendum alle chiamate di sistema per la gestione processi. E Mumolo
Addendum alle chiamate di sistema per la gestione processi E Mumolo Definiamo un processo proc.c che scrive l'argomento passato in linea: void main(int argc, char *argv[]){ printf("sono il processo %s\n",
DettagliModulo 13: System call relative al File System
Modulo 13: System call relative al File System Chiamate di sistema relative ai file Restituzione descrittore Uso di namei Assegnazione inode Attributi I/O File System Struttura Manipolazione open creat
DettagliAXO Architettura dei Calcolatori e Sistemi Operativi
Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria prof.ssa Anna Antola prof. Luca Breveglieri prof. Roberto Negrini prof. Giuseppe Pelagatti prof.ssa Donatella Sciuto prof.ssa
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
DettagliInformatica 2 Prova di giovedì 10 maggio 2007
olitecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Luca Breveglieri Informatica 2 rova di giovedì 10 maggio 2007 prof. Giuseppe elagatti prof.ssa Donatella ciuto
DettagliInformatica 2 Esame di venerdì 2 marzo 2007
olitecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Luca Breveglieri prof. Giuseppe elagatti prof.ssa Donatella Sciuto Informatica 2 Esame di venerdì 2 marzo 2007
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 (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 1 febbraio 2016 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
DettagliLINUX: struttura generale
LINUX: struttura generale User Interface The layers of a UNIX system. 1 Processi in LINUX Ogni processo nasce con un solo thread Un processo gira in modalità utente; quando effettua una system call passa
DettagliLaboratorio di Sistemi Operativi Marzo-Giugno 2008 Matricole congrue 0 mod 3
Marzo-Giugno 2008 Matricole congrue 0 mod 3 IPC: pipe e FIFO (1) Forme di comunicazione tra processi La comunicazione tra processi può avvenire: Passando dei files aperti tramite fork Attraverso il filesystem
DettagliLaboratorio di Sistemi Operativi primavera 2009
primavera 2009 Forme di comunicazione tra processi La comunicazione tra processi può avvenire: Le pipe Passando dei files aperti tramite fork Attraverso il filesystem Utilizzando le pipes Utilizzando le
DettagliEsercizio 1 (punti 5) E noto che un Full adder è un circuito logico che realizza le funzioni Riporto e Risultato seondo la definizione seguente
Informatica 1, Sez. di Cremona Appello del 12 Febbraio 2009 NB. Gli allievi Informatici e Gestionali, ad eccezione di coloro che hanno ottenuto il riconoscimento di 5 crediti per esami sostenuti in altri
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
DettagliCX: 4 K DX:12 K PX:4 K CY:16 K DY: 4 K PY:4 K
esercizio n. 2 memoria virtuale Un sistema dotato di memoria virtuale con paginazione e segmentazione di tipo UNIX è caratterizzato dai parametri seguenti: la memoria centrale fisica ha capacità di 32
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
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
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
DettagliIL CONCETTO DI FILE. È illecito operare oltre la fine del file.
IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni
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
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
DettagliSistemi di Calcolo - Secondo modulo (SC2) Programmazione dei Sistemi di Calcolo Multi-Nodo
www.dis.uniroma1.it/~midlab Sistemi di Calcolo - Secondo modulo (SC2) Programmazione dei Sistemi di Calcolo Multi-Nodo Corso di Laurea in Ingegneria Informatica e Automatica A.A. 2014-2015 Prof. Roberto
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
DettagliSistemi Operativi 1. Lezione III: Concetti fondamentali. Mattia Monga. 7 marzo 2008
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 7 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliSistemi Operativi 1. Mattia Monga. 7 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 7 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
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
DettagliGiuseppe Pelagatti. Programmazione e Struttura del sistema operativo Linux
Giuseppe Pelagatti Programmazione e Struttura del sistema operativo Linux Appunti del corso di Architettura dei Calcolatori e Sistemi Operativi (AXO) Parte IO: Input/Output e File System cap. IO3 I Gestori
DettagliPolitecnico di Milano - Dipartimento di Elettronica, informazione e Bioingegneria Prof. Mauro Negri
Politecnico di Milano - Dipartimento di Elettronica, informazione e Bioingegneria Prof. Mauro Negri Fondamenti di Informatica II prova 13 febbraio 2015 Matricola/codice persona Cognome Nome Durata prova:
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
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
DettagliCX: 4 K DX:12 K PX:4 K CY:16 K DY: 4 K PY:4 K
esercizio n. 2 memoria virtuale Un sistema dotato di memoria virtuale con paginazione e segmentazione di tipo UNIX è caratterizzato dai parametri seguenti: la memoria centrale fisica ha capacità di 32
DettagliArchitettura dei calcolatori e sistemi operativi. M2 Organizzazione della memoria virtuale Struttura dello spazio virtuale kernel e utente
Architettura dei calcolatori e sistemi operativi M2 Organizzazione della memoria virtuale Struttura dello spazio virtuale kernel e utente 18.01.2015 Architettura Intel x64 Lo spazio di indirizzamento virtuale
Dettagli2. Nucleo del sistema operativo (la gestione dei processi)
Struttura interna del sistema operativo Linux 2. Nucleo del sistema operativo (la gestione dei processi) Architettura (struttura) del sistema operativo shell Programmi utente Modo utente Interfaccia delle
DettagliSistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 17 febbraio 2014 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
DettagliGestione dei File. Credits Prof. Campi
Gestione dei File Credits Prof. Campi 1 Perché i file? Sono strutture dati persistenti Sono solitamente memorizzati sui dischi Si usano dall'interno dei programmi Realizzano la persistenza dei dati cioè
Dettagli8. IL FILE SYSTEM. 1. I servizi per la gestione dei file
IL FILE SYSTEM 8. IL FILE SYSTEM In tutti i sistemi operativi il File System costituisce una parte molto rilevante del codice complessivo, ma noi lo tratteremo abbastanza brevemente, perchè dal punto di
DettagliSistemi operativi Modulo II I semafori 2 Select
Il sistema operativo LINUX Semafori 2 Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica La system call read è bloccante Non
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
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
DettagliGESTIONE DELLA COMUNICAZIONE LOCALE TRA PROCESSI IN UNIX:
GESTIONE DELLA COMUNICAZIONE LOCALE TRA PROCESSI IN UNIX: Il primo meccanismo di comunicazione tra processi locali in ambiente Unix e stato il meccanismo delle pipe. Per processo locale si intende un processo
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. 2018-2019 Pietro Frasca Lezione 5 Martedì 16-10-2018 Operazioni sui processi Nella maggior parte dei
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()
DettagliAXO Architettura dei Calcolatori e Sistemi Operativi
Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria prof.ssa Anna Antola prof. Luca Breveglieri prof. Roberto Negrini prof. Giuseppe Pelagatti prof.ssa Donatella Sciuto prof.ssa
DettagliInformatica 2 Esame di giovedì 13 settembre 2007
olitecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Luca Breveglieri prof. Giuseppe elagatti prof.ssa Donatella Sciuto Informatica 2 Esame di giovedì 13 settembre
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
DettagliSeconda Esercitazione. Gestione di processi in Unix Primitive Fork, Wait, Exec
Seconda Esercitazione Gestione di processi in Unix Primitive Fork, Wait, Exec System call fondamentali fork exit wait exec Generazione di un processo figlio, che condivide il codice con il padre e possiede
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 6 Martedì 24-10-2017 1 Sostituzione del codice Tipicamente, dopo una
DettagliLaboratorio di Programmazione
Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 26 Sommario: Gestione dei file in C. File ad accesso sequenziale: apertura, chiusura, lettura e scrittura. File binari. Gestione files
DettagliI Processi nel SO UNIX
I Processi nel SO UNIX Processi UNIX UNIX è un sistema operativo multiprogrammato a divisione di tempo: unità di computazione è il processo Caratteristiche del processo UNIX: processo pesante con codice
DettagliCorso di Sistemi Operativi A.A CHIAMATE DI SISTEMA PER FILE E SEMAFORI. Fabio Buttussi
Corso di Sistemi Operativi A.A. 2008-2009 - CHIAMATE DI SISTEMA PER FILE E SEMAFORI Fabio Buttussi System call per l accesso a file Nome open close read write lseek creat remove unlink stat Significato
DettagliControllo dei Processi 1
Controllo dei Processi 1 I processi Nei sistemi Unix/Linux ogni processo ne può generare altri. Il processo che li genera è detto processo padre (parent process), mentre i processi generati sono detti
DettagliProcessi Concetti di base. Esecuzione parallela e sequenziale Il concetto di processo Gestione dei processi
Processi Concetti di base Esecuzione parallela e sequenziale Il concetto di processo Gestione dei processi Esecuzione sequenziale I sistemi di calcolo più semplici consentono unicamente l'esecuzione sequenziale
DettagliCORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 4
UNIVERSITÀ DEGLI STUDI DI PARMA Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica e delle Telecomunicazioni a.a. 2005-2006 CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 4 1 Funzioni per il
DettagliDirectory. Le directory unix sono file.
Le directory unix sono file. Directory Molte system call per i file ordinari possono essere utilizzate per le directory. E.g. open, read, fstat, close. Tuttavia le directory non possono essere create con
DettagliPag. 1. Il Nucleo del sistema operativo (la gestione dei processi)
shell Programmi utente Modo utente Il Nucleo del sistema operativo (la gestione dei processi) Interfaccia delle chiamate di sistema File system Gestione processi Device driver Gestione memoria HARDWARE
DettagliMemoria Virtuale. Alessandro A. Nacci ACSO 2014/2014
Memoria Virtuale Alessandro A. Nacci alessandro.nacci@polimi.it ASO 2014/2014 1 2 Algoritmo LRU! Buone prestazioni in media! Utilizza bit di controllo che riportano le informazioni sugli accessi alle pagine!
Dettagliil tipo di parallelismo dipende dal grado di cooperazione
Thread Settembre 2009 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio d informazione) necessario tra attività svolte in parallelo processo macchina virtuale
DettagliSistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 2 luglio 2015 (Turno 1) Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
DettagliPerchè i files? Realizzano la persistenza dei dati. Sono delle strutture di dati sequenziali. dati che sopravvivono all esecuzione del programma
Perchè i files? Realizzano la persistenza dei dati dati che sopravvivono all esecuzione del programma Sono delle strutture di dati sequenziali Files e S.O. I files sono gestiti dal S.O. e resi visibili
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:
DettagliSistemi Operativi. Marzo-Giugno 2011 matricole congrue 0 mod 3. Controllo dei processi - I
Marzo-Giugno 2011 matricole congrue 0 mod 3 Controllo dei processi - I Controllo dei processi Creazione di nuovi processi Esecuzione di programmi Processo di terminazione Altro 2 1 Identificatori di processi
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:
DettagliGiuseppe Pelagatti. Programmazione e Struttura del sistema operativo Linux
IL FILE SYSTEM Giuseppe Pelagatti Programmazione e Struttura del sistema operativo Linux Appunti del corso di Architettura dei Calcolatori e Sistemi Operativi (AXO) Parte IO: Input/Output e File System
DettagliSISTEMI OPERATIVI. Processi in Linux. Giorgio Giacinto Sistemi Operativi
SISTEMI OPERATIVI Processi in Linux 2 Creazione di processi concorrenti» La creazione di un processo figlio consente di far eseguire alcune funzionalità del programma in modo concorrente» Opzione 1 il
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
DettagliSistema operativo e processi. Il Sistema Operativo ed i Processi. Il sistema operativo. Il sistema operativo
Il Sistema Operativo ed i Processi Giuseppe Pozzi Impianti di Elaborazione Facoltà di Ingegneria di Como Politecnico di Milano giuseppe.pozzi@polimi.it - versione del 22 ottobre 2003 - Sistema operativo
DettagliCorso di Laurea in Informatica Applicata Prima Prova di Verifica Intermedia di Programmazione II 1 Dicembre 2010
Corso di Laurea in Informatica Applicata Prima Prova di Verifica Intermedia di Programmazione II 1 Dicembre 2010 Istruzioni: scrivere le risposte alle domande negli spazi presenti nel testo e riconsegnare
DettagliAXO Architettura dei Calcolatori e Sistemi Operativi
Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria prof.ssa Anna Antola prof. Luca Breveglieri prof. Roberto Negrini prof. Giuseppe Pelagatti prof.ssa Donatella Sciuto prof.ssa
DettagliProf. G. Ascia. I puntatori. Fondamenti di Informatica
I puntatori 1 Associazione Variabile-Indirizzo Tutte le volte che in un programma si dichiarano delle variabili, l'esecutore associa alla variabile un indirizzo. Es. Dato il programma #include
DettagliSistemi Operativi e Laboratorio, Prova del 9/9/2016
Nome: Cognome: Matricola: corso: fila: posto: Esercizio 1 (4 punti) In un sistema che gestisce la memoria con paginazione, sono presenti i processi A, B e C. Lo stato di occupazione della memoria al tempo
DettagliACSO Architettura dei Calcolatori e Sistemi Operativi
olitecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Cristina Silvano ACSO Architettura dei Calcolatori e Sistemi Operativi rova di venerdì 26 Febbraio 200 Cognome Nome Matricola Firma
DettagliInformatica 2 Prova di mercoledì 27 aprile 2005
olitecnico di Milano Dipartimento di Elettronica e Informazione prof. Cesare Alippi prof.ssa Anna Antola prof. Luciano Baresi prof. Luca Breveglieri Informatica 2 rova di mercoledì 27 aprile 2005 Matricola
DettagliPag. 1. modello di esecuzione parallela
Il Sistema Operativo è un insieme di programmi (moduli software) che svolgono funzioni di servizio nel calcolatore. Costituisce la parte essenziale del cosiddetto software di sistema (o di base) in quanto
DettagliProcessi UNIX. I Processi nel SO UNIX. Gerarchie di processi UNIX. Modello di processo in UNIX
Processi UNIX I Processi nel SO UNIX UNIX è un sistema operativo multiprogrammato a divisione di tempo: unità di computazione è il processo Caratteristiche del processo UNIX: processo pesante con codice
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
DettagliFondamenti di informatica, Sez. Ing. Informatica, Ing. Gestionale, Ing. Ambientale II prova in itinere, 29 Gennaio 2009
Fondamenti di informatica, Sez. Ing. Informatica, Ing. Gestionale, Ing. Ambientale II prova in itinere, 29 Gennaio 2009 Esercizio 1 (punti 3) Sia data la funzione ricorsiva seguente: void elabora (unsigned
DettagliMemoria Virtuale. Alessandro A. Nacci ACSO 2014/2014
Memoria Virtuale Alessandro A. Nacci alessandro.nacci@polimi.it ACSO 2014/2014 1 2 Algoritmo LRU! Buone prestazioni in media! Utilizza bit di controllo che riportano le informazioni sugli accessi alle
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
DettagliSistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 18 luglio 2012 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
DettagliProcessi - II. Franco Maria Nardini
Processi - II Franco Maria Nardini Processi Programmi in esecuzione in memoria sono chiamati processi. Caricati in memoria da una delle sei funzioni exec(3). Ogni processo ha un identificatore univoco
DettagliESERCITAZIONE 2 fork e exec
ESERCITAZIONE 2 fork e exec Richiami di scripting Ripassiamo: Differenza tra pipe e ridirezione su file Come si accede agli argomenti di un invocazione Sintassi dell if Sintassi del for Pipe e ridirezione
DettagliSistemi Operativi e Laboratorio, Prova del?/?/?
Nome: Cognome: Matricola: fla: posto: corso: Esercizio 1 Quali delle seguenti operazioni possono essere eseguite da un processo in stato utente? Operazione: Invocare l istruzione TSL (test and set lock-tipo
DettagliLaboratorio di Sistemi Operativi
primavera 2009 Controllo dei processi (2) Funzioni wait e waitpid quando un processo termina il kernel manda al padre il segnale SIGCHLD il padre può ignorare il segnale (default) oppure lanciare una funzione
DettagliEsercizio sulla gestione di file in Unix. Sistemi Operativi T AA
Esercizio sulla gestione di file in Unix Sistemi Operativi T AA 2011-2012 1 Esercizio Si vuole realizzare un programma C che, utilizzando le system call di Unix, realizzi uno schema di comunicazione tra
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2015
File Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 15 Maggio 2015 2nda prova in itinere Era il 21 Maggio 2 2nda prova in itinere Era il 21 Maggio Spostata (da 3 settimane) al 22
DettagliAssociazione Variabile-Indirizzo
I puntatori Associazione Variabile-Indirizzo Tutte le volte che in un programma si dichiarano delle variabili, l'esecutore associa alla variabile un indirizzo. Es. Dato il programma #include
Dettagli