Il Sistema Operativo



Documenti analoghi
Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Prof. G. Ascia. Sistema Operativo

Le Infrastrutture Software ed il Sistema Operativo

Il Sistema Operativo (1)

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

Il Software. Il software del PC. Il BIOS

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

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

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

Funzioni del Sistema Operativo

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

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

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

Il sistema operativo

Gestione della memoria centrale

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

Sistema di protezione (1)

Sistema di protezione (2) Protezione (1)

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

Informatica: il sistema operativo

Infrastrutture Software

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Il Sistema Operativo

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

Corso di Sistemi di Elaborazione delle informazioni

Sistemi operativi. Esempi di sistemi operativi

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

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

Informatica e Bioinformatica: Sistemi Operativi

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

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

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

Dispensa di Informatica I.1

Approccio stratificato

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

Introduzione ai Sistemi Operativi

Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari. Copyright 2005 The McGraw-Hill Companies srl

CdL in Medicina Veterinaria - STPA AA

HARDWARE. Relazione di Informatica

TITLE Sistemi Operativi 1

PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE

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

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

Il software. la parte contro cui si può solo imprecare. Il software

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

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

Software di base. Corso di Fondamenti di Informatica

Pronto Esecuzione Attesa Terminazione

Protezione. Protezione. Protezione. Obiettivi della protezione

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

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

Corso di Informatica

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

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

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Sistema Operativo Compilatore

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

uomo Software (sistema operativo) hardware

Introduzione all Informatica

Corso di Informatica

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

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

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

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Sistemi Operativi (modulo di Informatica II) I processi

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Il software può essere diviso in due grandi classi:

Architettura di un sistema di calcolo

INTERAZIONE CON L UTENTEL

Elementi di Informatica e Programmazione

Sistemi Operativi Kernel

Introduzione ai sistemi operativi

Corso di Informatica

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

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

Gestione del processore e dei processi

Il Sistema Operativo: il File System

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

Organizzazione Monolitica

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO

Fondamenti di Informatica

STRUTTURE DEI SISTEMI DI CALCOLO

CPU. Maurizio Palesi

DMA Accesso Diretto alla Memoria

Sistema di protezione

Laboratorio di Informatica

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

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

IL SISTEMA OPERATIVO

Il memory manager. Gestione della memoria centrale

La Gestione delle risorse Renato Agati

Coordinazione Distribuita

Capitolo Silberschatz

J. Assfalg Appunti di Sistemi Operativi

Sistema Operativo e Applicativi

Sistemi operativi e reti A.A Lezione 2

Software di base. Informatica Generale (CdL in E&C), A.A

Capitolo 3: Strutture dei sistemi operativi

Scheduling della CPU:

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

Transcript:

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 di Elaborazione. Utente Sistema Operativo HARDWARE Macchina Il S.O. può essere visto come strato di interfaccia fra l utente e l hardware. L utente non vede direttamente la macchina, ma una macchina virtuale più semplice da usare e programmare rispetto alla macchina hardware. 1

Struttura a livelli del S.O. La struttura è organizzata su diversi livelli, cui corrisponde una gerarchia di macchine virtuali. Ogni macchina virtuale è un insieme di programmi che realizza funzionalità più potenti, utilizzando i servizi forniti dal livello inferiore. Ogni macchina virtuale ha il compito di gestire risorse specifiche del sistema, fornendo meccanismi logici di accesso Programmi utente Interprete comandi attivazione programmi d utente o di sistema File system controllo e gestione degli accessi a file Gestione delle periferiche gestione di ingresso/uscita da periferica Gestione della memoria allocazione e gestione della memoria Gestione dei processi (nucleo) gestione dei processi e delle interruzioni Macchina fisica Funzioni del S.O. Il gestore dei processi (o nucleo) è responsabile dell esecuzione dei programmi da parte dell unità di elaborazione Questo strato offre agli strati superiori una macchina virtuale in cui ciascun programma opera come se avesse a disposizione un unità di elaborazione dedica. Il gestore della memoria ha la funzione di allocare la memoria e partizionarla tra i vari programmi Questo strato offre agli strati superiori una macchina virtuale in cui ciascun programma come se avesse a disposizione una memoria dedicata. 2

