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



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

Capitolo 6 Le infrastrutture SoftWare

Il Sistema Operativo. Informatica Sistema Operativo 1

Capitolo 6 Le infrastrutture SoftWare

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

Elaborazione parallela

Capitolo 6 Le infrastrutture SoftWare

Capitolo 7 Le infrastrutture SoftWare

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

Prof. G. Ascia. Sistema Operativo

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

Capitolo 6 Le infrastrutture SoftWare

Il Sistema Operativo

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Cenni di sistemi operativi

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

IL SISTEMA OPERATIVO

Il sistema operativo

Sistemi Operativi: Concetti Introduttivi

Il sistema operativo. Sistema Operativo

SISTEMI OPERATIVI PROF. MAURIZIO NALDI ABILITÀ INFORMATICHE

Il sistema operativo

Il sistema operativo

Informatica Generale 06 - Introduzione ai Sistemi Operativi

Sistema Operativo. (hardware e software) della della macchina

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

Capitolo 6 Le infrastrutture SoftWare

Architettura dei calcolatori e Software di sistema

2. Cenni di sistemi operativi

Il Sistema Operativo Ripasso

Elementi di Informatica A. A. 2016/2017

Sistema operativo: Introduzione

Astrazione. Gestore della memoria. La rilocabilità del codice. Gestore della memoria

Pag. 1. Il Nucleo del sistema operativo (la gestione dei processi)

Struttura Logica del S.O:

Il Sistema Operativo

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

Introduzione all Informatica. Alfredo Cuzzocrea. Sistema Operativo

Capitolo 5 Parte 1 Le infrastrutture software

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

( 2 ) L elaboratore elettronico

Introduzione ai thread

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

Sistemi Di Elaborazione Dell informazione

Struttura dei Sistemi Operativi

Sistema operativo: Introduzione

Cenni di sistemi operativi

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

Il Sistema Operativo

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

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

Il Sistema Operativo

Sistema operativo & file system 1

CORSO DI INFORMATICA DI BASE A.A. 2015/16. Corso di Laurea in Medicina e chirurgia

Gestione dei Processi

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

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

Componenti di un sistema operativo

Elenco sezioni libro di testo Ed. 5 Tra parentesi le corrispondenze per l'ed. 7.

Personal Computer: introduzione

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

La memoria cache. Informatica generale

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

MODULO 1: INTRODUZIONE

Introduzione ai S.O.

Elementi di Informatica e Programmazione

- Dispensa V - IL SISTEMA OPERATIVO

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

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

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

Laboratorio di Informatica (Chimica)

Corso di Informatica

Il Software programmabili programma algoritmo

Macchina astratta. Il Sistema Operativo. Alcune Funzioni fondamentali di un Sistema Operativo. Cosa è un Sistema Operativo?

Lezione 1. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Il software. Il solo hardware non è sufficiente per usare un calcolatore

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

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

Cenni di sistemi operativi

Traduzione e interpretazione

Architettura dei Sistemi Informatici

Livelli del sottosistema di I/O

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

Corso di Informatica

I Processi. Il Concetto di Processo

Funzioni di un Calcolatore

Il Sistema Operativo. Informatica Sistema Operativo 1

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

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

FONDAMENTI DI INFORMATICA

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

Introduzione al Sistema Operativo

ACSO Programmazione di Sistema e Concorrente

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

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

Cosa è un Sistema Operativo? Il Sistema Operativo. Alcune Funzioni fondamentali di un Sistema Operativo

Sistem. erativi. Opera. stem

Transcript:

Capitolo 7 Le infrastrutture SoftWare

Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precision; anywhere, anytime; affidabilità, disponibilità e sicurezza dei sistemi; privatezza dei dati; interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse. Il sistema operativo può essere inteso come uno strumento che virtualizza le caratteristiche dell hardware sottostante, offrendo di esso la visione di una macchina astratta più potente e più semplice da utilizzare di quella fisicamente disponibile.

SO: funzionalità SO come GESTORE DELLE RISORSE SO come MACCHINA ESTESA

Funzioni di servizio del SO Esecuzione di applicazioni Accesso ai dispositivi di ingresso/uscita Archiviazione di dati e programmi Controllo di accesso Contabilizzazione Gestione dei malfunzionamenti

Vantaggi di un SO Sono legati alla possibilità di definire i modalità standard di interfaccia con i dispositivi iti i fisici, i i 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 operazione.

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.

Il software SW Applicativo SW HW Sistema Sste Operativo Opeatvo HW SW= Sistema Operativo + SW applicativo Il S.O.. come necessario intermediario

Elementi di un SO Sistema di gestione del processore, Sistema di gestione della memoria, Sistema di gestione delle periferiche, Sistema di gestione dei file (file system) Sistema di gestione degli utenti e dei relativi comandi (interprete comandi), Sistema di gestione della rete.

Elementi di un SO Utente Interprete comandi Sistema Operativo Gestione memoria 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 i delle istruzioni i i 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 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;

Multiprogrammazione elaborazione attesa per operazioni di I/O Tempo Progr. 1 Progr. 2 Progr. 3 Tempo elaborazione attesa per operazioni di I/O

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, ).

Organizzazione di un SO Gerarchia di macchine virtuali La visione della macchina a livello n è quella fornita dall HW e dagli strati del SO fino all ennesimo (incluso)

Organizzazione a strati Ogni macchina è un insieme di programmi che realizza delle funzionalità che utilizzano i servizi forniti a livello inferiore. Ogni macchina 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 t risolve un problema specifico

