Sei sulla pagina 1di 3

Multiprogrammati: capacità dei sistemi operativi di gestire in modo sicuro la presenza

contemporanea in memoria di sistema del codice di più programmi.

CPU BOUND: avrebbero più benefici dalla sostituzione della CPU che di altre parti del
sistema. Limitati dalla CPU.
I/O BOUND: i dati verso una periferica sono preponderanti rispetto all'uso della CPU stessa.
Limitati dalle capacità del sistema input output.

CPU, imposta l’operazione input output e a comandare l'inizio e saranno i controllori a


svolgere i compiti fino al completamento. Essa può essere dirottata a svolgere le operazioni
di un altro programma. Esempio sistemi batch.

Sistemi batch: caratterizzati da una continua elaborazione senza utente.


Installati su mainframe, utilizzati per operazioni ripetitive.

Sistemi operativi interattivi: sistemi in cui è condiviso l’uso delle unità centrale a più utenti
contemporaneamente: multiutente o multitasking: più operazioni contemporaneamente.
Per garantire ciò ci devono essere un buon mix di programmi I/O bound e CPU bound.

Time sharing: CPU viene assegnata a rotazione a tutti i sistemi per un certo periodo di
tempo(time slice),quando questo tempo scaduto, Premptive, si va a togliere la CPU, quindi
possono essere interrotti.

Kerwel mode=non sono interrompibili, che riguardano il nucleo del sistema operativo, quindi
no preemptive.
User mode sono preemptive.

2 VIDEO

1 core eseguie 1 operazioni


Processo= rappresentazione dinamica di ciò che il sistema operativo. Processo=
programma in evoluzione. È stato caricato in Ram ed è pronto per essere eseguito.
PCB=process control block, cioè tabelle di informazioni del processo che è stato creato, che
vengono aggiornate dal sistema. Ogni processo ha un Pcb. Saranno su disco e poi su Ram.
Le informazioni della tabella sono:
PID=processo identificazione numero. (Tid)=thread cioè processi logici.
Processo state = stato del processo, vi è un valore che indica lo stato del processo.
Memory limits= gli indirizzi nei quali viene compreso il processo.
Priorità=indica la priorità di un processo.
Contesto(PC e registri)
Program counter: è un registro interno alla CPU è contiene l'indirizzo di memoria
dell'istruzione successiva che deve essere eseguita. Serve per quando un processo passa
in esecuzione a sospeso, (in Ram ci sono più processi), viene aggiornato il program counter.
Quando lo riprende guardando il programma counter sa da dove ripartire.
Registri

Deadlock=situazione di stallo
Shaid balr= un programma che applica algoritmo di scelta, chiamato schedulato a lungo
termine. Tipico dei sistemi batch.
Decide la quantità di programma il cui codice è presente contemporaneamente nella Ram.
Successivamente scegli quali trasferire alla lista ready, in attesa della CPU.
Le scelte dei programmi vanno fatti cercando di mantenere un giusto equilibrio tra processi
I/O bound e CPU bound.
Oppure facendo entrare processi che non avranno bisogno delle stesse risorse.
Short schindler.
Massimizzare Throughput= volume di produzione= numero di processi da eseguire nel
tempo e percentuale CPU.
Diminuire il tempo di completamento=tempo che va da quando un processo nasce fino a
quando more
Sci buchler= serve per far funzionare il tutto.
Classe
Long thermos scheduler= selezionare quali processi trasferire da disco a Ram
Short=decide quali programmi pronti e li mette in esecuzione
Throughput= volume di produzione= numero di processi da eseguire nel tempo e
percentuale CPU.
% utilizzo CPU
tempo di completamento=tempo che va da quando un processo nasce fino a quando more
Tempo di attesa

VIDEO 3
Scheduling CPU.
FCFS, i primi messi in coda vengono scelti per primo (first Come First Served)
FIFO first in first out

LIFO last in first output.

I puntatori ai pcb, quindi la lista da seguire è leggera.


Difetti:
Tempo di attesa alto.
Cambiando l'ordine dei processi il tempo medio dei processi può cambiare. Quindi ci sono
tempi di attesa lunghi.
Vantaggi
I vantaggi sono soprattutto nei sistemi batch

SKF= stima quale è il più corto e lo manda in esecuzione

SRTF = quello a cui rimane meno tempo di esecuzione

Starvation=Un processo molto lungo può non essere eseguito

Quindi

Eging= invecchiamento, viene modifica della priorità

Un time slice troppo lungo comporta che ci sono tempi di attesa troppo lunghi.
Time slice corto, devo interrompere un processo e metterlo in coda nella lista dei processi
pronti. (Cambio contesto) questo richiede tempo, quindi CPU rallentata.

Libro(gestione del processore p193) vedi classroom

Potrebbero piacerti anche