30
SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dell’elaboratore (CPU, memoria centrale, periferiche) in maniera trasparente all’utente; in altre parole ha un ruolo di interfaccia tra utente e macchina HARDWARE PROGRAMMI APPLICATIVI UTENTI S.O.

SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

Embed Size (px)

Citation preview

Page 1: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

SISTEMA OPERATIVO:È un insieme di programmi che gestiscono le risorse dell’elaboratore (CPU, memoria

centrale, periferiche) in maniera trasparente all’utente; in altre parole ha un ruolo di

interfaccia tra utente e macchina

HARDWAREPROGRAMMI APPLICATIVI

UTENTIS.O.

Page 2: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

Poiché alcuni programmi dei s.o. interagiscono con le componenti hardware, essi devono conoscerne le caratteristiche per poterle adoperare; in realtà il s.o. deve poter essere ampliato successivamente, ogni volta che si deve inserire nel sistema un nuovo componente hardware.

Plug and play (inserisci ed usa) è la tecnologia con la quale sono realizzati i dispositivi in grado di farsi riconoscere, ovvero di far istallare al s.o. i driver necessari al loro corretto utilizzo

Standard di compatibilità

-CPU compatibili INTEL

-Stampanti compatibili EPSON o HP

-Ecc.

Page 3: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

Il s.o. ha una struttura gerarchica e modulare

i programmi che appartengono ad un unico livello si chiamano moduli, le procedure per “dialogare “ tra moduli si chiamano primitive

i programmi che lo compongono si collocano a livelli diversi, in modo da servire i programmi dei livelli superiori e di servirsi di quelli di livello inferiore

Page 4: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

L’utente in realtà interagisce con una “macchina virtuale”, di più semplice utilizzo, formata dall’hardware + il s.o.

nucleo gestione della memoria

interprete dei comandi

file system

gestione delle periferiche

Modello onion skin (a buccia di cipolla)

Page 5: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

1. SISTEMA MONOPROGRAMMATO

Quando la sua memoria centrale contiene in un certo istante codice proveniente da un unico programma. Possibili alti tempi di inattività della CPU

CLASSIFICAZIONE DEI S.O. IN RELAZIONE ALLA POSSIBILITA’ DI ESEGUIRE UNO O PIU’ PROGRAMMI CONTEMPORANEAMENTE

TempoutenteTempoutente Temposistema Tempoinattivo

Page 6: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

2. SISTEMA MULTIPROGRAMMATO

È un s.o. che consente di tenere in memoria centrale codice proveniente da più programmi, portati avanti “contemporaneamente”; l’obiettivo è quello di ridurre i tempi di inattività della CPU, soddisfacendo più rapidamente le esigenze degli utenti finali

politiche di assegnazione della CPU

meccanismi di protezione tra i diversi programmi

risoluzione di eventuali conflitti per l’utilizzo di una risorsa

system overhead ovvero carico di lavoro in più per il s.o.

3. SISTEMA IN TIME SHARING (a partizione di tempo)

È un s.o. multiprogrammato nel quale ciascun processo attivo non può utilizzare la CPU oltre un tempo massimo prefissato detto time slice (fetta o quanto di tempo)

Page 7: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

1. SISTEMA DEDICATO

E’ il sistema che prevede l’utilizzo da parte di un unico utente; è il caso dei personal computer

CLASSIFICAZIONE DEI S.O. IN RELAZIONE AGLI UTENTI

MS DOS (fino agli anni ’90)

Windows

Linux

I sistemi dedicati moderni consentono il multitasking ovvero un tipo particolare di multiprogrammazione che consente di eseguire più applicazioni (task), a volte alcune in background (attività come ascolto di musica, trasferimento di file attraverso internet, ecc)

Page 8: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

2. SISTEMA BATCH (A LOTTI )