Nucleo Interagisce direttamente con l hardware Si occupa dell esecuzione 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. i Fornisce alle macchine virtuali di livello superiore la visione di un insieme di unità di elaborazione virtuali ciascuna dedicata a un processo presente in memoria Gestisce il contesto t di esecuzione dei vari processi Attua una politica di alternanza (scheduling)) nell accesso alla da parte dei processi in esecuzione.

Nucleo: macchina astratta Memoria di lavoro Memoria di massa Video/tastiera (terminale) Interfaccia I/O Interfaccia I/O BUS dati indirizzi controllo processo processo processo processo processo

Gestore della memoria 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 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 alle macchine di livello superiore la possibilità di lavorare come se esse avessero a disposizione una memoria dedicata, di capacità anche maggiore di quella fisicamente disponibile.

Gestore memoria: macchina astratta Memoria di lavoro (fisica) Memoria di massa Interfaccia I/O Video/tastiera (terminale) Interfaccia I/O BUS dati indirizzi controllo processo processo processo processo processo Memoria Memoria Memoria Memoria Memoria logica logica logica logica logica

Gestore delle periferiche Fornisce una visione del sistema in cui i processi possono operare mediante periferiche astratte. Maschera le caratteristiche fisiche delle periferiche e le specifiche operazioni di ingresso/uscita Ogni processo ha a disposizione delle periferiche virtuali

Memoria logica processo I/O Gestore periferiche I/O: macchina astratta Memoria di massa Video/tastiera (terminale) I/O Interfaccia I/O Interfaccia I/O BUS dati indirizzi controllo I/O I/O I/O processo Memoria logica I/O processo Memoria logica I/O processo Memoria logica I/O

Memoria logica processo I/O Memoria logica processo I/O File System: macchina astratta Memoria di massa I/O I/O Interfaccia I/O BUS dati indirizzi controllo I/O root uno due tre processo Memoria logica I/O f1 alfa f2 beta f1 f3 f2 f3 f4

File System (gestore dei file) Gestisce la memoria di massa Gestisce i file

Interprete dei comandi Modulo del SO direttamente accessibile dall utente Ha la funzione di interpretare t 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.

Il middleware Insieme di librerie di utilità che viene standardizzato fino a poter essere considerato uno strato del SO Facilita lo sviluppo di software applicativo Vere e proprie macchine virtuali possibilità di eseguire software indipendentemente dalla piattaforma HW/SW Astrazione estrema: middleware per sistemi distribuiti travalica il limite fisico della macchina Esempi: Sun Java Runtime Environment, Microsoft.NET, CORBA

La gestione dei processi

Elaborazione parallela Il concetto di elaborazione parallela si riferisce specificamente: ai dati; alle istruzioni; ai programmi. Il parallelismo a livello di dati e di istruzioni è possibile solo con l impiego di architetture di elaborazione parallela, basate sulla presenza di più unità di elaborazione in grado di eseguire istruzioni in modo concorrente ma anche, per esempio, di adeguati linguaggi di programmazione. Il parallelismo a livello di programma ricade nell ambito dei sistemi operativi. Le condizioni che un sistema operativo deve soddisfare sono: efficienza; interattività; sincronizzazione/cooperazione.

SO in time sharing Permette la condivisione della tra più processi interattivi Il tempo di esecuzione del processore è condiviso tra più utenti Ogni processo in esecuzione ha a disposizione un quanto di tempo di utilizzo della, al termine del quale viene sospeso per lasciare il posto ad un altro processo in attesa di esecuzione

Esecuzione di un processo Tempo elaborazione attesa per operazioni di I/O Un processo utente t può effettivamente t essere in esecuzione sulla Ogni operazione di I/O consiste in una chiamata al sistema operativo e quindi in una sospensione del processo utente per l esecuzione dell operazione di I/O da parte del kernel

Stati di un processo Completamento operazione di I/O (si verifica l evento atteso) Processo attivo Processo in attesa Richiesta operazione di I/O

Processi non in esecuzione Si possono distinguere due casi Processi in attesa di un evento esterno (ad esempio I/O) Processi pronti ad essere eseguiti in attesa della Si tratta di due stati diversi: PRONTO e ATTESA realizzati con due code diverse

Diagramma a tre stati Inizio esecuzione (accodamento ai processi pronti) Processi pronti Selezione primo processo pronto e sua esecuzione Termine quanto di tempo Processo in esecuzione Termine elaborazione Completamento operazione di I/O (evento esterno atteso) Processi in attesa Richiesta operazione di I/O

Transizioni di stato Pronto Esecuzione Il SO stabilisce quale dei processi pronti debba essere mandato in esecuzione. La scelta è fatta dall algoritmo di scheduling che deve bilanciare efficienza e fairness. P A E Esecuzione Attesa il processo chiede delle risorse che non sono disponibili o attende un evento il SO salva tutte le informazioni necessarie a riprendere l esecuzione e l informazione relativa all evento atteso nella tabella dei processi P A E

Transizioni di stato Attesa Pronto Si verifica l evento atteso dal processo e il SO sposta quel processo nella coda dei processi pronti. P A E Esecuzione Pronto Termina il quanto di tempo e il processo in esecuzione lascia spazio a un altro processo pronto. Il SO salva (nella tabella dei processi) tutte le informazioni per riprendere l esecuzione del processo dal punto in cui viene interrotta. Contemporaneamente un altro processo passa da pronto a esecuzione. P A E