Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Documenti analoghi
Architettura di un sistema operativo

Approccio stratificato

Introduzione alla Virtualizzazione

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

Architetture software. Virtualizzazione

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

Organizzazione Monolitica

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

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

Introduzione ai sistemi operativi

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

Il Sistema Operativo (1)

Architettura di un sistema operativo

Infrastrutture Software

Virtualizzazione e Macchine Virtuali

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

Sistemi Operativi (modulo di Informatica II) Architettura

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

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

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

The Onion PC. Virtualizzazione strato dopo strato

Protezione del Kernel Tramite Macchine Virtuali

STRUTTURE DEI SISTEMI DI CALCOLO

Le Infrastrutture Software ed il Sistema Operativo

Sistema di protezione (1)

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

Sistema di protezione (2) Protezione (1)

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

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

ANALISI DELLE TECNOLOGIE INTEL-VT E AMD-V A SUPPORTO DELLA VIRTUALIZZAZIONE DELL'HARDWARE

Introduzione ai Sistemi Operativi

Capitolo 3: Strutture dei sistemi operativi

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

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

Strutture dei Sistemi Operativi

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

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

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

Corso di Sistemi di Elaborazione delle informazioni

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

CAPITOLO 5 - Sistemi Operativi Moderni

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

TITLE Sistemi Operativi 1

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

Introduzione al sistema operativo. Laboratorio Software C. Brandolese

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


Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

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

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

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia

Sistemi Operativi. Il Sistema Operativo. Gestione Risorse (3) Gestione Risorse (2) Cos'è un sistema operativo? Utenti di un SO.

Il Sistema Operativo

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

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

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

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

Scheduling. Lo scheduler è la parte del SO che si occupa di

27/03/2013. Contenuti

Sistemi di Elaborazioni delle Informazioni I

Sistema Operativo e Applicativi

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

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

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

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

Processi. Laboratorio Software C. Brandolese

GNUraghe. Desktop Virtualization +VirtualBox+...quando un solo pc non basta più... IL LUG DI ORISTANO. Virtualizzazione dei sistemi con VirtualBox

SISTEMI OPERATIVI THREAD. Giorgio Giacinto Sistemi Opera=vi

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

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA

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

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

I sistemi virtuali nella PA. Il caso della Biblioteca del Consiglio Regionale della Puglia

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

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

CdL in Medicina Veterinaria - STPA AA

Linux Virtuale Linux Virtuale

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

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Hardware di un Computer

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

Virtualizzazione di macchine Linux tramite XEN

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

Virtualizzazione con KVM. Reggio Emilia - Linux Day 2014 Stefano Strozzi KVM

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Architettura di un sistema di calcolo

Il Concetto di Processo

Comunicazione tra Processi

Comunicazione tra Processi

Il Software. Il software del PC. Il BIOS

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

HARDWARE. Relazione di Informatica

Sistema di protezione

GESTIONE DEI PROCESSI

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

Transcript:

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.) Macchine Virtuali SO basati su Kernel SO basati su Microkernel Alcuni Esempi 4.3 Funzionamento di un SO Boot procedure analisi della configurazione tipo di CPU, dimensione della memoria, dispositivi I/O, dettagli di altro hw Carica parti di SO in memoria, inizializzazione delle DS Durante la computazione, interrupt : Un evento: completamento di I/O; fine di time-slice System call da un process (software interrupt) Routine di gestione degli Interrupt: Opera il context save Attiva il gestore dell evento (event handler) Scheduler seleziona un processo 4.4 2

Funzionamento di un SO Schema di funzionamento di un SO 4.5 Funzionamento di un SO (funzioni) Funzioni di un SO Funzione Gestione dei processi Gestione della memoria Gestione dell I/O Gestione dei file Descrizione Generazione e terminazione dei processi, scheduling Allocazione e deallocazione della memoria, swapping, gestione della memoria virtuale Servizi per gli interrupt I/O, operazioni di inizio I/O, ottimizzazione delle prestazioni dei dispositivi I/O Creazione, memorizzazione e accesso ai file Sicurezza e protezione Prevenire interferenze tra processi e risorse Gestione della rete Invio e ricezione di dati attraverso la rete 4.6 3

