Architettura di un sistema operativo



Documenti analoghi
Architettura di un sistema operativo

Approccio stratificato

Introduzione ai sistemi operativi

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

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Capitolo 3: Strutture dei sistemi operativi

Il Sistema Operativo (1)

Sistemi Operativi (modulo di Informatica II) Architettura

Architetture software. Virtualizzazione

Software di base. Corso di Fondamenti di Informatica

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

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Strutture dei Sistemi Operativi

CdL in Medicina Veterinaria - STPA AA

Introduzione al sistema operativo. Laboratorio Software C. Brandolese

The Onion PC. Virtualizzazione strato dopo strato

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

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

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

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

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

Organizzazione Monolitica

Sistemi Operativi. Introduzione. C.d.L. in Informatica (laurea triennale) Anno Accademico Dipartimento di Matematica e Informatica Catania

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

CAPITOLO 5 - Sistemi Operativi Moderni

PROPOSTA DI UN ARCHITETTURA IMS INTEGRATA IN UN AMBIENTE VIRTUALIZZATO: ANALISI DI PRESTAZIONI Daniele Costarella

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

Sistemi Operativi (modulo di Informatica II) Concetti base e architettura

Strutture dei Sistemi Operativi. Componenti del sistema Servizi di un sistema operativo Struttura dei sistemi operativi

I - Sistema Operativo Alberto Cammozzo La copia letterale di quest'opera è consentita purché questa nota resti inclusa.

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

Virtualizzazione e Macchine Virtuali

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

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

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

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

Sistemi operativi e reti A.A Lezione 2

Protezione del Kernel Tramite Macchine Virtuali

Introduzione alla Virtualizzazione

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

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

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

Progetto di Applicazioni Software

Introduzione ai Sistemi Operativi

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Strutture dei sistemi operativi

27/03/2013. Contenuti

Progetto di Applicazioni Software

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

TITLE Sistemi Operativi 1

Il computer: primi elementi

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Infrastrutture Software

Le Infrastrutture Software ed il Sistema Operativo

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

SISTEMI OPERATIVI. Concetti base e architettura. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)

PARTE 4 La Macchina Software

MODULO 02. Iniziamo a usare il computer

Il sistema operativo TinyOS

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

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

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

Sistemi Operativi. Introduzione. C.d.L. in Informatica (laurea triennale) Anno Accademico Dipartimento di Matematica e Informatica Catania

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer

Cos e` un Sistema Operativo? Cos è un sistema operativo?

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

SISTEMI OPERATIVI THREAD. Giorgio Giacinto Sistemi Opera=vi

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

LINUX. Che cos'e` un sistema operativo?

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

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

Progetto Virtualizzazione

Corso di Informatica

Dispensa di Informatica I.1

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

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

Informatica di Base - 6 c.f.u.

Dr. Andrea Niri aka AndydnA ANDYDNA.NET S.r.l.

Sistemi operativi. Esempi di sistemi operativi

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

Gestore di Memoria. Gestire le richieste di risorse di memoria Liberare le risorse non più utilizzate. Gestire la memoria virtuale (swap su disco)

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

Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria Elettronica SISTEMI OPERATIVI STRUTTURE DEI SISTEMI OPERATIVI

Il Sistema Operativo

Corso di Informatica

Sistemi Operativi. Modulo 4: Architettura dei sistemi operativi

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

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo Compilatore

Virtualizzazione di macchine Linux tramite XEN

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Sistemi Operativi UNICAL. Facoltà di Ingegneria. Domenico Talia A.A Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi. Introduzione UNICAL. Facoltà di Ingegneria. Domenico Talia A.A

Sommario della lezione

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! SISTEMI OPERATIVI

Informatica. Prof. A. Longheu. Introduzione a Java

Transcript:

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 basati su kernel Sistemi client-server Graziano Pravadelli (2011) 2

Sistemi monolitici No gerarchia Unico strato SW tra utente e HW Componenti tutti allo stesso livello Insieme di procedure che possono chiamarsi vicendevolmente Svantaggi Codice dipendente dall architettura HW era distribuito su tutto il S.O. Test e debug difficile Graziano Pravadelli (2011) 3 Sistemi a struttura semplice Minima organizzazione gerarchica Definizione dei livelli della gerarchia molto flessibile Strutturazione mira a ridurre costi di sviluppo e manutenzione Es.: MS-DOS, UNIX originale Graziano Pravadelli (2011) 4

MS-DOS Pensato per fornire il maggior numero di funzionalità nel minimo spazio Non suddiviso in moduli Possiede un minimo di struttura, ma le interfacce e i livelli di funzionalità non sono ben definiti Non prevede dual mode (perché Intel 8088 non lo forniva) Programmi applicativi Programmi di sistema residenti MS-DOS device driver I programmi applicativi possono accedere alle routine di base! ROM BIOS device driver Graziano Pravadelli (2011) 5 UNIX (originale) Struttura base limitata a causa delle limitate funzionalità HW Programmi di sistema Kernel Tutto ciò che sta tra il livello dell interfaccia delle system call e l HW Fornisce File system Scheduling della CPU Gestione della memoria Altre funzioni Graziano Pravadelli (2011) 6

