I SISTEMI OPERATIVI (1)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "I SISTEMI OPERATIVI (1)"

Transcript

1 I SISTEMI OPERATIVI (1) 1 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 in un linguaggio di programmazione caratteristico del livello considerato (ad es. linguaggio macchina, C, comandi). Il sistema operativo, è la più esterna delle macchine virtuali, quella che permette all utente (o agli utenti) di utilizzare ad alto livello il computer. E anch esso stratificato a livelli e prevede: Interfaccia Utente: Testuale o Grafica (con finestre) Ambiente di programmazione: editor, compilatori, debugger, Librerie, data base, Linguaggi di sistema: L. di programmazione per applicazioni, L. di configurazione (es. makefile), L. interfaccia utente(es.shell), L. servizi di sistema (funzioni del S.O. system call ).

2 I SISTEMI OPERATIVI (2) 2 Sarà compito del s.o. gestire - risorse software quali: Archiviazione dati e programmi, database, librerie, Esecuzione di programmi, compilatori e debugger Ingresso e uscita (I/O), Comunicazioni, remote login, remote file transfer, posta elettronica - risorse hardware quali: processore, memoria, dispositivi, I moderni s.o. prevedono la multiprogrammazione: più processi di utenti diversi vengono eseguiti contemporaneamente condividendo le risorse quali CPU, memoria, periferiche. Il s.o. effettua l'allocazione delle risorse agli utenti, ottimizzandone la gestione tramite opportune politiche e risolvendo i conflitti di accesso tramite sincronizzazione e mutua esclusione. Per tali scopi tutti i s.o. prevedono alcuni moduli fondamentali: Scheduler, Gestore della Memoria, Gestore dell I/O.

3 I PROCESSI E LA LORO GESTIONE 3 La gestione dei processi, la loro creazione e terminazione e la gestione delle comunicazioni fra processi è la parte più importante (il nucleo) di un Sistema Operativo. Definizione di Processo: è un attività sequenziale, controllata da un programma, che si svolge su un processore, in un proprio ambiente costituito dal contenuto dei registri del processore e dallo stack. Nel caso di sistemi multiprocessore, il processo può non essere legato ad un particolare processore. In un sistema Multiprogrammazione più processi condividono (in interleaving) la stessa CPU, quindi ciascun processo non avanza in modo continuo, però quando avanza, occupa in modo esclusivo un processore.

4 I PROCESSI 4 Un processo è rappresentabile da una terna P = (IM, IP, S) dove: IM Immagine in Memoria: insieme del codice e dei dati, modificabile dal processo in avanzamento. Può essere interamente contenuta in memoria, in modo statico, o essere presente solo parzialmente (gestione dinamica). IP Immagine del Processore: Informazioni sul processo mantenute nei registri del processore, anch'esse modificabili. S Stato di avanzamento: un processo si trova in un certo stato tra tre stati possibili: Ready, Running e Blocked Stato Running: il processore è assegnato al processo (dal S.O.) che puo' avanzare dell esecuzione. Stato Blocked: il processo non dispone del processore perchè bloccato in attesa di un servizio (es. attesa I/O). Stato Ready: il processo è in attesa dell'assegnazione del processore, che è occupato da un altro processo. Un processo può essere bloccato o mandato in esecuzione a seconda della disponibilità del processore e della politica di assegnazione della CPU ai processi. I processi in stato ready (pronti) sono selezionati per l esecuzione in base ad una opportuna politica (schedulazione). Gli obiettivi sono diversi: 1) evitare che la CPU sia inattiva, 2) fare avanzare i processi con velocità dipendenti dalla loro priorità, 3) evitare che un processo debba attendere per un tempo indefinitamente lungo prima di essere eseguito (attesa indefinita o starvation).

5 I PROCESSI IN UNIX 5 Fase di Compilazione programma compilatore eseguibile program text data Fase di Caricamento: viene caricato il codice in memoria con la exec text regioni data stack Fase di Esecuzione: esecuzione user mode user stack system call kernel mode kernel stack

