• Non ci sono risultati.

Sistema Operativo e Applicativi

N/A
N/A
Protected

Academic year: 2021

Condividi "Sistema Operativo e Applicativi"

Copied!
36
0
0

Testo completo

(1)

Sistema Operativo e Applicativi

Modulo di Informatica Dott.sa Sara Zuppiroli

A.A. 2012-2013

(2)

Software

Conosciamo due classi di software:

Programmi Applicativi Sistemi Operativi

(3)

Software: Programmi applicativi

programmi di videoscrittura (es. Word)

browser, usati per ’navigare il Web’ (es. Firefox)

fogli elettronici, usati per manipolare e analizzare numeri e dati (es. Fogli di calcolo)

programmi per la gestione di banche di dati (database), utilizzati per conservare ed elaborare dati strutturati (es.

Mysql, PosgreSQL)

programmi per creare applicazioni multimediali/ grafiche, manipolare foto, fare presentazioni con audio/video, ecc.

videogiochi

· · ·

(4)

Il Sistema Operativo

Definizione e tipi di SO Le funzionalità di un SO Come macchina astratta

(5)

SO e interazioni con gli utenti

(6)

Definizione di SO

Un sistema operativo è un programma che agisce come

intermediario tra Utente, Software Applicativo e Hardware. Il suo scopo è di fornire un ambiente nel quale un utente possa

eseguire programmi in modo conveniente ed efficiente. Deve evitare che i programmi utente in esecuzione entrino in conflitto Un sistema operativo fornisce sevizi ai programmi.

(7)

Obiettivi del SO

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

2002-2005 Renzo Davoli, Alberto Montresorc

(8)

I tipi di SO (1/2)

Sistemi Batch (lotti): Il SO gestiva il passaggio da un Job a quello successivo. (I: Schede perforate, O: stampante, Utente: non interagiva)

Sistemi Multi-programmati: permettono di avere la funzione di multi- programmazione, per cui in memoria centrale si possono caricare simultaneamente più

programmi (scheduling)

Sistemi Time sharing: è un’estensione della

multi-programmazione in cui la CPU esegue i vari processi con una frequenza tale che permetta all’utente di interagire con più programmi.

(9)

I tipi di SO (2/2)

Sistemi Multi-processore: Questo sistema dispone di più processori che condividono il bus di sistema (quello dentro la scheda madre), il clock, e talvolta dispositivi di memoria.

Sistemi Distribuiti: Sono un insieme di processori che non condividono nè memoria nè clock. I sistemi distribuiti

comunicano tra loro con mezzi di comunicazione diversi.

Sistemi Real Time: Sono sistemi operativi nati

dall’esigenza che alcuni processi devono essere elaborati in un tempo ben preciso

(10)

Una similitudine per i SO Batch

Ristorante Sistema Informativo

La cassa della banca è composto da un cassiere, da un cliente, da risorse materiali (carta, denaro, ecc..)

Fila degli Utenti Programmi

Il cassiere per gestire ogni utente deve svolgere una procedura che dipende dalla richiesta dell’utente

Strumenti Tecnologia

Carta, denaro, cassaforte, moduli, ecc...

Preparazione Processo in se- quenza

La procedura viene eseguita compiendo una serie di operazioni stabilite, in un certo ordine

Cassiere

Sistema Opera- tivo

Esegue e gestisce le risorse in modo tale da soddisfare un utente di seguito all’altro

(11)

Una similitudine per i SO multi-programmati

Ristorante Sistema Informativo

Il ristorante è composto di risorse umane addette alle comande (camerieri), da cuo- chi, da risorse materiali (cucina, strumenti, ecc..), da un menù

Menù e piatti del giorno

Programmi

Il menù propone il nome di tutti possibili piatti del ristorante

Strumenti Tecnologia

Ciotola, fornello, forno, padella antiaderen- te, forchetta, cucchiaio di legno, lavapiatti, ecc..

Preparazione Processi e Coe- renza

La preparazione dei piatti gestendo le ri- sorse in maniera coerente ed efficiente, nel rispetto dei tempi di attesa degli utenti

Cuoco

Sistema Opera- tivo

Esegue e gestisce le risorse in modo tale da soddisfare nel minor tempo possibile il maggior numero di utenti

(12)

Le altre similutidini

SO multiprocessore SO Realtime

(13)

Il sistema operativo

Definizione e tipi di SO Le funzionalità di un SO Come macchina astratta

(14)

Le funzionalità di un SO

È il Sistema Operativo che :

decide quale programma può utilizzare la CPU in ogni istante (e in questo modo gestisce l’esecuzione delle diverse applicazioni); consente l’accesso ai file

(salvataggio, cancellazione, ecc.);

gestione della memoria gestisce dispositivi I/O;

