Strutture dei SO. Sistemi Operativi Giuseppe Prencipe. Processi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Strutture dei SO. Sistemi Operativi Giuseppe Prencipe. Processi"

Transcript

1 Sistemi Operativi Giuseppe Prencipe Strutture dei sistemi operativi Strutture dei SO I SO forniscono l ambiente in cui si eseguono i programmi Si possono considerare da diversi punti di vista Ora analizzeremo i servizi offerti da un SO, come sono offerti, e come i SO possono essere progettati Tipiche componenti del SO Gestione processi Gestione memoria principale Gestione file Gestione memoria secondaria Gestione I/O Network Sistema di protezione Interprete comandi 3 Processi Un processo è un programma in esecuzione Stampa, compilatore, programma elaborazione testi Per svolgere i propri compiti, un processo necessita di varie risorse: tempo CPU, memoria, file, I/O Le risorse possono essere allocate al processo alla sua creazione o durante la sua vita IMPORTANTE: un programma di per sé non è un processo!! Programma: entità passiva Processo: entità attiva (sequenziale) 4 1

2 Processi Il processo è l unità di lavoro di un sistema Il sistema è costituito da vari processi (utente e sistema) Il SO è responsiabile delle seguenti attività connesse alla gestione dei processi Creazione e cancellazione Sospensione e ripristino Fornitura meccanismi per Sincronizzazione processi Comunicazione fra processi Gestione del deadlock 5 Creazione, sincr. e comunic. Albero dei processi A crea 2 processi figli: B and C B crea 3 processi figli: D, E, and F 6 Deadlock (a) Potenziale deadlock. (b) Deadlock. 7 Gestione memoria principale È un grande array di parole o bytes, ognuna con un proprio indirizzo. È un contenitore di dati accessibili velocemente; è condivisa da CPU e I/O CPU legge istruzioni, e legge e scrive dati I/O vi accede, se si usa DMA È volatile: perde i dati in caso di mancanza alimentazione Per eseguire un programma, è necessario che esso sia in memoria, associato ad indirizzi assoluti Generati dalla CPU Quando il programma termina, il suo spazio di memoria è dichiarato disponibile 8 2

3 Gestione memoria principale Il SO è responsabile di Tener traccia di quali parti della memoria sono correntemente udsate e da chi Decidere quali processi caricare in memoria quando lo spazio diventa disponibile Allocare e deallocare lo spazio in memoria secondo le necessità Gestione dei file È la parte del SO più visibile Le informazioni sono memorizzate su vari dispositivi, ciascuno avente le proprie caratteristiche Organizzazione dati, velocità, metodo d accesso (diretto o sequenziale) Il SO fornisce una visione logica, astraendo le caratteristiche fisiche dei dispositivi, definendo un unità di memorizzazione logica: il file 9 10 Gestione dei file Un file è una collezione d informazioni correlate definite dal loro creatore. Tipicamente, i file rappresentano programmi e dati Possono essere numerici, alfabetici o alfanumerici La loro forma può essere libera o rigidamente definita Sono formati da una sequenza di bit, byte, righe o record, i cui significati sono definiti dai loro creatori Il concetto di file è molto generale 11 Gestione dei file Il SO è responsabile di Creazione e cancellazione file Creazione e cancellazione directory Fornitura delle funzioni fondamentali per la gestione di file e directory Associazione dei file ai dispositivi di memoria secondaria Creazione di copie di riserva (backup) su dispositivi non volatili 12 3

4 File System Montare il file system File system per un dipartimento universitario 13 Prima di montare, I file sui floppy sono inaccessibili Dopo aver montato il floppy su b, I file sul floppy sono parte della gerarchia 14 Gestione I/O Il sistema di I/O consiste di Un sistema di gestione dei buffer Un interfaccia generale per I driver dei dispositivi I driver per gli specifici dispositivi È l unico che conosce le caratteristiche dello specifico dispositivo 15 Gestione della memoria secondaria Dato che la RAM è volatile e troppo piccola, il sistema deve prevedere una memoria secondaria di supporto alla principale La maggior parte dei moderni sistemi di calcolo usa i dischi, sia per i programmi che per i dati Il SO è responsabile Della gestione dello spazio disponibile Assegnazione dello spazio Scheduling del disco 16 4

