Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete,...

32
1 Elementi di Informatica a.a. 2018/19 - 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 Software di Sistema Software per la gestione delle risorse e funzionalità del sistema di elaborazione controlla l’esecuzione dei programmi applicativi ha accesso a tutte le risorse del sistema; 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); Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software applicativo Software sviluppato per la risoluzione dei problemi / gestione di attività/funzionalità degli utenti 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); Es: programmi per la gestione aziendale, word processing, spreadsheet, browser, CAD, videogame, Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio 2 Elemento principale del software di sistema. Insieme di programmi tra loro interagenti e cooperanti per la gestione delle risorse hardware e software Realizza un’interfaccia (software) tra l’utente e lo hardware facilitando l’uso del sistema e fornendo 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

Transcript of Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete,...

Page 1: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

1

Elementi di Informatica a.a. 2018/19 - 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

Software di Sistema

Software per la gestione delle risorse e funzionalità del sistema di elaborazione • controlla l’esecuzione dei programmi applicativi

• ha accesso a tutte le risorse del sistema;

• 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);

Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, …

Software applicativo e Software di Sistema Software applicativo

Software sviluppato per la risoluzione dei problemi / gestione di

attività/funzionalità degli utenti • 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);

Es: programmi per la gestione aziendale, word processing, spreadsheet, browser,

CAD, videogame, …

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 2

Elemento principale del software di sistema.

Insieme di programmi tra loro interagenti e cooperanti per la gestione delle

risorse hardware e software

Realizza un’interfaccia (software) tra l’utente e lo hardware facilitando l’uso

del sistema e fornendo 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

Page 2: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

2

Elementi di Informatica a.a. 2018/19 - 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

IL SISTEMA OPERATIVO

Memoria di massa

Bus dati

Bus indirizzi

Bus di controllo

CPU

RAM

Scheda madre

(motherboard)

Interfaccia di

I/O

Schermo

Tastiera e

mouse Altoparlanti

Interfacc

e di I/O

Interfacc

e di I/O

Il sistema operativo è un livello di software che agisce direttamente sui componenti HW

... rende trasparente agli utenti

l’architettura HW sottostante e

fornisce un insieme di funzionalità

di alto livello

… rende facilmente e

completamente disponibile

all’utente lo HW da un punto di

vista funzionale

... funzioni quali creazione e/o copia di un file, caricamento ed

esecuzione dei programmi in memoria centrale, leggere e/o

scrivere dati da/su memorie di massa e periferiche, …

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 4

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

Page 3: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

3

Elementi di Informatica a.a. 2018/19 - 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

IL SISTEMA OPERATIVO

permette 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

identificazione utente (password,diritti accesso, ...)

dati

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

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 6

• 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

Page 4: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

4

Elementi di Informatica a.a. 2018/19 - 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

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 delle operazioni necessarie 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 persistenti sotto forma di directory (cartelle ) 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 uso risorse del sistema • 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 8

PRINCIPALI 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

Page 5: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

5

Elementi di Informatica a.a. 2018/19 - 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

Organizzazione di un S.O. Il SO è organizzato in moduli ciascuno costituente uno “strato funzionale”.

Ogni strato (o livello) costituisce una macchina virtuale, che nasconde le caratteristiche della macchina

hardware e offre all’utente un insieme di funzionalità.

Architettura a “cipolla” (o a livelli)

Ogni strato/livello è una macchina virtuale formata da

un insieme di programmi che realizzano funzionalità

utilizzanti i servizi forniti dal livello inferiore (un

livello può richiedere servizi al livello inferiore).

La visione della macchina virtuale a livello N è quella

fornita dallo HW e dai livelli del SO fino all’N-esimo

incluso

Ogni livello gestisce risorse specifiche del sistema

regolandone l’uso e mascherandone i limiti

Ogni livello rende disponibili funzionalità verso

l’esterno (il livello superiore) e mantiene nascosti al suo

interno i meccanismi implementativi.

