Capitolo 6 Le infrastrutture SoftWare



Documenti analoghi
correttezza e precisione; anywhere, anytime; affidabilità, disponibilità e sicurezza dei sistemi; riservatezza dei dati; interoperabilità fra

Capitolo 6 Le infrastrutture SoftWare

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.

Capitolo 6 Le infrastrutture SoftWare

Il Sistema Operativo. Informatica Sistema Operativo 1

Introduzione all Informatica. Alfredo Cuzzocrea. Sistema Operativo

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi

Prof. G. Ascia. Sistema Operativo

Capitolo 6 Le infrastrutture SoftWare

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

Sistemi Operativi: Concetti Introduttivi

Elementi di Informatica A. A. 2016/2017

Il sistema operativo

Cenni di sistemi operativi

Struttura Logica del S.O:

Informatica. Le infrastrutture SoftWare. Funzioni del sistema operativo 30/11/2007. Introduzione ai sistemi informatici 1

IL SISTEMA OPERATIVO

Il sistema operativo

Il Sistema Operativo

Il sistema operativo

Il sistema operativo. Sistema Operativo

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

Architettura dei Sistemi Informatici

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

Sistema Operativo (Software di base)

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Sistemi Operativi (prima parte) Appunti di TPI Elaborati dal prof. Ing. Mario Catalano Per la classe 3 Einf.

Sistema operativo: Introduzione

SISTEMI OPERATIVI PROF. MAURIZIO NALDI ABILITÀ INFORMATICHE

Sistema Operativo. 06 novembre Sistema Operativo (SO): punto di vista funzionale

Lezione 15: Il Sistema Operativo : Principi Generali (3P) Lunedì 22 Novembre 2010

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:

Lezione 5: Software. Firmware Sistema Operativo. Laboratorio di Informatica

Parte II. Introduzione ai sistemi operativi e WindowsX. Parte II 1

Il linguaggi di programmazione sono lo strumento per tradurre algoritmi in programmi. Ma come viene gestita l esecuzione di un programma?

Informatica Generale 06 - Introduzione ai Sistemi Operativi

Il Sistema Operativo

2. Cenni di sistemi operativi

Il Sistema Operativo

Sommario FONDAMENTI DI INFORMATICA. Schema dell'architettura a livelli del SO. Il Sistema Operativo (SO) SISTEMI OPERATIVI

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

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

Software di base. Sistema di elaborazione: struttura gerarchica composta da elementi hardware e software.

Corso di Informatica

FONDAMENTI DI INFORMATICA

MODULO 1: INTRODUZIONE

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Livelli del sottosistema di I/O

La memoria cache. Informatica generale

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

Il Sistema Operativo. Informatica Sistema Operativo 1

Il Sistema Operativo Ripasso

Elaborazione parallela

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

Prof. Rossella Cancelliere

Sistema Operativo. (hardware e software) della della macchina

Laboratorio di Informatica (Chimica)

Cenni di sistemi operativi

Strutture dei sistemi di calcolo

Sistemi Di Elaborazione Dell informazione

I sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas

Introduzione ai thread

Cenni di sistemi operativi

SISTEMI INFORMATIVI AZIENDALI

Il Sistema Operativo

Introduzione ai S.O.

Struttura dei Sistemi Operativi

Il Sistema Operativo. Informatica B AA 17/18 Luca Cassano 30 Novembre 2017 Informatica B, AA 17/18, Luca Cassano

Capitolo 7 Le infrastrutture SoftWare

Il Software programmabili programma algoritmo

Gestione dei Processi

IL SOFTWARE DI SISTEMA

Lezione 16. Il Software di base

Ogni computer ha un sistema operativo necessario per eseguire gli altri programmi Il sistema operativo, fra l altro, è responsabile di

SOFTWARE. Programmi e dati che indicano al computer come svolgere un determinato compito

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Tecnologie Informatiche. Il software: I Sistemi Operativi

Fondamenti di Informatica T. Il Software

Organizzazione di un SO monolitico

Sistem. erativi. Opera. stem

Laboratorio di Informatica. Il Sistema Operativo. Il Sistema Operativo 1

Funzioni di un Calcolatore

Elementi di Informatica e Programmazione

Sistemi Operativi. La gestione delle risorse

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Personal Computer: introduzione

Introduzione al Sistema Operativo

Sistema operativo: Introduzione

