Approccio stratificato



Documenti analoghi
Strutture dei Sistemi Operativi

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

Capitolo 3: Strutture dei sistemi operativi

Architettura di un sistema operativo

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

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

Introduzione alla Virtualizzazione

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

Il Sistema Operativo

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

Dispensa di Informatica I.1

Il Sistema Operativo (1)

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Architetture software. Virtualizzazione

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

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

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

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

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

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

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

Sistemi Operativi (modulo di Informatica II) Architettura

Architettura hardware

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

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

Introduzione ai sistemi operativi

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

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

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Il sistema operativo TinyOS

Il Software. Il software del PC. Il BIOS

Strutture dei sistemi operativi

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

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

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

GESTIONE DEI PROCESSI

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Calcolatori Elettronici A a.a. 2008/2009

CdL in Medicina Veterinaria - STPA AA

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

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

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

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

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

VIRTUALIZZAZIONE. Docente: Marco Sechi Modulo 1

La Gestione delle risorse Renato Agati

Organizzazione Monolitica

Gestione della memoria centrale

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Sistemi Operativi. Conclusioni e nuove frontiere

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

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

GLI ARCHIVI DI DATI. File Un File è una sequenza di informazioni che costituisce una unità logica. Un file è un un contenitore di di informazioni

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

Le Infrastrutture Software ed il Sistema Operativo

Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE

STRUTTURE DEI SISTEMI DI CALCOLO

CAPITOLO 5 - Sistemi Operativi Moderni

Corso di Informatica

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Corso di Alfabetizzazione Informatica

Architettura di un sistema operativo

Informatica. Prof. A. Longheu. Introduzione a Java

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

Corso di Informatica

Architetture Applicative

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

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

Classificazione del software

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

Pronto Esecuzione Attesa Terminazione

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

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

Varie tipologie di memoria

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

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

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

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

Ambienti di Sviluppo

Virtualizzazione e Macchine Virtuali

Corso di Informatica

Sommario della lezione

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

Dispositivi di rete. Ripetitori. Hub

Protezione. Protezione. Protezione. Obiettivi della protezione

SERVICE MANAGER. Architettura Client-Server e Web based di Servizi Specializzati per la Gestione di Periferiche e Connettività

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

Informatica. Teoria. L architettura dei PC Storia dell informatica Periferiche Reti - Software. Marco Brama

Informatica: il sistema operativo

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

Sistema di protezione (1)

Novità di Access 2010

Sistema di protezione (2) Protezione (1)

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

TITLE Sistemi Operativi 1

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Protezione. Sistemi Operativi mod. B 16.1

Transcript:

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 utente. Modularità: gli strati sono definiti in modo tale che ciascuno impiega esclusivamente funzioni (operazioni) e servizi di livello inferiore. L information hiding offre ai programmatori la libertà di codificare a proprio piacimento le routine di basso livello, ammesso che a livello utente i programmi applicativi eseguano il compito cui sono preposti. Scarsa efficienza dovuta all overhead di attraversamento degli strati. 3.25

Uno strato del sistema operativo 3.26

Struttura a strati di OS/2 3.27

Sistemi microkernel Quasi tutte le funzionalità del kernel sono spostate nello spazio utente. Le comunicazioni hanno luogo tra moduli utente mediante scambio di messaggi. Vantaggi funzionalità del microkernel più semplici da estendere; sistema più facile da portare su nuove architetture; più affidabile (meno codice viene eseguito in modo kernel); maggior sicurezza. Svantaggi penalizzazione nelle prestazioni; difficoltà di utilizzo dei supporti hardware. 3.28

Struttura ibrida di Windows NT 3.29

Macchine virtuali Una macchina virtuale porta l approccio stratificato alle sue estreme conseguenze logiche: sia l hardware, sia il SO vengono trattati alla stessa stregua. Una macchina virtuale realizza un interfaccia identica alla macchina fisica sottostante. Nelle MV le risorse del computer fisico vengono condivise in modo che si crei l illusione che ciascun processo sia in esecuzione sul proprio processore, con la propria memoria (virtuale). 3.30

