1 Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio 1 Elemento principale del cosiddetto software di base. Insieme di programmi tra loro interagenti e cooperanti per la realizzazione di un’interfaccia software tra l’utente e lo hardware Facilita l’utente nell’uso del sistema fornendogli un sistema ‘virtuale’ più semplice da usare rispetto allo hardware effettivamente a disposizione superamento dei problemi relativi alla gestione e limitazione delle risorse hardware permettere la condivisione delle risorse, regolandone l’accesso da parte di utenti / programmi diversi IL SISTEMA OPERATIVO Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio 2 Il sistema operativo virtualizza le caratteristiche dello Hardware offrendo agli utilizzatori la visione di una macchina astratta più semplice da usare di quella fisicamente disponibile IL SISTEMA OPERATIVO HW Sistema Operativo Software Applicativo …. Sistema operativo come necessario intermediario …. …. macchina virtuale a ‘strati’ …. … ogni ‘strato’ risolve uno specifico problema …. SW= Sistema Operativo + SW applicativo
28
Embed
IL SISTEMA OPERATIVO · IL SISTEMA OPERATIVO Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio 2 Il sistema operativo virtualizza le caratteristiche dello Hardware offrendo
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 1
Elemento principale del cosiddetto software di base.
Insieme di programmi tra loro interagenti e cooperanti per la realizzazione
di un’interfaccia software tra l’utente e lo hardware
Facilita l’utente nell’uso del sistema fornendogli un sistema ‘virtuale’ più
semplice da usare rispetto allo hardware effettivamente a disposizione
superamento dei problemi relativi alla gestione e limitazione delle
risorse hardware
permettere la condivisione delle risorse, regolandone l’accesso da parte
di utenti / programmi diversi
IL SISTEMA OPERATIVO
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 2
Il sistema operativo virtualizza le caratteristiche dello Hardware offrendo
agli utilizzatori la visione di una macchina astratta più semplice da usare
di quella fisicamente disponibile
IL SISTEMA OPERATIVO
HW
Sistema Operativo
Software Applicativo
…. Sistema operativo come necessario
intermediario ….
…. macchina virtuale a ‘strati’ ….
… ogni ‘strato’ risolve uno specifico
problema ….
SW= Sistema Operativo + SW applicativo
2
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 3
Sistema operativo
• ha accesso a tutte le risorse;
• stabilisce in che ordine e come le richieste di elaborazione ricevute
devono essere soddisfatte
• può utilizzare tutte le istruzioni del processore (esecuzione in modalità
supervisore);
Software applicativo e Sistema Operativo
Programmi applicativi
• non possono decidere autonomamente quando e come avere accesso
alle risorse del sistema (richiedono al sistema operativo l’esecuzione di
alcuni servizi)
• hanno accesso diretto ad un insieme ridotto di risorse;
• possono utilizzare solo un sottoinsieme delle istruzioni del processore
(esecuzione in modalità utente);
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 4
IL SISTEMA OPERATIVO
Software di base per la gestione di:
risorse Hw
Gestione e allocazione della CPU, memoria, dispositivi I/O, ...
lavori
Pianificazione ed esecuzione dei lavori di utente
interpretazione richieste utente e attivazione lavori
Organizzazione logica e fisica dei dati nelle memorie di massa e per
il trasferimento dei dati da e per le periferiche
In modo del tutto trasparente agli utenti
3
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 5
Esecuzione di programmi applicativi • 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
• contabilizzare agli utenti i costi dell’impiego del sistema
Gestione dei malfunzionamenti • rilevare e, se possibile, risolvere eventuali malfunzionamenti provocati da guasti hardware,
o da operazioni scorrette compiute dal software applicativo
Principali funzioni di servizio di un SO
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 6
Permette di:
• sviluppare programmi applicativi in modo (più) semplice e (più)
indipendente dallo specifico calcolatore operante con un determinato
sistema operativo;
• rendere trasparente ai programmi applicativi ed all’utente modifiche al
software di base ed allo hardware
Vantaggi di un SO
senza un sistema operativo il programmatore deve :
• introdurre nei programmi anche le funzionalità di gestione dell’hardware.
• interagire direttamente con i dispositivi fisici,
• gestire le esecuzioni contemporanee di più programmi alla volta
il sistema operativo fornisce all'utente un'interfaccia conveniente
che rende più semplice ed agevole l’uso della macchina
4
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 7
ELEMENTI DI UN SISTEMA OPERATIVO
Sistema
Operativo
Utente
Nucleo (o kernel)
[gestione processore]
Hardware
Software
applicativo
Gestione
periferiche
File
system Interfaccia
con la rete
Gestione
memoria
Interprete
comandi
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 8
Organizzazione di un S.O.
Gerarchia di macchine virtuali
Ogni macchina virtuale è un insieme
di programmi che realizza delle
funzionalità utilizzanti 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
La visione della macchina virtuale a
livello N è quella fornita dallo HW e
dagli strati del SO fino all’N-esimo
incluso
5
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 9
Nucleo (kernel) • 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.
• 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 di esecuzione dei vari processi
• Attua una politica di alternanza (scheduling) nell’accesso alla CPU
da parte dei processi in esecuzione (definisce quale programma è da
eseguire in ogni istante).
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 10
Gestore della memoria
• Controlla l’allocazione della memoria centrale ai diversi programmi che
possono essere contemporaneamente in esecuzione, al fine di risolvere
le relative esigenze dei vari processi in modo trasparente ed efficiente.
• 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 la possibilità di lavorare come se esse avessero a
disposizione una memoria dedicata, di capacità anche maggiore di
quella fisicamente disponibile.
6
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 11
Gestore della memoria
• Applica tecniche per gestire il conflitto fra dimensione della memoria fisica e spazio complessivo richiesto dai programmi che devono essere eseguiti in modo concorrente e dai relativi dati.
• Combina le seguenti strategie: – consentire il caricamento di un programma a partire da un indirizzo qualunque della
memoria;
– ridurre la necessità di spazio tenendo in memoria solo una porzione dei programmi e dei dati;
– condividere parte delle istruzioni (codice eseguibile) fra diversi processi corrispondenti a uno stesso programma.
• Il gestore della memoria – garantisce ai vari processi uno spazio di indirizzamento virtuale in cui lavorare, che può
essere superiore alla memoria fisica presente nel calcolatore
– mette in atto dei meccanismi di protezione che tutelano la privatezza dello spazio di lavoro assegnato a ogni processo.
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 12
Gestore della memoria
Paginazione • Frammentazione della memoria (logica e fisica) in blocchi di dimensioni
prefissate: le pagine.
• Lo spazio logico di indirizzamento del processo è suddiviso in sezioni, di dimensioni fisse e uguali fra loro, dette pagine logiche
• Lo spazio fisico di indirizzamento disponibile nel calcolatore è anch’esso suddiviso in pagine fisiche, della stessa dimensione delle pagine logiche.
• Meccanismo: Vengono caricate, in alcune pagine fisiche su RAM, solo alcune pagine logiche del codice in esecuzione. Le pagine logiche necessarie vengono caricate di volta in volta, in base all’esigenza.
• La paginazione permette di risolvere:
• Dove allocare il processo in memoria
• Superare il numero di processi che si possono gestire contemporaneamente
• Superare la dimensione fisica della memoria di lavoro
7
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 13
Gestore della memoria
Paginazione
Memoria logica
del processo 1
(2 pagine logiche)
Memoria fisica del
calcolatore suddivisa in 8
pagine
Memoria logica
del processo 2
(4 pagine logiche) Spazio logico
PL0
PL1
Spazio logico
PL0
PL1
PL2
PL3
Spazio fisico
PF0
PF1
PF2
PF3
PF4
PF5
PF6
PF7
Corrispondenza tra Pagine Logiche (PL) contigue e Pagine Fisiche (PF) non
contigue
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 14
Gestore della memoria
Memory Management Unit - MMU
• Serve un dispositivo dispositivo hardware aggiuntivo in grado di convertire gli indirizzi logici cui fa riferimento il programma nei corrispondenti indirizzi fisici: Memory Management Unit.
• La MMU utilizza una tabella delle pagine:
– mantiene la relazione tra ogni pagina logica e l’indirizzo della pagina fisica corrispondente.
Memoria logica del processo
1 (2 pagine logiche)
Memoria fisica del calcolatore suddivisa
in 8 pagine
Memoria logica del
processo 2 (4 pagine
logiche)
Spazio logico
PL0
PL1
Spazio logico
PL0
PL1
PL2
PL3
Spazio fisico
PF0
PF1
PF2
PF3
PF4
PF5
PF6
PF7
Tabella pagine del processo 1
0
1
PF3
PF4
Tabella pagine del
processo 2
0
1
PF1
PF2
2
3
PF0
PF5
8
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 15
• La paginazione risolve contemporaneamente tre problemi:
1. Dove mettere il processo in memoria
2. Superare il numero di processi che posso gestire contemporaneamente
3. Superare la dimensione fisica della memoria di lavoro
Gestore della memoria
Paginazione
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 16
Gestore delle periferiche • Gestisce l’accesso ai dispositivi di I/O
• 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
• Controlla e maschera gli eventuali conflitti che possono insorgere nel caso che diverse richieste arrivino contemporaneamente ad uno stesso dispositivo
• Ogni processo ha a disposizione delle periferiche virtuali
• Due elementi di base:
• BIOS (Basic Input Output System) : software usato per standardizzare l’accesso ai diversi tipi di periferica
• Driver: software per il controllo e funzionamento di interfacce Hw che consentono l’accesso a specifiche periferiche
9
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 17
Gestore delle periferiche • Il BIOS (Basic Input Output System) svolge anche le funzioni necessarie
all’avvio del computer
• Inizializza lo Hw
• Controlla la memoria
• Verifica quali periferiche sono collegate
• Effettua diagnostica dei vari dispositivi / componenti
• Effettua il boot (caricamento) in memoria centrale della parte iniziale del sistema operativo
• Inizializza, e permette di modificare, il setup del computer
• Data e ora
• Numero e tipo di unità di memoria di massa
• ……
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 18
• Obiettivo:
gestire l’allocazione fisica dei dati nelle memorie di massa, consentendone l’archiviazione ed il reperimento
presentare all’utente l’organizzazione logica dei dati e le operazioni che è possibile compiere su di essi.
• Operazioni di base di un file system: – memorizzazione di dati nelle memorie di massa
– recupero di dati precedentemente memorizzati;
– eliminazione (cancellazione) di dati obsoleti;
– modifica/aggiornamento di dati preesistenti;
– copia di dati (e.g. da HD a FD) per backup o per il trasferimento;
– …
servizi forniti sia ai programmi applicativi che direttamente agli utenti.
File system
10
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 19
File system
FILE
- File : l’oggetto elementare su cui opera il file system
- Una raccolta di dati registrati su memoria di massa
(il file è visto dal S.O. come una sequenza di byte)
Contenitore logico di informazioni (dati/istruzioni) permanenti
…. dal punto di vista dell’utilizzatore ...
…. dal punto di vista del S.O.
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 20
File - Caratterizzato da:
• Identificatore (nome.estensione)
• Periferica (drive) e percorso sulla periferica
• Data creazione
• Dimensione
• Posizione effettiva dei dati nella memoria di
massa
• Altre informazioni
• applicazione che consente all’utente di
“usare” il file
• data di ultima modifica
• diritti di accesso al contenuto del file
• …
11
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 21
testo (ASCII): una sequenza di caratteri
es. programma sorgente (es. in linguaggio C)
binari: una sequenza di byte
eseguibili (programmi)
non eseguibili (es. immagine, documento word)
Alcuni S.O. (es. MS-Windows) associano tipi diversi a file prodotti con
programmi diversi (es. Word, Excel, ...)
Tipi di File
Una prima distinzione di massima
I file dati prodotti da un programma possono essere di testo
o binari (dipende dal programma)
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 22
… un raccoglitore in cui sono memorizzati tutti i nomi dei file, più
tutta una serie di informazioni ausiliarie...
Il Catalogo (directory o cartella)
I file sono organizzati in Cataloghi, detti anche directory o cartelle
… data e ora di creazione / ultima modifica, dimensioni, autore, diritti di accesso ...
… una directory, o cartella, al suo interno conterrà file e/o altre cartelle
...
… una direcory è considerata essa stessa un file ...
12
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 23
Organizzazione gerarchica delle directory
Le directory sono organizzate in una struttura gerarchica
\
f 1 . . . f n D 1 D i . . . . . . D n
f i1 . . . f in D i1 D in . . .
. . . \:radice
f:file
D:cartella
… tipicamente, la radice dell’albero è costituita dall’unità di memoria di massa ...
… la gerarchia è rappresentabile secondo un albero ...
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 24
Nomi di file e directory
Tipicamente i nomi di file si compongono di un nome e di un’estensione
Nomefile.Estensione
nome del file In genere 3 lettere che
definiscono il “tipo” di file
- MS-Windows 95/98/XP/…. può
gestire nomi lunghi fino a 254
caratteri
… regole per la composizione del nome
dei file (tipicamente diverse per diversi
S.O.) ...
- Es: in MS-Windows 95/98/XP ….
L’estensione:
.doc è associata a file prodotti con MS-
Word
.mdb a file prodotti con MS-Access
.xls a file prodotti con MS-Excel
.exe a file eseguibili
N.B. in UNIX non c’è lo stesso concetto di
estensione …
13
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 25
Nome di file e directory
Il nome di un file può essere completato con l’indicazione delle
directory in cui esso è contenuto … il nome completo di un file individua quel file specificandone la
collocazione nella struttura gerarchica del file system …
… il nome completo di un file specifica il percorso lungo l’albero per
raggiungere la sua collocazione ...
percorso \ nomefile Percorso => le directory da attraversare lungo
l’albero per raggiungere la collocazione del file
\ => separatore tra directory
Il nome di un file individua univocamente un file all’interno di una
directory … in una directory non possono esserci più file con lo stesso nome …
… in directory diverse possono esserci file con lo stesso nome …
Il nome completo di un file è indicato con la notazione
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 26
Nome di file e directory
Il percorso individua le directory da percorrere per raggiungere la
Il verificarsi di eventi (fine del quanto di tempo, disponibilità risorsa, …)
provoca transizioni tra gli stati.
23
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 45
Gestione dei Processi in un S.O.
In una macchina monoprocessore e multiprocesso un solo processo alla
volta può essere in esecuzione sulla CPU
Gli altri processi sono rispettivamente
• in attesa (di un evento, quale il completamento di un’operazione di I/O)
• pronti (ad essere eseguiti, aspettano che la CPU si liberi e sia loro assegnata )
Ciascun processo può trovarsi in uno dei seguenti stati :
esecuzione:
sta effettivamente usando il processore per la sua esecuzione
pronto:
è potenzialmente in condizione di usare il processore che è però
occupato da un altro processo in esecuzione
attesa:
aspetta la terminazione di un evento esterno (es. operazione di I/O)
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 46
Diagramma degli stati di un processo
Processore ‘libero’ creazione
Termine quanto di
tempo
Termine
elaborazione
Esecuzione
(E) Pronto
(P)
Attesa
(A)
Richiesta
operazione di I/O Completamento operazione di
I/O (evento esterno atteso)
24
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 47
Diagramma degli stati di un processo
Selezione primo processo
pronto e sua esecuzione
Processo in
esecuzione
Processi
pronti
Creazione
(accodamento ai
processi pronti)
Termine quanto di
tempo
Termine
elaborazione
Processi
in attesa
Richiesta
operazione di I/O Completamento operazione di
I/O (evento esterno atteso)
… una lista di processi ‘pronti’ …
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 48
• Pronto Esecuzione
– Il SO stabilisce quale dei processi “pronti” debba essere mandato in “esecuzione”.
– La scelta è fatta da algoritmi di scheduling per ottimizzare efficienza ed efficacia.
Transizioni tra stati di un processo
E P
A
E P
A
• Esecuzione Attesa
– il processo chiede delle risorse che non sono attualmente 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
25
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 49
Transizioni tra stati di un processo
• Attesa Pronto
– Si verifica l’evento atteso dal processo e il SO sposta quel processo nella coda dei processi pronti.
E P
A
E P
A
• 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”.
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 50
1. Il processo viene creato e viene posto nella coda dei processi pronti;
2. il primo processo (in base alla strategia di scheduling) tra i processi pronti
viene posto in esecuzione;
3. il processo in esecuzione dispone delle risorse del sistema fino a a. il termine del quanto di tempo
• il nucleo (kernel) interrompe il processo e lo mette in coda ai processi pronti;
• quando arriva in cima alla coda dei processi pronti, il processo torna in stato in
esecuzione, proseguendo con l’elaborazione dell’istruzione successiva a quella su
cui era stato interrotto;
b. la richiesta di un’operazione di ingresso/ uscita
• il kernel sposta il processo attivo nello stato di attesa;
• quando l’operazione di ingresso/ uscita si completa il processo può proseguire
l’elaborazione e viene messo in fondo alla coda dei processi in pronti e prosegue
come nel punto precedente;
c. il termine delle propria esecuzione (istruzione finale)
• il processo viene eliminato e rimosso dall’elenco dei processi esistenti;
in ogni caso il kernel provvede a sostituirlo con il primo dei processi pronti.
Esempio di transizioni di stato di un processo
26
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 51
Contesto di un processo
insieme dei dati che rappresentano lo “stato” del processo: situazione della memoria, contenuto dei registri, livello di priorità, …
Quando un processo viene interrotto (esce dallo stato di esecuzione) il
nucleo provvede a salvare il suo contesto in una struttura dati chiamata
descrittore del processo;
Quando un processo torna nello stato di esecuzione il nucleo provvede a
ripristinare il suo contesto, recuperando i dati precedentemente salvati
nel descrittore.
Contesto di un Processo e Cambio di Contesto
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 52
Cambio di contesto (context swapping)
si verifica quando un processo P1 in esecuzione viene sostituito da un
altro processo P2 (il primo del processi pronti);
il SO provvede a:
1. salvare il contesto di P1 e gestirne l’evoluzione (Pronto vs Attesa)
2. ripristinare il contesto di P2 per consentirgli una corretta evoluzione.
Contesto di un Processo e Cambio di Contesto
27
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 53
Round Robin
I/O
Fin
e I/O
E
P
P
E
P
P E
P
P E
A
P E
A
P
E
P
P
E
A
P
Cambio di contesto
E P
A
P1
E
P
P
E
P
P
P2 P3
P
E
P Processo 3
Processo 2
Processo 1
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 54
Il controllo degli accessi
• Identificazione degli accessi al sistema.
– Associare a ogni utente un account (login) e una parola d’ordine (password).
– All’interno del sistema operativo, in un apposito file, è contenuta la lista di tutti gli account e delle relative password: solo se viene specificato un account fra quelli previsti (utente abilitato) e la password corrisponde a quella memorizzata (certificazione di identità) viene consentito l’accesso al sistema.
• Questo consente di personalizzare il sistema, per esempio definendo:
– la distribuzione dei costi di gestione fra i vari utenti;
– la visibilità del sistema in termini di porzione del file system complessivo, periferiche e programmi applicativi disponibili;
– la personalizzazione dell’ambiente operativo.
• Consente di controllare gli accessi ai file:
– livello di protezione a livello di file o di directory;
– altro metodo: Access Control List
28
Elementi di Informatica a.a. 2014/15 - Prof. G.A. Di Lucca
Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 55
File system di rete
• Un sistema operativo che consente una gestione distribuita
del file system deve:
– integrare in modo organico i singoli file system dei calcolatori
della rete;
– risolvere i problemi dell’univocità dei nomi di file e directory per
i calcolatori della rete;
– consentire un accesso efficiente anche a file presenti su
calcolatori remoti.
• Questi requisiti vengono soddisfatti con un file system di
tipo client-server.
Elementi di Informatica
Prof. G. A. Di Lucca - Univ. del Sannio 56
Virtualizzazione delle risorse di rete
• Estendere anche a processi in esecuzione su calcolatori
diversi il principio di virtualizzazione delle risorse.
• Condividere in modo trasparente dati, periferiche e unità
di elaborazione.
• In particolare si tratta di poter gestire le periferiche e il file