gestione file system

interprete di programmi

2002-2005 Renzo Davoli, Alberto Montresorc

(15)

Gestisce i processi

Un processo è un programma in esecuzione:

I Un processo utilizza le risorse fornite dal computer per assolvere i propri compiti

Dai SO multi-programmati questo è responsabile delle seguenti attività riguardanti la gestione dei processi:

I creazione e terminazione dei processi

I sospensione e riattivazione dei processi

I gestione dei deadlock

I comunicazione tra processi

I sincronizzazione tra processi

2002-2005 Renzo Davoli, Alberto Montresorc

(16)

Stati di un processo

(17)

Stati di un processi

In un SO multi-programmato (più processi sono pronti per l’elaborazione)

Ogni processo durante la sua vita alterna gli stati:

I new: Il processo è creato

I running: Il processo è in esecuzione

I waiting: Il processo è in attesa di un evento

I ready: Il processo è pronto per essere eseguito (è in coda)

I termiated: Il processo ha finito la sua esecuzione/o è stata forzata la sua interruzione

(18)

Eventi

Ogni processo durante la sua vita alterna gli stati al determinarsi di un evento:

I admited:Il processo creato è inserito in coda

I scheduler dispatch: lo scheduler assegna al processo il processore

I interrupt: è un segnale di interruzione dell’esecuzione del processo per poter usare la CPU

I I/O or event Wait: Si richiede un’operazione di I/O e si

mette in coda il processo, oppure un altro processo richiede una particolare operazione da un altro processo

I I/O or event completion: la periferica I/O o il processo ha completato la sua esecuzione e il processo può ritornare nella coda ready

I exit: il processo termina

(19)

Scheduler

L’avanzamento dei processi è determinato dalla disponibilità del processore e dalla politica con la quale l’uso del

processore è ripartito tra i processi

Le politiche di assegnazione del processore ai processi

pronti si chiamano politiche di scheduling. Lo scheduling ha come obiettivo un uso efficiente del processore, e decide come fare avanzare i processi. Lo scheduling fa delle scelte ad esempio:

I In base all’ordine di arrivo (FIFO: first in first out)

I In base alla priorità

I In base al tempo di esecuzione

I ecc..

(20)

Gestione dei deadlock

Il deadlock è una situazione in cui due (o più) processi si bloccano a vicenda aspettando che uno esegua una certa

azione (es. rilasciare il controllo su una risorsa come un file, una porta input/output ecc.) che serve all’altro e viceversa.

Il SO è responsabile della prevenzione se possibile,

individuazione e risoluzione di questa situazione anomala:

I Evitare i deadlock: Il SO ad ogni richiesta di una risorsa da parte di un processo, effettua una verifica dello stato in cui si troverebbe allocando la risorsa.

I Risolvere deadlock: si procede con la terminazione (forzata) di tutti i processi in stallo o di un processo alla volta fino alla risoluzione del Deadlock, oppure con la prelazione sulla

risorsa che causa il problema. Particolare cura deve essere riposta nella scelta della vittima della prelazione.

(21)

Gestione della memoria principale

La memoria principale:

I è un array di byte indirizzabili singolarmente.

I è un deposito di dati facilmente accessibile e condiviso tra la CPU ed i dispositivi di I/O

Il sistema operativo è responsabile delle seguenti attività riguardanti la gestione della memoria principale:

I tenere traccia di quali parti della memoria sono usate e da chi

I decidere quali processi caricare quando diventa disponibile spazio in memoria

I allocare e de allocare lo spazio di memoria quando necessario

2002-2005 Renzo Davoli, Alberto Montresorc

(22)

Gestisce la memoria secondaria

Memoria secondaria:

Poichè la memoria principale è volatile e troppo piccola per contenere tutti i dati e tutti i programmi in modo

permanente, un computer è dotato di memoria secondaria In generale, la memoria secondaria è data da hard disk, dischi ottici, nastri

Il sistema operativo è responsabile delle seguenti attività riguardanti la gestione della memoria secondaria:

Allocazione dello spazio inutilizzato

Gestione dello spazio di memorizzazione

Ordinamento efficiente delle richieste (disk scheduling)

2002-2005 Renzo Davoli, Alberto Montresorc

(23)

Gestisce il file system

Un file è l’astrazione informatica di un archivio di dati:

I Il concetto di file è indipendente dal media sul quale viene memorizzato (che ha caratteristiche proprie e propria

organizzazione fisica)

Un file system è composto da un insieme di file

Il sistema operativo è responsabile delle seguenti attività riguardanti la gestione del file system:

I Creazione e cancellazione di file

I Creazione e cancellazione di directory

I Manipolazione di file e directory

I Codifica del file system sulla memoria secondaria

2002-2005 Renzo Davoli, Alberto Montresorc

