Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi...

98
Sistemi Operativi Modulo I Primo canale (A-L) A.A. 2017/2018 Corso di Laurea in Informatica Nozioni di Base Igor Melatti Sapienza Universit` a di Roma Dipartimento di Informatica

Transcript of Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi...

Page 1: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Sistemi Operativi Modulo IPrimo canale (A-L)A.A. 2017/2018

Corso di Laurea in Informatica

Nozioni di Base

Igor Melatti

Sapienza Universita di RomaDipartimento di Informatica

Page 2: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Informazioni Generali sul Corso

Come ben sapete, ci sono 2 canali

Chi e del primo canale fa l’esame con me, chi e del secondocanale fa l’esame con la prof.ssa Stefa

Le uniche eccezioni ammesse sono quelle relative ai cambi dicanale ufficiali

ovvero, seguendo le istruzioni dihttp://www.studiareinformatica.uniroma1.it/laurea/

assegnazione-canale/cambio-canale

La precedente regola non vale per gli studenti in teledidattica,i quali faranno tutti l’esame con me, qualsiasi sia il lorocognome

Page 3: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Informazioni Generali sul Corso

Sistemi Operativi e un corso a 2 facce

lo stesso vale anche per Basi di Dati

Da un punto di vista delle lezioni frontali e dellemodalita d’esame, e diviso in 2 corsi indipendenti: modulo 1 emodulo 2

modulo 1 adesso, modulo 2 nel secondo semestre6 CFU per ogni moduloanche i docenti sono diversi

il sottoscritto fa eccezione: vi insegnero anche il modulo 2

Da un punto di vista della verbalizzazione, e un esame solo

su Infostud, troverete solo Sistemi Operativi, senza nessunriferimento ai modulil’esame verbalizzato vale 12 CFU

Page 4: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Informazioni Generali sul Corso

Per arrivare a verbalizzare, occorre superare entrambi i moduli

come detto, occorre fare un esame, con determinate regole,per superare il modulo 1e un altro esame, con altre regole ed un altro docente, persuperare il modulo 2anche le date degli appelli saranno diversele regole d’esame per ciascun modulo potrebbero prevederepiu di una singola prova per ciascun modulo

ad es.: scritto un giorno ed orale un altro

Il voto finale su Infostud sara la media aritmetica tra gli esamidei 2 moduli

Quindi, non verbalizzerete prima di giugno

a meno che non siate del terzo anno o piu...

Page 5: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Informazioni Generali sul Corso

Validita dei voti dei singoli moduli: c’e una regola semplice

I moduli possono essere superati in qualsiasi ordine

quindi, va bene anche superare prima il modulo 2 e poi ilmodulo 1

Una volta superato un modulo, si ha tempo fino all’annosolare successivo per superare anche l’altro

ad esempio: se si supera il modulo 1 a gennaio 2018, occorresuperare il modulo 2 entro settembre 2019ad esempio: se si supera il modulo 2 a settembre 2018, occorresuperare il modulo 1 entro settembre 2019se si ha diritto all’appello straordinario, allora anche novembre2019ad esempio: se si supera il modulo 1 a settembre 2018, e ilmodulo 2 a gennaio 2020, occorre nuovamente superare ilmodulo 1 entro settembre (o novembre) 2021

Page 6: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Informazioni Generali sul Corso

Da qui in poi, si trattera solo del primo modulo, primo canale

Docente: Igor Melatti

Dove potete trovare materiale: http:

//twiki.di.uniroma1.it/twiki/view/SO/SO1213AL/

SistemiOperativi12CFUModulo1Canale120172018

ci saranno anche informazioni sugli esami ed in generalesull’intero corso

Dove potete trovare materiale sugli anni passati: https:

//elearning2.uniroma1.it/course/view.php?id=203

necessaria autenticazione, da chiedere al prof. Gabrielli

Sono previste 25 lezioni (festivita comprese), se non ne saltanessuna

ogni settimana 2 lezioni da 2 ore e mezza

Page 7: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Regole per gli Esami

Ci sono 5 appelli d’esame nel corso dell’anno, piu due“straordinari”

uno a gennaio (subito dopo la fine del corso), uno finegennaio/inizio febbraio, due a giugno/luglio e uno a settembre2018i due appelli straordinari (verso novembre il primo e versoaprile il secondo) sono riservati a studenti fuoricorso, ripetenti,part-time e lavoratoril’appello straordinario di novembre fa ancora concettualmenteparte dell’A.A. 2016/2017, e sara quindi gestito dai precedentidocenti

Page 8: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Regole per gli Esami

Per partecipare agli appelli straordinari, occorre seguire leistruzioni pubblicate qui: http://www.

studiareinformatica.uniroma1.it/appelli-d-esame

Verranno ammessi agli appelli straordinari tutti e soli glistudenti che la segreteria didattica comunichera al docente

una volta ottenuto l’ok della segreteria, occorrera iscriversi suInfostud

Per gli appelli “normali” successivi al secondo, e necessaria esufficiente la prenotazione su Infostud

le iscrizioni su Infostud si chiuderanno sempre 2 giorni primadel giorno dello scrittoattenzione a distinguere tra appelli per il modulo 1 e il modulo2per i primi 2 appelli, limitatamente a chi e in corso,sara necessaria l’iscrizione ad un form apposito

Page 9: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Regole per gli Esami

Ciascun appello d’esame e composto da uno scritto e da unorale

E possibile partecipare a qualsiasi numero di esami (scritti e/oorali) nel corso dell’anno accademico

Per superare l’esame scritto occorre aver preso almeno 18

fa fede il voto dell’ultimo esame scritto sostenutonota bene: questo significa che non superare un esame scrittoinvalida eventuali esami scritti superati in precedenza

Il voto dell’esame scritto sara al massimo 25

sono possibili eccezioni a discrezione del docente

Chiunque abbia superato lo scritto puo accettare direttamenteil voto dello scritto stesso, senza un esame orale

sono possibili eccezioni a discrezione del docente (in caso didubbio di copiatura)

Page 10: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Regole per gli Esami

Ogni studente puo chiedere di alzare il voto dello scrittotramite un orale

Chi venga bocciato all’orale dovra nuovamente superare unesame scritto

L’orale puo essere anche sostenuto (a discrezione dellostudente) in un appello diverso da quello in cui ha superato loscritto

Occorre sempre iscriversi su Infostud (o sul form), sia per gliesami scritti che per quelli orali, con la seguente eccezione:

se si fa l’esame orale nello stesso appello in cui si fa lo scritto,basta iscriversi una volta sola (prima dello scritto)

Page 11: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Regole per gli Esami: lo Scritto

Le domande verteranno sempre sull’intero programma delcorso

Si tratta di un compito a quiz da fare direttamente alcomputer, in laboratorio

Nel caso in cui ci siano piu iscritti all’esame che posti inlaboratorio, l’esame si fara in piu turni, comunicati sul sito delcorso

Ci saranno 40 domande da fare in 30 minuti

Per ogni domanda, ci sono 4 opzioni, delle quali una solae vera

Tutti gli studenti hanno lo stesso compito, ma con ledomande (e le opzioni) mischiate

E possibile consultare copie cartacee di libro, slide, appunti

Niente tablet o cellulari

Page 12: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Regole per gli Esami: lo Scritto

Per ciascuno viene calcolato il punteggio come 2E − S , con Enumero di risposte esatte ed S numero di risposte sbagliate

quindi il punteggio va da -40 a 80

Per assegnare un voto da insufficiente a 25 a ciascunpunteggio, si valuteranno i punteggi di tutti i partecipantiall’esame, seguendo una distribuzione a campana di Gauss

conseguenza: se ci sono copiature, molti compiti avrannopunteggi vicini, e quindi il voto si abbassa. Morale: nonconviene copiarenon e necessario rispondere a tutte le domandechi fa il compito migliore rispetto agli altri ha il punteggiopiu alto

Per gli appelli successivi al primo, a questa valutazionepartecipano anche i punteggi ottenuti da tutti gli studentidegli appelli precedenti

morale: conviene cercare di passare il compito il prima possibile

Page 13: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Regole per gli Esami: l’Orale

Per accedere all’orale e necessario aver superato uno scritto(anche in appelli precedenti)

Per fare l’orale occorre risolvere degli homework

facoltativo: si puo sempre accettare il voto dello scritto

Normalmente, l’orale con homework funziona come segue:

verranno proposti 2 homework: uno a circa meta corso e uno afine corsoil testo e la scadenza degli homework verranno pubblicati sullapagina del corso

indicativamente, il primo homework andra consegnato intornoall’inizio di novembre, il secondo intorno alla fine di dicembrepassata la scadenza, non sara piu possibile consegnare glihomework

ogni homework e individuale

e possibile consultarsi con altri studenti, ma poi ognuno devescrivere la propria soluzione personale

Page 14: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Regole per gli Esami: l’Homework

Verranno effettuati controlli anti-copia, sia automatici chemanuali (a campione)

In caso di copiatura di un homework, verranno convocati tuttigli studenti coinvolti, e in mancanza di spiegazioni esaurientiverranno cancellati i voti di entrambi gli homework a tutti glistudenti coinvolti

Chi sceglie di fare gli homework dovra affrontare un orale diconvalida, che avra come unico argomento gli homework svolti

Per accedere all’orale di convalida, occorre aver superato loscritto

L’orale di convalida deve essere sostenuto entro settembre2018 (o novembre 2018 se si ha diritto all’appellostraordinario), e puo essere sostenuto una volta sola

Page 15: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Regole per gli Esami: l’Homework

Il voto di ciascun homework sara da 0 a 6 punti, chesara sommato al voto dello scritto

quindi superando lo scritto con 18 e possibile avere 30se il voto combinato supera 31, verra troncato a 31

Affinche il voto degli homework sia valido, e necessariosuperare ciascun homework con un punteggio strettamentemaggiore di 0 punti

bisogna quindi passare almeno un test di un esercizio

In caso di non superamento (o non sostenimento entro il2018) dell’orale di convalida, vengono cancellati i voti dientrambi gli homework

La correzione degli homework sara automatica, e il codice delcorrettore verra reso disponibile agli studenti

Page 16: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Regole per gli Esami: l’Orale di Convalida

Per chi consegna l’homework entro le scadenze che verrannoindicate, l’orale consistera in semplici domande sul codicedell’homework

il fine e quello di verificare che l’homework sia stato risoltoeffettivamente da chi lo ha consegnato

Per chi non consegna l’homework nei termini previsti,sara comunque possibile fare l’orale come segue:

il giorno dell’orale, occorre presentarsi con il proprio computer,dove devono essere caricati e funzionanti tutti gli homeworkverra chiesto di effettuare una modifica al codice di talihomeworke anche possibile consegnare un homework nei termini previsti(e fare solo l’orale di convalida su tale homework) e fare l’oralecompleto sull’altro

Page 17: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Regole per gli Esami: Tempistica Studente

int voto_modulo1() {

int voto, esito = 0, *voti = NULL;

if (ho_tempo_e_mi_va())

voti = esito_homework_con_deadline();

do {

do { voto = esame_scritto();

} while (voto < 18 || !sono_soddisfatto(voto));

if (voti != NULL) esito = orale_convalida();

else if (ci_provo()) esito = orale_con_modifiche();

else break;

if (!esito) voti = NULL;

} while (esito == 0);

voto = voto + (voti? voti[0] + voti[1] : esito);

return voto < 31? voto : 31;

}

Page 18: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Regole per gli Esami: Tempistica Docente

Per ogni appello:1 si fa lo scritto la mattina

eventualmente su piu turni

2 alla fine di tutti i turni dello scritto, si verbalizza (inpresenza!) chi puo e vuole verbalizzare

occorre avere i voti ad entrambi i moduli, e se si e fatto unmodulo nell’anno x , allora l’altro deve essere stato fattonell’anno x + 1

3 si fanno gli orali di convalida homework

con eventuale verbalizzazione

4 si fanno gli orali “normali”

con eventuale verbalizzazione

5 si fa la correzione (individuale) dello scritto

solo su esplicita richiesta

Page 19: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Sistemi Operativi: Esempi

Windows

ultima versione: Windows 10

macOS

ultima versione: macOS Sierra

Linux Ubuntu

ultima versione: Ubuntu 17.04 (Zesty Zapus)

Windows Phone, iOS, Android (da Google)

Page 20: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Sistema Operativo

Sfrutta le risorse hardware di un sistema computerizzato

uno o piu processorimemoria primaria (RAM)memoria secondaria (dischi)dispositivi di input/output

Il tutto per fornire un insieme di servizi agli utenti

Page 21: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Componenti di un Computer

Page 22: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Nozioni di Base: Parti Principali

Processore

il cervello del computer: si occupa di tutte le computazioni

Memoria Principale

volatile: se si spegne il computer, se ne perde il contenutotalvolta chiamata memoria reale o primaria

Moduli di input/output

dispositivi di memoria secondaria (dischi...), non volatiledispositivi per la comunicazione (schede di rete...)altri dispositivi: tastiera, monitor, stampante, mouse, ...

“Bus” di sistema

mezzo per far comunicare tra loro le parti interne del computer:processori, memoria principale, e moduli di input/output

Page 23: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Registri del Processore

Registri visibili dall’utente

permettono di minimizzare i riferimenti alla memoria principaleottimizzando l’uso dei registriusati o da chi programma in assembler o dai compilatori dilinguaggi non interpretatilinguaggi compilati (“vecchi”): C, C++, Fortran; linguaggiinterpretati (“nuovi”): Python, Java

Registri di controllo e di stato

usati dal processore per controllare l’uso del processore stessousati da funzioni privilegiate del SO per controllare l’esecuzionedei programmi

Registri “interni”

usati dal processore tramite microprogrammazionecomunicazione con memoria ed I/O

Page 24: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Registri Visibili dall’Utente

Gli unici che possono essere usati direttamente (con il loronome) quando si programma in linguaggio macchina (oassembler)

Possono contenere dati o indirizzi

Nel caso contengano indirizzi, possono essere

puntatori direttiregistri-indice: per ottenere l’indirizzo effettivo, occorreaggiungere il loro contenuto ad un indirizzo basepuntatori a segmento: se la memoria e divisa in segmenti,contengono l’indirizzo di inizio di un segmento (occorrera poianche un offset all’interno del segmento)puntatori a stack: puntano alla cima di uno stack

Page 25: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Registri Visibili dall’Utente

Gli unici che possono essere usati direttamente (con il loronome) quando si programma in linguaggio macchina (oassembler)

Possono contenere dati o indirizzi

Nel caso contengano indirizzi, possono essere

puntatori direttiregistri-indice: per ottenere l’indirizzo effettivo, occorreaggiungere il loro contenuto ad un indirizzo basepuntatori a segmento: se la memoria e divisa in segmenti,contengono l’indirizzo di inizio di un segmento (occorrera poianche un offset all’interno del segmento)puntatori a stack: puntano alla cima di uno stack

Page 26: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Registri Interni

Registro dell’indirizzo di memoria

Memory Address Register, o MARcontiene l’indirizzo della prossima operazione dilettura/scrittura

Registro di memoria temporanea

Memory Buffer Register, o MBRcontiene i dati da scrivere in memoria, o fornisce lo spazio dovescrivere i dati letti dalla memoria

Registro dell’indirizzo di input/output

I/O address register

Registro di memoria temporanea per l’input/output

I/O buffer register

Page 27: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Registri di Controllo e Stato

Contatore di ProgrammaProgram Counter, o PCcontiene l’indirizzo di un’istruzione da prelevare dalla memoria

Registro di IstruzioneInstruction Register, o IRcontiene l’istruzione prelevata piu di recente

Stato di ProgrammaProgram Status Word, o PSWcontiene le informazioni di stato, ad es: interrupt disabilitati

Codici di condizione (o flag)singoli bit settati dal processore come risultato di operazioniesempi: risultato positivo, negativo, uguale a zero, trabocco(overflow), ...

Vengono letti/modificati in modo implicito da opportuneistruzioni assembler

esempio: una jump modifica il PC

Page 28: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Esecuzione di Istruzioni

Due passi

Il processore legge (preleva, fase di fetch) istruzioni dallamemoria (principale)Il processore esegue ogni istruzione prelevata

Page 29: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Prelievo ed Esecuzione di Istruzioni

Il processore preleva l’istruzione dalla memoria principale

Il PC mantiene l’indirizzo della prossima istruzione daprelevare

Il PC e incrementato dopo ogni prelievo

Se l’istruzione contiene una jump, il PC verra ulteriormentemodificato dall’istruzione stessa

Page 30: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Registro dell’Istruzione

L’istruzione prelevata viene caricata nell’IR

Categorie di istruzioni

Interazione tra processore e memoriaInterazione tra processore e input/outputManipolazione di dati (include operazioni aritmetiche)Controllo (modifica del PC)

Page 31: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Caratteristiche di una Macchina Ipotetica

Page 32: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Esempio di Esecuzione di un Programma

Page 33: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Interruzioni

Interrompono la normale esecuzione sequenziale del processore

come conseguenza, viene eseguito del software “di sistema”,che tipicamente non e stato scritto dall’utente che staeseguendo un certo programma

Le cause sono molteplici, e danno luogo a diverse classi diinterruzioni:

da programmada timerda I/Oda fallimento hardware

Page 34: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Classi di Interruzioni

Interruzioni da input/output

generate dal controllore di un dispositivo di input/outputper la maggior parte, i dispositivi di input/output sonopiu lenti del processorequindi, il processore deve mettersi in pausa per aspettare che ildispositivo completi l’operazione correntesegnalano il completamento o l’errore di un’operazione di I/O

Interruzioni di programma, causate da:

overflowdivisione per 0riferimento a indirizzo di memoria fuori dallo spazio disponibileal programmatentativo di esecuzione di un’istruzione (macchina) illegale

Page 35: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Classi di Interruzioni

Interruzioni da input/output

generate dal controllore di un dispositivo di input/outputper la maggior parte, i dispositivi di input/output sonopiu lenti del processorequindi, il processore deve mettersi in pausa per aspettare che ildispositivo completi l’operazione correntesegnalano il completamento o l’errore di un’operazione di I/O

Interruzioni di programma, causate da:

overflowdivisione per 0riferimento a indirizzo di memoria fuori dallo spazio disponibileal programmatentativo di esecuzione di un’istruzione (macchina) illegale

Page 36: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Classi di Interruzioni

Interruzioni da timer

generate da un timer interno al processorepermettono al sistema operativo di eseguire alcune operazioniad intervalli regolari

Interruzioni da fallimento HW

Improvvisa mancanza di potenza (power failure)errore di parita nella memoria

Page 37: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Fase di Interruzione

Ad ogni ciclo fetch-execute, viene anche controllato sec’e stata un’interruzione

Se cosı e, il programma viene sospeso e viene eseguita unafunzione che gestisce l’interruzione (interrupt-handler routine)

Page 38: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Interruzioni: Trasferimento del Controllo

L’interrupt handler e una funzione particolare: nel programmautente non era prevista

Entra in gioco il sistema operativo: salva le informazioni(almeno registro di stato e program counter) e poi setta ilprogram counter

normalmente, questo lo fa o il programmatore (se scrivedirettamente in assembler) o il compilatore: e una chiamata afunzionesolo che stavolta la funzione non e stata scritta dalprogrammatore o dal compilatore: e “di sistema”inoltre, nel punto in cui avviene questa “chiamata”, ilprogramma utente non prevedeva affatto di effettuare lachiamata all’interrupt handler!infine, per funzioni “normali” salvare anche il registro di statoe solitamente superfluo, qui puo essere importante

Page 39: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Interruzioni: Trasferimento del Controllo

Page 40: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Interruzioni: Trasferimento del Controllo

Page 41: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Interruzioni: Modifiche a Memoria e Registri

Il processore sta eseguendo l’istruzione all’indirizzo N quandoarriva un’interruzione, da gestire con l’handler all’indirizzo Y

Page 42: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Interruzioni: Modifiche a Memoria e Registri

L’handler e completato, si torna all’indirizzo N + 1

Page 43: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Interruzioni Disabilitate

Page 44: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Interruzioni: Sequenziali ed Annidate

Page 45: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

I/O Programmato

Il piu vecchio modo di fare I/O

L’azione viene effettuata dal modulo diI/O, non dal processore

Setta i bit appropriati sul registro di statodell’I/O

Niente interruzioni

Il processore controlla lo statusfinche l’operazione non e completa

Page 46: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

I/O da Interruzioni

E un modo un po’ piu moderno per fareI/O

Il processore viene interrotto quando ilmodulo I/O e pronto a scambiare dati

Il processore salva il contesto delprogramma che stava eseguendo ecomincia ad eseguire il gestoredell’interruzione

Non c’e inutile attesa

Tuttavia, consuma molto tempo diprocessore, dal momento che ogni singolodato letto o scritto deve passare per ilprocessore

Page 47: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Programma: Flusso di Controllo

Page 48: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Programma: Flusso di Controllo

Page 49: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Programma: Flusso di Controllo

Page 50: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Accesso Diretto in Memoria

E il metodo di I/O usato neicomputer attuali

Le istruzioni di I/O tipicamenterichiedono di trasferire informazionitra dispositivo di I/O e memoria

Trasferisce un blocco di datidirettamente dalla/alla memoria

Un’interruzione viene mandataquando il trasferimentoe completato

Piu efficiente

Page 51: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Multiprogrammazione

Un processore deve eseguire piu programmicontemporaneamente

La sequenza con cui i programmi sono eseguitidipende dalla loro priorita e dal fatto che siano omeno in attesa di input/output

Alla fine della gestione di un’interruzione, ilcontrollo potrebbe non tornare al programma cheera in esecuzione al momento dell’interruzione

Page 52: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Gerarchia della Memoria

Dall’alto verso il basso

Diminuisce la velocita di accesso

Diminuisce il costo al bit

Aumenta la capacita

Diminuisce la frequenza di accessoalla memoria da parte delprocessore

Page 53: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Gerarchia della Memoria: Memoria Secondaria

Corrisponde all’outboard eall’offline storage

Memoria “ausiliaria” ed “esterna”

Non volatile: se si spegne ilcomputer, il contenuto rimane

Usata per memorizzare i filescontenenti programmi o dati

Page 54: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Gerarchia della Memoria: Memoria Cache

Anche nell’inboard memory ci sonoimportanti differenze di velocita

Infatti, la velocita del processoree maggiore della velocita di accessoalla memoria principale

Per evitare eccessivi tempi diattesa, tutti i computer hanno unamemoria cache

Memoria piccola e veloce, chesfrutta il principio di localita

Page 55: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Cache e Memoria Principale

Page 56: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Cache: Nozioni di Base

Contiene copie di porzioni della memoria principale

Il processore prima controlla se un dato e nella cache

Se no, il corrispondente blocco di memoria principale vienecaricato nella cache

Siccome vale la localita dei riferimenti, e probabile che il datoappena caricato serva ancora nell’immediato futuro

in generale, i futuri riferimenti in memoria ricadrannoprobabilmente nel blocco appena caricato

Gestione totalmente demandata all’hardware

il programmatore non “vede” la cache, neanche se usal’assemblerquindi, non la “vede” neanche un compilatoree neanche il sistema operativo, che pero la “imita” spesso

Page 57: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Cache vs. Memoria Principale

2n

K >> C ; |Tag | = log22n

K ; tipicamente, K = 4

Page 58: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Lettura dalla Cache

Page 59: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Cache: Nozioni di Base

Capacita della cache

cache anche piccole hanno un grande impatto sulleperformance

Misura dei blocchi

i dati scambiati tra memoria e cache sono in quantita multipledi un bloccoincrementare la misura del blocco aumenta il numero di accessiriuscitima incrementarla troppo e controproducente: saranno di piu idati che vengono rimossiil che abbassa la probabilita di accesso riuscito

Page 60: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Cache: Nozioni di Base

Funzione di mappatura

determina la locazione della cache nella quale andra messo ilblocco proveniente dalla memoria

Algoritmo di rimpiazzamento

sceglie il blocco da rimpiazzarealgoritmo Least-Recently-Used (LRU): si rimpiazza il bloccousato meno di recente

Politica di scrittura

determina quando occorre scrivere in memoriapuo accadere ogni volta che un blocco viene modificatopuo accadere quando il blocco e rimpiazzatooccorre minimizzare le operazioni di scritturaquesto vuol dire che la memoria puo trovarsi in uno stato“obsoleto”, ovvero non in linea con il contenuto della cache

Page 61: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Sistema Operativo

Sfrutta le risorse hardware di un sistema computerizzato

uno o piu processorimemoria primaria (RAM)memoria secondaria (dischi)dispositivi di input/output

Il tutto per fornire un insieme di servizi agli utenti

Page 62: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Strati e Utenti

Page 63: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Servizi Offerti da un SO

Esecuzioni di programmi

app(licazioni)servizianche piu applicazioni e servizi contemporaneamente

Accesso ai dispositivi di input/output

nel caso dei dispositivi di memoria di massa, tramite filesystem

Accesso al sistema operativo stesso

shell

Sviluppo di programmi

compilatori, editor e debuggersystem callsvisione semplificata della memoria RAM

Page 64: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Servizi Offerti da un SO

Rilevamento di e reazione ad errori

errori di hardware interno ed esternoerrori softwarerichiesta di un applicativo non soddisfacibile

Accounting (chi fa cosa)

collezione di statistiche dell’uso del sistemamonitoraggio delle performanceusato per capire cosa occorre migliorareusato per far pagare in base all’uso del sistema

Page 65: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Sistema Operativo

Un programma che controlla l’esecuzione dei programmiapplicativi

Un’interfaccia tra le applicazioni e l’hardware

Obiettivi di un sistema operativo

ConvenienzaEfficienzaCapacita di evolvere

Page 66: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Sistema Operativo

Responsabile della gestione delle risorse

funziona allo stesso modo del software “normale”e un programma in esecuzioneconcede il controllo del processore ad altri programmi

Page 67: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Il Kernel

La parte di sistema operativo che si trova sempre in memoriaprincipale

Contiene le funzioni piu usate

Letteralmente, sta per “nucleo”

Page 68: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Evoluzione dei SO

I sistemi operativi “primitivi” (anni Quaranta) erano moltodiversi da quelli attuali

Evoluzioni dovute principalmente a:

in seguito ad aggiornamento dell’hardware, o a nuovi tipi dihardwarenuovi servizicorrezione di errori

http://www.computerhistory.org/timeline/

Page 69: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Storia dei SO

Computazione seriale (anni Quaranta)

nessun sistema operativoper fornire comandi ad un computer, si usavano speciali“console” con spie luminose ed interruttori, e una stampanteper output

Page 70: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Storia dei SO

Computazione seriale (anni Quaranta)nessun sistema operativoper fornire comandi ad un computer, si usavano speciali“console” con spie luminose ed interruttori, e una stampanteper output

gia all’inizio l’input viene parzialmente semplificato condispositivi per leggere schede perforate (esistenti gia da 2secoli)

Page 71: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Storia dei SO

Semplice sistema non interattivo o batch (anniCinquanta/Sessanta)

programma esterno di monitoraggiosoftware per controllare sequenze di eventipossibilita di raggruppare lavori (jobs) da eseguire insiemeil programma, una volta concluso, ritorna il controllo alprogramma esterno di monitoraggio

Linguaggio di controllo dei job

da istruzioni al monitorche compilatore usareche dati di input usare

Page 72: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Caratteristiche Hardware

Protezione della memoria

non permette che la zona di memoria contenente il monitorvenga modificata

Timer

impedisce che un job monopolizzi l’intero sistema

Istruzioni privilegiate

alcune istruzioni macchina possono essere eseguite solo dalmonitorinterruzionii primi modelli di computer non le avevano

Page 73: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Protezione della Memoria

I programmi utente vengono eseguiti in modalita utente

alcune istruzioni non possono essere eseguite

Il monitor viene eseguito in modalita sistema

o modalita kernelle istruzioni privilegiate possono essere eseguitele aree protette della memoria possono essere accedute

Page 74: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Sistemi Batch: Sottoutilizzazione

Il 96% del tempo e sprecato ad aspettare i dispositivi di I/O

Page 75: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Programmazione Singola

Il processore deve aspettare che le istruzioni di I/O sianocompletate prima di procedere

Page 76: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Multiprogrammazione

Se un job deve aspettare che si completi dell’I/O, allora ilprocessore puo passare ad un altro job

Page 77: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Multiprogrammazione

Page 78: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Esempio

Page 79: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Istogrammi di Utilizzo

Page 80: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Uso del Processore

Prime 4 righe: media tra le percentuali del uniprogramming edel multiprogramming

c’e un errore, il valore per la CPU uniprogramming e 30%(media tra 70%, 10%, 10%)

Elapsed time: tempo per vedere completati tutti e 3 i job

Throughput: numero job completatiore

Mean response time: media dei tempi di completamento (nelcaso di uniprogramming: 5, 20, 30 → 18.3)

Page 81: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Sistemi Time Sharing

Letteralmente, sistemi a condivisione di tempo (dagli anniSettanta)

Uso della multiprogrammazione per gestirecontemporaneamente piu jobs interattivi

Il tempo del processore e condiviso tra piu utenti

Piu utenti contemporaneamente accedono al sistema tramiteterminali

Page 82: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Batch vs. Time Sharing

Batch Time SharingScopo principale Massimizzare l’uso del

processoreMinimizzare iltempo di risposta

Provenienza delledirettive al SO

Comandi del job controllanguage, sottomessicon il job stesso

Comandi dati daterminale

Page 83: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

CTSS: Compatible Time-Sharing System

Sistema operativo anni ’60 che supportava il time sharing

Page 84: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Storia dei SO

Computazione seriale (anni Quaranta)

Semplice sistema non interattivo o batch (anniCinquanta/Sessanta)

multiprogrammazione

Time-Sharing: sistemi a condivisione di tempo (dagli anniSettanta)

Page 85: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Storia dei SO: Risultati piu Importanti

Processi

Gestione della memoria

Sicurezza e protezione delle informazioni (privacy)

Gestione dello scheduling e delle risorse

Strutturazione del sistema

Page 86: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Dal Job al Processo

Il concetto di processo include sia qello di job non-interattivoche quello di job interattivo

Incorpora anche un altro tipo di job che comincio amanifestarsi dagli anni Settanta: quello transazionalereal-time

ad es.: prenotazione biglietti aerei

Un’unita di attivita caratterizzata da:

un singolo flusso (thread) di esecuzioneuno stato correnteun insieme di risorse di sistema ad esso associate

Page 87: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Multiprogrammazione dei Processi: Difficolta

Errori di sincronizzazione

gli interrupt si perdono o vengono ricevuti 2 volte

Violazione della mutua esclusione

se 2 processi vogliono accedere alla stessa risorsa, ci possonoessere problemi

Programmi con esecuzione non deterministica

un processo accede ad una porzione di memoria modificata daun altro processo

Deadlock (stallo)

un processo A attende un processo B che attende A

Page 88: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Gestione della Memoria

Isolamento dei processi

Protezione e controllo degli accessi

Gestione (compresa allocazione/deallocazione) automatica

Supporto per la programmazione modulare (stack)

Memorizzazione a lungo termine

Metodi attuali: paginazione + memoria virtuale

Page 89: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Protezione dell’Informazione e Sicurezza

Disponibilita (availability)

il dover proteggere il sistema contro l’interruzione di servizio(DoS attacks)

Confidenzialita

garanzia che gli utenti non leggano informazioni per le qualinon hanno l’autorizzazione

Integrita dei dati

protezione dei dati da modifiche non autorizzate

Autenticita

il dover verificare l’identita degli utenti, o la validita dimessaggi e dati

Page 90: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Pianificazione e Gestione delle Risorse

Equita (fairness)

dare accesso alle risorse in modo egualitario ed equo

Velocita di risposta differenziata

a seconda del tipo di processo

Efficienza

massimizzare l’uso delle risorse per unita di tempo(throughput), minimizzare il tempo di risposta, e servire ilmaggior numero di utenti possibile

Page 91: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Elementi Principali di un SO

Page 92: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Struttura del Sistema Operativo

Il sistema viene visto come una serie di livelli

Ogni livello effettua un sottoinsieme delle funzioni del sistema

Ogni livello si basa sul livello immediatamente piu in basso,che effettua alcune operazioni di livello piu basso

Decomposizione del problema in vari sottoproblemipiu semplici

Page 93: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Livelli

Livello 1

circuiti elettricigli oggetti sono registri, celle di memoria, porte logichele operazioni sono, ad esempio, resettare un registro o leggereuna locazione di memoria

Livello 2

insieme delle istruzioni macchinaoperazioni come add, subtract, load, and store

Livello 3

aggiunge il concetto di procedura (o subroutine), conoperazioni di chiamata e ritorno

Livello 4

interruzioni

Page 94: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Livelli: Multiprogrammazione

Livello 5

processo come programma in esecuzionesospensione e ripresa dell’esecuzione di un processo

Livello 6

dispositivi di memorizzazione secondariatrasferimento di blocchi di dati

Livello 7

crea uno spazio logico degli indirizzi per i processiorganizza lo spazio degli indirizzi virtuali in blocchi

Page 95: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Livelli: Dispositivi Esterni

Livello 8

comunicazioni tra processi

Livello 9

salvataggio di lungo termine di file con nome

Livello 10

accesso a dispositivi esterni usando interfacce standardizzate

Livello 11

associazione tra identificatori interni ed esterni

Livello 12

supporto di alto livello per i processi

Livello 13

interfaccia utente

Page 96: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Architettura di UNIX

Page 97: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Kernel Tradizionale di UNIX

Page 98: Sistemi Operativi Modulo I - uniroma1.ittwiki.di.uniroma1.it/pub/SO/SO1213AL/Sistemi... · Sistemi Operativi e un corso a 2 facce lo stesso vale anche per Basi di Dati Da un punto

Kernel Moderno di UNIX