6 ARCHITETTURA UNIX 6 L architettura dei s.o. UNIX, è composta di 3 livelli, hardware, kernel e utente. Il kernel schedula i processi, gestisce le comunicazione tra i i processi, alloca e dealloca memoria, gestisce il file system e le periferiche. In particolare il kernel mette a disposizione dell utente delle funzioni (system call) contenute in librerie di sistema, per eseguire I/O, leggere scrivere file, creare e eliminare processi, modificarne le priorità, ecc. Le system call possono essere chiamate all'interno di un programma, esattamente come normali funzioni implementate dall utente. La loro esecuzione tuttavia e' diversa dall'esecuzione di una funzione normale in quanto vengono eseguite in modo kernel.

7 SYSTEM CALL In Unix non esistono processi del kernel e processi utente separati ma solo processi che passano da modo kernel a utente e viceversa. Infatti Unix è un S.O. con modello a chiamata di procedura. Una procedura eseguita da un processo può non appartenere al pro_ cesso che la sta eseguendo, potrebbe ad esempio essere una procedura di schedulazione per scegliere il successivo processo da attivare, o una routine di interruzione a seguito di un segnale esterno. Tali procedure del kernel sono eseguite in modo kernel. Quando un processo opera in modo kernel utilizza uno stack del kernel (all interno dell'area utente) separato dallo stack utente. Il codice del kernel e le sue strutture dati sono condivise da tutti i processi, e non fanno parte di un processo particolare. Le system call che modificano le tabelle e i dati del kernel devono essere eseguite in mutua esclusione. Il sistema utilizzato da Unix è quello di impedire l'interruzione di tali routine a causa di interrupt (anche da parte del clock) o rischedulazione. Le procedure eseguite in modo non interrompibile devono quindi essere brevissime. Un processo quindi può essere: in esecuzione in modo utente, In esecuzione in modo kernel, in stato ready, in stato waiting (detto anche sleeping). 7

8 FILE SYSTEM UNIX 8 Dal Punto di Vista dell Utente: eseguibili File regolari: testo.. Directory: Per organizzare il file system file speciali: device fisici (tty, disks, printers) Pipe: (per la comunicazione fra processi) Dal Punto di Vista del Sistema Operativo: i-nodes + dati - Gli i-node (Index NODE) sono la rappresentazione interna dei file unix, - risiedono su disco, possono essere copiati in memoria, - esiste un i-node per ogni file fisico, - possono esistere più file, detti link, (anche con nomi diversi) che rappresentano lo stesso file fisico (i-node) pippo link pluto file i-node..

9 INFORMAZIONI NEGLI I-NODE 9 Un i-node su disco contiene: Proprietario del file tipo di file diritti di accesso data di accesso numero di link al file (link counter) indirizzi dei blocchi che contengono il file dimensioni del file Un i-node in memoria contiene: indice di quell inode su disco file system di appartenenza numero di istanze attive del file (es. compilatore) STATO DELL I-NODE: locked? c é un processo in attesa? l i-node in memoria é stato modificato?

10 STRUTTURA DEI FILE REGOLARI 10 Ogni blocco del disco é identificato da un numero Ogni i-node contiene un elenco dei blocchi che memorizzano il file Unix adotta l allocazione gerarchica indicizzata dei blocchi del file data blocks direct 0 direct 1 direct 9 single indirect double indir. triple indirect 256 indirizzi 1024 B 1024 B 1024 B 1024 B 1024 B 1024 B 1024 B (1KB x 10)+(1KB x 256)+(1KB x ) +(1KB x )=16GB

11 STRUTTURE DATI PER GESTIRE I FILE APERTI User file table (per il singolo processo): lista dei file aperti per processo (nell area utente) di solito ha 20 entry (max 20 file aperti contemp.) le entry puntano alla File table (globale) ogni entry è indicizzata da un file descriptor restituito dalla system call open() al momento dell apertura del file fd=open(nomefile, mode); File table (globale, per tutti i processi) : lista globale dei file aperti Lista degli i-node in memoria sempre in memoria centrale ogni entry punta ad un i-node in memoria ogni entry contiene l offset della prossima read/write user file table file table count read count rd-wrt 1. count write 1 i-node list count /etc/passwd count myfile 1. 11

12 SYSTEM CALL OPEN 12 fd = open( file,mode) (fd: user file descriptor) ilkernel: recupera l i-node di file e controlla i permessi alloca una nuova entry nella FILE TABLE che punterá all i-node in memoria setta a zero l offset del puntatore in lettura/scrittura alloca una nuova entry nella USER FILE TABLE che punta alla entry corrispondente nella FILE TABLE il file descriptor fd ha come valore l indice della entry nella USER FILE TABLE

13 USER FILE DESCRIPTOR 0, 1, = Standard Input (STDIN) 1 = Standard Output (STDOUT) 2 = Standard Error (SDTERR) stdin, stdout, stderr sono assunti di default da tutti i processi la convenzione é utile per la redirezione dell input/output e per l uso delle pipe possono essere gestiti come normali file (cioé chiusi, riassegnati, riaperti, )

14 system call CLOSE 14 close(3) close(4) count := count -1 user file table NULL 4 NULL rilasciato.... file table rilasciato. count rite w 1 i-node table count /etc/passwd i-node ritorna in free list.

15 ALTRI TIPI DI FILE UNIX: PIPE file di contenuto transitorio i dati possono essere letti solo nell ordine in cui sono stati scritti (FIFO) dimensione massima: 10 blocchi (i 10 blocchi ad indirizzamento diretto dell i-node) servono per le comunicazioni veloci tra processi distinguiamo Unnamed pipe e Named pipe Unnamed Pipe risiedono solo in memoria vengono riferite solo mediante file descriptor Vengono implementate come file normali usando un i-node. Solo i blocchi indirizzati direttamente vengono usati per lettura/scrittura, e sono gestiti in modo circolare. ad ogni pipe sono associati un file descriptor in lettura ed uno in scrittura solo processi padre/figlio possono usare una unnamed pipe sono automaticamente rimosse alla morte dei processi Named Pipe esistono nel file system qualsiasi processo puó usarne una (se ha i permessi) 15

16 UNNAMED PIPE 16 pipe(fds) int fds[2] fds[0] = lettura fds[1] = scrittura read pointer write pointer offset 0 offset blocchi diretti dell i-node i dati vengono letti nell ordine in cui sono stati scritti (no lseek) i dati possono essere letti una sola volta (vengono consumati ) un dato non puó essere sovrascritto prima che sia stato letto (il processo scrittore é messo in wait) la lettura di una pipe vuota provoca la sospensione del processo lettore

17 ESEMPIO DI USO DI UNNAMED PIPE 17 char string[] = hello main() { char buf[1024]; char *cp1, *cp2; int fds[2]; pid_t pid; pipe(fds); pid=fork(); // creo un nuovo processo // si crea una nuova user file table per il figlio if(pid==0) { // sono il processo figlio close(fds[0]); for (;;) write(fds[1], string, 6); //scrivo verso il padre } else { // sono il processo padre close(fds[1]); for (;;) read (fds[0], buf, 6): /* ricevo dal padre tramite pipe */ } Il processo figlio scrive (produce dati) sulla pipe all infinito. Il processo padre legge (consuma) dalla pipe, per sempre, attendendo ogni volta che il figlio abbia prodotto un dato.

18 NAMED PIPES 18 mknod(file_name, PIPE, 0); crea il file file_name che viene gestito come una pipe file_name é un file del file system, quindi ogni processo lo vede e puó usarlo, se ha i permessi. anche questa pipe é sospensiva

19 ESEMPIO DI USO DI NAMED PIPE 19 #include <fcntl.h> char string[] = hello ; main(argc,argv) int argc; char *argv[]; { int fd; char buf[256]; /* creazione di una named pipe con permessi di lettura/scrittura per tutti gli utenti */ mknod( fifo, ,0); if (argc == 2 ) fd = open( fifo, O_WRONLY); else fd = open( fifo, O_RDONLY); for(;;) } if (argc == 2) write(fd, string, 6); else read(fd, string, 6);

20 CREAZIONE PROCESSI IN UNIX 20 STRUTTURE DATI PER PROCESSI Un processo può essere in escuzione in 2 modi: kernel e utente. Un processo ha almeno 3 regioni: codice, dati e stack Lo stack è allocato dinamicamente. Unix usa 2 tipi di stack, user e kernel, a seconda del modo di esecuzione.il meccanismo che opera il passaggio da user a kernel viene detto trap (o software interrupt). Il kernel possiede una Tabella dei Processi contenente informazioni su ciascun processo in esecuzione. Il Contesto del processo: è costituito dal contenuto dello spazio utente (le tre regioni), dei registri hardware, e dalle strutture dati del kernel relativi a quel processo. MECCANISMO DI BIFORCAZIONE proc_id=fork() La system call fork() duplica un processo. Dopo la fork, se questa ha avuto successo, esistono due processi: il genitore e il figlio. I due processi avranno identificatori di processo diversi. Poichè il program counter è lo stesso, entrambi i processi ritengono di aver eseguito la funzione fork. Entrambi ricevono un valore di ritorno, ma diverso: proc_id > 0 per processo padre == 0 per il figlio < 0 per il padre (solo in caso di errore della fork) pid_t pid; pid=fork(); // creo un nuovo processo if(pid<0) exit(1); // errore, duplicazione non eseguita else { if(pid==0) {.. sono il processo figlio } else {.. sono il processo padre } }

21 RELAZIONE PADRE FIGLIO 21 Il figlio condivide il codice con il genitore, mentre la memoria, i registri e le informazioni sui files (tabelle) vengono duplicate. Quindi, dopo la fork, ogni processo può modificare le variabili contenute nel proprio spazio utente senza alterare le analoghe variabili dell altro processo. I file descriptor sono duplicati. Le tabelle del kernel dei file aperti non sono duplicate. Il figlio eredita i permessi di accesso ai file aperti. I reference counter nelle tabelle del kernel sono incrementati per: 1. area codice 2. entry nella tabella file del kernel (per file aperti) 3. entry nella tabella i-node in memoria

22 Terminazione Sincrona di Processo 22 void exit( int status) La system call void exit(int status) viene chiamata implicitamente dalla libreria C all'uscita dal main. Fra le operazioni eseguite dal kernel c è la chiusura dei file aperti, la liberazione della memoria e il cambiamento dello stato del processo in zombie. Un processo zombie non è più schedulato anche se è ancora presente nella Tavola dei processi. Infine viene inviato al processo genitore un segnale di avvenuta terminazione. Sono comunque mantenuti e aggiornati (nella Tavola dei processi) i tempi di esecuzione relativi al processo terminato. Insieme al segnale di avvenuta terminazione, al padre viene anche passato un valore intero di terminazione, lo status.

23 Attesa Terminazione Figlio 23 pid_t wait( int *status) Il processo che chiama la system call pid = wait(&status) rimane sospeso (non piu' schedulato, quindi in stato waiting) fino alla morte di uno dei suoi figli, in particolare fino a che uno dei figli esegue la funzione exit. Il genitore raccoglie il signal emesso durante la exit. Se il processo non ha figli e' ritornato -1 e settato errno. In caso contrario, viene restituito il pid del figlio terminato. Se un figlio termina prima che il genitore esegua la wait, ne viene tenuta traccia. Quando il genitore chiamerà la wait() non verrà quindi sospeso, ma continuerà immediatamente la sua esecuzione. I figli che hanno chiamato la exit, ma il cui padre non ha ancora chiamato la wait vanno in uno stato detto zombie e rimangono nella tabella dei processi del kernel. Nel momento in cui il padre chiama la wait i figli zombie sono cancellati dalla tavola dei processi. int status; pid_t pid; if ((pid = fork()) == 0) { /* processo figlio */.. exit(1); } /* processo padre */ pid = wait (&status);

24 Esecuzione di Programmi 24 Famiglia di funzioni int exec(diversi parametri) E' possibile mandare in esecuzione altri programmi all'interno di un processo, mediante la famiglia di funzioni exec. Tali funzioni differiscono solo per i tipo di parametri con cui possono essere chiamate. Esistono ad esempio: int execv (char *nomefile, char *argv[] ); int execl (char *nomefile,char *arg1,char *arg2,.,char *argn,0); e altre ancora. definite in <unistd.h> dove: nomefile e' il nome del file che contiene l'eseguibile argv e' il puntatore ad un array di puntatori a caratteri, ognuno dei quali punta ad una stringa che verrà passata come argomento al processo chiamato arg1, arg2, argn puntano ciascuno ad una stringa che verrà passata come argomento al programma Il nuovo programma si sostituisce interamente, come dati e codice, a quello vecchio, che non è più raggiungibile mentre restano inalterate le tavole file (file aperti, posizionamento all'interno di essi, relazioni con altri processi ecc.). ESEMPIO.. editare il file augusto.txt con l editor /usr/bin/vi #include <unistd.h> void main(void) { execl( /usr/bin/vi, augusto.txt,0); printf("errore in chiamata a /usr/bin/vi\n"); } La funzione printf viene eseguita solo in caso di errore della funzione exec, cioe' solo se l'operazione fallisce, per cui il processo continua con lo stesso programma, e non chiama l altro.

25 Esecuzione di più Programmi 25 Le system call di tipo exec possono essere associate alla fork per ottenere l esecuzione del programma chiamato senza interrompere l esecuzione del programma chiamante. ESEMPIO.. editare il file augusto.txt con l editor /usr/bin/vi #include <unistd.h> void main(void) { pid_t pid; int status; pid=fork(); if(pid==0) ) { /* figlio */ execl( /usr/bin/vi, augusto.txt,0); printf("errore in chiamata a /usr/bin/vi\n"); exit(1); } wait (&status); } Questo meccanismo viene applicato anche nelle shell di comandi per eseguire dei programmi: prima con una fork si duplica la shell, e il padre viene messo in attesa della terminazione del figlio. Il figlio chiama la exec per eseguire il programma voluto, tale programma si sostituisce al figlio e alla fine dell esecuzione avvisa il padre, la shell, che riprenderà il controllo.

26 Esecuzione di più Programmi 26 Lo stesso meccanismo (fork + exec) è utilizzato a Linux, per creare i processi iniziali del s.o.

CREAZIONE PROCESSI IN UNIX 20

CREAZIONE PROCESSI IN UNIX 20 CREAZIONE PROCESSI IN UNIX 20 STRUTTURE DATI PER PROCESSI Un processo puo' essere in escuzione in 2 modi: kernel e utente. Un processo ha almeno 3 regioni: codice, dati e stack Lo stack è allocato dinamicamente.

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

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

AXO. Operativo. Architetture dei Calcolatori e Sistema. programmazione di sistema

AXO. Operativo. Architetture dei Calcolatori e Sistema. programmazione di sistema AXO Architetture dei Calcolatori e Sistema Operativo programmazione di sistema Il sistema operativo Il Sistema Operativo è un insieme di programmi (moduli software) che svolgono funzioni di servizio nel

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

Processi UNIX. I Processi nel SO UNIX. Gerarchie di processi UNIX. Modello di processo in UNIX

Processi 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

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

Sistemi Operativi (modulo di Informatica II) I processi

Sistemi Operativi (modulo di Informatica II) I processi Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Il concetto di processo Schedulazione dei processi e cambio di contesto

Dettagli

Corso di Sistemi Operativi A.A. 2008-2009 - CHIAMATE DI SISTEMA PER IL CONTROLLO DEI PROCESSI. Fabio Buttussi

Corso di Sistemi Operativi A.A. 2008-2009 - CHIAMATE DI SISTEMA PER IL CONTROLLO DEI PROCESSI. Fabio Buttussi Corso di Sistemi Operativi A.A. 2008-2009 - CHIAMATE DI SISTEMA PER IL CONTROLLO DEI PROCESSI Fabio Buttussi La programmazione di sistema Il kernel è la parte di Unix che corrisponde al sistema operativo

Dettagli

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata

Dettagli

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa Raccolta prove scritte Realizzare una classe thread Processo che deve effettuare un numero fissato di letture da una memoria

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

CAP. 6: Nucleo del sistema operativo (La gestione dei processi)

CAP. 6: Nucleo del sistema operativo (La gestione dei processi) Struttura interna del sistema operativo Linux CAP. 6: Nucleo del sistema operativo (La gestione dei processi) Architettura del sistema operativo shell Programmi utente Modo utente Interfaccia delle chiamate

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Gestione dei processi

Gestione dei processi Gestione dei processi Dormire unsigned int sleep(unsigned int); Attende un numero specificato di secondi a meno che non si verifichi un segnale Restituisce 0 se l'attesa è terminata senza interruzioni,

Dettagli

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A. 2005-2006

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A. 2005-2006 Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione Corso di Sistemi Operativi A. A. 2005-2006 Link e permessi Link Un riferimento ad un file è detto link Ogni file può avere un numero

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix-

Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix- Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix- 1 Sommario Esercizi sulla gestione dei processi Creazione di un nuovo processo: fork Sincronizzazione tra processi: wait 2 -

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 22 Martedì 7-1-2014 1 System Call per l'uso dei segnali Un processo che

Dettagli

Programmazione multiprocesso

Programmazione multiprocesso DTI / ISIN / Titolo principale della presentazione 1 Programmazione multiprocesso Amos Brocco, Ricercatore, DTI / ISIN 20 febbraio 2012 2 Processi Cos'è un processo? Un programma in esecuzione Spazio di

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Drivers. Introduzione Tipologie Struttura Interazione con il kernel

Drivers. Introduzione Tipologie Struttura Interazione con il kernel Drivers Introduzione Tipologie Struttura Interazione con il kernel Driver Un driver è un modulo del sistema operativo Esterno al kernel Dedicato alla gestione di una specifica periferica Come altre funzionalità

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 9- -Thread-

Lab. di Sistemi Operativi - Esercitazione n 9- -Thread- Lab. di Sistemi Operativi - Esercitazione n 9- -Thread- 1 Sommario Esercizi su: Comunicazione tra processi: la funzione pipe() Condivisione dati e codice tra due o più processi: concetto di Thread 2 -

Dettagli

Il Software. Il software del PC. Il BIOS

Il Software. Il software del PC. Il BIOS Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

Processi in Linux. Igino Corona igino.corona@diee.unica.it. 20 Ottobre 2009

Processi in Linux. Igino Corona igino.corona@diee.unica.it. 20 Ottobre 2009 Sistemi Operativi Processi in Linux Igino Corona igino.corona@diee.unica.it 20 Ottobre 2009 Contenuti della lezione Come funzionano i programmi in Linux? Schema base di esecuzione di un programma Modalità

Dettagli

Infrastrutture Software

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

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09 SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli

Dettagli

I/O su Socket TCP: read()

I/O su Socket TCP: read() I/O su Socket TCP: read() I socket TCP, una volta che la connessione TCP sia stata instaurata, sono accedibili come se fossero dei file, mediante un descrittore di file (un intero) ottenuto tramite una

Dettagli

Allocazione dinamica della memoria - riepilogo

Allocazione dinamica della memoria - riepilogo Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della

Dettagli

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Un sistema operativo è un insieme di programmi che consentono ad un utente di INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli

Dettagli

Pronto Esecuzione Attesa Terminazione

Pronto Esecuzione Attesa Terminazione Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma

Dettagli

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

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

Dettagli

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

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

Dettagli

File system II. Sistemi Operativi Lez. 20

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

Dettagli

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

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

Dettagli

Sistemi Operativi. 5 Gestione della memoria

Sistemi Operativi. 5 Gestione della memoria Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria

Dettagli

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

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

Dettagli

Chiamate di sistema per la Gestione dei processi in POSIX. E.Mumolo, DEEI mumolo@units.it

Chiamate di sistema per la Gestione dei processi in POSIX. E.Mumolo, DEEI mumolo@units.it Chiamate di sistema per la Gestione dei processi in POSIX E.Mumolo, DEEI mumolo@units.it Process id ed altri identificatori pid_t getpid(); // Process id del processo chiamante pid_t getppid(); // Process

Dettagli

Sincronizzazione e comunicazione tra processi in Unix. usati per trasferire ad un processo l indicazione che un determinato evento si è verificato.

Sincronizzazione e comunicazione tra processi in Unix. usati per trasferire ad un processo l indicazione che un determinato evento si è verificato. Processi parte III Sincronizzazione e comunicazione tra processi in Unix Segnali: usati per trasferire ad un processo l indicazione che un determinato evento si è verificato. Pipe: struttura dinamica,

Dettagli

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale

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

Dettagli

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 5 Martedì 21-10-2014 Thread Come abbiamo detto, un processo è composto

Dettagli

Architettura di un sistema di calcolo

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

Dettagli

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

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

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2 Computazione multi-processo Avere più processi allo stesso momento implica/richiede Processi e Threads Pt. 2 Concorrenza ed efficienza Indipendenza e protezione dei dati ma deve prevedere/permettere anche:

Dettagli

Capitolo 11 -- Silberschatz

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

Dettagli

Corso di Laboratorio di Sistemi Operativi

Corso di Laboratorio di Sistemi Operativi Corso di Laboratorio di Sistemi Operativi Lezione 5 Alessandro Dal Palù email: alessandro.dalpalu@unipr.it web: www.unipr.it/~dalpalu Processi in Unix Approfondimenti: http://gapil.gnulinux.it/download/

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

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

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

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1 GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

ESERCIZI DI PROGRAMMAZIONE C IN AMBIENTE UNIX

ESERCIZI DI PROGRAMMAZIONE C IN AMBIENTE UNIX ESERCIZI DI PROGRAMMAZIONE C IN AMBIENTE UNIX Introduzione In questa dispensa sono stati raccolti alcuni esercizi di programmazione C in ambiente Unix, tratti dagli esami di Sistemi Operativi svoltisi

Dettagli

Sistemi operativi. Esempi di sistemi operativi

Sistemi operativi. Esempi di sistemi operativi Sistemi operativi Un sistema operativo è un programma che facilita la gestione di un computer Si occupa della gestione di tutto il sistema permettendo l interazione con l utente In particolare un sistema

Dettagli

Files, File I/O, File Sharing. Franco Maria Nardini

Files, File I/O, File Sharing. Franco Maria Nardini Files, File I/O, File Sharing Franco Maria Nardini UNIX file types UNIX non richiede una struttura interna del file. Dal punto di vista del sistema operativo c e un solo tipo di file. Struttura e interpretazione

Dettagli

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

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

Dettagli

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

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

Dettagli

TITLE Sistemi Operativi 1

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

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

Dispensa di Informatica I.1

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

Dettagli

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese Inter Process Communication Laboratorio Software 2008-2009 C. Brandolese Introduzione Più processi o thread Concorrono alla relaizzazione di una funzione applicativa Devono poter realizzare Sincronizzazione

Dettagli

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

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

Dettagli

Processi. Laboratorio Software 2008-2009 C. Brandolese

Processi. Laboratorio Software 2008-2009 C. Brandolese Processi Laboratorio Software 2008-2009 Introduzione I calcolatori svolgono operazioni simultaneamente Esempio Compilazione di un programma Invio di un file ad una stampante Visualizzazione di una pagina

Dettagli

Protezione. Protezione. Protezione. Obiettivi della protezione

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

Dettagli

File I/O. M. R. Guarracino: File I/O 1

File I/O. M. R. Guarracino: File I/O 1 File I/O M. R. Guarracino: File I/O 1 File I/O Gran parte delle operazioni su file in ambiente UNIX possono essere eseguite utilizzando solo cinque funzioni: open read write lseek close M. R. Guarracino:

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 3 Martedì 15-10-2013 1 Struttura ed organizzazione software dei sistemi

Dettagli

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

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

Dettagli

Informatica: il sistema operativo

Informatica: il sistema operativo pierpaolo.vittorini@cc.univaq.it Università degli Studi dell Aquila Facoltà di Medicina e Chirurgia 6 ottobre 2006 Il software Il software è l insieme dei programmi che operano sul calcolatore Software

Dettagli

GESTIONE DEI PROCESSI

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

Dettagli

Gestione dei File in C

Gestione dei File in C Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte

Dettagli

Funzioni del Sistema Operativo

Funzioni del Sistema Operativo Il Software I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (ferramenta). La struttura del calcolatore può essere schematizzata come una serie di

Dettagli

Processi e thread. Dipartimento di Informatica Università di Verona, Italy. Sommario

Processi e thread. Dipartimento di Informatica Università di Verona, Italy. Sommario Processi e thread Dipartimento di Informatica Università di Verona, Italy Sommario Concetto di processo Stati di un processo Operazioni e relazioni tra processi Concetto di thread Gestione dei processi

Dettagli

Laboratorio di Sistemi Operativi

Laboratorio di Sistemi Operativi Le FIFO pipe vs fifo la pipe può essere usata solo tra processi "imparentati" (che hanno un antenato comune che ha creato la pipe) la fifo consente di scambiare dati tra processi qualsiasi 2 1 FIFO (named

Dettagli

Capitolo 3 -- Silberschatz

Capitolo 3 -- Silberschatz Processi Capitolo 3 -- Silberschatz Concetto di processo Un SO esegue una varietà di attività: Sistemi batch job Sistemi time-sharing programmi utenti o task Nel libro i termini job e processo sono usati

Dettagli

Sistema di protezione (1)

Sistema di protezione (1) Sistema di protezione (1) - Un processo potrebbe tentare di modificare il programma o i dati di un altro processo o di parte del S.O. stesso. - Protezione: politiche (cosa) e meccanismi (come) per controllare

Dettagli

Sistema di protezione (2) Protezione (1)

Sistema di protezione (2) Protezione (1) Sistema di protezione (1) Sistema di protezione (2) Sistema di protezione (3) - Un processo potrebbe tentare di modificare il programma o i dati di un altro processo o di parte del S.O. stesso. - Protezione:

Dettagli

Organizzazione Monolitica

Organizzazione Monolitica Principali componenti di un sistema Applicazioni utente Interprete di comandi (shell) Interfaccia grafica (desktop) Gestore del processore / Scheduler(s) Gestore della memoria Gestore delle periferiche/

Dettagli

Sistemi Operativi: Programmazione di Sistema

Sistemi Operativi: Programmazione di Sistema Corso di Sistemi Operativi: Programmazione di Sistema Corso di Laurea in Informatica, Università di Firenze Anno accademico 2011/2012 Prof. Luca Ferrari e-mail: ferrari@dsi.unifi.it telefono: 055 4237454

Dettagli

Le Infrastrutture Software ed il Sistema Operativo

Le Infrastrutture Software ed il Sistema Operativo Le Infrastrutture Software ed il Sistema Operativo Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Il Sistema Operativo (S0) (Inf.) E' l'insieme dei programmi che consentono

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 15 Martedì 24-11-2015 Struttura logica del sottosistema di I/O Processi

Dettagli

Elementi di Architettura e Sistemi Operativi

Elementi di Architettura e Sistemi Operativi Elementi di Architettura e Sistemi Operativi Bioinformatica - Tiziano Villa 15 Giugno 2015 Nome e Cognome: Matricola: Posta elettronica: problema punti massimi i tuoi punti problema 1 4 problema 2 6 problema

Dettagli

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

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

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

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

Dettagli

IPC System V. Code di messaggi

IPC System V. Code di messaggi IPC System V Code di messaggi Panoramica coda di messaggi una lista concatenata di messaggi, FIFO semaforo un contatore condiviso, atomicamente modificabile memoria condivisa uno spazio di memoria accessibile

Dettagli

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. I Sistemi Operativi Il Software di Base Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. Il sistema operativo è il gestore di tutte le risorse

Dettagli

Sistemi Operativi Kernel

Sistemi Operativi Kernel Approfondimento Sistemi Operativi Kernel Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni

Dettagli

Il memory manager. Gestione della memoria centrale

Il memory manager. Gestione della memoria centrale Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda

Dettagli

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE

Dettagli

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base) Sistema Operativo (Software di base) Il Sistema Operativo Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei dati attraverso

Dettagli

= 0, 098 ms. Da cui si ricava t 2 medio

= 0, 098 ms. Da cui si ricava t 2 medio 1. Una macchina ha uno spazio degli indirizzi a 32 bit e una pagina di 8 KB. La tabella delle pagine è completamente nell hardware, con una parola a 32 bit per voce. Quando parte un processo, la tabella

Dettagli

DMA Accesso Diretto alla Memoria

DMA Accesso Diretto alla Memoria Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati

Dettagli