Gerarchia di macchine virtuali: macchine/livelli più

esterni “sembrano” più potenti delle macchine più

interne e della macchina fisica.

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 10

Un S.O. gestisce una qualsiasi elaborazione come:

“un insieme di unità di elaborazioni parziali”

dette P R O C E S S I

Concetto di “processo”

PROCESSO:

La minima unità di lavoro che il S.O. predispone per la esecuzione e

che possa individualmente richiedere l’uso della CPU

Page 6: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

6

Elementi di Informatica a.a. 2018/19 - 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

Programma:

entità statica composta da codice eseguibile dal processore.

Processo:

entità dinamica che corrisponde al programma in esecuzione, composto da:

• testo/codice (il programma);

• dati (quelli che servono per l’esecuzione del programma);

• stato (a che punto dell’esecuzione ci si trova, contenuto di registri, …).

N.B: ad un programma applicativo possono corrispondere diversi processi contemporaneamente in esecuzione

Un processo può attivare l’esecuzione di un altro processo

processo padre – processo figlio

Processo e programma

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 12

Nucleo (kernel) • Interagisce direttamente con l’hardware

• Scopo principale: gestire i processi corrispondenti ai programmi che

sono contemporaneamente attivi.

• Si occupa dell’esecuzione dei programmi e della risposta agli eventi

esterni generati dalle unità periferiche.

• Attua una politica di alternanza (scheduling) nell’accesso alla CPU da

parte dei processi in esecuzione (definisce quale programma è da

eseguire in ogni istante).

• 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

Page 7: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

7

Elementi di Informatica a.a. 2018/19 - 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

• 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 la possibilità di lavorare come se si avesse a disposizione una

memoria dedicata, di capacità anche maggiore di quella fisicamente

disponibile.

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 14

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 (o un qualsiasi altro file) a partire da un

certo indirizzo 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

– mette in atto dei meccanismi di protezione che tutelano la privatezza dello spazio di

lavoro assegnato a ogni processo.

– garantisce ai vari processi uno spazio di indirizzamento virtuale in cui lavorare, che

può essere superiore alla memoria fisica presente nel calcolatore

Page 8: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

8

Elementi di Informatica a.a. 2018/19 - 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

Gestore della memoria

Paginazione • Suddivisione della memoria in blocchi di dimensioni prefissate: le

pagine. Una pagina è costituita da un determinato numero di locazioni di memoria consecutive.

• 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 della 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 problemi per:

• Allocare un processo in memoria

• Superare il numero di processi che si possono gestire contemporaneamente

• Superare la dimensione fisica della memoria di lavoro

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio

Memoria logica

del processo 2

(4 pagine logiche)

Spazio logico

PL0

PL1

PL2

PL3 Memoria logica

del processo 1

(2 pagine logiche)

Spazio logico

PL0

PL1

16

Gestore della memoria

Paginazione

Memoria fisica del

calcolatore suddivisa in 8

pagine

Spazio fisico

PF0

PF1

PF2

PF3

PF4

PF5

PF6

PF7

Corrispondenza tra Pagine Logiche (PL) contigue e Pagine Fisiche (PF) non

contigue

Dimensione tipica di una pagina:

da 512 byte a 4kB

Page 9: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

9

Elementi di Informatica a.a. 2018/19 - 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 della memoria Memory Management Unit - MMU

• Serve un dispositivo hardware aggiuntivo in grado di convertire gli indirizzi logici cui fa

riferimento il programma nei corrispondenti indirizzi fisici: Memory Management

Unit.

• Lo 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 (MMU) del processo 1

PL0

PL1

PF3

PF4

Tabella pagine (MMU)

del processo 2

PL0

PL1

PF1

PF2

PL2

PL3

PF0

PF5

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 18

Gestore della memoria Memoria Virtuale

Il programma applicativo ‘vede’ una memoria virtuale che può essere maggiore di quella

centrale effettivamente a disposizione