5 Reti Un sistema distribuito è una collezione di processori che non condividono memoria o clock. Ogni processore ha la propria memoria locale I processori sono connessi tramite una rete di comunicazione (totalmente o parzialemente connessa) La comunicazione avviene tramite un protocollo FTP, NFS, HTTP Un SO distribuito è organizzato in modo da costituire un unico ambiente che offre all utente l accesso alle proprie risorse 17 Reti Un SO distribuito generalizza l accesso alla rete come una forma d accesso a file L accesso a risorse condivise permette Aumentare lo speed-up Aumentare disponibilità dei dati Aumentare l affidabilità 18 Sistema di protezione La protezione è definita da ogni meccanismo che controlla l accesso da parte di programmi, processi o utenti alle risorse di calcolo Il meccanismo di protezione deve Distinguere tra utilizzi legali e non Specificare I controlli da eseguire Fornire mezzi per farla rispettare Registri base e limite Interprete dei comandi Uno dei programmi di sistema più importanti in un SO è l interprete dei comandi È l nterfaccia fra utente e SO Molti comandi si imparticscono al SO attraverso istruzioni di controllo Creazione e gestion processi Gestione I/O Gestione memoria secondaria Gestione memoria principale Accesso file system Protezione Rete

6 Interprete dei comandi Il programma che legge e interpreta i comandi è detto Interprete dei comandi Shell (in UNIX) La sua funzione è di leggere la successiva istruzione di comando ed eseguirla Tramite finestre e mouse Da tastiera Shell UNIX sh, csh, tcsh, ksh, bash % date % date > file Redirezione output % sort < file1 > file2 Redirezione input e output % cat file1 file2 file3 sort > /dev/lp & concatenazione Servizi di un SO Esecuzione di un programma: caricare un prgramma ed eseguirlo I/O: programmi utente non possono eseguire I/O direttamente il SO deve fornire mezzi necessari Gestione file system: leggere, scrivere, creare e cancellare file Comunicazioni: scambio di informazioni tra processi (sulla stessa macchina o tra sistemi differenti in rete) Tramite scambio di messaggi o memoria condivisa Rilevamento d errori: nella CPU, in memoria, nei dispositivi I/O, o nei programmi utente 23 Funzioni del SO extra Esistono altre funzioni che non servono a aiutare l utente, ma per assicurare efficienza Allocazione risorse: tra più utenti o più lavori in esecuzione allo stesso tempo Contabilizzazione uso risorse: per tener traccia di quali utenti usano il calcolatore, segnalando quali e quante risorse impiegano Protezione: assicurare che l accesso alle risorse di sistema sia controllato 24 6

7 3. Chiamate di sistema Forniscono l interfaccia tra un programma in esecuzione e il SO Disponibili come istruzioni in linguaggio macchina Ci sono linguaggi definiti per sostituire l assembler e che consentono di invocare le chiamate di sistema (C, C++) Un processo può richiedere frequentemente l intervento del SO Cosa sono le system call? Ma esattamente cosa accade quando viene invocata una system call? Vediamo in dettaglio come funziona una chiamata a read (fd, buffer, nbytes); Chiamata a read(fd, buffer,nbytes) read(fd, buffer, nbytes) AddrMax Spazio utente RETURN (ritorno al programma chiamante) TRAP al kernel Metti il codice della read() nel registro Codice della funzione di libreria read() AddrMax Spazio utente RETURN (ritorno al programma chiamante) TRAP al kernel Metti il codice della read() nel registro Codice della funzione di libreria read() Incrementa SP (Stack Pointer) CALL read Push di fd Push di &buffer Push di nbyte Codice della chiamata a read() da parte del programma utente Incrementa SP (Stack Pointer) CALL read Push di fd Push di &buffer 1,2,3 Push di nbyte Codice della chiamata a read() da parte del programma utente Spazio kernel (sistema op.) DISPATCH 0 Smistatore (dispatch) Tabella di corrispondenza System Call Handler Gestore della chiamata di sistema 27 Spazio kernel (sistema op.) 0 DISPATCH System Call Handler Passi 1,2,3 : si ricopia il valore dei parametri sullo stack 28 7

