Sistemi Operativi. Struttura astratta della memoria. Gerarchia dei dispositivi di. Memoria centrale. Memoria secondaria (di massa)



Documenti analoghi
Architettura di un sistema di calcolo

Architettura di un sistema operativo

Il Sistema Operativo (1)

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

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

STRUTTURE DEI SISTEMI DI CALCOLO

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

Approccio stratificato

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

Introduzione ai sistemi operativi

Come funziona un sistema di elaborazione

Sistema Operativo e Applicativi

Strutture dei Sistemi Operativi

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

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

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

Le Infrastrutture Software ed il Sistema Operativo

Architettura dei computer

Il Software. Il software del PC. Il BIOS

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

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

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

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

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

Dispensa di Informatica I.1

TITLE Sistemi Operativi 1

Software di base. Corso di Fondamenti di Informatica

Il Sistema Operativo

Introduzione ai Sistemi Operativi

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

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

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

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

Infrastrutture Software

Corso di Sistemi di Elaborazione delle informazioni

Capitolo 3: Strutture dei sistemi operativi

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

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

Informatica di Base - 6 c.f.u.

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

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

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

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

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

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

01/05/2014. Dalla precedente lezione. Ruolo dei sistemi operativi. Esecuzione dei programmi

Corso di Informatica

Definizione e storia dei sistemi operativi

Funzioni del Sistema Operativo

Informatica - A.A. 2010/11

CdL in Medicina Veterinaria - STPA AA

LINUX. Che cos'e` un sistema operativo?

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

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

Architetture Applicative

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

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

Sistema di protezione (1)

Sistema di protezione (2) Protezione (1)

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

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

Nozioni di Informatica di base. dott. Andrea Mazzini

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

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Architettura hardware

Informatica e Bioinformatica: Sistemi Operativi

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

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

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Classificazione del software

Organizzazione Monolitica

Laboratorio di Informatica

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

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

C. P. U. MEMORIA CENTRALE

Il File System. Il file system

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

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

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

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

Capitolo 1: Introduzione

Esempio: aggiungere j

Il Sistema Operativo: il File System

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

2. Strutture dei Sistemi Operativi

SISTEMI OPERATIVI DISTRIBUITI

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

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Informatica. Scopo della lezione

Esame di INFORMATICA

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

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

Corso di Informatica

Il sistema operativo

Corso di Informatica

Capitolo Silberschatz

1. BASI DI DATI: GENERALITÀ

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

Transcript:

Struttura astratta della memoria Memoria centrale il solo dispositivo di memoria al quale la CPU puo accedere direttamente Memoria secondaria (di massa) Estensione della memoria centrale che fornisce grande capacita di memoria non volatile Memoria centrale (Quasi) tutto cio che accade in un sistema di calcolo passa per la memoria centrale Load e store per trasferire da memoria a registri della CPU e viceversa Memoria volatile, ad accesso veloce, dalla capacita limitata Dal punto di vista OS, si tratta di gestire le possibili sequenze di indirizzi generate per l accesso a memoria Velocita Costo Gerarchia dei dispositivi di memoria 1 nsec 2 nsec 10 nsec 10 msec memory < 1 KB 1 MB 64-512 MB 5-50 GB Volatile Permanente qualche osservazione Electronic disk e accessibile come un file system (volatile o non volatile alimentato a batteria) Cache interamente gestite via hardware (ex., next instruction register) Movimento tra i vari livelli sia implicito che esplicito In generale caching e l operazione di copia di informazioni in dispositivi di memoria piu veloci (es. la memoria centrale puo essere vista come una cache per la memoria secondaria) e qualche attributo Consistenza tra copie dello stesso item in diverse memorie Coerenza tra diverse cache (in un multiprocessor, per esempio) oppure tra diverse repliche di un file in un file system distribuito coerenza consistenza cache Sistemi Operativi 1