Il software di sistema

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Capitolo 1: Introduzione

RETI E SISTEMI INFORMATIVI

CdL in Medicina Veterinaria - STPA AA

Corso di Informatica

Capitolo 2: Strutture dei sistemi di calcolo

Architettura dei sistemi di elaborazione (Input/Output parte 1)

Sistema operativo. Utente. Il S.O. mostra offre all utente un ambiente di lavoro che nascondendo la complessità della macchina fisica (hardware). S.O.

Transcript:

Capitolo 6 Le infrastrutture SoftWare Cos'è un sistema operativo?(software di base) Definizione: Un sistema operativo è un programma che controlla l'esecuzione di programmi applicativi e agisce come interfaccia tra le applicazioni e l'hardware del calcolatore Obiettivi Efficienza: Un S.O. cerca di utilizzare in modo efficiente le risorse del calcolatore Semplicità: Un sistema operativo dovrebbe semplificare l'utilizzazione dell'hardware di un calcolatore Introduzione ai sistemi informatici 1

Sistema operativo utente Interfaccia utente Sistema operativo Hardware SO: funzionalità SO come GESTORE DELLE RISORSE controlla tutte le risorse del calcolatore e le gestisce in modo efficiente: tiene traccia di chi utilizza la risorse accetta e soddisfa le richieste di utilizzo di una risorsa fa da mediatore fra le risorse che risultano in conflitto SO come MACCHINA ESTESA costituisce la base su cui è possibile scrivere i programmi applicativi. presenta all utente una macchina estesa più facile da programmare dell HW sottostante. Introduzione ai sistemi informatici 2

Funzioni di servizio del SO Esecuzione di applicazioni caricamento del programma (istruzioni e dati) nella memoria centrale, inizializzazione dei dispositivi di ingresso/uscita, preparazione e gestione di altre risorse come la rete di comunicazione, ; Accesso ai dispositivi di ingresso/uscita gestione dei segnali necessari per il trasferimento dei dati, consente all utente di ragionare in termini di operazioni astratte di lettura e scrittura Archiviazione di dati e programmi fornire un organizzazione logica dei dati sotto forma di cartelle (directory) e file, gestire le operazioni di basso livello per il relativo ingresso/uscita; Controllo di accesso condivisione di risorse da parte di più utenti o applicazioni, meccanismi di protezione e politiche di risoluzione degli eventuali conflitti d uso; Contabilizzazione ottimizzare il tempo di risposta dei programmi interattivi, fatturare agli utenti i costi dell impiego del sistema; Gestione dei malfunzionamenti rilevare e, se possibile, di risolvere eventuali malfunzionamenti provocati da guasti hardware, o da operazioni scorrette compiute dal software applicativo. Vantaggi di un SO Sono legati alla possibilità di definire modalità standard di interfaccia con i dispositivi fisici, cosicché sia possibile: sviluppare programmi in modo semplice, modulare ed indipendente dallo specifico calcolatore su cui viene fatto funzionare il sistema operativo; aggiornare il software di base e l'hardware in modo trasparente ai programmi applicativi e all'utente, ossia senza che vengano influenzati dall'operazione. Introduzione ai sistemi informatici 3

Visioni fornite da un SO Dall'alto: il sistema operativo fornisce all'utente un'interfaccia conveniente. Dal basso: gestisce tutti le parti di un sistema complesso, allocando in modo ordinato le diverse risorse della macchina: processori, memorie, dischi, interfacce di rete, stampanti e altre periferiche. Elementi di un SO Sistema di gestione del processore, controlla l unità centrale di elaborazione (CPU); definisce quali programmi sono da eseguire e quali compiti sono da assegnare alla CPU; Sistema di gestione della memoria, controlla l allocazione della memoria di lavoro ai diversi programmi che possono essere contemporaneamente in esecuzione; Sistema di gestione delle periferiche, garantisce l accesso ai dispositivi di ingresso/uscita, maschera i dettagli di basso livello e gli eventuali conflitti che possono insorgere nel caso che diverse richieste arrivino contemporaneamente a uno stesso dispositivo; Sistema di gestione dei file (file system) consente l archiviazione e il reperimento dei dati sfruttando le periferiche che costituiscono la memoria di massa; Sistema di gestione degli utenti e dei relativi comandi (interprete comandi),interfaccia interfaccia diretta con gli utenti, permette agli utenti di accedere in maniera semplice e intuitiva alle funzionalità disponibili. Sistema di gestione della rete. Introduzione ai sistemi informatici 4