È un s.o. in cui l’utente non interagisce con la macchina durante l’esecuzione dei programmi; usato laddove occorre eseguire programmi lunghi che non necessitano di input dell’operatore (es. la stampa degli estratti conto di una banca a fine mese, la stampa delle bollette della luce, ecc)

Oggi è difficile trovare elaboratori che lavorino soltanto in modalità batch, piuttosto in modalità mista, lasciando che il lavoro batch venga svolto a volte fuori dall’orario di lavoro (es. di notte)

3. SISTEMA INTERATTIVO MULTIUTENTE

È il s.o. usato laddove ad un elaboratore sono collegati tanti terminali (video-tastiera); la CPU deve avere una grande velocità (MIPS – milioni di istruzioni per secondo) e la memoria centrale deve avere una considerevole dimensione

Page 9: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

CPU ACTIVITY (attività della CPU) = (tempoutente + temposistema) * 100 / tempototale

THROUGHPUT (produttività) = tempoutente / tempototale

Page 10: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

È un’insieme di istruzioni, ovvero la traduzione di un algoritmo in un linguaggio di programmazione

È l’insieme di istruzioni e dati coinvolti, ovvero è un programma in esecuzione, cioè qualcosa che evolve nel tempo

È il dispositivo che causa l’evolvere di un processo

Page 11: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

In un s.o. multiprogrammato che lavora in modalità time sharing in un certo istante possiamo avere una situazione come quella rappresentata nella figura

memoria centrale

memoria di massa

Processo in esecuzione P1

P3P2

P6 P7

P4 P5

Processi pronti

Processi in attesa di I/O

Processi parcheggiati

Page 12: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

Vediamo come avviene la transizione di stato dei processi

stato di parcheggio

stato di esecuzione

stato di pronto

stato di terminazione

stato di attesa fine I/O

richiesta operazione di I/O

scadenza time slicescadenza time slice

I/O terminato

Page 13: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

INTERRUPT (interruzioni): è un segnale inviato alla CPU che le segnala che è accaduto qualcosa e che deve interrompere momentaneamente la sua attività per eseguire un compito particolare

sincrone , ad es. in caso di errore, fine del time slice

asincrone , generate solo dall’hardware, come la fine di una stampa o di scrittura su disco

Page 14: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

Quando un processo viene interrotto e di conseguenza cambia il suo stato, prima di poter eseguire un altro processo il s.o. deve salvare tutte le informazioni relative al processo che viene sospeso, in particolare il contenuto del suo registro di stato, che contiene tra l’altro l’indirizzo dell’istruzione da cui dovrà riprendere il processo; quindi dovrà caricare le informazioni relative al nuovo processo che deve essere ripreso (il suo registro di stato), e finalmente riprendere il nuovo processo

Page 15: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

È la parte del s.o. più vicino all’hardware. Le sue funzioni sono:

avvio e terminazione dei processi

assegnazione della CPU ai vari processi (politiche di scheduling)

sincronizzazione tra i processi

sincronizzazione dei processi con l’ambiente esterno

Page 16: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

semplice modalità f.i.f.o. (first in, first out): a ciascun processo viene assegnata la CPU , solo quando è in attesa di operazioni di I/O cede la CPU al successivo processo in coda (gestione semplice, ma non ottimizzata)

round robin con modalità f.i.f.o. (first in, first out): a ciascun processo viene assegnata la CPU per un intervallo di tempo, terminato il quale il processo va in fondo nella coda dei pronti e riattende il proprio turno

round robin con code di priorità: i processi in attesa vengono collocati su code a priorità differenti, privilegiando la coda a priorità alta

Page 17: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

1. allocazione per partizioni fisse: la memoria centrale è divisa in blocchi (partizioni ) di uguali dimensioni; molto semplice ma con spreco di memoria

s.o.

LIBERO

BO

B2

B1

B3

B4

P1

P3

P2

MEMORIA CENTRALE

1 P1

2 P3

3 P2

4

TABELLA DI GESTIONE

BLOCCHI PROGRAMMI

Page 18: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