8 read(fd, buffer, nbytes) read(fd, buffer, nbytes) AddrMax Spazio utente RETURN (ritorno al programma chiamante) TRAP al kernel Metti il codice della read() nel registro Codice della funzione di libreria read() AddrMax Spazio utente RETURN (ritorno al programma chiamante) TRAP al kernel Metti il codice della read() nel registro 5 Codice della funzione di libreria read() Incrementa SP (Stack Pointer) X CALL read 4 Push di fd Push di &buffer Push di nbyte Codice della chiamata a read() da parte del programma utente Incrementa SP (Stack Pointer) CALL read Push di fd Push di &buffer Push di nbyte X Codice della chiamata a read() da parte del programma utente Spazio kernel (sistema op.) DISPATCH System Call Handler 0 Passo 4 : chiamata di read() salto alla prima istruzione di read() + push indirizzo di ritorno (X) sullo stack 29 Spazio kernel (sistema op.) DISPATCH System Call Handler 0 Passo 5 : Inizia l esecuzione della read(): caricamento del codice della system call in un registro fissato Rx 30 read(fd, buffer, nbytes) read(fd, buffer, nbytes) AddrMax Spazio utente RETURN (ritorno al programma chiamante) TRAP al kernel 6 Metti il codice della read() nel registro Y Codice della funzione di libreria read() AddrMax Spazio utente RETURN (ritorno al programma chiamante) TRAP al kernel Metti il codice della read() nel registro Y Codice della funzione di libreria read() Incrementa SP (Stack Pointer) CALL read Push di fd Push di &buffer Push di nbyte X Codice della chiamata a read() da parte del programma utente Incrementa SP (Stack Pointer) CALL read Push di fd Push di &buffer Push di nbyte X Codice della chiamata a read() da parte del programma utente Spazio kernel (sistema op.) DISPATCH System Call Handler 0 Passo 6 : Esecuzione TRAP passaggio in kernel mode, salto al codice dello smistatore 31 Spazio kernel (sistema op.) 0 DISPATCH System Call Handler 7-8 Passi 7-8 : Selezione della SC secondo il codice in Rx 32 8

9 read(fd, buffer, nbytes) read(fd, buffer, nbytes) Spazio utente Spazio kernel (sistema op.) AddrMax 0 RETURN (ritorno al programma chiamante) TRAP al kernel Metti il codice della read() nel registro Incrementa SP (Stack Pointer) CALL read Push di fd Push di &buffer Push di nbyte DISPATCH System Call Handler Codice della funzione di libreria read() 9 Codice della chiamata a read() da parte del programma utente Passo 9 : Ritorno alla funzione di libreria ripristino user mode, caricamento PC con l indirizzo dell istruzione successiva alla TRAP (Y) X Y 33 AddrMax Spazio utente Spazio kernel (sistema op.) 0 RETURN (ritorno al programma chiamante) TRAP al kernel Metti il codice della read() nel registro 11 Incrementa SP (Stack Pointer) X CALL read Push di fd Push di &buffer Push di nbyte DISPATCH System Call Handler Codice della funzione di libreria read() Codice della chiamata a read() da parte del programma utente Passi : Ritorno al codice utente (nel modo usuale) PC = X, SP viene incrementato per eliminare il frame della read() System Calls I processi hanno 3 segmenti: testo, dati, pila 35 Passaggio di parametri 3 metodi generali per passare parametri tra un programma e il SO Tramite registri Se ci sono più parametri che registri? Memorizza i parametri in una tabella (o blocco) in memoria e si passa l indirizzo del blocco (parametro) in un registro I parametri sono collocati (push) in una pila di sistema da cui sono prelevati (pop) dal SO 36 9

10 Passaggio parametri: tabella 37 Tipi di system calls Controllo dei processi end, abort, load, execute, create process, terminate process, get process attributes, set process attributes, wait for a time, wait event, signal event, allocate and free memory. Gestione dei file create file, delete file, open, close, read, write, reposition, get file attributes, set file attributes. Gestione dei dispositivi request and release device, read, write, reposition, get device attributes, set device attributes, logically attach or detach devices. Gestione delle informazioni get time or date, set time or date, get system data, set system data, get process, file, or device attributes, set process, file, or device attributes, Comunicazioni Create or delete communication connection, send or receive messages, transfer status information, attach or detach remove devices. 38 Esecuzione MS-DOS UNIX Avvio Sistema Esecuzione Programma