Funzioni del S.O. I gestore delle periferiche è responsabile delle operazioni di ingresso/uscita che coinvolgono le periferiche Maschera le caratteristiche hardware delle periferiche dandone una visione astratta. Da l impressione che ciascun programma abbia a sua completa disposizione una periferica Il file system è responsabile della gestione dei file in memoria di massa Fornisce una serie di funzionalità per potere operare ad alto livello mascherando i dettagli sulle operazioni che realmente sono effettuate L interprete comandi consente all utente di attivare in modo semplice i programmi Macchina virtuale Le funzioni del S.O. creano una macchina virtuale in cui ogni programma in esecuzione ha l illusione di avere ad esso dedicate tutte le risorse della macchina hardware Macchina Hardware Periferica Periferica Memoria Centrale Memoria Massa CPU Macchina Periferica Periferica Memoria Memoria Periferica Periferica File File CPU CPU File File 3

Processi Un processo può essere visto come un programma in fase di esecuzione. Un processo é il codice di un programma in esecuzione e lo stato S del processo (l insieme di valori contenuti in ogni istante nei registri e nelle locazioni coinvolte nell esecuzione). Lo stesso programma può essere associato a più processi: Un programma può essere scomposto in varie parti e ognuna di esse può essere associata ad un diverso processo Lo stesso programma può essere associato a diversi processi quando diverse copie del medesimo processo sono mandate in esecuzione Gestione dei processi Un sistema di elaborazione opera in due stati: - stato supervisore: esegue processi del sistema operativo deputati alla gestione del sistema; - stato programma: esegue processi relativi a programmi a livello applicativo e d ambiente Nello stato supervisore non viene posta alcuna limitazione alle operazioni possibili sull intero sistema. Nello stato programma sono presenti delle limitazioni sulle operazioni eseguibili per proteggere il S.O e gli altri processi. Il passaggio da un stato all altro avviene in seguito ad un interruzione. La gestione delle interruzioni è compito di un modulo del supervisore, gestore interruzioni. 4

Interruzioni Interruzione: messaggio inviato al supervisore indicante un evento a cui non è possibile fare fronte nello stato programma. Tipi di interruzione: - interruzioni interne (sincrone): generate da un programma in esecuzione, ad esempio per richiedere una operazione di I/O; - interruzioni esterne (asincrone), provocate dall esterno per segnalare eventi particolari, esempio la fine di una operazione di I/O. - interruzione per errore (asincrone), per segnalare guasti hardware o errori software. Stati di un processo Un processo può trovarsi in uno dei seguenti stati In esecuzione: assegnato al processore ed eseguito da esso Pronto: può andare in esecuzione, se il gestore dei processi lo decide In attesa: attende il verificarsi di un evento esterno per andare in stato di pronto 5

Transizione tra gli stati di un processo Inizio esecuzione - Fine quanto di tempo - Interruzione esterna Processo pronto Primo processo pronto Processo in esecuzione Evento esterno atteso Interruzione interna - Fine esecuzione - Abort per errore Processo in attesa Interazione tra processi I diversi processi possono interagire. Le interazioni possono essere classificate in: indesiderate e impreviste, quando competono per l accesso alle risorse, ad esempio nel caso di processi che vogliono usare la stesso file; desiderate e previste, quando i processi cooperano per il raggiungimento di un obiettivo, ad esempio nel caso di processi produttore/consumatore. La gestione delle interazione tra processi richiede meccanismi di sincronizzazione tra le attività, quando più processi vogliono accedere alle stesse risorse; di comunicazione per lo scambio di dati, quando un processo deve inviare dei dati ad altri processi; La sincronizzazione può avvenire usando il meccanismo dei semafori logici. La comunicazione può avvenire usando uno spazio di memoria condivisa; mandando messaggi ai processi. 6