(24)

File Directory e Filesystem

File (o archivio, o documento elettronico): è sequenza di caratteri (byte) identificata da un nome Directory è un

contenitore di file. Filesystem: è meccanismo con il quale i file sono organizzati.

(25)

Gestisce le operazioni di Input/Output

La gestione dell’I/O richiede:

Un’interfaccia comune per la gestione dei device driver Un insieme di driver per dispositivi hardware specifici Un sistema di gestione di buffer per il caching delle informazioni

2002-2005 Renzo Davoli, Alberto Montresorc

(26)

Protezione

Il termine protezione si riferisce al meccanismo per

controllare gli accessi di programmi, processi o utenti alle risorse del sistema e degli utenti

Il meccanismo di protezione software deve:

I Distinguere tra uso autorizzato o non autorizzato

I Specificare i controlli che devono essere imposti

I Fornire un meccanismo di attuazione della protezione

2002-2005 Renzo Davoli, Alberto Montresorc

(27)

Protezione della memoria

Dai SO multi-programmati in avanti: ogni processo ha un suo spazio di indirizzi:

I è necessario impedire al processo di accedere ad aree di memoria esterne al proprio spazio (ad es., del S.O. oppure di altri processi).

I se fosse consentito: un programma potrebbe modificare codice e dati di altri programmi o del S.O.

(28)

Gestione della protezione

Per garantire protezione, molte architetture prevedono un duplice modo di funzionamento (dual mode):

I user mode:

F tutti i programmi utenti eseguono sul processore in user mode, se un programma utente ha bisogno di un’istruzione privilegiata deve richiamare una System Call

I kernel mode: si possono gestire istruzioni critiche:

F accesso a dispositivi di I/O

F gestione della memoria

F arresto del sistema

(29)

Networking

Consente

I Di far comunicare due o più elaboratori

I Di condividere risorse

Quali servizi:

I Protocolli di comunicazione a basso livello

I TCP/IP

I UDP

2002-2005 Renzo Davoli, Alberto Montresorc

(30)

Interfaccia utente - S.O.

Interprete dei comandi permette di:

I attivare un programma, terminare un programma

I interagire con le componenti del sistema operativo (file system)

Può essere:

I grafica (a finestre, icone, etc.)

I testuale (linea di comando)

2002-2005 Renzo Davoli, Alberto Montresorc

(31)

Interfaccia programmatore - S.O.

System Call:

Ogni volta che un processo ha bisogno di un servizio del S.O. richiama una system call

sono in genere disponibili come istruzioni a livello assembler

esistono librerie che permettono di invocare le system call da diversi linguaggi (ad es. librerie C)

vengono normalmente realizzate tramite interrupt software

2002-2005 Renzo Davoli, Alberto Montresorc

(32)

System call

Le system call sono specifiche dei vari S.O.:

(33)

Il Sistema Operativo

Definizione e tipi di SO Le funzionalità di un SO Come macchina astratta

(34)

Il SO come Macchina Astratta

Il SO consente di utilizzare l’HW, la comunicazione con l’utente, in modo efficiente, corretto e sicuro, fornendo una visione

astratta della macchina reale, e viene definita la macchina

estesa. Attraverso questa visione di macchina estesa si riesce a gestire un adeguato insieme di risorse tramite un linguaggio

semplice, che è il linguaggio fornito dal SO.

(35)

SO e interazioni con gli utenti

(36)

Conclusione

Cosa è il SO?

Le funzionalità di un SO?

Dove si colloca nella struttura a livelli?

Riferimenti

Documenti correlati

I dispositivi di I/O, detti anche “periferiche” del sistema, sono tutte quelle apparecchiature che permettono all’unità centrale di comunicare con il mondo esterno (terminali

Marco Lapegna – Laboratorio di Programmazione 2 introd ai Sist Op?. LABORATORIO DI PROGRAMMAZIONE 2 Corso di laurea

SAPIENZA - Università di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIAG).. Via Ariosto 25 - 00185 Roma –

terminazione normale del programma, e restituisce al sistema operativo il valore di status.. Codici

MS-DOS, UNIX: Tutte le risorse del sistema (contenuto delle memorie di massa e periferiche) vengono viste in termini di file, e l'interazione utente-macchina virtuale avviene

• l'Hardware e` gestito da un componente software, chiamato Virtual Machine Monitor (VMM) o hypervisor il cui compito è consentire la condivisione da parte di più macchine

» se il processo che termina ha figli in esecuzione, il processo init adotta i figli dopo la terminazione del padre (nella process structure di ogni figlio al pid del processo

● Un pipe utilizzato da processi tra loro indipendenti ha una propria identità tramite la quali e’ da essi riconosciuto. ● Un pipe condiviso da un processo padre ed un