11 Shell # define TRUE 1 Alcune system call di UNIX per la gestione processi while (TRUE) { /* repeat forever */ type_prompt( ); /* display prompt */ read_command (command, parameters) /* input from terminal */ } if (fork()!= 0) { /* fork off child process */ /* Parent code */ waitpid( -1, &status, 0); /* wait for child to exit */ } else { /* Child code */ execve (command, parameters, 0); /* execute command */ } Alcune system calls di UNIX per la gestione dei file Alcune system calls di UNIX per la gestione directory

12 System call (Link) (a) 2 directory prima del link di /usr/jim/memo alla directory ast (b) Dopo link % link( /user/jim/memo, /user/ast/note ) 45 UNIX and Windows UNIX: esiste una certa corrispondenza tra l insieme delle system call e l insieme delle procedure di libreria usate per invocare le system call. Circa 100 system call Windows: differente insieme di system call e di procedure di libreria. Esiste un insieme di procedure (Win32 API -- Application Program Interface) utilizzate dal programma per richiedere l uso del SO. Win 32 API ha qualche migliaio di procedure e molte di esse girano in modo utente. Quindi, è difficile capire cosa è una system call. 46 Some Win32 API calls 47 Comunicazione Modello a scambio di messaggi Informazioni tra processi scambiate tramite una funzione di comunicazione del SO Aprire collegamento per comunicazione tra processi Nome di processo e nome di macchina (host name) convertiti in identificatori utilizzati dal SO I processi che gestiscono la comunicazione sono demoni specifici: programmi realizzato con questo scopo 48 12

13 Comunicazione Modello a memoria condivisa Comunicazione tramite memoria Chiamate di sitema map memory Ma il sistema impedisce a un processo di invadere la memoria non sua...e allora???? Più processi devono essere concordi nel superare i propri limiti di memoria Più veloce Programmi di sistema Forniscono un ambiente conveniente per lo sviluppo e l esecuzione dei programmi (es.: interfacce) Gestione file Informazioni di stato Modifica dei file Ambienti d ausilio alla programmazione Caricamento ed esecuzione dei programmi Comunicazioni Programmi d applicazione (browser Web, editors, ) 50 Programmi di sistema Programma di sistema importante: interprete dei comandi Interprete contiene il codice di alcuni comandi I programmi di sistema sono tutti fuori esterni all interprete La visione degli utenti del SO è definita dai programmi di sistema e non dalle chiamate di sistema 5. Struttura del sistema Struttura del sistema: connessioni e gestione delle varie componenti del sistema Alcune strutture Monolitica A livelli Macchine virtuali Modello client-server

14 Organizzazione Monolitica (tipica di Unix, Linux,Windows) Applicazioni Gestore del processore/ Scheduler(s) Gestore della memoria Interprete di comandi (shell) Hw Gestore delle periferiche/ dispositivi Interfaccia grafica (desktop) File system Eseguiti in stato utente Eseguiti in stato supervisore 53 Struttura MS-DOS Scritto per fornire il massimo della funzionalità in poco spazio Non diviso in moduli Sebbene MS-DOS abbia una qualche struttura, le sue interfacce e livelli di funzionalità non sono ben separati 54 Struttura MS-DOS Struttura UNIX Il SO UNIX originale è formato da due parti Programmi di sistema Shell e comandi, compilatori e interpreti, librerie di sistema Il kernel Consiste di tutto ciò che è al di sotto dell interfaccia delle chiamate di sistema e al di sopra dell hardware File system, CPU scheduling, gestione memoria, e molte altre funzioni (tante per un livello solo)

15 Struttura UNIX Approccio stratificato Il SO è diviso in livelli (layers), ognuno costruito sui livelli Il livello 0 (il più basso) è l hardware; quello più alto, è l interfaccia utente I livelli sono strutturati in modo tale che ognuno usi funzionalità e servizi forniti dai livelli inferiori (modularità) Un livello del SO Livelli del SO THE (1968) Layer 5 Layer 4 Layer 3 Layer 2 Layer 1 Layer 0 Programmi utente Buffering dei dispositivi I/O Terminal drivers Gestione memoria CPU scheduling Hardware