S.O. Monoprogrammato In un sistema monoprogrammato, oltre al S.O., un solo programma utente è presente in memoria centrale. Sistema Operativo Programma Spazio degli indirizzi del programma Un calcolatore spende più tempo nelle operazioni di I/O che in quelle di elaborazione dei dati. Programma exec I/O exec I/O exec Si ha un basso utilizzo dell unità centrale. tempo S.O. Multiprogrammato Un sistema è multiprogrammato se più programma sono residenti in memoria centrale. Sistema Operativo Program. 1 Spazio degli indirizzi P1 Program. 2 Program. 3 Spazio degli indirizzi P2 Spazio degli indirizzi P3 Nel caso in cui venga richiesta una operazione di I/O il sistema operativo manda in esecuzione un altro processo. Processo 1 exec I/O exec I/O exec Processo 2 exec Processo 3 exec I/O I/O exec exec I/O I/O tempo P1 P2 P3 P1 P2 P3 P1 Utilizzo della CPU nel tempo 7

Gestore dei processi E' il modulo del S.O. destinato ad assegnare l unità centrale ad uno dei processi pronti. L assegnazione dell unità centrale viene realizzata usando opportune politiche. Gli obiettivi perseguiti nell assegnazione sono: massimizzare il numero di processi serviti nell unità di tempo; massimizzare il grado di utilizzo dell unità centrale; Il gestore deve garantire che nessun processo resti in attesa infinita (starvation), che non riesca mai ad avere l unità centrale. Politiche di gestione TIME SHARING. Il tempo viene diviso in quanti di tempo. Il gestore assegna a turno l unità centrale ai processi pronti per un quanto. P1 exec ready P2 exec wait ready exec ready exec ready exec exec wait P3 ready exec ready exec wait ready q q q t<q q t<q q t<q q tempo 8

Politiche di gestione Diverse possono essere le politiche di assegnazione dei quanti di tempo. Round Robin Priorità Un processo abbandona lo stato di esecuzione se: il quanto di tempo termina; fa una richiesta di I/O, con interrupt interno Dimensioni tipiche del quanto di tempo sono di qualche decina di millisecondi Gestione della memoria Il gestore della memoria è responsabile assegnazione della memoria centrale ai programmi in esecuzione - Per ciascun processo viene allocata una area di memoria virtuale sufficiente per la sua esecuzione - Supera i limiti della memoria fisica, mostrando ai processi uno spazio di memoria virtuale - Partiziona la memoria tra i vari processi che la richiedono, garantendo la protezione delle diverse zone di memoria 9

Memoria virtuale Il gestore della memoria può usare una parte della memoria di massa come area di memoria di appoggio Quando un processo è sospeso, i suoi dati e il codice possono essere spostati su disco per liberare memoria centrale Ciò consente di mostrare ai processi una memoria virtuale di dimensione superiore alla memoria centrale Gestione delle periferiche Il gestore delle periferiche fa in modo che ogni programma veda una periferica virtuale dedicata Il gestore delle periferiche consente la gestione delle periferiche in modo indipendente dalle caratteristiche fisiche dei dispositivi. Garantisce agli utenti un interazione semplice attraverso comandi ad alto livello. 10

Gestione dei file Il gestore dei file (o file system) è responsabile della gestione della memoria secondaria (dischi) I dischi sono fisicamente organizzati in superfici, cilindri e settori Il gestore dei file consente l uso della memoria secondaria mediante una organizzazione logica in volumi, cartelle e file un file è una sequenza di dati di dimensioni variabili, con accesso sequenziale oppure casuale una cartella (o direttorio) è un contenitore di un insieme di file e cartelle un volume è un contenitore di file e cartelle, solitamente corrispondente ad una unità a disco Organizzazione ad albero dei file Root Windows Programmi config.sys Utenti System calc.exe Command e edit.com move.exe system.drv e mxe Rossi Neri tesi.doc compito.doc compito.doc 11

Interprete comandi L interprete comandi è l interfaccia utente del sistema operativo Definisce le operazioni che possono essere utilizzate direttamente dall utente finale, chiamate comandi Esempi di comandi sono esecuzione di una applicazione apertura di un documento (eseguendo l applicazione responsabile della manipolazione di quel tipo di documento) L interprete comandi può essere basato su una interfaccia a caratteri come nei sistemi operativi Unix, ma anche nel prompt dei comandi di Windows basato su una interfaccia grafica come nei sistemi operativi Windows e nell ambiente X Window di Unix 12