Struttura di un SO Politiche e Meccanismi Portabilita ed Espandibilita del SO 4.7 Politiche e Meccanismi Nella scelta di come il SO eseguira una funzione, I progettisti lavorano su due livelli: Politiche: Principi di funzionamento del OS Determinano COSA dovrebbe essere fatto Meccanismi: Azioni necessarie per implementare una politica Determinano COME fare e ne sono l implementazione Esempio: Scheduling Round-robin e una politica Meccanismo: mantenere una coda di processi pronti e operare il dispatching dei processi 4.8 4

Portabilita ed Espandibilita del SO Porting: adattare un software per l uso su hw diverso Portabilita : il grado di facilita con cui un programma software e portabile Inversamente proporzionale alla difficolta di porting Porting di un SO: modifiche al codice dipendente dall architettura per funzionare sul nuovo HW Esempi di dati e istruzione di un SO dipendenti dall architettura: Interrupt vector, informazioni di protezione della memoria, istruzioni di I/O, etc. 4.9 Portabilita ed Espandibilita del SO (cont.) Espandibilita : facilita nell aggiunta di nuove funzionalita Espandibilita di un SO e necessaria per due ragioni: Incorporare nuovo HW in a sistema di calcolo Nuovi dispositivi di I/O o adattatori di rete Offrire nuove funzionalita I primi SO non erano strutturati per assicurare espandibilita di alcun tipo I moderni SO permettono almeno l aggiunta di device driver Anche offrendo funzionalita di plug-and-play 4.10 5

Sistemi Operativi con Struttura Monolitica Tipica dei primi SO SO strutturato come un unico strato di software tra l utente e la macchina (hardware) Schema della struttura di un SO monolitico 4.11 Sistemi Operativi con Struttura Monolitica (cont.) Problemi tipici della struttura monolitica: SO completamente interfacciato con la macchina Codice dipendente dall architettura presente in ogni parte del SO bassa portabilita Testing e debugging complesso Alti costi di manutenzione e sviluppo Strutture Alternative: Struttura a Livelli Struttura basata sul Kernel Struttura basata su Microkernel 4.12 6

Progettazione a Livelli di un SO Definizione: Gap Semantico differenza in complessita tra le operazioni necessarie alle applicazioni e le operazioni fornite dall hardware gap semantico tra istruzioni del SO e istruzioni macchina Il gap semantico si riduce: Usando una macchina con istruzioni complesse Simulando tale macchina in uno strato software del SO 4.13 Progettazione a Livelli di un SO (cont.) Le Routine di un livello usano solo le funzioni del livello direttamente inferiore Attraverso l interfaccia offerta da esso Progettazione a livelli: macchina estesa 4.14 7

Esempio: Struttura del sistema multiprogrammato THE Funzionalita nei livelli nel sistema multiprogrammato THE Livello Livello 0 Livello 1 Descrizione Allocazione del processore e multiprogrammazione Gestione della memoria Livello 2 Livello 3 Comunicazione tra console e processi Gestione dell I/O Livello 4 Processi degli utenti 4.15 Progettazione a Livelli di un SO (cont.) Problemi: Funzionamento rallentato dalla struttura a livelli Difficolta nella strutturazione dei livelli Problema: come ordinare livelli che interagiscono Tipicamente risolto dividendo le funzionalita di un livello in due sottolivelli tra i quali vanno i livelli interdipendenti Stratificazione delle funzionalita del SO Progettazione complessa Perdita di efficienza, rallentamento Espandibilita piu complessa 4.16 8

SO basati su Virtual Machine Diverse classi di utenti richiedono servizi differenti Un SO Virtual machine (VM OS) crea diverse macchine virtuali una macchina virtuale (VM) e una risorsa virtuale Ogni VM e allocata ad un utente, che puo usare un qualsiasi SO Su ogni VM gira un diverso SO ospite VM OS gira sulla macchina reale Schedula i SO ospiti La distinzione tra modalita utente e privilegiata della CPU causa difficolta nell uso di un VM OS 4.17 Example: Structure of VM/370 4.18 9