16 Problemi struttura a livelli Struttura a livelli OS/2 Accurata definizione dei livelli Es.: Driver memoria ausiliaria (Backing store drivers) < Gestione memoria Backing store drivers? CPU scheduling Efficienza Es.: programma utente esegue una operazione I/O Programma esegue una system call al livello I/O I/O effettua una system call al livello gestione memoria. Che effettua una system call al livello scheduling CPU. Che effettua la system call all hardware Macchina virtuale Sistema di calcolo a strati Hardware Nucleo, sfrutta le istruzioni offerte dall hardware per fornire chiamate di sistema utilizzate da livelli superiori I programmi di sistema possono invocare system call o istruzioni macchina Estensione di questo schema I programmi applicativi possono chiamare i programmi di sistema 63 Macchine Virtuali Una macchina virtuale estende il concetto introdotto dai livelli. Tratta hardware e kernel del SO come se fossero un tutt uno Gli applicativi trattano quello che sta sotto come se fosse parte della macchina Il SO può creare l illusione di più processi ognuno eseguito sul proprio processore con la propria memoria (virtuale) Presenza di più macchine (virtuali) 64 16

17 Struttura del VM/370 con CMS (Conversational Monitor System1979) multiprogramming Macchine virtuali Le risorse della macchina fisica sono condivise per creare le macchine virtuali CPU scheduling può simluare la presenza di più processori Ogni macchina virtuale potrebbe usare un differente SO Il metodo basato sulle macchine virtuali non offre funzioni aggiuntive, ma è un interfaccia identica all architettura sottostante. Ciascun processo dispone di una copia (virtuale) del calcolatore sottostante Macchina virtuale Non-virtual Machine Virtual Machine Vantaggi--Svantaggi Protezione delle risorse di sistema Ogni macchina virtuale è isolata dalle altre. Non si può avere condivisione diretta delle Perfetta per la ricerca e lo sviluppo dei SO Lo sviluppo è fatto sulla macchina virtuale e non sulla macchina fisica Difficile da implementare È complicato fornire una esatta copia della macchina sottostante Modo utente virtuale e modo superutente virtuale Come si gestiscono i dischi? Minidischi IBM

18 MS-DOS su un Pentium Windows fornisce una macchina virtuale 8086 per eseguire programmi MS-DOS su una CPU Intel a 32 bit Il sistema MS-DOS viene caricato in una macchina virtuale Java Virtual Machine I programmi Java compilati sono indipendenti dalla piattaforma Viene generato il bytecode eseguibile da una Java Virtual Machine (JVM) JVM consiste di Caricatore di classi Carica i.class dell utente e della libreria API, affinché l interprete possa eseguirli Verificatore di classi Controlla la correttezza sintattica del bytecode Interprete di linguaggio che esegue il byte-code La memoria viene gestita automaticamente tramite garbage collection: recupero aree di memoria non più utilizzate Just-In-Time (JIT) compilers increase performance 70 Java Virtual Machine 5. Micronucleo Il nucleo di UNIX è cresciuto sempre più e diventato difficile da gestire Verso la metà degli anni 80, un gruppo della Carnegie Mellon University realizzò un SO a micronucleo (microkernel) MACH

19 Micronucleo Filosofia: Si rimuovono dal nucleo tutti i componenti non essenziali, reailizzandoli come programmi del livello utente e di sistema Nucleo ridotto, che offre i servizi minimi di gestione dei processi, della memoria e di comunicazione (a scambio di messaggi) Il micronucleo fornisce funzioni di comunicazione tra i programmi client e i vari servizi Es.: per accedere a un file, un client deve interagire con il file server. Ciò avviene tramite scambio di messaggi con il micronucleo 73 Organizzazione Client-Server Applicazioni Scheduler ad alto livello (Proc server) (a nucleo minimo o microkernel) Memory server Interprete di comandi (shell) Server delle periferiche/ dispositivi File Server Nucleo/kernel : Scheduler a basso livello + meccanismi IPC Hw Interfaccia grafica (desktop) Eseguiti in stato utente Eseguito in stato supervisore 74 Organizzazione Client-Server I vari processi server comunicano fra di lori con i normali meccanismi di comunicazione usati dai processi utenti (es. send-receive) Organizzazione Client-Server Scheduler ad alto livello Server della memoria Server delle periferiche/ dispositivi File Server Nucleo/Kernel : Scheduler a basso livello + meccanismi comunicaz. Hw

