• Non ci sono risultati.

Fondamenti di Informatica

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti di Informatica"

Copied!
4
0
0

Testo completo

(1)

Fondamenti di Informatica

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

FONDAMENTI DI INFORMATICA

Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine

Gestione dei processi

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà dell’autore prof. Pier Luca Montessoro, Università degli Studi di Udine.

Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione.

Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte degli autori.

L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L’autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell’informazione).

In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste slide.

In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali.

Nota di Copyright

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 3

Processi

• Chiameremo PROCESSO, TASK o JOB un

programma in esecuzione

• Un processo è identificato da un PID (Process IDentifier - un numero)

• Ad ogni processo è associato un Process Control Block (PCB)

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 4

Process Control Block

• Contiene tutte le informazioni necessarie al funzionamento del processo:

– identificatore del processo e del proprietario – stato di avanzamento

– contesto (registri e flag della CPU)

– priorità e altre informazioni per lo scheduling – memoria allocata

– informazioni contabili (es. CPU usata, limiti, ecc.)

– risorse allocate (dispositivi hw, file, ecc.) – ...

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 5

Programmi in memoria

• Monoprogrammazione: un solo programma alla volta può occupare la memoria

• Multiprogrammazione: più programmi possono essere presenti

contemporaneamente in memoria

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 6

Esecuzione dei programmi

• Monotasking: un solo programma in esecuzione per volta

• Multitasking: più programmi in

esecuzione simultaneamente

(2)

Fondamenti di Informatica

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 7

Utenti

• Monoutente (“single user”): un singolo utente per volta

• Multiutente (“multiuser”): più utenti possono lavorare contemporaneamente

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 8

Monitor

• Per terminali intelligenti e console di controllo di elettrodomestici ed apparecchiature

– semplice

– monotasking, monoutente

– legge comandi dalla tastiera e invia messaggi sul video o sul display – normalmente residente in ROM

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 9

input (card reader)

elaborazione

(CPU) output

(printer)

Batch

Ancora in uso per applicazioni particolari, in cui il multitasking non è possibile.

Quando le CPU erano molto costose e non esisteva ancora la tecnologia per il multitasking, permetteva di massimizzare l'utilizzo dei calcolatori

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 10

P

1

P

2

P

3

i

1

i

2

i

3

c

1

c

2

c

3

o

1

o

2

o

3

i input c elaborazione o output

Batch

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 11

input elaborazione

elaborazione

elaborazione output

Sottosistema di ingresso

CPU principale per l'elaborazione

Sottosistema di uscita interrupt

interrupt

Multiprogrammazione

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 12

P

3

i

3

c

3

o

3

P

1

i

1

c

1

o

1

i

2

c

2

o

2

P

2

Input i

1

CPU

i

2

i

3

Output o

1

o

2

o

3

c

1

c

2

c

3

Multiprogrammazione

(3)

Fondamenti di Informatica

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 3

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 13

Multitasking

• Consente l’interattività senza lasciare inattiva la CPU

• Si appoggia su:

– multiprogrammazione (coesistenza di più programmi in memoria)

⇒memoria virtuale

– condivisione della capacità elaborativa della CPU (che può eseguire una sola istruzione alla volta)

⇒time-sharing

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 14

Come funziona il multitasking?

• Ogni processo “vede” una “macchina virtuale”:

– set di istruzioni disponibili leggermente ridotto (alcune istruzioni sono riservate al sistema operativo)

– memoria virtuale

– accesso alle periferiche esclusivamente tramite librerie di sistema

– protezioni e funzioni di lock nel file system – multiplexing della CPU (la velocità di elaborazione

dipende quindi dal carico effettivo, cioè da quante macchine virtuali sono attive)

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 15

Time-sharing

• Sistema multiprogrammato con multiplexing della CPU che consente il multitasking con una singola CPU

• Ogni processo viene eseguito finché:

– non si esaurisce la sua time slice – non esegue un'operazione di I/O

• Quando un processo viene interrotto:

– il S.O. ne salva il contesto (registri, ed in particolare la Processor Status Word - PSW)

– il processo successivo in ordine di priorità viene riattivato (resumed)

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 16

Time-sharing

process A CPU

process B process C process D

interrupt resume

suspend

Quando la CPU riceve l'interrupt per l'esaurimento del time slice, o quando il processo in esecuzione si pone in wait per I/O, viene attivato lo scheduler che decide quale processo deve essere posto in esecuzione

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 17

Time-sharing

execute

blocked ready

richiesta di I/O

esaurimento time slice

schedulazione

termine operazione di I/O

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 18

o

2

i

3

P

3

c

3

P

1

i

1

c

1

i

2

c

2

P

2

CPU

c

1

c

2

c

3

I/O proc. 1 i

1

I/O proc. 2 i

2

c

1

c

2

c

3

o

2

c

2

i

3

o

1

o

1

c

1

o

3

o

3

c

3

Time-sharing

(4)

Fondamenti di Informatica

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 4

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 19

Elapsed time vs. CPU time

• Elapsed time

– tempo “utente” trascorso tra l’attivazione del processo e il suo completamento

• CPU time

– tempo totale per il quale il processo ha impegnato la CPU

CPU time ≤ Elapsed time

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 20

Confronto dell'efficienza

Batch

Multiprog.

Time-sharing

i1 i2 i3

c1 c2 c3

o1 o2 o3

i1 i2 i3

o1 o2 o3

c1 c2 c3

i3

c1

c2 c3

i1

i2

c1

c2 c3

o2

o1

o3

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 21

input (file di comandi)

elaborazione time-sharing

(CPU)

output (file di log)

Batch e time-sharing

• L'elaborazione batch esiste ancora nei sistemi time-sharing:

• Utile per elaborazioni lunghe (anche ore o giorni): non richiede alcun dispositivo di I/O (es. terminale) dedicato

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 22

Programmi in background

• Via di mezzo tra batch e interattivo:

– permettono di continuare a lavorare in quanto non monopolizzano il terminale

– utilizzano il terminale per l'output, e talvolta anche per l'input

– sono normalmente dei sottoprocessi: la loro esistenza è legata all'esistenza del processo che li ha generati

– comunissimi nei sistemi con interfaccia a window:

il programma lanciato effettua l'I/O in una finestra indipendente da quella da cui è stato attivato

Fondamenti di Informatica - Gestione dei processi

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 23

Real-time

• I dati devono essere elaborati entro tempi vincolanti, determinati dalla velocità di funzionamento degli elementi fisici esterni che interagiscono con il processore

• Applicazioni:

– controllo di macchinari e servomeccanismi

– processori ausiliari per sistemi di I/O ad alta velocità, es. dischi, grafica (anche giochi)

• È incompatibile con il time-sharing, in quanto

non è ammissibile che un maggior carico del

sistema allunghi i tempi di elaborazione dei dati

Riferimenti

Documenti correlati

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e