Estratto del documento

Appunti di Sistemi Operativi

Bimbati Alan

Contents

1 Introduzione 2

1.1 Classificazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Sistemi Batch Monoprogrammati . . . . . . . . . . . . . . . . 2

1.3 Sistemi Multiprogrammati . . . . . . . . . . . . . . . . . . . . 2

1.3.1 Sistemi Multiprogrammati con Spooling . . . . . . . . 3

1.4 Time-Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.5 Overhead per la gestione del multi-tasking . . . . . . . . . . . 3

1.6 Sistemi in tempo reale . . . . . . . . . . . . . . . . . . . . . . 4

1.7 Architettura di un sistema di elaborazione . . . . . . . . . . . 4

1.8 Funzionamento del Meccanismo di Interruzione . . . . . . . . 4

1.9 Meccanismi di Protezione . . . . . . . . . . . . . . . . . . . . 5

1.9.1 Stato utente . . . . . . . . . . . . . . . . . . . . . . . . 5

1.9.2 Supervisore (Kernel Mode) . . . . . . . . . . . . . . . 5

1.9.3 Transazione Stato Utente - Supervisore . . . . . . . . 6

2 Gestione dei processi 6

2.1 Direct Memory Access (DMA) . . . . . . . . . . . . . . . . . 6

2.2 Struttura dei Sistemi Operativi . . . . . . . . . . . . . . . . . 6

2.3 Processi concorrenti . . . . . . . . . . . . . . . . . . . . . . . 7

2.4 Tipi di interazione tra Processi . . . . . . . . . . . . . . . . . 7

2.5 Sincronizzazione . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.6 Nucleo di un sistema a processi . . . . . . . . . . . . . . . . . 8

2.7 Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.7.1 Scheduling FIFO . . . . . . . . . . . . . . . . . . . . . 9

2.7.2 Scheduling SJF (Shortest Job First) . . . . . . . . . . 9

2.7.3 Scheduling Round Robin . . . . . . . . . . . . . . . . 9

2.7.4 Scheduling con priorita’ . . . . . . . . . . . . . . . . . 10

3 Thread 10

3.1 Implementazione dei thread . . . . . . . . . . . . . . . . . . . 11

4 Semafori 11

4.1 Semafori con multiprocessori . . . . . . . . . . . . . . . . . . 12

1

1 Introduzione

Un sistema operativo e’ un codice scritto in parte in C in parte in Assem-

bly e serve ad interfacciare l’hardwere con il softwere. Esso inoltre serve a

facilitare l’utilizzo di una macchina e garantisce l’efficienza del suo utilizzo.

1.1 Classificazioni

Organizzazione interne dei processi

• Monoprogrammati: l’esecuzione avviene per un programma alla volta

• Multiprogrammati: piu’ programmi vengono eseguiti contemporanea-

mente

• Time-sharing: in un arco di tempo piu’ programmi sono eseguiti ”con-

temporaneamente”

In base alla visibilit dell’utente

• Batch: sistemi per l’esecuzione di ”lotti” di programmi (non piu’ usati)

• Interattivi: sistemi che interagiscono con l’utente

• Real-time: sistemi che richiedono risorse ”al momento”, esempio: sis-

tema di un Aereo

• Dedicati: sistemi specializzati, esempio: Android

• Distribuiti: sistemi non centralizzati

1.2 Sistemi Batch Monoprogrammati

Questi sistemi non sono interattivi, sono gestiti tramite lotti fisici. In questo

modo il processore ha un utilizzo inefficiente in termini di tempo. Infatti

l’esecuzione non richiede molto tempo, al contrario per della preparazione

del processo.

Le periferiche sono notevolmente piu’ lente dell’esecuzione del processore,

ecco perche’ l’esecuzione e’ molto piu’ veloce della preparazione.

1.3 Sistemi Multiprogrammati

I programmi vengono gestiti contemporaneamente. Questo permette un’ottimizzazione

dell’uso delle risorse; possibilit di sovrapporre operazioni diverse nel tempo;

multi-tasking

Vantaggio: riduzione del tempo globale dei processi

Svantaggio: aumento del tempo di risposta per un singolo programma

2

1.3.1 Sistemi Multiprogrammati con Spooling

Lo spooling permette di gestire task di tipo differente (I/O), cosi’ da creare

una sorta di pipeline e quindi velocizzare l’esecuzione dei processi.Lo spool-

ing sovrappone le istruzioni di I/O con quelle di calcolo.

1.4 Time-Sharing

Per ogni processo il S.O. assegna ciclicamente un intervallo di tempo della

CPU per cui quel processo viene eseguito.

Vantaggio: maggior interattivita’, il processo viene eseguito circa la chia-

mata di quel processo, favorisce i tempi I/O bound

Svantaggio: ogni processo preso singolarmente richieder molto pi tempo di

risposta, penaliza i tempi CPU bound

Nota:

• I/O bound sono i processi che richiedono interazione con l’utente, pro-

cessi che richiedono risosrse di input o output (esempio word)

• CPU bound sono i processi che richiedono un lavoro da parte della

CPU (esempio calcoli matematici)

1.5 Overhead per la gestione del multi-tasking

L’overhead e’ il tempo necessario che richiede un processo per far eseguire

il processo successivo. Esso gestisce

• Il cambio di contesto, cioe’ l’esecuzione di un nuovo processo che<

Anteprima
Vedrai una selezione di 4 pagine su 13
Sistemi operativi Pag. 1 Sistemi operativi Pag. 2
Anteprima di 4 pagg. su 13.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 6
Anteprima di 4 pagg. su 13.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 11
1 su 13
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 alan.bimbati 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à degli Studi di Ferrara o del prof Schifano Fabio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community