20 Modello client-server in un sistema distribuito Organizzazione Client-Server Minimizza le funzioni del SO che girano in modo kernel Molte funzioni sono realizzate da processi server che girano in modo utente Nucleo minimo (Microkernel) : Funzioni base per la gestione dei processi e comunicazione fra processi Comunicazione con i dispositivi vista come messaggi speciali Organizzazione Client-Server Quando un processo richiede un servizio comunica con uno dei processi server Es.: effettua una send al file server per richiedere la lettura da un file L attesa della terminazione di una servizio avviene come attesa di una comunicazione Es.: effettua una receive al file server per ottenere le informazioni lette 79 Micronucleo Vantaggi: Facilità d estensione del SO (mai modifiche al nucleo) SO facile da adattare alle diverse architetture Sicurezza e affidabilità (servizi eseguiti come processi utente se corrotti, il nucleo è intatto) 80 20

21 Client-server vs modello monolitico Più sicuro Meno efficiente Si adatta bene ai sistemi operativi di rete Windows NT 3.0 adottava un modello ispirato al client/server (ibrido) scartato perché troppo lento Studiato in ambito accademico Es.: MACH, Minix, sono versioni di Unix a microkernel Scopi della progettazione Utente: il SO dovrebbe essere facile da usare, affidabile, sicuro e veloce Sistema: il SO dovrebbe essere facile da progettare, implementare e gestire, flessibile, efficiente e affidabile e senza errori Software Engineering 82 Meccanismi e politiche I meccanismi determinano come fare qualcosa Le politiche (criteri) decidono cosa fare Temporizzatore: meccanismo Quantità di tempo da impostare: politica La separazione di politiche e meccanismi è un principio fondamentale: permette massima flessibilità se le politiche devono essere cambiate Il modello client-server usa questo approccio. Pochi meccanismi nel nucleo, e i processi server gestiscono le politiche 83 Realizzazione Scritti tradizionalmente in assembler, i SO oggi sono scritti in linguaggi ad alto livello Codice ad alto livello Viene scritto più velocemente È più compatto È più facile da capire e correggere È decisamente più facile fare il porting (tradurlo per un hardware diverso) 84 21

22 7. Generazione di sistemi (SYSGEN) Progettare i SO per essere esguiti su una classe di macchine; il sistema si deve generare o configurare per ciascuna situazione specifica Processo note come SYSGEN Per generare un sistema, un programma speciale deve ottenere le informazioni relative alla specifica configurazione del sistema hardware CPU da impiegare Memoria disponibile Dispositivi disponibili Opzioni del SO richieste (dimensioni buffer, algoritmo di scheduling CPU richiesto, numero max di processi, ecc.) Come fa la macchina fisica a sapere dove si trova il nucleo e a caricarlo in memoria? Booting procedura che avvia la macchina caricando il nucleo Bootstrap program codice in ROM che è capace di individuare il kernel, caricarlo in RAM e avviarlo 85 Per oggi basta!!!! 86 22

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

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

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

Capitolo 3: Strutture dei sistemi operativi

Capitolo 3: Strutture dei sistemi operativi Capitolo 3: Strutture dei sistemi operativi Componenti del sistema Servizi di un sistema operativo Chiamate del sistema Programmi di sistema Struttura del sistema Macchine virtuali Progettazione e realizzazione

Dettagli

Strutture dei Sistemi Operativi

Strutture dei Sistemi Operativi Strutture dei Sistemi Operativi Componenti di sistema Servizi del sistema operativo Chiamate di sistema Programmi di sistema Struttura del sistema Macchine virtuali Progetto e implementazione di sistemi

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi

Dettagli

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

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

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

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

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione Lezione 4 La Struttura dei Sistemi Operativi Introduzione Funzionamento di un SO La Struttura di un SO Sistemi Operativi con Struttura Monolitica Progettazione a Livelli di un SO 4.2 1 Introduzione (cont.)

Dettagli

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Funzioni e strategie di progettazione: dai kernel monolitici

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

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

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

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

Sistema di protezione