Cos e un Sistema Operativo (OS) Un semplice schema Un sistema che agisce da intermediario tra l utente e il computer Scopi del OS: Rendere il computer piu conveniente all uso ( user-friendly ) Utilizzare l hardware in maniera efficiente Sistemi Operativi 7 Sistemi Operativi 8 e un dettaglio delle sue componenti Sistema operativo è: 1. Hardware fornisce le risorse di base (CPU, memorie, dispositivi di I/O). 2. OS controlla e coordina l uso dell hardware fra i vari programmi applicativi 3. Programmi di sistema definiscono il modo in cui le risorse di sistema sono utilizzate per risolvere i problemi dell utente (p.es., compilatori, database, fogli elettronici, ecc ) 4. Programmi applicativi Applicazioni costruite per risolvere specifici problemi (p.es. sistema di prenotazione voli) 5. Utenti (persone, macchine o altri computer) possono utilizzare il sistema com e e/o costruire programmi applicativi 1. Allocatore di risorse un sistema di controllo dispone di risorse hw e sw utili per la risoluzione di problemi. Il S.O. gestisce tali risorse allocandole in base alle necessità definite dai loro compiti, a programmi e a utenti specifici. 2. Programma di controllo controlla e coordina l esecuzione dei programmi utente in modo da impedire che vengano commessi errori o che il computer venga utilizzato in modo non corretto. Sistemi Operativi 9 Sistemi Operativi 10 I compiti del OS Fa da interfaccia per l utente (convenienza!!!) Gestisce ed alloca le risorse (efficienza!!!) e i suoi confini Kernel quel programma che e sempre in esecuzione sul computer contiene le funzioni comuni di allocazione e controllo utili a tutti i programmi (es. Controllo dispositivi I/O) Sistemi Operativi 11 convenienza Sistemi Operativi 12 efficienza kernel Ex: driver di uno scanner 2

e ancora sui confini attenzione: sottile e il confine tra programmi di sistema e OS intero! Breve evoluzione dei sistemi di calcolo e dei relativi OS Prima generazione 1945-1955 Condensatori, programmazione wired Seconda generazione 1955-1965 transistors, sistemi batch Terza generazione 1965 1980 Circuiti integrati, multiprogrammazione Quarta generazione 1980 1995 Personal computers Quinta generazione 1995 oggi Computer tascabili (wireless) Sistemi Operativi 13 Sistemi Operativi 14 Multiprogrammazione: organizzazione di memoria Piu job sono tenuti in memoria allo stesso tempo, e la CPU puo essere condivisa tra essi Job pool struttura dati che permette al OS di selezionare quale job eseguire per accrescere l utilizzazione della CPU OS delegato a decidere!!! Compiti di un OS per multiprogrammazione Scheduling della CPU (al termine di ogni job) Gestione della memoria Routines di I/O Allocazione di dispositivi Si condividono risorse, ma non c e ancora interleaving di esecuzione tra i job Sistemi Operativi 15 Vittorio Cortellessa, 2002-2003 Sistemi Operativi 16 Vittorio Cortellessa, 2002-2003 Sistemi interattivi e time-sharing Idea : rimpiazzare il job che utilizza la CPU con un altro, per esempio quando il primo ha bisogno di I/O (contextswitching) Prerequisito : strutture dati ed algoritmi piu complessi per gestire il time-sharing Sistemi Operativi 17 INTERATTIVITA La CPU e condivisa tra un insieme di job tenuto in memoria Strategie per : scegliere il job che deve utilizzare la CPU, far entrare e uscire job da questo insieme Sistemi Operativi 18 I concetti Comunicazione tra l utente e il sistema: quando il sistema finisce l esecuzione di un comando passa il controllo all utente Possibilita per l utente di accedere a codice e dati TIME_SHARING 3

e una rappresentazione grafica Caratteristiche di un OS per Interattivita e Time-Sharing Memoria job1 job2 job3 job4 job6 CPU job5 UTENTI Scheduling della CPU (anche a intervalli di tempo, non solo quando ci sono operazioni di I/O!!!) Gestione della memoria (mantenere un insieme di job in memoria, non tutti quelli possibili) Allocazione di dispositivi in maniera consistente con il time-sharing File System accessibile dall utente SISTEMA DI CALCOLO Sistemi Operativi 19 Virtualizzazione della macchina Sistemi Operativi 20 Personal Computers Computers dedicati ad un singolo utente Nuovi dispositivi di I/O tastiera, mouse, schermi piccoli, piccole stampanti Maggiore necessita di conoscere OS da parte dell utente (tradeoff!) Convenienza (facilita d uso) per l utente Diversa concezione delle protezioni e condivisioni rispetto a sistemi con multipli utenti STRUTTURE DEI SISTEMI DI CALCOLO Sistemi Operativi 21 Sistemi Operativi 22 Architettura di un sistema di calcolo Caratteristiche generali Dispositivi di I/O e CPU possono operare allo stesso tempo e competere per l accesso a memoria (regolato dal controller di memoria, unico nel suo genere) I controller sono la parte intelligente di un dispositivo Ogni controller e predisposto per un certo tipo di dispositivo Esso ha registri e buffer locali per gestire le interazioni con le altre parti del sistema Il device driver e la controparte del dispositivo in OS, e cioe la parte di OS predisposta a interagire con un certo dispositivo Sistemi Operativi 23 Sistemi Operativi 24 4

