Capitolo 6 Le infrastrutture SoftWare

Размер: px
Начинать показ со страницы:

Download "Capitolo 6 Le infrastrutture SoftWare"

Транскрипт

1 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

2 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

3 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

4 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

5 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

6 Generazione 1 ( ) 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

7 Generazione 2 ( ) 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 ( ) 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

8 Generazione 3 Multiprogrammazione ( ) 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

9 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

10 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

11 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

12 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

13 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

14 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

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

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse. Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precision; anywhere, anytime; affidabilità,

Подробнее

Il Sistema Operativo. Informatica Sistema Operativo 1

Il Sistema Operativo. Informatica Sistema Operativo 1 Il Sistema Operativo Informatica Sistema Operativo 1 O.S.:.: un intermediario SW Applicativo Sistema Operativo HW Informatica Sistema Operativo 2 O.S. vs applicativi Applicativi accesso a un insieme ridotto

Подробнее

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

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi Sistemi Operativi A.M. Fanelli Architettura dei Sistemi a. a. 2008-09 1 Livello di Sistema Operativo Livello di Linguaggi Applicativi Livello di Linguaggio Assembly Livello di Sistema Operativo Livello

Подробнее

Capitolo 6 Le infrastrutture SoftWare

Capitolo 6 Le infrastrutture SoftWare Capitolo 6 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: garantire la correttezza e la precisione nell elaborazione

Подробнее

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

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. I SISTEMI OPERATIVI Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. Le funzioni di un S.O. non sono definibili in modo esaustivo e puntuale così come non

Подробнее

Sistemi Operativi: Concetti Introduttivi

Sistemi Operativi: Concetti Introduttivi Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione

Подробнее

Struttura Logica del S.O:

Struttura Logica del S.O: Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è

Подробнее

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche

Подробнее

Il sistema operativo. Sistema Operativo

Il sistema operativo. Sistema Operativo Sistemi operativi Il sistema operativo Sistema Operativo HW Il sistema operativo SW Applicativo Sistema Operativo HW SW = Sistema Operativo + SW applicativo Il sistema operativo il sistema operativo fornisce

Подробнее

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

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti

Подробнее

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati TEORIA DEI SISTEMI OPERATIVI Sistemi monoprogrammatie multiprogrammati 1 STRUTTURA DEL SISTEMA OPERATIVO UTENTE La struttura di un sistema operativo è di tipo gerarchico: i programmi che lo compongono

Подробнее

Sistema Operativo (Software di base)

Sistema Operativo (Software di base) Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Подробнее

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

Sistemi Operativi (prima parte) Appunti di TPI Elaborati dal prof. Ing. Mario Catalano Per la classe 3 Einf. Sistemi Operativi (prima parte) Appunti di TPI Elaborati dal prof. Ing. Mario Catalano Per la classe 3 Einf. Il Sistema Operativo (O.S. Operating System) è un insieme di programmi che governa e controlla

Подробнее

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

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire efficientemente l'elaboratore e le sue periferiche,

Подробнее

Il Sistema Operativo

Il Sistema Operativo Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2008/2009 Docente: ing. Salvatore

Подробнее

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

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca

Подробнее

Livelli del sottosistema di I/O

Livelli del sottosistema di I/O Input/Output 1 Livelli del sottosistema di I/O Software di I/O di livello utente Software di sistema indipendente dal dispositivo Driver dei dispositivi Gestori delle interruzioni Hardware Modo utente

Подробнее

Prof. Rossella Cancelliere

Prof. Rossella Cancelliere Laboratorio di Informatica e Statistica Chimica Industriale a.a 2004/05 Prof. Rossella Cancelliere Dip. Informatica Univ.Torino C.so Svizzera 185,Torino email:[email protected] tel: 011/670 67 77 Obiettivi

Подробнее

Sistema Operativo. (hardware e software) della della macchina

Sistema Operativo. (hardware e software) della della macchina Sistema Operativo Senza Sistema Operativo (SO) un computer è solo un macchinario inutile... Il SO rende possibile la gestione, elaborazione e immagazinamento dell informazione. Il Il SO SO è il il software

Подробнее

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

I sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas I sistemi operativi (prima parte) Le esigenze dell informatica moderna Computer facili da usare Gestione di grandi archivi di dati Esecuzione di più programmi sulla stessa macchina Collegamento in rete

Подробнее

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Prof. Orazio Mirabella Il sistema operativo Strato di interfaccia fra l utente e l hardware che permette di: Superare problemi legati alla gestione delle risorse hardware Favorire

Подробнее

Il Software programmabili programma algoritmo

Il Software programmabili programma algoritmo Il Software La proprietà fondamentale dei calcolatori e` quella di essere programmabili cioè in grado di svolgere compiti diversi a seconda delle istruzioni fornite dall utente mediante un programma, ossia

Подробнее

IL SOFTWARE DI SISTEMA

IL SOFTWARE DI SISTEMA Software (sw) L esecuzione di programmi è lo scopo di un elaboratore L insieme dei programmi che un elaboratore può eseguire rappresenta il software in dotazione all elaboratore IL SOFTWARE DI SISTEMA

Подробнее

Lezione 16. Il Software di base

Lezione 16. Il Software di base Lezione 16 Software di base Il Software di base Con il termine software di base si intende l insieme dei programmai che consentono ad un utente di eseguire operazioni base come costruire e mandare in esecuzione

Подробнее

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

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti

Подробнее

Fondamenti di Informatica T. Il Software

Fondamenti di Informatica T. Il Software Il Software TECNOLOGIA DIGITALE CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale. Dati ed operazioni vengono codificati a partire da due valori distinti di grandezze

Подробнее

Organizzazione di un SO monolitico

Organizzazione di un SO monolitico Organizzazione di un SO monolitico Applicazioni Interprete di comandi (shell) Interfaccia grafica (desktop) Gestore del Gestore delle processore / Gestore della periferiche/ Scheduler(s) memoria dispositivi

Подробнее

Personal Computer: introduzione

Personal Computer: introduzione I.I.S. Benvenuto Cellini Corso di formazione tecnica Personal Computer: introduzione Prof. Alessandro Pinto v.2009 Architettura di Von Neumann Unità centrale di elaborazione Input Unità aritmetico-logica

Подробнее