Sistema di protezione Sistema di protezione - 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

Introduzione ai sistemi operativi

Introduzione ai sistemi operativi Introduzione ai sistemi operativi Che cos è un S.O.? Shell Utente Utente 1 2 Utente N Window Compilatori Assembler Editor.. DB SOFTWARE APPLICATIVO System calls SISTEMA OPERATIVO HARDWARE Funzioni di un

Dettagli

Compiti del S.O. Lezione 2: Gestione dei processi. La struttura e funzioni dei Sistemi Operativi

Compiti del S.O. Lezione 2: Gestione dei processi. La struttura e funzioni dei Sistemi Operativi Lezione 2: Compiti del S.O. La struttura e funzioni dei Sistemi Operativi Un S.O. ha il compito di rendere semplice (all utente), l utilizzo del calcolatore componenti di un sistema operativo servizi dei

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

Sistemi Operativi (modulo di Informatica II) Architettura

Sistemi Operativi (modulo di Informatica II) Architettura Sistemi Operativi (modulo di Informatica II) Architettura Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Obiettivi di un sistema operativo Concetti di base sui sistemi operativi

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

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

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

Sistemi di Elaborazioni delle Informazioni I

Sistemi di Elaborazioni delle Informazioni I Sistemi di Elaborazioni delle Informazioni I Docente: Marco Aldinucci aldinuc@di.unito.it http://www.di.unito.it/~aldinuc Ricevimento: Su appuntamento Esercitatore: Fabio Tordini tordini@di.unito.it 1

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

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

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

Strutture dei sistemi operativi

Strutture dei sistemi operativi Contenuti della lezione di oggi Strutture dei sistemi operativi Descrizione dei servizi messi a disposizione dell utente dal SO Utente generico Programmatore Esame delle possibili strutture di un SO Monolitica

Dettagli

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico Impossibile visualizzare l'immagine. Struttura di un sistema operativo Struttura dei Sistemi Operativi Servizi di un sistema operativo Interfaccia Utente Capitolo 2 -- Silberschatz Chiamate di sistema

Dettagli

Capitolo 2 -- Silberschatz

Capitolo 2 -- Silberschatz Struttura dei Sistemi Operativi Capitolo 2 -- Silberschatz Struttura di un sistema operativo Servizi di un sistema operativo Interfaccia Utente Chiamate di sistema Tipi di chiamate Programma di sistema

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

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 : Un Sistema Operativo è un insieme complesso di programmi che, interagendo tra loro, devono svolgere una serie di funzioni per gestire il comportamento del computer e per agire come intermediario consentendo

Dettagli

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

Le Infrastrutture Software ed il Sistema Operativo

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

Dettagli

Sistemi Operativi. 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

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

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

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

Hardware di un Computer

Hardware di un Computer Hardware di un Computer Monitor Mouse Tastiera Printer Disk CPU Graphics Adapter USB Controller Parallel Port Disk Controller BUS Memoria RAM Memoria ROM (BIOS) DMA CPU esegue istruzioni, effettua calcoli,

Dettagli

Introduzione al sistema operativo Il file system: file, directory,...

Introduzione al sistema operativo Il file system: file, directory,... ,OVRIWZDUHGLVLVWHPD cosa vedremo: Introduzione al sistema operativo Il file system: file, directory,...... 223,OVRIWZDUHLQWURGX]LRQH L hardware da solo non è sufficiente per il funzionamento dell elaboratore

Dettagli

Software di base. Corso di Fondamenti di Informatica

Software di base. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Software di base Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

Dettagli

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

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

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

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

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

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

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

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

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli

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

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

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

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

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

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

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

Dettagli

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

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

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi Evoluzione dei sistemi operativi (4) Sistemi multiprogrammati! più programmi sono caricati in contemporaneamente, e l elaborazione passa periodicamente dall uno all altro Evoluzione dei sistemi operativi

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

Corso di Sistemi di Elaborazione delle informazioni

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

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1 GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

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

Architettura hardware

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

Dettagli

CAPITOLO 5 - Sistemi Operativi Moderni

CAPITOLO 5 - Sistemi Operativi Moderni CAPITOLO 5 - Sistemi Operativi Moderni PRESENTAZIONE DI INSIEME Vedremo ora come si è evoluta nel tempo la struttura di un sistema operativo, per passare dalle vecchie strutture di tipo normalmente modulari,

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

