Estratto del documento

SISTEMI OPERATIVI – slides + videolezioni

A cura di Stefano Silvani

Contents

Lez. 1 - Concetti introduttivi - (prima parte) ........................................................................................... 4

Funzioni di un SO ................................................................................................................................. 4

Evoluzione dei Sistemi Operativi ......................................................................................................... 5

Lez. 2 - Concetti introduttivi - (seconda parte) ..................................................................................... 10

Lez. 3 - Concetti introduttivi - (terza parte) ........................................................................................... 25

Lez. 4 - Concetti introduttivi - (quarta parte) ........................................................................................ 38

Organizzazione di un SO .................................................................................................................... 38

Lez. 5 - Proprietà dei processi - (prima parte) ....................................................................................... 53

Stati di un processo ........................................................................................................................... 58

Rappresentazione dei processi .......................................................................................................... 63

Lez. 6 - Proprietà dei processi - (seconda parte) ............................................................................... 65

Cambio di contesto............................................................................................................................ 66

Scheduling dei processi ..................................................................................................................... 70

Operazioni sui processi ...................................................................................................................... 78

Lez. 7 - Proprietà dei processi - (terza parte) ........................................................................................ 82

Processi leggeri o thread ................................................................................................................... 82

Interazione tra processi ..................................................................................................................... 87

Lez. 8 - Proprietà dei processi - (quarta parte) ...................................................................................... 99

Strumenti di sincronizzazione ........................................................................................................... 99

Lez. 9 - Proprietà dei processi - (quinta parte) .................................................................................... 115

Modello ad ambiente locale ............................................................................................................ 118

Nucleo di sistema a processi ........................................................................................................... 125

Lez. 10 - Proprietà dei processi - (sesta parte) .................................................................................... 127

Dealock (blocco critico) ................................................................................................................... 130

Lez. 11 - Processi nel S.O. Unix ............................................................................................................ 140

Caratteristiche dei SO ...................................................................................................................... 140

Immagine di un processo: ............................................................................................................... 147

Gestione dei processi ...................................................................................................................... 148

Lez. 12 - Interazioni fra processi in Unix I ............................................................................................ 153

Interazioni fra processi in Unix II ..................................................................................................... 159

System call per l’uso dei segnali ...................................................................................................... 162

Lezione n.13: Interazioni fra processi in Unix II ................................................................................... 167

A cura di stefano Silvani UTIU – È fatto divieto di qualsiasi forma di riproduzione vendita e divulgazione del presente materiale senza previa

1

autorizzazione dell’autore.

Comunicazione: pipe ....................................................................................................................... 167

Lez. 14 - Threads nel S.O. Linux ........................................................................................................... 178

Primitive di gestione dio thread ...................................................................................................... 180

Sincronizzazione tra thread ............................................................................................................. 184

Lez. 15 - Sicronizzazione in Java .......................................................................................................... 192

Mutua esclusione in Java: ............................................................................................................... 195

Sincronizzazione diretta ................................................................................................................. 197

Lez. 16 - Gestione della memoria. Introduzione ................................................................................. 200

Analogie tra Gestione dell’unità centrale e Gestione della memoria centrale ............................... 200

Tecnica della virtualizzazione: Memoria Virtuale ........................................................................... 204

Rilocazione degli indirizzi................................................................................................................. 206

Lez. 17 - Gestione della memoria. Parametri caratterizzanti .............................................................. 209

Organizzaizone della memoria virtuale: .......................................................................................... 215

Allocazione della memoria fisica ..................................................................................................... 216

Lez. 18 - Gestione della memoria. Tecnica delle partizioni ................................................................. 217

Allocazione contigua ....................................................................................................................... 217

Dimensioni della memoria virtuale ................................................................................................. 218

Tecnica di partizione........................................................................................................................ 220

Lez. 19 - Gestione della memoria. Segmentazione ............................................................................. 229

Classificazione ................................................................................................................................. 229

Segmentazione a domanda ............................................................................................................. 240

Lez. 20 - Gestione della memoria. Paginazione (prima parte) ............................................................. 244

Lez. 21 - Gestione della memoria. Paginazione (seconda parte) ......................................................... 250

Paginazione su domanda ................................................................................................................. 255

Rimpiazzamento .............................................................................................................................. 259

Algoritmo second chance ................................................................................................................ 263

Lez. 22 - Gestione della memoria. Conclusioni ................................................................................... 265

Segmentazione paginata ................................................................................................................. 265

Lez. 23 - Gestione della memoria. Casi di studio ................................................................................. 268

Caso di studio unix........................................................................................................................... 271

Caso di studio windows ................................................................................................................... 274

Lez. 24 - Gestione dei dispositivi d'Ingresso/Uscita. Introduzione...................................................... 276

Compiti del sottosistema d’ingresso/usita ...................................................................................... 276