e meccanismi di I/O La CPU sposta i dati da/a memoria principale a/da buffer del dispositivo I/O avviene da/a buffer del dispositivo a/da dispositivo Il controller informa la CPU, mediante un interrupt, che ha finito l operazione Mai sentito parlare di Interrupt?! OS e interrupt driven! Perche? Interrupt regolano le interazioni tra OS e dispositivi e tra OS e programmi utente Esempi Un interrupt viene generato dal controller di un disco quando un operazione di scrittura e terminata Una trap (interrupt generato via software) puo essere causata da un errore (ex. divisione per 0) o dalla richiesta esplicita (da parte di un programma utente) di un servizio del OS (system call, ex. mkdir) Sistemi Operativi 25 Sistemi Operativi 26 Memory Protection Spazio di indirizzi determinati da base e limit Proteggere interrupt vector e codice delle interrupt routines Due registri che determinano il range di indirizzi leciti di un processo: base register il piu piccolo indirizzo fisico di memoria lecito del processo limit register taglia del range di indirizzi del processo La memoria al di fuori del range deve essere protetta Sistemi Operativi 27 Sistemi Operativi 28 CPU Protection Regola : Evitare che un processo possa detenere per un tempo illimitato il controllo della CPU Soluzione : un timer che interrompe l esecuzione dopo un certo tempo e rida il controllo a OS (ex. quantum in time sharing) Meccanismo per l esecuzione di istruzioni privilegiate OS deve sempre mantenere il controllo Come fa un processo utente ad accedere alle risorse se le istruzioni relative sono tutte privilegiate? Le istruzioni di manipolazione del timer sono privilegiate System call il metodo usato da un processo per richiedere un azione di OS Sistemi Operativi 29 Sistemi Operativi 30 5

Componenti comuni di un OS STRUTTURE DEI SISTEMI OPERATIVI 1. Gestione dei processi 2. Gestione della memoria centrale 3. Gestione della memoria secondaria 4. Manipolazione dei file 5. Gestione dell I/O 6. Sistema di protezione 7. Gestione di rete 8. Interprete dei comandi Sistemi Operativi 31 Sistemi Operativi 32 1. Gestione dei processi Programma e processo Un processo e un programma in esecuzione PROGRAMMA PROCESSO Un processo utente deriva da un programma eseguito da un utente; un processo di sistema corrisponde ad una routine di OS Un processo ha bisogno di risorse, quali tempo di CPU, memoria, files e dispositivi di I/O per svolgere il suo compito f(a,b) begin a := a+5 end Carta o file f CPU a b memoria disco Sistemi Operativi 33 Sistemi Operativi 34 Compiti di OS rispetto ai processi 2. Gestione della memoria centrale Creazione e cancellazione Sospensione e ripristino (scheduling) Sincronizzazione (deadlock) Comunicazione Memoria : un array di parole o bytes, ognuna con il suo indirizzo Velocemente accessibile Di piccola taglia Volatile Condivisa tra la CPU e i dispositivi di I/O Sistemi Operativi 35 Sistemi Operativi 36 6