Elementi di un SO Utente Interprete comandi Gestione memoria Sistema Operativo Gestione periferiche Software applicativo File system Nucleo (o kernel) [gestione processore] Hardware Interfaccia con la rete SO vs applicazioni Programmi applicativi hanno accesso a un insieme ridotto di risorse; possono utilizzare solo un sottoinsieme delle istruzioni del processore (esecuzione in modalità utente); non possono decidere autonomamente quando e come avere accesso alle risorse del sistema (richiedono al sistema operativo l esecuzione di alcuni servizi); Sistema operativo Sistema operativo ha accesso a tutte le risorse; può utilizzare tutte le istruzioni del processore (esecuzione in modalità supervisore); stabilisce in che ordine e come le richieste che riceve devono essere soddisfatte; Introduzione ai sistemi informatici 5

Generazione 1 (1944-1955) Principali problemi grossi problemi di affidabilità (guasti frequenti) rigidità nell'assegnazione dei ruoli; non esiste il concetto di programmatore come entità separata dal costruttore di computer e dall'utente utilizzazione lenta e complessa; l'operatore doveva: caricare il programma da eseguire inserire i dati di input eseguire il programma attendere il risultato ricominciare dal punto 1. tutto ciò a causa dell'assenza del sistema operativo Frasi celebri Nel futuro i computer arriveranno a pesare non più di una tonnellata e mezzo (Popular Mechanics, 1949) Penso che ci sia mercato nel mondo per non più di cinque computer (Thomas Watson, presidente di IBM, 1943) Ho girato avanti e indietro questa nazione (USA) e ho parlato con la gente. Vi assicuro che questa moda dell'elaborazione automatica non vedrà l'anno prossimo(editor di libri scientifici di Prentice Hall, 1947) Introduzione ai sistemi informatici 6

Generazione 2 (1955-1965) Definizione: job Un programma o un'insieme di programmi la cui esecuzione veniva richiesta da uno degli utilizzatori del computer Ciclo di esecuzione di un job: il programmatore 1. scrive (su carta) un programma in un linguaggio ad alto livello 2. perfora una serie di schede con il programma e il suo input 3. consegna le schede ad un operatore l'operatore 1. inserisce schede di controllo scritte in JCL 2. inserisce le schede del programma 3. attende il risultato e lo consegna al programmatore Nota: operatore!= programmatore == utente Sistemi operativi batch Monitor software in grado di eseguire una sequenza di job, trasferendo il controllo dall'uno all'altro Detti sistemi batch ("infornata") Generazione 2 (1955-1965) Principali problemi Molte risorse restavano inutilizzate: durante le operazioni di lettura schede / stampa, durante il caricamento di un nuovo job, il processore restava inutilizzato parte della memoria restava inutilizzata Primo miglioramento (ma non una soluzione) caricamento di numerosi job su nastro (off-line) elaborazione (output su nastro) stampa del nastro di output (off-line) Introduzione ai sistemi informatici 7

Generazione 3 Multiprogrammazione (1965-1980) Definizione: multiprogrammazione utilizzare il processore durante i periodi di I/O di un job per eseguire altri job Vantaggi il processore non viene lasciato inattivo (idle) durante operazioni di I/O molto lunghe la memoria viene utilizzata al meglio, caricando il maggior numero di job possibili Nota per gestire la multiprogrammazione, il S.O. deve gestire un pool ("insieme") di job da eseguire, fra cui alternare il processore Multiprogrammazione elaborazione attesa per operazioni di I/O Tempo Progr. 1 Progr. 2 Progr. 3 Tempo elaborazione attesa per operazioni di I/O Introduzione ai sistemi informatici 8

S.O. multiprogrammati: quali caratteristiche? routine di I/O devono essere fornite dal S.O. gestione della memoria il sistema deve allocare la memoria per i job multipli presenti contemporaneamente CPU scheduling il sistema deve scegliere tra i diversi job pronti ad eseguire allocazione delle risorse di I/O Il sistema operativo deve essere in grado di allocare le risorse di I/O fra diversi processi Generazione 3 - Time-sharing Definizione - Time sharing E l estensione logica della multiprogrammazione L'esecuzione della CPU viene suddivisa in un certo numero di quanti temporali Allo scadere di un quanto, il job corrente viene interrotto e l'esecuzione passa ad un altro job anche in assenza di richieste di I/O I passaggi (context switch) avvengono così frequentemente che più utenti possono interagire con i programmi in esecuzione Introduzione ai sistemi informatici 9