Architettura del sottosistema di I/O ............................................................................................... 283

Allocazione dei dispositivi ............................................................................................................... 288

Lez. 25 - Gestione dei dispositivi d'Ingresso/Uscita. Device drive ........................................................ 289

A cura di stefano Silvani UTIU – È fatto divieto di qualsiasi forma di riproduzione vendita e divulgazione del presente materiale senza previa

2

autorizzazione dell’autore.

Livello dipendente dai dispositivi .................................................................................................... 289

Lez. 26 - Gestione dei dispositivi d'Ingresso/Uscita. Conclusioni ......................................................... 300

Gestione canali DMA ....................................................................................................................... 302

Organizzazione fisica dei dischi ....................................................................................................... 306

Algoritmi di schedulazione .............................................................................................................. 309

Dischi RAID ...................................................................................................................................... 311

Lez. 27 - File system. Introduzione ...................................................................................................... 312

Livello dei dispositivi virtuali ........................................................................................................... 319

Lez. 28 - File system. Organizzazione .................................................................................................. 321

Livello fisico ..................................................................................................................................... 321

Metodi di accesso ............................................................................................................................ 324

Meccanismi di protezione ............................................................................................................... 326

Sistema di catalogazione ................................................................................................................. 327

Lez. 29 - File system. Unix (prima parte) ............................................................................................. 331

Lez. 30 - File system. Unix (seconda parte) ......................................................................................... 342

Domande di verifica: ........................................................................................................................... 351

A cura di stefano Silvani UTIU – È fatto divieto di qualsiasi forma di riproduzione vendita e divulgazione del presente materiale senza previa

3

autorizzazione dell’autore.

Lez. 1 - Concetti introduttivi - (prima parte)

Funzioni di un SO

Per capire bene le funzioni del SO guardiamo la figura sotto e vediamo come si colloca il SO con

riferimento alle altre componenti del sistema elaborativo

Gli utenti interagiscono col sistema secondo certe modalità tramite un terminale e possono richiedere

diverse funzioni del Sistema di elaborazione in generale – per esempio possono scrivere un programma

per essere compilato (ad esempio in java o in C) e poi il programma viene passato all’interprete etc...

Il SO consente di definire una macchina virtuale (più potente rispetto alla macchina HW) e mette a

disposizione dei programmi delle funzioni semplici mediante le quali i programmi possono usare le

risorse. Come se il SO creasse una macchina virtuale diversa dalla macchina HW dotata di un insieme

di risorse, potenzialità e funzioni superiori rispetto a quelle che ha la macchina stessa.

Questo sotto è uin breve richiamo alla parte relativ ai Componenti del sistema di programmazione:

 compilatori

 caricatori (loader)

 collegatori (linker)

 interprete

Un Sistema Operativo (S.O.) un insieme di programmi che operano sull’hardware di un calcolatore con

l’obiettivo di:

 semplificare lo sviluppo di programmi: nascondono le peculiarità dell’HW

 realizzare politiche di gestione delle risorse hardware: ci sono più utenti, questi hanno bisogno

di usare risorse dell’HW per esempio di utilizzare la CPU – il SO garantisce dei criteri di

assegnazione della CPU ai programmi che la richiedono. Stesso discorso vale per l’utilizzo della

memoria

Semplificare lo sviluppo di programmi:

A cura di stefano Silvani UTIU – È fatto divieto di qualsiasi forma di riproduzione vendita e divulgazione del presente materiale senza previa

4

autorizzazione dell’autore.

 Uso delle risorse HW (es. I/O) tramite system calls: chiamate di sistema sono funzioni che il SO

mette a disposizione dei programmi applicativi perchè attraverso queste funzioni vengono

usati i dispositivi del ns sistema di elabrazione. Per esempio: utente usa funzione di read o

write e sarà compito del SO sviluppare insieme di comandi che servono per pilorate il

dispositivo di I/O.

 Definizione di una macchina estesa (o virtuale): più potente della macchina GW perchè metter

a disposizioni delle funzioni per l’utente che servono per agire sull’HW del sistema di

elaborazione

 applicativo dall’hardware (trasparenza): indipendenza – ovvero una volta che l’utente esprime

i suoi programmi solo in temrini di funzioni del SO e poi il SO si proccupa di trasformare le

chiamate/richieste dell’utente in termini di gestione dell’HW è chiaro che l’app è indipendente

dal tipo di HW. Pensiamo al caso del SO “MSDOS” che si è diffuso come standard e tutte le app

venivamo sviluppate presupponendo di usare MSDOS. Le app erano sviluppate usando le

funzioni di questo SO. Questo ha consentito di avere un numero elevatissimo di macchine a

disposizione e di poter ridurre i costi delle app.

macchina virtuale: Es: controllare un floppy disk