Permette di gestire programmi caricandone in memoria solo le pagine relative al codice

attualmente in esecuzione

Le pagine che non sono attualmente caricate in memoria centrale rimangono disponibili in

zone della memoria di massa, all’interno di particolari file

Un elaboratore può avere una memoria virtuale di VG gigabyte ed una memoria fisica di

FG gigabyte, con VG > FG

La memoria virtuale permette una gestione e condivisione più efficiente della memoria

centrale fra più processi consentendo l’esecuzione di programmi la cui dimensione è

maggiore della dimensione FG della memoria fisica disponibile

la dimensione s del programma non può comunque essere superiore a quella

della memoria virtuale

Page 10: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

10

Elementi di Informatica a.a. 2018/19 - 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

Gestore della memoria

Memoria Centrale (Fisica)

PROGRAMMA MIO-1

PROGRAMMA MIO-2

PROGRAMMA TUO-1

PROGRAMMA SUO

PROGRAMMA ALTRO-1

PROGRAMMA TUO-2

PROGRAMMA ALTRI-1

PROGRAMMA NUOVO

PROGRAMMA MIO-3

PROGRAMMA MIO-4

PROGRAMMA TUO-3

PROGRAMMA TUO-4

PROGRAMMA ALTRO-2

PROGRAMMA ALTRI-2

Memoria Virtuale

Nella Memoria Fisica sono caricate le pagine con il

codice in esecuzione, le altre pagine dello stesso

programma sono caricate in quella virtuale

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 20

Gestore della memoria

Memoria Centrale

Memoria Virtuale

SWAP

Quando è richiesta l’esecuzione di codice residente in pagine in memoria

virtuale è effettuato uno swap tra pagine in Memoria centrale e virtuale

PROGRAMMA MIO-1

PROGRAMMA MIO-3

PROGRAMMA TUO-1

PROGRAMMA SUO

PROGRAMMA ALTRO-1

PROGRAMMA TUO-2

PROGRAMMA ALTRI-1

PROGRAMMA NUOVO

PROGRAMMA MIO-2

PROGRAMMA MIO-4

PROGRAMMA TUO-3

PROGRAMMA TUO-4

PROGRAMMA ALTRO-2

PROGRAMMA ALTRI-2

Page 11: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

11

Elementi di Informatica a.a. 2018/19 - 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

Gestore della memoria

Ai moduli di programmi del Sistema Operativo, ed alle strutture dati da essi

usate, sono assegnate particolari e specificate porzioni della memoria riservate

unicamente al Sistema Operativo (tipicamente indirizzi più ‘alti’ o ‘in fondo’)

La memoria viene suddivisa in memoria di modo Supervisore e memoria di

modo Utente:

• nella memoria di modo Supervisore sono caricati i processi del Sistema

Operativo e le strutture dati da esso utilizzate

• nella memoria di modo Utente possono essere caricati i processi utente

per la loro esecuzione

La suddivisione della memoria protegge i moduli e le strutture dati del Sistema

Operativo usati per una gestione corretta ed efficiente delle risorse

il codice utente non può accedere a zone di memoria di modo

Supervisore senza autorizzazione del Sistema Operativo stesso

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 22

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

Page 12: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

12

Elementi di Informatica a.a. 2018/19 - 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

Gestore delle periferiche • Il BIOS (Basic Input Output System) svolge anche le funzioni necessarie

all’avvio del computer (bootstrap)

• 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 24

Gestore delle periferiche

I Driver sono moduli software per ‘guidare’ la comunicazione di flussi di dati

da e verso le periferiche

I driver sono responsabili delle seguenti principali funzioni :

• Rendono trasparenti le caratteristiche fisiche tipiche di ciascun specifico

dispositivo

• ‘Guidano’ la comunicazione dei segnali verso i dispositivi

• Gestiscono i conflitti, nel caso in cui due o più processi vogliano accedere

contemporaneamente allo stesso dispositivo