SO a Macchine Virtuali (cont.) Virtualizzazione: mappa interfacce e risorse di una VM sulle interfacce e risorse della macchina host (reale) Virtualizzazione piena puo ridurre la sicurezza Quasi-virtualizzazione sostituisce ad istruzioni non virtualizzabili altre istruzioni facilmente virtualizzabili Il codice di un SO ospite viene modificato in modo da evitare uso di istruzione non virtualizzabili, questo lo si ottiene mediante: Porting del sistema ospite per operare sotto il VM OS 4.19 SO a Macchine Virtuali (cont.) VM vengono usate anche senza un VM OS: Virtual Machine Monitor (VMM) Anche detto hypervisor Es., VMware e XEN Macchine Virtuali per linguaggi di programmazione Pascal negli anni 70 Ridotte prestazioni Java Java virtual machine (JVM) garantisce sicurezza ed affidabilita Migliori prestazioni se implementata in hardware 4.20 10

SO basati su Kernel Schema di un SO basato su kernel Motivazioni storiche per la struttura basata su kernel: portabilita e convenienza nella progettazione ed implementazione delle routine nonkernel Meccanismi implementati in kernel, politiche al di fuori SO basati su Kernel hanno bassa espandibilita 4.21 SO basati su Kernel (cont.) Funzioni tipiche e servizi offerti dal kernel Funzione SO Gestione dei processi Comunicazione tra processi Gestione della memoria Descrizione Salvataggio contesto, dispatch, gestione code di scheduling Invio e ricezione di messaggi tra processi Allocazione e deallocazione della memoria, swapping, gestione della memoria virtuale Gestione dell I/O Operazioni di inizio I/O, interruzione per completamento I/ O, recovery da errori I/O Gestione dei file Apertura file, lettura/scrittura dei dati Sicurezza e protezione Gestione della rete Aggiunta di informazioni di autenticazione per nuovi utenti, informazioni per la protezione dei file Invio e ricezione di dati mediante messaggi 4.22 11

Evoluzione della struttura a Kernel Moduli Kernel caricabili Kernel progettato come insieme di moduli Moduli interagiscono attraverso interfacce Kernel di base caricato al boot Altri moduli caricati solo quando servono Risparmio di memoria Usati per implementare device drivers e nuove system calls User-level device drivers Facilita di sviluppo, debugging, versatitilita L efficienza e assicurata mediante struttre HW e SW 4.23 SO basati su Microkernel Il microkernel fu sviluppato nei primi anni 90 per aumentare la portabilita, espandibilita e affidabilita dei kernel Un microkernel e un nucleo essenziale del codice del SO Contiene solo un sottoinsieme dei meccanismi tipicamente inclusi in un kernel Supporta solo un piccolo insieme di system calls, altamente verificate e testate Codice meno essenziale e fuori dal kernel 4.24 12

SO basati su Microkernel (cont.) Microkernel non include scheduler e gestore della memoria Tali moduli sono eseguiti come server Struttura di un SO basato su Microkernel 4.25 SO basati su Microkernel (cont.) Varianti anche molto diverse dei servizi inclusi in un microkernel SO con microkernel di prima generazione: fino al 50% di peggioramento del throughput L4 microkernel (solo 7 sys-call) IPC piu efficiente eliminando controlli di validita e utilizzando servizi per il microkernel in HW Perdita in performance solo del 5% 4.26 13

Sommario Portabilita Espandibilita Una funzionalita di un SO si basa su una politica e alcuni meccanismi I primi SO erano a struttura monolitica 4.31 Sommario (cont.) Struttura a livelli basata sul principio dell astrazione progrssiva per ridurre la complessita di progettazione The virtual machine operating system (VM OS) supporta il funzionamento di diversi SO insieme sullo stesso computer Crea una macchina virtuale per ogni utente In una struttura a kernel, il kernel e il nucleo del SO, che chiama routine nonkernel routines per implementare operazioni su processi e risorse Un microkernel e la parte essenziale del nucleo del codice SO I moduli per le politiche come processi server 4.32 16