2. allocazione per partizioni variabili: i programmi vengono caricati all’inizio in sequenza, quindi laddove c’è uno spazio libero sufficiente; la tabella di gestione è più complessa, deve contenere anche la dimensione, quindi c’è un maggior carico di lavoro da parte del s.o., ma lo sfruttamento della risorsa è migliore

ci sono svariati criteri per decidere dove allocare un processo in memoria:

First fit : il processo viene allocato nella prima partizione libera adeguata per dimensione

Best fit : il processo viene allocato nella partizione libera più adeguata per dimensione, ovvero quella che lascia il più piccolo spazio inutilizzato

Worst fit : il processo viene allocato nella partizione libera più grande, quella cioè che lascia uno spazio inutilizzato capace in seguito anche di contenere un altro processo

Page 19: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

Con questa tecnica il sistema “simula” una memoria centrale più grande di quella reale unendo due componenti: la memoria centrale e la memoria di massa; quando non c’è memoria sufficiente per caricare un programma in memoria centrale, questo viene diviso in parti, e viene caricata in memoria centrale una parte per volta. Si realizza con due differenti tecniche, la paginazione e la segmentazione

Page 20: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

1. LA PAGINAZIONEOgni programma è suddiviso in blocchi detti pagine logiche tutti della stessa dimensione, e la memoria centrale in blocchi della medesima dimensione detti pagine fisiche; la tabella di gestione della memoria è più complessa perché per ogni pagina logica occorre sapere se è statacaricata in memoria e a quale indirizzo, altrimenti il suo indirizzo sulla memoria di massa. Quando una pagina deve essere caricata in memoria centrale possono verificarsi due differenti situazioni, o c’è una pagina fisica disponibile e allora quella logica vi viene caricata e viene contemporaneamente aggiornata la tabella di gestione, oppure non ci sono posti disponibili in memoria centrale e allora si ricopre una pagina fisicagià occupata scegliendola con una delle due differenti tecniche: FIFO : viene ricoperta la pagina logica caricata da più tempo in

memoria, la più vecchia LRU (LAST RECENTLY USED) : viene ricoperta la pagina logica

che non viene usata da più tempo, ovvero quella più vecchia d’uso

VANTAGGI: semplicità dovuta alla uguale dimensione delle pagineSVANTAGGI: l’arbitrarietà con la quale vengono create le pagine logiche aumenta il numero di “chiamate”

Page 21: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

2. LA SEGMENTAZIONE

Ogni programma è suddiviso in blocchi detti segmenti sulla base di criterilogici, stabiliti dal programmatore (es. una certa area dati, una particolare routine, ecc),non tutti della stessa dimensione, e di conseguenza la memoria centrale non è a priori suddivisa in blocchi, ma si frammenta via via nel corso delle elaborazioni.

VANTAGGI: più processi possono condividere stessi segmenti; inoltre non ci sono vincoli sul numero di segmenti da caricare in memoria nonessendo stabilito a priori il numero di blocchi in cui è divisa la memoriacentraleSVANTAGGI: la maggiore complessità delle tabelle di gestione ed il conseguente maggior onere da parte del s.o.

Page 22: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

Avviene attraverso interfacce o nei casi più complessi elaboratori di canale in maniera assolutamente trasparente per l’utente

CPUREGISTRO

DATI (BUFFER)

PERIFERICHE

bus bus

Il buffer è un’area di memoria “tampone” dove vengono appoggiati i dati in attesa di essere utilizzati dalla periferica o viceversa e serve a garantire una maggiore efficienza del sistema poiché i tempi di “lavoro” della CPU e delle periferiche sono nettamente differenti

CPUREGISTRO

DATI (BUFFER)

PERIFERICHE

bus bus

Il buffer è un’area di memoria “tampone” dove vengono appoggiati i dati in attesa di essere utilizzati dalla periferica o viceversa e serve a garantire una maggiore efficienza del sistema poiché i tempi di “lavoro” della CPU e delle periferiche sono nettamente differenti