PARTE 4 La Macchina Software

PARTE 4 La Macchina Software PARTE 4 La Macchina Software 94 Macchina Hardware e Macchina Software applicativi sistema operativo macchina hardware Agli albori dell'informatica, si programmava in binario, cioe` in linguaggio macchina,

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

Comunicazione tra Processi

Comunicazione tra Processi Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo

Dettagli

Comunicazione tra Processi

Comunicazione tra Processi Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

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

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

2. Strutture dei Sistemi Operativi

2. Strutture dei Sistemi Operativi 1 2. Strutture dei Sistemi Operativi Quali servizi un generico sistema operativo mette a disposizione degli utenti, e dei programmi che gli utenti vogliono eseguire? interfaccia col sistema operativo stesso

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

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Il File System. Il file system

Il File System. Il file system Il File System Il file system Parte di SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti di file:

Dettagli

comuni ai moderni SO sui quali il corso è incentrato Definizione di sistema operativo

comuni ai moderni SO sui quali il corso è incentrato Definizione di sistema operativo Il Sistema Operativo (SO) è una parte essenziale di un sistema di calcolo In generale un SO è un insieme di programmi che agisce come intermediario tra utenti e hardware di un computer. Esiste un insieme

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

Protezione. Sistemi Operativi mod. B 16.1

Protezione. Sistemi Operativi mod. B 16.1 Protezione Scopi della Protezione Dominio di Protezione Matrice d Accesso Implementazione della Matrice d Accesso Revoca dei Diritti d Accesso Sistemi Basati su Abilitazioni Protezione basata sul linguaggio

Dettagli

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore Dispensa di Fondamenti di Informatica Architettura di un calcolatore Hardware e software La prima decomposizione di un calcolatore è relativa ai seguenti macro-componenti hardware la struttura fisica del

Dettagli

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro

Dettagli

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

Informatica. Il software (S.O.) e ancora sulle basi numeriche

Informatica. Il software (S.O.) e ancora sulle basi numeriche (S.O.) e ancora sulle basi numeriche http://159.149.98.238/lanzavecchia/docum enti/sscta.htm 1 Il sistema operativo Un insieme di programmi che gestiscono le risorse (cpu, memoria, dischi, periferiche)

Dettagli

CAPITOLO 1 I SISTEMI OPERATIVI

CAPITOLO 1 I SISTEMI OPERATIVI CAPITOLO 1 I SISTEMI OPERATIVI Introduzione ai sistemi operativi pag. 3 La shell pag. 3 Tipi di sistemi operativi pag. 4 I servizi del sistema operativo pag. 4 La gestione dei file e il file system Il

Dettagli

CdL in Medicina Veterinaria - STPA AA 2007-08

CdL in Medicina Veterinaria - STPA AA 2007-08 CdL in Medicina Veterinaria - STPA AA 2007-08 Il Sistema Operativo Architettura del Software Software = insieme (complesso) di programmi. Organizzazione a strati, ciascuno con funzionalità di livello più

Dettagli

Introduzione alla Virtualizzazione

Introduzione alla Virtualizzazione Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008 IL SOFTWARE Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008 CHE COS È IL SOFTWARE In Informatica il termine Software indica l insieme dei programmi che consentono un

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Sistema Operativo di un Router (IOS Software)

Sistema Operativo di un Router (IOS Software) - Laboratorio di Servizi di Telecomunicazione Sistema Operativo di un Router (IOS Software) Slide tratte da Cisco Press CCNA Instructor s Manual ed elaborate dall Ing. Francesco Immè IOS Un router o uno

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

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore

Dettagli

Come funziona un sistema di elaborazione

Come funziona un sistema di elaborazione Introduzione Cosa è un Sistema Sste aoperativo? Come funziona un sistema di elaborazione Proprietà dei Sistemi Operativi Storia dei Sistemi di Elaborazione Sistemi Mainframe Sistemi Desktop Sistemi i Multiprocessori

Dettagli

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo Il Sistema Operativo Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo ... ma Cos'è un S.O.? un PROGRAMMA!... ma Cos'è un programma? PROGRAMMA: 1. algoritmo sequenza

Dettagli