Multiprogrammazione Definizione Round robin assegnare a rotazione la disponibilità di un quanto di tempo della CPU ai vari programmi presenti contemporaneamente in memoria. La durata del quanto di tempo incide significativamente sia sulle prestazioni del sistema che sull efficacia del quasi parallelismo, che tende a scomparire se la durata diviene eccessiva e degrada nella sequenzializzazione dei programmi. D altra parte, pur migliorando in generale le proprietà di parallelismo la scelta di un valore molto piccolo può comportare un degrado delle prestazioni complessive del sistema, qualora il tempo di commutazione fra programmi sia dello stesso ordine della durata del quanto di tempo (un valore tipico per il sistema operativo Unix è 100 ms). Processo vs programma Programma: entità statica composta dal codice eseguibile dal processore. Processo: entità dinamica che corrisponde al programma in esecuzione, composto da: codice (il programma); dati (quelli che servono per l esecuzione del programma); stato (a che punto dell esecuzione ci si trova, cosa c è nei registri, ). Introduzione ai sistemi informatici 10

Organizzazione di un SO Gerarchia di macchine virtuali La visione della macchina virtuale a livello n è quella fornita dall HW e dagli strati del SO fino all ennesimo (incluso) Organizzazione a strati Ogni macchina virtuale è un insieme di programmi che realizza delle funzionalità che utilizzano i servizi forniti a livello inferiore. Ogni macchina virtuale ha il compito di gestire risorse specifiche di sistema regolandone l uso e mascherandone i limiti. I meccanismi che garantiscono la correttezza logica sono separati dalle politiche di gestione (maggiore flessibilità). ogni strato risolve un problema specifico Introduzione ai sistemi informatici 11

Nucleo Interagisce direttamente con l hardware Si occupa dell esecuzione dei programmi e della risposta agli eventi esterni generati dalle unità periferiche. Scopo principale: gestire i processi corrispondenti ai programmi che sono contemporaneamente attivi. Per eseguire un programma occorre mantenere il corrispondente processo attivo nella CPU In ambiente multi-utente il gestore deve decidere a quale processo assegnare la CPU Inoltre deve reagire agli eventi esterni (le interruzioni provenienti dalle periferiche) Attua una politica di alternanza (scheduling) nell accesso alla CPU da parte dei processi in esecuzione. Gestore della memoria Il gestore della memoria deve allocare la memoria partizionarla tra i processi che la richiedono Controlla la memoria centrale, al fine di risolvere le relative esigenze dei vari processi in modo trasparente ed efficiente. Consente ai programmi di lavorare in un proprio spazio di indirizzamento virtuale e di ignorare quindi le effettive zone di memoria fisica occupata. Si occupa di: proteggere programmi e relativi dati caricati nella memoria di lavoro; mascherare la collocazione fisica dei dati; permettere, in modo controllato, la parziale sovrapposizione degli spazi di memoria associati ai vari programmi. Fornisce al livello superiore la possibilità di lavorare come se avesse a disposizione una memoria dedicata, di capacità anche maggiore di quella fisicamente disponibile. Introduzione ai sistemi informatici 12

Gestore delle periferiche Maschera le caratteristiche hardware delle periferiche Gestisce le operazioni di input e output Fornisce procedure ad alto livello ad esempio per la lettura, scrittura di dati su memorie secondarie scrittura su stampanti, ecc File System (gestore dei file) Gestisce i dati in memoria di massa Struttura i dati in modo gerarchico utilizzando file e directory Fornisce operazioni di alto livello per la gestione di file ad esempio creazione di un nuovo documento, directory ecc Protegge i dati da accessi esterni Garantisce la condivisione sicura dei dati Introduzione ai sistemi informatici 13

Interprete dei comandi Modulo del SO direttamente accessibile dall utente Ha la funzione di interpretare i comandi che gli giungono (da tastiera e/o point&click) e di attivare i programmi corrispondenti. Le operazioni che svolge sono: lettura dalla memoria di massa del programma da eseguire; allocazione della memoria centrale; caricamento del programma e dei relativi dati nella memoria allocata; creazione e attivazione del processo corrispondente. Introduzione ai sistemi informatici 14