- numerosi comandi: lettura, scrittura, movimento del braccio etc.

- Paramentri: indirizzo del blocco, numero di settori per traccia etc

- Condizioni di stato e di errore

Realizzare politiche di gestione delle risorse hardware:

- Evitare conflitti di accesso alle risorse

- Definire criteri (o politiche) con cui assegnare una risorsa a fronte di più richieste

contemporane

Evoluzione dei Sistemi Operativi

Elaborazione seriale:

- assenza di SO: i programmi venivano eseguiti in serie (uno dopo l’altro) non c’era SO, faceva

tutto il programmatore che attraverso la console introduceva i programmi direttamente e li

metteva in eseguzione. Era lui che gestiva il tempo di macchina. Era un uso particolare del

sistema di calcolo.. chi usava il calcolatore doveva essere un conoscitore delle logiche di

funzionamento del calcolatore stesso

- Controllo tramite consolle

- Prenotazione tempo di macchina

- Tempo di preparazione

Semplici sistemi batch monitor:

- residente in memoria centrale: si chiama “monitor” è un primo semplice SO che ha come

compito fondamentale il controllo dell’esecuzione dei programmi. I programmi non si

A cura di stefano Silvani UTIU – È fatto divieto di qualsiasi forma di riproduzione vendita e divulgazione del presente materiale senza previa

5

autorizzazione dell’autore.

inserivano più a mano ma tramite schede perforate e poi la gestione ed assegnazione delle

risorse veniva fatta (in modo seriale) tramite il monitor.

- tecnica batch: batch significa “pacco” ricorda il pacco di schede usate per inserire all’interno

del calcolatore il programma che doveva essere elaborato.

Vediamo velocmente lo schema dei sistema batch:

Sistemi monoprogrammati: significa che c’è un solo programma applicativo. Il monitor sta nella parte

alta (SO) della figura sotto. Comandare seguenza di esecuzione dei programmi aspettando che un

programma termini la propria esecuzione per poi lanciarne un altro.

Organizzazione della memoria in un sistema batch monoprogrammato: tutte le risorse si dedicano ad

un solo programma alla volta.

Sistemi monoprogrammati

- Bassa utilizzazione della CPU:

in fig sotto si vede uso CP da parte del programma (gialla) e il tempo di attesa della CPU che attende il

completamente della operazione di I/O e quindi vediamo che ci sono dei tempi (in blu) molto lunghi.

Ci sono delle evoluzioni nell’HW negli anni che hanno portato ad avere Sistemi di elaborazione più

avanzati.

CARATTERISTICHE HARDWARE:

- Anzitutto la memoria viene divisa in due parti: SO e programma di utente. Sono due are di

memoria che devono restare separate sopratutto perchè il programma di utente non deve

indirizzare zone che sono riservate al monitor. Quindi comincia a comparire un aspetto sempre

presente che è quello dei due stati: uno stato in cui opera il SO e uno stato in cui opera l’utente.

E l’utente quando opera in questo stato non può andare nella zona di memoria usata dal

monitor

- Compare il concetto di “timer”: per far

Anteprima
Vedrai una selezione di 10 pagine su 351
Appunti di Sistemi operativi: tutte le Lezioni Pag. 1 Appunti di Sistemi operativi: tutte le Lezioni Pag. 2
Anteprima di 10 pagg. su 351.
Scarica il documento per vederlo tutto.
Appunti di Sistemi operativi: tutte le Lezioni Pag. 6
Anteprima di 10 pagg. su 351.
Scarica il documento per vederlo tutto.
Appunti di Sistemi operativi: tutte le Lezioni Pag. 11
Anteprima di 10 pagg. su 351.
Scarica il documento per vederlo tutto.
Appunti di Sistemi operativi: tutte le Lezioni Pag. 16
Anteprima di 10 pagg. su 351.
Scarica il documento per vederlo tutto.
Appunti di Sistemi operativi: tutte le Lezioni Pag. 21
Anteprima di 10 pagg. su 351.
Scarica il documento per vederlo tutto.
Appunti di Sistemi operativi: tutte le Lezioni Pag. 26
Anteprima di 10 pagg. su 351.
Scarica il documento per vederlo tutto.
Appunti di Sistemi operativi: tutte le Lezioni Pag. 31
Anteprima di 10 pagg. su 351.
Scarica il documento per vederlo tutto.
Appunti di Sistemi operativi: tutte le Lezioni Pag. 36
Anteprima di 10 pagg. su 351.
Scarica il documento per vederlo tutto.
Appunti di Sistemi operativi: tutte le Lezioni Pag. 41
1 su 351
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher jstew di informazioni apprese con la frequenza delle lezioni di Sistemi operativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università telematica internazionale UNINETTUNO di Roma o del prof Ancilotti Paolo.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community