Compiti di OS rispetto alla memoria Tenere traccia di quali parti della memoria sono correntemente usate e da chi Decidere quali processi caricare da disco quando diventa disponibile spazio di memoria 3. Gestione della memoria secondaria La memoria secondaria serve da backup per la memoria centrale (troppo piccola e volatile per conservare informazioni in maniera permanente) Allocare e deallocare spazio di memoria quando necessario In genere si tratta di dischi, aventi caratteristiche proprie quali la velocita di accesso, la capienza, etc Sistemi Operativi 37 Sistemi Operativi 38 Compiti di OS rispetto alla memoria secondaria Gestione dello spazio libero Allocazione della memoria Scheduling delle richieste 4. Manipolazione dei file Un file e una collezione di informazioni (in qualche modo in relazione tra esse) definita dal suo creatore Un file comunemente contiene o programmi o dati o altri file (directory) Il file e lo strumento di astrazione dalle memorie secondarie Sistemi Operativi 39 Sistemi Operativi 40 Compiti di OS rispetto ai file Creazione e cancellazione di file/directory Primitive per la manipolazione (open, read, etc.) Mapping di file a dispositivi di memoria Backup di files su dispositivi appositi 5. Gestione dell I/O Sistema di buffering, caching e spooling Buffering : preparare i dati di I/O in predisposti registri e aree di memoria Caching : conservare in memorie veloci i dati usati piu di frequente per I/O Spooling : virtualizzazione dei dispositivi di I/O mediante uso di aree di memoria per caricare e scaricare informazioni Driver per ogni tipo di dispositivo : routine di I/O che colloquia con il controller del dispositivo Interfaccia generale per i driver : programma che si invoca per iniziare qualsiasi operazione di I/O Sistemi Operativi 41 Sistemi Operativi 42 7

6. Sistema di protezione Una risorsa e un entita passiva, quindi non e in grado di proteggersi da sola contro usi impropri ed errori Piu in generale un sistema di protezione si occupa di controllare gli accessi di programmi, processi, utenti a OS e risorse Compiti di OS per la protezione Distinguere tra usi/utenti autorizzati e non Specificare i controlli da imporre Fornire un meccanismo per il rispetto dei vincoli imposti dalle protezioni Sistemi Operativi 43 Sistemi Operativi 44 7. Gestione di rete Un sistema distribuito e una collezione di elaboratori (possibilmente non omogenei tra loro) che non condividono memoria e clock, e che sono collegati mediante una rete di comunicazione Compiti di OS per una rete Fornire accesso alle risorse di rete da parte degli utenti Velocizzazione dell esecuzione Maggiore disponibilita di informazioni Maggiore affidabilita Sistemi Operativi 45 Sistemi Operativi 46 Un esempio di Local Area Network 8. Interprete dei comandi (shell) La shell e il programma che si occupa di accettare, interpretare ed eseguire il prossimo comando L insieme di comandi costituisce il linguaggio di colloquio tra utente e OS Piu o meno facili e user-friendly shell, a seconda di OS Sistemi Operativi 47 Sistemi Operativi 48 8

Esempio : UNIX shell Riassumendo quindi mkdir cp kill Sistemi Operativi 49 lpr chmod Servizi comuni di un OS : convenienza Esecuzione di programmi Operazioni di I/O Gestione del File System Comunicazioni Rilevamento di errori Funzioni comuni di un OS : efficienza Allocazione delle risorse Contabilizzazione dell uso delle risorse Protezione Sistemi Operativi 50 System Calls Forniscono l interfaccia tra un programma in esecuzione e OS La maggior parte dei moderni linguaggi di programmazione permette la chiamata diretta di system call nel linguaggio stesso Ad ogni system call corrisponde in genere un comando di OS, che quindi e disponibile anche direttamente all utente in shell mkdir cp kill --- --- --- --- --- --- --- --- lpr chmod --- --- --- --- Sistemi Operativi 51 Sistemi Operativi 52 Classificazione di system calls Esempio di programma applicativo con uso di system call : lettura del contenuto di un file e scrittura in un altro file A. Gestione dei processi B. Manipolazione dei file C. Manipolazione di dispositivi (memorie e I/O) D. Manutenzione delle informazioni E. Comunicazioni Che novita! Sistemi Operativi 53 Sistemi Operativi 54 9

Struttura interna di un OS - un esempio di design : MS-DOS ed un altro esempio meglio strutturato: UNIX Interfacce e livelli di funzionalita non sono ben separati Il kernel consiste di tutto cio che sta al di sotto delle interfacce alle system call e al di sopra dell hardware Sistemi Operativi 55 Sistemi Operativi 56 Un criterio generale di design: approccio stratificato Relazioni tra livelli e caratteristiche OS e suddiviso in un numero di livelli, ognuno costruito sui sottostanti Il livello piu basso e l hardware (livello 0) e il piu alto e l interfaccia utente (livello N) Information hiding Data encapsulation Modularita Facile verifica e debugging Bassa efficienza Sistemi Operativi 57 Sistemi Operativi 58 Fine Parte Informatica Sistemi Operativi 59 10