Page 23: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

CPU

canale1

buscanale2

Gli elaboratori di canale hanno una loro autonoma

capacità di elaborazione per eseguire il trasferimento

dati tra CPU e periferiche

canale3

Page 24: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

Grazie a questi dispositivi il s.o. riesce ad “aumentare” in maniera virtuale il numero di periferiche, attuando quella che viene definita tecnica di SPOOL (Simultaneous Peripheral Operation On Line), che consente a diversi processi di utilizzare la stessa periferica, grazie alla gestione di una coda di spool

P1

P2

P3

Output 1

Output 2

Output 3

Output 3 Output 2 Output 1

S

T

A

M

P

A

N

T

E

Coda di SPOOL

Page 25: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

E’ l’insieme dei programmi che consente all’utente di utilizzare file memorizzati sulle memorie di massa utilizzando semplicemente i loro nomi simbolici, e “ignorando” gli aspetti relativi alle tecniche di memorizzazione e gestione delle memorie di massa. Il file system opera attraverso tabelle di gestione dei file, dette directory o tabelle dei descrittori, che contengono una serie di informazioni, tipo:

il nome del file

l’indirizzo

la data di creazione

la data dell’ultimo aggiornamento

la grandezza

l’eventuale password di protezione

il tipo di accesso consentito (lettura, scrittura, ecc)

Page 26: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

Con l’uso continuo e frequente delle memorie di massa non è sempre possibile che un file sia memorizzato tutto insieme, ma può essere suddiviso in blocchi fisici memorizzati in aree non contigue, e ciò crea un rallentamento e un appesantimento del lavoro a carico del file system.

Per questo motivo è buona norma eseguire frequentemente l’operazione di deframmentazione del dispositivo di memoria di massa, operazione che consente un “risistemazione” dei file contenuti, nel senso che vengono eliminati tutti i “buchi” creati con l’uso per creare aree libere sufficientemente ampie per poter contenere nuovi file interi.

Page 27: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

E’ un programma del s.o. che riceve in input le richieste di esecuzione di operazioni. L’interprete standard del sistema DOS si chiama command.com e contiene alcuni semplici comandi di base per l’utilizzo dell’elaboratore, e consente anche la scrittura di script (i file BAT) da parte dell’utente più esperto che voglia personalizzare il suo elaboratore

I s.o. più recenti colloquiano con l’utente attraverso interfacce grafiche, di sempre più semplice utilizzo (user friendly), che hanno nel tempo reso possibile l’utilizzo del computer anche ad utenti per niente esperti

Il processo di esecuzione dell’interprete di comando viene considerato il processo padre degli altri processi che verranno lanciati nell’ambito della sessione di lavoro

Page 28: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

All’accensione del computer il s.o. deve essere caricato in memoria centrale, per poi rimanervi fino allo spegnimento; tale compito è svolto da un programma IPL (Initial Program Loader), che si trova sulla memoria ROM, memoria permanente e di sola lettuta, che prima effettua un controllo sulle varie componenti L’operazione di caricamento del s.o. prende il nome di bootstrap.

La procedura di chiusura, shutdown, deve controllare tutte le sessioni di lavoro aperte da eventuali utenti differenti ed eventualmente mandare un messaggio di conferma dello spegnimento del computer, abortendo eventuali processi in corso e non conclusi

Page 29: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

Sono un insieme di programmi, detti anche programmi di utilità, che agevolano l’attività degli utenti.

editor di testi

Compilatori

Linker

Interpreti

Debugger

ecc.

Page 30: SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

Tecniche per garantire la riservatezza di archivi “sensibili”, evitare la perdita di dati e programmi, impedire l’accesso ad utenti non autorizzati, ecc

backup: procedura per effettuare copie di salvataggio

restore: procedura per il recupero delle copie di sicurezza

antivirus

E’ la figura professionale che si occupa dei s.o. e del software di base