I programmi dei driver sono scritti specificamente per ciascun dispositivo e,

in genere, sono forniti dal costruttore del dispositivo

Page 13: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

13

Elementi di Informatica a.a. 2018/19 - 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

• 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

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 26

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.

Page 14: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

14

Elementi di Informatica a.a. 2018/19 - 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 27

File - Caratterizzato da:

• Identificatore (nome.estensione)

• Periferica (device) e percorso sulla periferica

• Data creazione

• Dimensione

• Posizione effettiva dei dati nella memoria di massa

• Altre informazioni

• applicazione sw che consente all’utente di “usare” il file

• data di ultima modifica

• diritti di accesso al contenuto del file

• …

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 28

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, foglio di calcolo)

Alcuni S.O. (es. MS-Windows) associano tipologie diverse a file

prodotti con programmi diversi (es. Word, Excel, ...)

Tipi di File

Una prima distinzione di massima

I file di dati prodotti da un programma possono essere di

testo o binari (dipende dal programma)

Page 15: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

15

Elementi di Informatica a.a. 2018/19 - 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 29

… 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 (cartella) al suo interno conterrà file e/o altre cartelle ...

… una direcory è considerata essa stessa un file ...

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 30

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

Page 16: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

16

Elementi di Informatica a.a. 2018/19 - 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 31

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 associate al

“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 …

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 32

Nome di file e directory

Il nome di un file può essere completato con l’indicazione (percorso)

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 nomi 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

Page 17: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

17

Elementi di Informatica a.a. 2018/19 - 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 33

Nome di file e directory

Il percorso individua le directory da percorrere per raggiungere la

cartella che contiene il file

Il percorso può essere:

Assoluto: parte dalla radice

Relativo: parte dalla directory corrente

Esempio, in MS-Windows:

C:\Programmi\Microsoft Office\Office\Excel.exe

… è un percorso assoluto…

didattica\elementi_di_Informatica_2002_03\sistop.ppt

… è un percorso relativo …

Il simbolo .. indica, tipicamente, la directory padre di quella corrente

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 34

Nome di file e

cartelle: esempi

Ricerca Didattica Uffici

\

Corsi

. . . . . .

EI

. . .

directory corrente

Percorso relativo:

Corsi\EI

Lab . . .

Percorso assoluto:

\Didattica\Corsi\EI

..\Uffici\Lab

directory padre

Page 18: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

18

Elementi di Informatica a.a. 2018/19 - 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 35

Percorso assoluto:

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 36

Page 19: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

19

Elementi di Informatica a.a. 2018/19 - 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 37

Volumi

- Le unità disco (più in generale, le memorie di massa) sono dette volumi

- Ogni unità disco ha una sua struttura gerarchica

- Esiste un’unità corrente ...

- Bisogna anteporre l’identificativo del volume al percorso (se l’unità non è

corrente)

- il volume è la radice della gerarchia … regole diverse per identificare i volumi in differenti S.O. ….

In genere, per far riferimento ad un file, oltre al percorso, è necessario far

riferimento anche al supporto di memorizzazione (es. unità disco)

A: Floppy Disk

C: Disco rigido

D: CD-ROM

Esempio:

denominazioni standard in MS-DOS e

Windows (ma potrebbero essere diverse):

Esempio percorso assoluto sull’unità C: C:\Didattica\Corsi\FI

Esempio percorso assoluto sull’unità A: A:\Corsi\FI

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 38

Operazioni su file (e directory)

- creazione

- cancellazione

- accesso

- copia / spostamento (da un catalogo all’altro)

- condivisione / protezione

… una operazione su una directory è effettuata su tutti gli elementi in

essa contenuti … Esempio:

la cancellazione di una directory comporta la cancellazione di tutti gli elementi

in essa contenuti

Page 20: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

20

Elementi di Informatica a.a. 2018/19 - 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 39

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 principali operazioni che svolge sono:

– Leggere il comando immesso e riconoscere la sua correttezza sintattica