Macchine virtuali Le risorse vengono condivise in modo da creare le macchine virtuali. Lo scheduling della CPU crea l illusione che gli utenti abbiano un loro proprio processore. Lo spooling e il file system possono fornire lettori di schede virtuali e stampanti in linea virtuali. Un normale terminale per utente in time sharing funziona come console per l operatore della macchina virtuale. 3.31

Modelli di sistemi Semplice Macchina virtuale 3.32

Vantaggi/svantaggi delle macchine virtuali Il concetto di macchina virtuale fornisce una protezione completa delle risorse di sistema, dato che ciascuna macchina virtuale è isolata da tutte le altre. Questo isolamento, tuttavia, non permette una condivisione diretta delle risorse. Un sistema con macchine virtuali è un mezzo perfetto per la ricerca e lo sviluppo di sistemi operativi. Lo sviluppo del sistema è effettuato sulla macchina virtuale e così non disturba il normale funzionamento del sistema. Il concetto di macchina virtuale è difficile da implementare per il notevole sforzo richiesto per fornire un duplicato esatto della macchina sottostante. Sono in commercio diversi prodotti, tra cui VM dell IBM e Workstation della VMWare. 3.33

Java Virtual Machine I programmi Java compilati sono bytecode indipendenti dalla piattaforma, eseguibili da una Java Virtual Machine (JVM). La JVM è costituita da: un caricatore di classi; un verificatore di classi; un interprete runtime. I compilatori Just in Time (JIT) migliorano le prestazioni. JVM disponibili per un ampia varietà di sistemi. JVM incorporata anche in vari browser, che a loro volta sono eseguiti su piattaforme diverse. La JVM controlla i bytecode per verificare se ci sono istruzioni che possono compromettere la sicurezza della macchina fisica. I programmi scritti in Java sono in generale più lenti dei programmi in C/C++. 3.34

Scopi della progettazione Per l utente, il SO dovrebbe essere conveniente da usare, facile da imparare, affidabile, sicuro e rapido. Per il progettista, il SO dovrebbe essere di facile progettazione, implementazione e manutenzione. Inoltre dovrebbe essere flessibile, affidabile, senza errori ed efficiente. 3.35

Meccanismi e politiche I meccanismi specificano come fare qualcosa. Le politiche specificano cosa deve essere fatto. La separazione dei meccanismi dalle politiche è un principio basilare: permette la massima flessibilità se le decisioni politiche devono essere cambiate successivamente. 3.36

Implementazione del sistema I sistemi operativi venivano tradizionalmente scritti in linguaggio macchina. Attualmente, I SO sono scritti in linguaggi ad alto livello, quali il C e C++. Il codice scritto con un linguaggio ad alto livello ha i seguenti vantaggi: Può essere scritto più velocemente. È più compatto. È facile da capire e i bachi sono facili da trovare. È molto più semplice effettuare il porting di un sistema operativo (realizzare cioè un SO che giri su una macchina con un hardware diverso) nel caso di SO scritti in linguaggio di alto livello. 3.37

Generazione del sistema (SYSGEN) I sistemi operativi sono progettati per essere eseguiti su qualunque macchina di una certa classe; il sistema deve però essere configurato per ciascun computer specifico. Il programma SYSGEN ottiene informazioni relative alla specifica configurazione dell hardware sul quale viene eseguito. Booting Inizializzazione del computer ottenuta caricando il kernel in memoria centrale. Il bootstrap è un programma memorizzato in ROM in grado di localizzare il kernel, caricarlo in memoria ed iniziare la sua esecuzione. 3.38

Sommario I SO offrono diversi servizi: al livello più basso, le chiamate di sistema, ad uno superiore, l interprete dei comandi. Le chiamate di sistema offrono servizi di base, come quelle di controllo dei processi, gestione di file e dispositivi di I/O. Le richieste di livello superiore, soddisfatte dall interprete dei comandi e dai comandi di sistema, sono tradotte in una sequenza di chiamate di sistema. Definiti i servizi, si può passare allo sviluppo della struttura. Ogni sistema operativo che dispone di una JVM è in grado di eseguire un programma scritto in Java. L uso delle macchine virtuali permette di ottenere un ambiente in cui è semplice progettare e studiare i sistemi operativi. 3.39