UNIX (originale) Spazio utente Utenti Shell & comandi - Compilatori & interpreti - Librerie di sistema Interfaccia system call verso il kernel Kernel Gestione segnali I/O a caratteri Driver dei terminali File system I/O a blocco Driver del disco Scheduling della CPU Gestione della memoria Memoria virtuale Interfaccia del kernel verso l hardware HW Controllore del terminale Controllore del disco Controllori della memoria fisica Graziano Pravadelli (2011) 7 Sistemi a livelli Servizi organizzati per livelli gerarchici Interfaccia utente (livello più alto) à à HW (più basso) Ogni livello: può usare solo funzioni fornite dai livelli inferiori definisce precisamente il tipo di servizio e l interfaccia verso il livello superiore nascondendone l implementazione Graziano Pravadelli (2011) 8

Sistemi a livelli Vantaggi: Modularità: facilita messa a punto e manutenzione del sistema Svantaggi: Difficile definire appropriatamente gli strati Minor efficienza: ogni strato aggiunge overhead alle system call Minor portabilità: funzionalità dipendenti dall architettura sono sparse sui vari livelli Es.: THE, MULTICS, OS/2 Graziano Pravadelli (2011) 9 THE (Dijkstra 1968) Sistema operativo accademico per sistemi batch Primo esempio di sistema a livelli Insieme di processi cooperanti sincronizzati tramite semafori Livello 5: Programmi utente Livello 4: Gestione I/O (astrazione dispositivi fisici) Livello 3: Device driver della console (comunicazione utente-console) Livello 2: Gestione della memoria (mem. virt. senza supporto HW) Livello 1: Scheduling della CPU (con priorità, permette multiprogram.)) Livello 0: Hardware Graziano Pravadelli (2011) 10

Virtual machine Estremizzazione dell approccio a livelli (IBM VM 1972) Pensato per offrire un sistema timesharing multiplo HW e S.O. trattati come hardware Una VM fornisce un interfaccia identica all HW sottostante Il S.O. esegue sopra la VM La VM dà l illusione di processi multipli, ciascuno in esecuzione sul proprio HW Possibilità di presenza di più S.O. Graziano Pravadelli (2011) 11 Non-virtual Machine" processi kernel HW Virtual machine Interfaccia di programmazione processi kernel Concetto chiave: separazione di Multiprogrammazione (Virtual Machine) Presentazione (S.O.) Virtual Machine" processi kernel Virtual Machine HW processi kernel Graziano Pravadelli (2011) 12

Virtual machine Vantaggi Protezione completa del sistema: ogni VM è isolata dalle altre Più di un S.O. sulla stessa macchina host Ottimizzazione delle risorse La stessa macchina può ospitare quello che senza VM doveva essere eseguito su macchine separate Ottime per lo sviluppo di S.O. Buona portabilità Graziano Pravadelli (2011) 13 Virtual machine Svantaggi Problemi di prestazioni Necessità di gestire dual mode virtuale Il sistema di gestione delle VM esegue in kernel mode, ma la VM esegue in user mode No condivisione: ogni VM è isolata dalle altre Soluzione: condivisione un volume del file system Definire una rete virtuale tra VM via SW Graziano Pravadelli (2011) 14

Virtual machine Concetto usato ancora oggi, anche se in contesti diversi e con certi vincoli Esempi: Esecuzione di programmi MS-DOS in Windows Emulazione di 8086 (1MB memoria) Esecuzione contemporanea di Linux e Windows (vmware, VirtualBox, ) Java Virtual Machine (JVM) Graziano Pravadelli (2011) 15 Sistemi basati su kernel Due soli livelli: Servizi kernel e servizi non-kernel Alcune funzionalità fuori dal kernel (es.: File system) Es.: Implementazioni moderne di UNIX Vantaggi Vantaggi dei sistemi a livelli, ma senza averne troppi Svantaggi Non così generale come un sistema a livelli Nessuna regola organizzativa per parti del S.O. fuori dal kernel Kernel complesso tende a diventare monolitico Graziano Pravadelli (2011) 16

Sistemi client-server Tutti i servizi del S.O. sono realizzati come processi utente (client) Il client chiama un processo servitore (server) per usufruire di un servizio Il server, dopo l esecuzione, restituisce il risultato al client Il kernel si occupa solo della gestione della comunicazione tra client e server Il modello si presta bene per S.O. distribuiti S.O. moderni realizzano tipicamente alcuni servizi in questo modo Graziano Pravadelli (2011) 17 Implementazione di un S.O. Tradizionalmente scritti in linguaggio assembler S.O. moderni scritti in linguaggi ad alto livello (C/C++) Vantaggi: Implementazione più rapida Più compatto Più facile da capire e da mantenere Portabilità Graziano Pravadelli (2011) 18