– Interpretare il comando immesso

– Attivare gli appositi moduli del S.O. per eseguire il comando

• caricamento dalla memoria di massa del programma relativo al comando nella

memoria centrale;

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 40

Selezione del comando da una lista a

video (menù) di possibili operazioni da

intraprendere

Linguaggio di comando

Uso di Interfacce grafiche

(GUI - Graphical User Interface)

a Menù

Selezione di ideogrammi (icone) atti a

ricordare l’operazione da effettuare;

azione specificata da uno o più “clic”

del mouse

a Icone

Vantaggi: facilitazione dell’uso che risulta più immediato e meno mnemonico

Page 21: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

21

Elementi di Informatica a.a. 2018/19 - 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 41

Linguaggio di comando Il dialogo tra l’utente ed il S.O. avviene tramite un linguaggio di comando

Il dialogo si può attuare con tecniche diverse:

- FRASI

Uso di interfacce utenti a caratteri

(a linea di comando)

Comando parola chiave esplicativa

del comando

oggetti elementi su cui viene compiuta

l’azione

[opzioni] modalità di esecuzione

del comando

Esempio, per visualizzare la lista dei file contenuti in una directory:

• in MS-Dos: dir miadirectory /p

• in UNIX: ls –l miadirectory

Ciascun comando è esplicitato con una frase la cui forma generica è:

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 42

Directory corrente

Nuova Directory

corrente dopo

comando cd

Comando dir /p

Per visualizzare il

contenuto della

directory corrente

Page 22: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

22

Elementi di Informatica a.a. 2018/19 - 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 43

Classificazione di un Sistema Operativo

Rispetto a Utenti Mono-utenti

Multi-utenti

Rispetto a esecuzione programmi Mono-programmati

Multi-programmati

Rispetto a gestione processi Mono-processo

Multi-processo

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 44

S.O. mono e multiprogrammati

MONOPROGRAMMATI Sistemi atti a supportare unicamente l’esecuzione di un solo programma

per volta (applicazioni sequenziali). Sono, tipicamente, sistemi mono-

utenti

MULTIPROGRAMMATI Sistemi atti supportare la concorrenza dell’esecuzione di programmi/processi:

in un dato intervallo di tempo, avanzano più programmi/processi. Sono,

tipicamente, sistemi multi-utenti

Page 23: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

23

Elementi di Informatica a.a. 2018/19 - 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

I sistemi operativi si classificano in base alla modalità di gestione dei

processi

S.O. e “processi”

S.O. monoprocesso

S.O. multiprocesso

Supporta la esecuzione di un unico processo alla volta ciascun processo inizia la sua esecuzione e la completa prima che possa avere inizio

un nuovo processo (es. MS-DOS)

Supporta la esecuzione di più processi in un dato intervallo di tempo più processi avanzano sul sistema di

elaborazione (es. Windows, UNIX, IoS, ....)

Un processo è caratterizzato, essenzialmente, da un identificatore (nome) e dalle risorse

(quali CPU, memoria, I/O devices, dati) che necessita per la sua esecuzione

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 46

Processi sequenziali

più processi (P1, P2, ... , Pn) sono detti sequenziali se formano un insieme

completamente ordinato, ovvero essi devono essere eseguiti secondo una

assegnata sequenza. L’esecuzione del processo Pi inizia dopo la

terminazione dell’esecuzione del processo Pi-1

Processi concorrenti

più processi (P1, P2, ... , Pn) sono detti concorrenti se non costituiscono un

insieme completamente ordinato, ovvero l’esecuzione di ciascuno di essi può

avere inizio indipendentemente dalla fine dell’esecuzione degli altri

disgiunti: i processi sono indipendenti, ognuno opera su un proprio

insieme di informazioni

cooperanti: i processi cooperano per l’esecuzione di un compito,

scambiandosi informazioni

S.O. e “processi”

Page 24: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

24

Elementi di Informatica a.a. 2018/19 - 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

S.O. monoprogrammati

Tempo di occupazione della CPU

Tempo operazioni di I/O

… tempi per l’I/O molto maggiori di quelli della CPU …

…. CPU inattiva per la maggior parte del tempo ….

• Un solo processo

utente effettivamente

in esecuzione nella

CPU

• 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

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 48

S.O. multiprogrammati

… nei tempi di I/O di un

processo la CPU viene

assegnata ad un altro

processo...

P1

P2

P3

Nel sistema sono presenti diversi processi, ognuno con un proprio tempo di

elaborazione e propri tempi di attesa per le operazioni di ingresso/uscita.

Per evitare che la CPU venga utilizzata in modo esclusivo (o per troppo

tempo) da parte di un solo processo, il tempo viene idealmente suddiviso in

unità elementari, dette quanti, da assegnare secondo opportune politiche di

scheduling a tutti i processi.

P1 P2 P3 … la CPU è sempre

attiva …

Page 25: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

25

Elementi di Informatica a.a. 2018/19 - 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

Sistemi operativi multiprogrammati

SISTEMI BATCH

I processi da eseguire sono raggruppati in gruppi, ed il lavoro procede

dall’inizio alla fine senza alcuna interazione con l’utente

SISTEMI INTERATTIVI

Il lavoro richiede l’interazione con l’utente: l’utente fornisce un input,

il sistema lo elabora, restituisce un output e ... il colloquio continua

fino al termine dell’elaborazione

SISTEMI REAL TIME

L’elaborazione deve fornire i risultati entro un determinato tempo utile

(real time). Es. applicazioni per il controllo di un processo produttivo, applicazioni di tipo

gestionale, ...

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 50

Sistemi operativi multiprogrammati

SISTEMI TIME SHARING

Servono più utenti, e forniscono a ciascun utente la sensazione di

disporre dell’intero sistema e di essere immediatamente serviti

• Permette la condivisione della CPU 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 CPU, al termine del quale viene sospeso

per lasciare il posto ad un altro processo in attesa di esecuzione

Page 26: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

26

Elementi di Informatica a.a. 2018/19 - 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

Round-robin:

assegnare a rotazione la disponibilità di un quanto di tempo della CPU ai

vari programmi/processi 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.

La scelta di un valore molto piccolo, pur migliorando in generale le

proprietà di parallelismo, può comportare un degrado delle prestazioni

complessive del sistema, qualora il tempo di commutazione fra processi sia

dello stesso ordine della durata del quanto di tempo (un valore tipico per il

sistema operativo Unix è 100 ms).

Sistemi operativi multiprogrammati

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 52

Round Robin

I/O

Fin

e I/O

E

E

E

E

E

E

E

E

E

E

Processo 3

Processo 2

Processo 1

E = Processo in elaborazione su CPU

I/O = richiesta operazione I/O

Page 27: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

27

Elementi di Informatica a.a. 2018/19 - 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

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 )

Quindi, 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 54

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)

Page 28: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

28

Elementi di Informatica a.a. 2018/19 - 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

• 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

– Contemporaneamente un altro processo passa da “pronto” a “esecuzione”.

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 56

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”.

Page 29: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

29

Elementi di Informatica a.a. 2018/19 - 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 57

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 58

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 rimette in coda ai processi pronti;

• quando arriva in testa 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 mandare in escuzione il primo nella coda dei

processi pronti.

Riepilogo transizioni tra stati di un processo

Page 30: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

30

Elementi di Informatica a.a. 2018/19 - 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 59

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 60

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

Page 31: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

31

Elementi di Informatica a.a. 2018/19 - 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 61

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 62

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 archivio, è 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

Page 32: Software applicativo e Software di Sistema · Es: sistema operativo, driver, gestione rete, utility, caricatore, collegatore, … Software applicativo e Software di Sistema Software

32

Elementi di Informatica a.a. 2018/19 - 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 63

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 64

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

system.