Parte II Processi e Thread

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Parte II Processi e Thread"

Transcript

1 Parte II Processi e Thread Sistemi Operativi - prof. Silvio Salza - a.a II - 1

2 Processi Concetto fondamentale per lo svluppo dei sistemi operativi, e di applicazioni complesse Permette di decomporre l applicazione in un insieme di processi sequenziali I processi vengono elaborati a rotazione sulla CPU Su di un sistema uniprocessore l elaborazione in realtà non è parallela ma pseudoparallela Il programmatore può concentrarsi sul singolo processo come se avesse a disposizione l intero sistema Solo le interazioni esplicite con gli altri processi devono essere considerate Sistemi Operativi - prof. Silvio Salza - a.a II - 2

3 Processi Solo un programma è attivo in ogni istante La multiprogrammazione virtualizza la CPU È come se ogni processo avesse una CPU per se Il SO mantiene sotto controllo lo stato dei processi Sistemi Operativi - prof. Silvio Salza - a.a II - 3

4 Creazione di processi I processi vengono creati per svolgere precisi compiti All atto della creazione il SO li prende in carico e ne fa avanzare l esecuzione, secondo precise politiche Processi di sistema e processi utente Situazioni in cui vengono creati processi Al bootstrap del SO Viene avviato un primo processo (iniziatore) Questo crea altri processi per i servizi del SO Alcuni processi accettano richieste dell utente Per servire una richiesta dell utente Per avviare l esecuzione di un job batch Sistemi Operativi - prof. Silvio Salza - a.a II - 4

5 Terminazione di processi I processi possono terminare per cause diverse e con modalità diverse Questo può avvenire con o senza il loro consenso Tipiche situazioni di terminazione Uscita normale (volontaria) Uscita per errore (volontaria) Fatal error (involontaria) Ucciso da un altro processo (involontaria) Sistemi Operativi - prof. Silvio Salza - a.a II - 5

6 Gerarchie di processi Un processo può creare un altro processo Processo genitore (parent process) Processo figlio (child process) I figli possono creare altri figli: crescete e riproducetevi Nell ambito della gerarchia i padri (e gli avi) conservano particolari diritti sui figli, per esempio quello di ucciderli UNIX ha un concetto chiaro e netto di gerarchia, e organizza i processi in process group In Windows il concetto è più sfumato: i padri possono in qualche modo cedere i loro diritti sui figli Sistemi Operativi - prof. Silvio Salza - a.a II - 6

7 Stati fondamentali di un processo Un processo si trova a rotazione in uno dei tre stati Running: è in esecuzione sulla CPU Ready: pronto ad eseguire appena gli viene concessa la CPU Blocked: in attesa di un evento per riprendere l esecuzione Sistemi Operativi - prof. Silvio Salza - a.a II - 7

8 Cambiamenti di stato I cambiamenti di stato sono indotti: Tra ready e running (e vice-versa): dallo scheduler, il processo del SO che assegna la CPU Tra running e blocked: dal verificarsi di un evento che causa il blocco, es. richiesta di I/O, attesa di segnale Tra blocked e ready: dal verificarsi dell evento di cui il processo è in attesa, es. fine I/O, ricezione di segnale In tutti i casi il cambiamento viene indotto da una trap o da una interruzione Le trap e le interruzioni vengono gestite dal (micro)kernel Sistemi Operativi - prof. Silvio Salza - a.a II - 8

9 Stati dei processi Oltre agli stati fondamentali esistono molti altri stati Definizioni sofisticate e dipendenti dal SO Tipicamente lo stato contiene informazioni su Comportamento del processo in tempi recenti Risorse possedute dal processo, e.g. memoria Priorità Alcuni esempi Sleeping Hybernate Sistemi Operativi - prof. Silvio Salza - a.a II - 9

10 Implementazione dei processi Il sistema operativo mantiene per ciascun processo tutte le informazioni necessarie a gestirlo Identificazione e gerarchia Risorse assegnate Stato del processo Stato della CPU etc. Le informazioni sono riunite in una apposita struttura, la Process Table La struttura differisce nei dettagli a seconda del SO Sistemi Operativi - prof. Silvio Salza - a.a II - 10

11 La Process Table Sistemi Operativi - prof. Silvio Salza - a.a II - 11

12 Thread In un processo è possibile distinguere due componenti Le risorse allocate al processo: files aperti, processi figli, etc. (vedi Process Table) La sua esecuzione: e tutti i dettagli relativi, stato della CPU, stack etc. È pensabile e vantaggioso avere più esecuzioni per lo stesso processo, che ne condividono le risorse Ciascuna di queste è denominata thread I moderni sistemi operativi supportano i thread Sistemi Operativi - prof. Silvio Salza - a.a II - 12

13 Thread e processi (a) Tre processi ciascuno con un unico thread (b) Un unico processo con tre thread Sistemi Operativi - prof. Silvio Salza - a.a II - 13

14 Thread e processi (2) Alcuni item sono condivisi da tutti i thread di uno stesso processo Altri sono replicati per ogni thread Il SO mantiene parte dell informazione a livello di thread Sistemi Operativi - prof. Silvio Salza - a.a II - 14

15 Gestione dello stack Ogni thread ha il proprio stack Tutte le variabili locali si mantengono distinte Sistemi Operativi - prof. Silvio Salza - a.a II - 15

16 Benefici del multithreading Creazione e terminazione di un thread molto più leggere Modularità e flessibilità delle applicazioni Implementazione di server concorrenti: creazione dinamica di un thread per ogni nuova richiesta di servizio gestione implicita della concorrenza Parallelismo di esecuzione: uno stesso processo può essere elaborato in parallelo da più processori Aumento del livello di multiprogrammazione: migliore utilizzazione della/e CPU Sistemi Operativi - prof. Silvio Salza - a.a II - 16

17 Esempio: Web server Il dispatcher riceve le richieste e le alloca Ogni richiesta viene assegnata ad uno worker Gli worker se non occupati dormono Sistemi Operativi - prof. Silvio Salza - a.a II - 17

18 Web server: schema del codice (a) Schema del codice del dispatcher (b) Schema del codice dello worker Sistemi Operativi - prof. Silvio Salza - a.a II - 18

19 Web server con thread: vantaggi Aumenta il parallelismo all applicazione Possibile servire più richieste contemporaneamente Quando alcuni thread sono bloccate, altri possono essere ready ed andare in esecuzione sulla CPU Semplifica lo sviluppo dell applicazione Tutti i dettagli dell elaborazione concorrente di più richieste sono gestite implicitamente Il programmatore non deve tener conto di questi dettagli Rende l esecuzione complessiva più leggera Sistemi Operativi - prof. Silvio Salza - a.a II - 19

20 Esempio: word processor Possibile avere un thread per ciascun documento aperto contemporaneamente Fanno tutti la stessa cosa su documenti diversi Possibile avere anche più thread per gestire un solo documento Gestione interfaccia Gestione dei backup periodici Riformattazione del documento ES Con tre documenti aperti su Power Point, posso controllare sul Task Manager, e vedo che ho 8 thread Sistemi Operativi - prof. Silvio Salza - a.a II - 20

21 Esempio: Power Point Erano aperti tre documenti Sistemi Operativi - prof. Silvio Salza - a.a II - 21

22 Dati processo Sistemi Operativi - prof. Silvio Salza - a.a II - 22

23 Dati thread Sistemi Operativi - prof. Silvio Salza - a.a II - 23

24 Comunicazione tra processi Processi e thread sono spesso cooperanti nell ambito di una stessa applicazione o di uno stesso sistema Per cooperare necessitano di Scambiarsi informazioni (dati, messaggi) Sincronizzarsi, per garantire la correttezza della esecuzione L assenza di sincronizzazione può condurre ad una esecuzione i cui risultati dipendono da circostanze esterne (es. ordine di scheduling) Sincronizzazione necessarie in presenza di condizioni di corsa (race conditions) Sistemi Operativi - prof. Silvio Salza - a.a II - 24

25 Condizioni di corsa: esempio Due processi cercano di accedere contemporaneamente alla stessa slot nella directory di spool Se lo scheduler ci mette lo zampino, possono finire per assegnarsi la stessa slot Sistemi Operativi - prof. Silvio Salza - a.a II - 25

26 Sezione critica Per evitare le condizioni di corsa occorre individuare una sezione critica nel codice di ciascuno dei due processi La sezione critica racchiude un insieme di operazioni la cui esecuzione non può essere interrotta Le condizioni di corsa si possono verificare se entrambi i processi si trovano nella sezione critica Occorre imporre la mutua esclusione nell accesso alla sezione critica Se un processo entra, l altro deve aspettare che esca Sistemi Operativi - prof. Silvio Salza - a.a II - 26

27 Condizioni per la mutua esclusione Per assicurare una soluzione corretta ed efficiente alla mutua esclusione occorre garantire le seguenti condizioni Mai due processi devono poter essere nella loro sezione critica contemporaneamente Deve funzionare indipendentemente dal numero e dalla velocità delle CPU Nessun processo al di fuori della sua sezione critica deve poter bloccare un altro processo Nessun processo deve poter aspettare indefinitamente per entrare nella sua sezione critica Sistemi Operativi - prof. Silvio Salza - a.a II - 27

28 Sezione critica e mutua esclusione Sistemi Operativi - prof. Silvio Salza - a.a II - 28

29 Corse critiche e stallo La mutua esclusione può solo essere garantita tramite meccanismi e primitive offerte dal SO Le soluzioni proposte devono aggirare due problemi tra loro contrastanti I processi devono poter essere bloccati per evitare che entrino in più di uno nella sezione critica L esistenza di situazioni di blocco anche temporaneo può causare situazioni di stallo e di attesa indefinita Purtroppo tutte le soluzioni proposte sono relativamente complesse, ed implicano un dispendio di risorse Sistemi Operativi - prof. Silvio Salza - a.a II - 29

30 Atomicità delle operazioni Un processo prima di entrare nella sezione critica deve effettuare due operazioni: 1. Controllare se la sezione è libera 2. Entrare nella sezione, se essa è libera Alle due operazioni corrispondono almeno due istruzioni macchina, in genere molte di più L elaborazione di un processo può essere interrotta dopo qualsiasi istruzione macchina L intera azione non è atomica cioè indivisibile, e questo può provocare situazioni scorrette Sistemi Operativi - prof. Silvio Salza - a.a II - 30

31 Corsa critica: esempio I due Processi A e B condividono una sezione critica e si alternano sulla sezione critica A controlla se la sezione critica è libera La sezione critica è libera e A memorizza l informazione L elaborazione di A viene interrotta Viene ripresa l elaborazione di B B controlla se la sezione critica è libera La sezione critica è libera e B memorizza l informazione B entra nella sezione critica B continua a lavorare nella sezione critica L elaborazione di B viene interrotta Viene ripresa l elaborazione di A A entra nella sezione critica (aveva già controllato) Sia A che B si trovano nella sezione critica Sistemi Operativi - prof. Silvio Salza - a.a II - 31

32 Soluzione ingenua Proteggere la sezione critica con un flag LOCK LOCK=0: sezione critica libera LOCK=1: sezione critica occupata Un processo prima di entrare 1. Controlla LOCK 2. Se LOCK=0 pone LOCK=1 3. Entra Siccome i passi 1. e 2. richiedono istruzioni distinte, la corsa critica si riproduce nell accesso a LOCK La soluzione non funziona Sistemi Operativi - prof. Silvio Salza - a.a II - 32

33 Alternanza stretta (busy waiting) Corretta ma estremamente inefficiente Un processo può attendere anche se l altro non è nella sezione critica Viola una delle condizioni Sistemi Operativi - prof. Silvio Salza - a.a II - 33

34 TSL (Test Set an Lock) Soluzione che richiede l aggiunta di una istruzione macchina In una sola azione ininterrompibile la TSL op1,op2 Copia il valore dell operando op2 in op1 Forza il valore di op2 ad 1 Sistemi Operativi - prof. Silvio Salza - a.a II - 34

35 Esempio: produttore - consumatore Buffer Produttore Consumatore Lavora se trova uno slot libero N slot Lavora se trova uno slot pieno I due processi condividono il buffer Il produttore scrive nel buffer se trova almeno una slot libera; se no attende Il consumatore legge dal buffer se trova almeno una slot piena; se no attende Sistemi Operativi - prof. Silvio Salza - a.a II - 35

36 Produttore - consumatore: problemi Una soluzione al problema deve garantire che 1. I due processi non manipolino contemporaneamente il buffer (sezione critica) 2. Il produttore vada in condizione di blocco quando il buffer è pieno 3. Il consumatore vada in condizione di blocco quando il buffer è vuoto 4. Il produttore venga risvegliato se è in blocco e si libera una slot 5. Il consumatore venga risvegliato se è in blocco e viene riempita una slot Sistemi Operativi - prof. Silvio Salza - a.a II - 36

37 Semafori Variabili intere di sistema non negative modificabili solo tramite due primitive atomiche (ininterrompibili): DOWN(S) S > 0 : S S - 1 S = 0 : il processo attende su S UP(S) S > 0 : S S + 1 S = 0 : S S + 1; risveglia i processi in attesa su S L esecuzione delle primitive UP e DOWN è garantita dal SO Sistemi Operativi - prof. Silvio Salza - a.a II - 37

38 Semafori binari Sono un caso particolare: S {0,1} Vengono usati per controllare l accesso ad una sezione critica: Quando la sezione critica è libera: S=1 Per entrare un processo fa DOWN(S), quindi S diventa 0 Se un processo trova S=0 si mette in attesa Quando il processo esce dalla sezione critica, fa UP(S) e sveglia un eventuale processo in attesa Sistemi Operativi - prof. Silvio Salza - a.a II - 38

39 Produttore-Consumatore con semafori Sistemi Operativi - prof. Silvio Salza - a.a II - 39

40 Scheduling L assegnazione della CPU ai processi (thread) che sono nello stato ready è fatta dal processo scheduler Vengono utilizzati particolari discipline di scheduling, basati su criteri diversi, e spesso contrastanti massimizzare l utilizzazione della CPU minimizzare il tempo di esecuzione di un processo/thread minimizzare il tempo di risposta, attesa prima che un processo produca un output Sistemi Operativi - prof. Silvio Salza - a.a II - 40

41 Richieste di CPU (burst) Molto variabili e dipendono dalla natura del processo (a) CPU bound (b) I/O bound Sistemi Operativi - prof. Silvio Salza - a.a II - 41

42 Obiettivi dello scheduling L assegnazione della CPU ai processi (thread) che sono nello stato ready è fatta dal processo scheduler Vengono utilizzati particolari discipline di scheduling, basati su criteri diversi, e spesso contrastanti massimizzare l utilizzazione della CPU minimizzare il tempo di esecuzione di un processo/thread minimizzare il tempo di risposta, attesa prima che un processo produca un output Sistemi Operativi - prof. Silvio Salza - a.a II - 42

43 Obiettivi e tipologie di sistemi Sistemi Operativi - prof. Silvio Salza - a.a II - 43

44 Priorità e prelazione Ai processi e ai thread possono essere associate priorità per avvantaggiarli o per penalizzarli: Priorità statiche: sono una caratteristica intrinseca dei processi Priorità dinamiche: dipendono dai livelli di servizio conseguiti finora dal processo/thread Lo schema di assegnazione delle priorità può essere modificato dallo amministratore del sistema La prelazione è un caso estremo di priorità: consente di sottrarre la CPU ad un processo in stato running Sistemi Operativi - prof. Silvio Salza - a.a II - 44

45 Scheduling nei sistemi batch Obiettivi Massimizzare l utilizzazione della CPU Massimizzare il throughput (job/ora) Minimizzare il tempo di turnaround (media del tempo tra la sottomissione e la fine del job) Non interessa il tempo di risposta perché gli utenti non sono interattivi Molti grandi sistemi centralizzati hanno una parte del carico costituita da job batch Il carico batch viene elaborato a sistema scarico (a notte) Sistemi Operativi - prof. Silvio Salza - a.a II - 45

46 Scheduling nei sistemi interattivi L obiettivo prioritario è di minimizzare i tempi di risposta Si tende a favorire i processi con comportamento I/O bound, a scapito dei CPU bound Non ha senso lo scheduling a tre livelli Ha senso uno scheduling a due livelli Memory scheduling CPU scheduling Di seguito si discute il CPU scheduling Sistemi Operativi - prof. Silvio Salza - a.a II - 46

47 Scheduling FCFS FCFS: First Come First Served I processi vengono mandati in esecuzione nello stesso ordine in cui sono entrati nella ready list Non vi è prelazione: ogni processo rimane sulla CPU fino al suo completamento, o fino a quando esso non la rilascia spontaneamente Penalizza i processi I/O bound che chiedono poca CPU Favorisce i processi CPU bound Causa un sottoutilizzo dei dispositivi di I/O Sistemi Operativi - prof. Silvio Salza - a.a II - 47

48 Scheduling SSTF SSTF: Shortest Service Time First Viene scelto sempre il processo che richiede il tempo di servizio più corto I tempi di servizio richiesti non sono noti: vengono previsti in base alle esperienze recenti Disciplina interessante perché garantisce minimizzazione del tempo medio di risposta Però causa un peggioramento della varianza del tempo di risposta Interessante soprattutto in contesti interattivi Sistemi Operativi - prof. Silvio Salza - a.a II - 48

49 Scheduling SSTF: esempio (a) FCFS (8,4,4,4) Tempo totale 20 Tempo medio 13.5 Tempo minimo 8 Tempo massimo 20 (b) SSTF (4,4,4,8) Tempo totale 20 Tempo medio 11 Tempo minimo 4 Tempo massimo 20 Sistemi Operativi - prof. Silvio Salza - a.a II - 49

50 Scheduling Round-Robin tempo scaduto richiesta di I/O fine processo CPU processi ready Round-Robin : la giostra Ciascun processo/thread resta sulla CPU al massimo per un tempo τ, detto quantum Trascorso questo viene reinserito alla fine della coda Processi I/O-bound: fanno prevalentemente I/O e non sfruttano quasi mai il tempo di CPU concesso Processi CPU-bound: utilizzano tutto il tempo di CPU concesso, e devono fare molti giri Sistemi Operativi - prof. Silvio Salza - a.a II - 50

51 Round-Robin a code multiple Classi di priorità servite nell ordine, solo se le classi superiori sono esaurite Priorità dinamiche usate per riparare alle ingiustizie Sistemi Operativi - prof. Silvio Salza - a.a II - 51

52 Shortest process next Viene scelto il processo con la minore richiesta di CPU Problema: stimare a priori la durata dei burst di CPU richiesti dai vari processi Ci si basa sulla storia passata per aggiornare la stima Sia Θ n la stima accumulata al passo n e T n il tempo effettivamente sperimentato La nuova stima sarà Θ n+1 = α Θ n +(1-α) T n La costante α permette di stabilire quanto pesa la storia passata e quanto quella recente La tecnica di previsione si chiama aging Sistemi Operativi - prof. Silvio Salza - a.a II - 52

53 Guaranteed scheduling L idea è quella che ciascun processo abbia la fetta di CPU che gli spetta da una divisione equa Se i processi sono n la sua share dovrebbe essere 1/n Si accumula per ciascuno il tempo totale di CPU goduto Ad ogni passo si calcola per ogni processo il rapporto fra il tempo goduto e quello spettante Rapporti bassi significano ingiustizie subite Lo scheduler sceglie sempre il processo con il rapporto più basso Sistemi Operativi - prof. Silvio Salza - a.a II - 53

54 Scheduling nei sistemi real-time Elaborazione basata su eventi al cui servizio sono associate scadenze (deadline) Creato un processo per ogni evento, con vita breve e comportamento prevedibile Obiettivo dello scheduler: fare in modo che le deadline dei processi siano rispettate (in modo hard o soft) Due tipi di eventi Periodici: si presentano ad intervalli regolari Aperiodici: non prevedibili Sistemi Operativi - prof. Silvio Salza - a.a II - 54

55 Scheduling nei sistemi real-time (2) In genere ci sono diverse serie di eventi periodici Il requisito minimo e che il sistema possa sostenere il carico (schedulable system) Se ci sono m serie di eventi con richeste di CPU pari a C i e periodo P i, la condizione è Scheduling di tipo statico o dinamico Caso di particolare interesse i sistemi multimedia m i= 1 Ci P i 1 Sistemi Operativi - prof. Silvio Salza - a.a II - 55

Processi. Creazione di processi. Processi. Parte II. Processi e Thread

Processi. Creazione di processi. Processi. Parte II. Processi e Thread Processi Parte II Processi e Thread Concetto fondamentale per lo svluppo dei sistemi operativi, e di applicazioni complesse Permette di decomporre l applicazione in un insieme di processi sequenziali I

Dettagli

Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi.

Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi. Scheduling della CPU Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi. Scheduler (a breve

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU 1 Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi. Scheduler della

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 8 Martedì 8-11-2016 1 Algoritmi di scheduling basati sulle priorità Assegnano

Dettagli

Sistemi Operativi. Lezione 3 Processi e Thread

Sistemi Operativi. Lezione 3 Processi e Thread Lezione 3 Processi e Thread Introduzione Sino ai sistemi batch la CPU di un sistema svolgeva un attività, la portava a termine e solo allora avviava un altra attività Con l avvento della multiprogrammazione

Dettagli

Scheduling della CPU. Lo scheduling Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Scheduling della CPU. Lo scheduling Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino Scheduling della CPU Lo scheduling Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Concetti fondamentali Uno degli obbiettivi della multiprogrammazione è quello di massimizzare

Dettagli

Scheduling della CPU. Sistemi Operativi L-A AA

Scheduling della CPU. Sistemi Operativi L-A AA Scheduling della CPU Sistemi Operativi L-A AA 2009-2010 1 Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo CPU Scheduling della CPU: commuta l uso della CPU tra i

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU 1 Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo CPU Scheduling della CPU: commuta l uso della CPU tra i vari processi Scheduler della CPU

Dettagli

SCHEDULING DELLA CPU. Obiettivi. » Introduzione allo scheduling della CPU. » Algoritmi di scheduling della CPU

SCHEDULING DELLA CPU. Obiettivi. » Introduzione allo scheduling della CPU. » Algoritmi di scheduling della CPU SISTEMI OPERATIVI SCHEDULING DELLA CPU Obiettivi» Introduzione allo scheduling della CPU Aspetto fondamentale dei sistemi operativi multiprogrammati» Algoritmi di scheduling della CPU» Criteri per la scelta

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 7 Giovedì 3-11-2016 1 Scheduling Scheduling a breve termine Lo scheduler

Dettagli

Sistemi Operativi 2003/2004. Lo scheduling dei processi

Sistemi Operativi 2003/2004. Lo scheduling dei processi Sistemi Operativi 2003/2004 Lo scheduling dei processi Cicli d'elaborazione In ogni processo i burst di CPU si alternano con i tempi di I/O Uso tipico di un calcolatore CPU-bound e I/O-bound Processi CPU-bound

Dettagli

Processi e Thread. Meccanismi di IPC (1)

Processi e Thread. Meccanismi di IPC (1) Processi e Thread Meccanismi di IPC (1) 1 Comunicazioni fra processi/thread Processi/thread eseguiti concorrentemente hanno bisogno di interagire per comunicare e sincronizzarsi : scambiare dati utilizzare

Dettagli

Sistemi Operativi 1. Lezione IV: Processi e thread. Mattia Monga. 11 marzo 2008

Sistemi Operativi 1. Lezione IV: Processi e thread. Mattia Monga. 11 marzo 2008 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni Roberta Gerboni 1 Gli stati di un processo Gli stati possibili nei quali si può trovare un processo sono: Hold (parcheggio): il programma (chiamato job) è stato proposto al sistema e attende di essere

Dettagli

coda arrivo burst P 1 A 0 20ms P 2 C 10 25ms P 3 B 15 20ms P 4 A 25 20ms

coda arrivo burst P 1 A 0 20ms P 2 C 10 25ms P 3 B 15 20ms P 4 A 25 20ms 1. (a) Si descriva il meccanismo attraverso cui i programmi richiamano i servizi del Sistema Operativo. Si faccia qualche esempio. (b) Si descriva l algoritmo di scheduling nel sistema Windows Vista (e

Dettagli

Sistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it e 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

I THREAD O PROCESSI LEGGERI

I THREAD O PROCESSI LEGGERI I THREAD O PROCESSI Processi (pesanti): LEGGERI entità autonome con poche risorse condivise (si prestano poco alla scrittura di applicazioni fortemente cooperanti) Ogni processo può essere visto come Immagine

Dettagli

Sistemi Operativi. Lezione 5 Lo scheduling

Sistemi Operativi. Lezione 5 Lo scheduling Lezione 5 Lo scheduling Introduzione In ogni processo i burst di CPU si alternano con i tempi di I/O 2 Introduzione Processi CPU-bound Alternano lunghe computazioni ad attività di I/O relativamente poco

Dettagli

Sistemi Operativi: Concetti Introduttivi

Sistemi Operativi: Concetti Introduttivi Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione

Dettagli

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.

Dettagli

Il Sistema Operativo Ripasso

Il Sistema Operativo Ripasso ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario Concetti di base Sistema Operativo Risorse Funzioni e Struttura Bootstrap, Kernel, Shell Gestione dei Processi Processo e PCB Algoritmi

Dettagli

1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione

1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione 1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione su un sistema con una sola CPU? 2. Qual è la differenza tra un interruzione e una trap? Si faccia qualche esempio. 1.

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T5 B1-Programmazione multithreading 1 Prerequisiti Schedulazione Attesa indefinita Lo stallo Tecnica round-robin 2 1 Introduzione La programmazione concorrente consente di chiedere

Dettagli

Sistemi Operativi Modulo I. Lo Scheduling

Sistemi Operativi Modulo I. Lo Scheduling Sistemi Operativi Modulo I Primo canale (A-L) A.A. 2017/2018 Corso di Laurea in Informatica Lo Scheduling Igor Melatti Sapienza Università di Roma Dipartimento di Informatica Roadmap Tipi di scheduler

Dettagli

Concetto di Processo Scheduling dei Processi Operazioni sui Processi Processi cooperanti Comunicazione tra processi

Concetto di Processo Scheduling dei Processi Operazioni sui Processi Processi cooperanti Comunicazione tra processi Concetto di Processo Scheduling dei Processi Operazioni sui Processi Processi cooperanti Comunicazione tra processi 3.3 Silberschatz, Galvin and Gagne 2005 1 Un SO esegue diversi tipi di programmi Sistema

Dettagli

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni Roberta Gerboni 1 Gli stati di un processo Gli stati possibili nei quali si può trovare un processo sono: Hold (parcheggio): il programma (chiamato job) è stato proposto al sistema e attende di essere

Dettagli

il Nucleo e la gestione dei processi

il Nucleo e la gestione dei processi il Nucleo e la gestione dei processi 1. Programmi, processi e risorse Differenza fra programmi e processi Il Programma rappresenta la descrizione del procedimento logico (algoritmo) che deve essere eseguito

Dettagli

Scheduling della CPU. Capitolo 6 - Silberschatz

Scheduling della CPU. Capitolo 6 - Silberschatz Scheduling della CPU Capitolo 6 - Silberschatz Concetti di base La multiprogrammazione cerca di ottenere la massima utilizzazione della CPU. L esecuzione di un processo consiste in cicli d esecuzione della

Dettagli

Cooperazione e competizione tra processi (2) Cooperazione e competizione tra processi (1) Cooperazione e competizione tra processi (3)

Cooperazione e competizione tra processi (2) Cooperazione e competizione tra processi (1) Cooperazione e competizione tra processi (3) Cooperazione e competizione tra processi (1) Cooperazione e competizione tra processi (2) Due o più processi possono interagire fra loro secondo due modalità: cooperazione e competizione due processi cooperano

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale

Dettagli

Sistemi Operativi. La gestione delle risorse

Sistemi Operativi. La gestione delle risorse Sistemi Operativi La gestione delle risorse Introduzione Il sistema operativo ha il compito di fornire la gestione dell hardware ai programmi dell utente. Utente utilizza i programmi applicativi Programmi

Dettagli

Sistemi Operativi. Bruschi Martignoni Monga. Scheduling. Sistemi batch SJF. Sistemi. interattivi Priority RR Code multiple Sistemi real-time Deadline

Sistemi Operativi. Bruschi Martignoni Monga. Scheduling. Sistemi batch SJF. Sistemi. interattivi Priority RR Code multiple Sistemi real-time Deadline 1 Mattia Dip. di Informatica e Comunicazione Universita degli Studi di Milano, Italia batch real-time Lezione VII: Lo scheduling dei processi nei sistemi real time batch real-time mattia.monga@unimi.it

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1-Concetti fondamentali 1 Prerequisiti Hardware e software Uso pratico elementare di un sistema operativo Software di base e software applicativo 2 1 Introduzione Iniziamo

Dettagli

Il supporto al sistema operativo

Il supporto al sistema operativo Politecnico di Milano Il supporto al sistema operativo Prof. Mariagiovanna Sami sami@elet.polimi.it 2007- Obiettivi e Funzioni Perché introdurre il sistema operativo? Convenienza Rende più facile usare

Dettagli

Sistemi operativi. Lez. 9: primitive per la concorrenza i semafori

Sistemi operativi. Lez. 9: primitive per la concorrenza i semafori Sistemi operativi Lez. 9: primitive per la concorrenza i semafori Disabilitazione interrupt Due processi possono trovarsi in sezione critica simultaneamente solo perché chi vi è entrato per primo è stato

Dettagli

Sistemi Operativi (modulo di Informatica II) I processi

Sistemi Operativi (modulo di Informatica II) I processi Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Il concetto di processo Schedulazione dei processi Operazioni sui processi

Dettagli

Sistemi Operativi. Processi e Thread

Sistemi Operativi. Processi e Thread Sistemi Operativi Processi e Thread 1 Concetto di processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, esecuzione sequenziale (istruzioni vengono eseguite

Dettagli

Sistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1

Sistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1 GESTIONE DEI PROCESSI 4.1 Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in diversi S.O. 4.2 Concetto di

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2018-2019 Pietro Frasca Lezione 14 Giovedì 22-11-2018 Scheduling in UNIX Poiché UNIX è un sistema multiutente

Dettagli

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO: Bootstrap Bootstrap All accensione di un calcolatore vengono attivati programmi di diagnostica scritti nella ROM (Read Only Memory) che verificano l assenza di guasti Poi viene attivato il programma di

Dettagli

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire efficientemente l'elaboratore e le sue periferiche,

Dettagli

Cenni di sistemi operativi

Cenni di sistemi operativi Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Cenni di sistemi operativi Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università

Dettagli

Il Concetto di Processo

Il Concetto di Processo I Processi Il Concetto di Processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono eseguite

Dettagli

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06. SISTEMI OPERATIVI 06.a Il Nucleo Nucleo di un SO Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher 1 Architettura di base dei SO Due le strutture di riferimento: a

Dettagli

Lezione 3 Sistemi Operativi e misure di performance. Parleremo di

Lezione 3 Sistemi Operativi e misure di performance. Parleremo di Lezione 3 Sistemi Operativi e misure di performance Parleremo di Ambienti di Elaborazione e Natura della computazione Classi di Sistemi Operativi Efficienza, Performance del Sistema, e Servizi Utente Sistemi

Dettagli

2.2 Scheduling in Linux

2.2 Scheduling in Linux Appunti di Sistemi Operativi 28 2.2 Scheduling in Linux In generale, i processi possono essere classificati secondo due schemi: CPU bound vs. I/O bound; interattivi vs. batch vs. real-time. Le due classi

Dettagli

I Processi. Il Concetto di Processo

I Processi. Il Concetto di Processo I Processi Il Concetto di Processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono eseguite

Dettagli

Prof. G. Ascia. Sistema Operativo

Prof. G. Ascia. Sistema Operativo Sistema Operativo In parte tratto dal capitoli 13 del libro Mandrioli, Ceri, Sbattella, Cremonesi, Cugola, "Informatica: arte e mestiere",3a ed., McGraw-Hill Fondamenti di Informatica 1 Il Sistema Operativo

Dettagli

5 Thread. 5 Thread. 5 Thread. Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni:

5 Thread. 5 Thread. 5 Thread. Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni: 1 Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni: codice del programma in esecuzione un area di memoria contenente le strutture dati dichiarate

Dettagli

Sistemi in tempo reale: applicazioni alla robotica. Sistemi in tempo reale: applicazioni alla robotica p.1/15

Sistemi in tempo reale: applicazioni alla robotica. Sistemi in tempo reale: applicazioni alla robotica p.1/15 Sistemi in tempo reale: applicazioni alla robotica Sistemi in tempo reale: applicazioni alla robotica p.1/15 Sistemi operativi Hardware Firmware Kernel Driver Applicazioni Interfacce Sistemi in tempo reale:

Dettagli

Il Concetto di Processo

Il Concetto di Processo I Processi Il Concetto di Processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, l esecuzione l di un processo è sequenziale (le istruzioni vengono eseguite

Dettagli

Le risorse. Se il processo può essere forzato a rilasciare una risorsa, la risorsa è chiamata prerilasciabile.

Le risorse. Se il processo può essere forzato a rilasciare una risorsa, la risorsa è chiamata prerilasciabile. Le risorse Cos è una risorsa? E' qualcosa di necessario al processo per poter procedere nella sua evoluzione (passaggi di stato). Si possono distinguere: Risorse fisiche (processore, memoria, disco, stampante,...)

Dettagli

Multiprogrammazione. Sistemi Operativi Giuseppe Prencipe. Scheduling dei processi Scheduling. Sequenza di CPU e I/O burst.

Multiprogrammazione. Sistemi Operativi Giuseppe Prencipe. Scheduling dei processi Scheduling. Sequenza di CPU e I/O burst. Sistemi Operativi Giuseppe Prencipe Scheduling della CPU Multiprogrammazione Obiettivi (????) Avere sempre processi in esecuzione per massimizzare l utilizzo della CPU IDEA alla base della MultiP (????)

Dettagli

Gestione dei Processi

Gestione dei Processi Gestione dei Processi Informatica B Che cosa è un processo per il SO? Processo programma! Rappresenta un istanza di un programma composta da: codice eseguibile (il programma stesso) dati del programma

Dettagli

Il Concetto di Processo

Il Concetto di Processo I Processi Il Concetto di Processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono eseguite

Dettagli

Pag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi.

Pag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi. Concetti fondamentali Scheduling della CU Introduzione allo scheduling Uno degli obbiettivi della multiprogrammazione è quello di massimizzare l utilizzo delle risorse e in particolare della CU er raggiungere

Dettagli

Lab 1: Java Multithreading

Lab 1: Java Multithreading Dept. of Computer Science Lab 1: Java Multithreading Matteo Camilli matteo.camilli@unimi.it Laboratorio di Sistemi Operativi a.a. 2015/16 Università degli Studi di Bergamo 1 Outline Programmazione multithreading

Dettagli

Introduzione al Multithreading

Introduzione al Multithreading Introduzione al Multithreading Claudia Calidonna Istituto di di Cibernetica C.N.R. Argomenti principali Parleremo di : Processi & Threads Operazioni sui threads ed eventuali confronti tra operazioni sui

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Concetti base L utilizzazione massima della CPU è ottenuta con la multiprogrammazione CPU I/O Burst Cycle L esecuzione dei processi consiste di un ciclo di esecuzione in CPU e attesa

Dettagli

Processi. Descrittore di Processo (PCB) Context Switch Primitive per la creazione e terminazione dei processi. Il descrittore di processo (PCB)

Processi. Descrittore di Processo (PCB) Context Switch Primitive per la creazione e terminazione dei processi. Il descrittore di processo (PCB) Processi Descrittore di Processo (PCB) Context Switch Primitive per la creazione e terminazione dei processi 1 Il descrittore di processo (PCB) Il S.O. gestisce i processi associando a ciascuno di essi

Dettagli

Processi e thread. Concetto di processo

Processi e thread. Concetto di processo Processi e thread Concetto di processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, l esecuzione l di un processo è sequenziale (le istruzioni vengono

Dettagli

Processi. Capitolo 3 -- Silberschatz

Processi. Capitolo 3 -- Silberschatz Processi Capitolo 3 -- Silberschatz Concetto di processo Un programma può corrispondere a diversi processi Si pensi a un insieme di utenti che utilizzano uno stesso editor in relazione a file diversi Quindi,

Dettagli

IL SISTEMA OPERATIVO

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE La gestione delle periferiche

Dettagli

Processi e Thread. Concetto di processo

Processi e Thread. Concetto di processo Sistemi Operativi L-AL Processi e Thread Sistemi Operativi L-A AA 2008-2009 1 Concetto di processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, esecuzione

Dettagli

Scheduling della CPU:

Scheduling della CPU: Coda dei processi pronti (ready( queue): Scheduling della CPU primo ultimo PCB i PCB j PCB k contiene i descrittori ( process control block, PCB) dei processi pronti. la strategia di gestione della ready

Dettagli

Sistemi Operativi T. Processi e Thread

Sistemi Operativi T. Processi e Thread Sistemi Operativi T Processi e Thread 1 Concetto di processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, esecuzione sequenziale (istruzioni vengono

Dettagli

Sistemi Operativi T Processi e Thread

Sistemi Operativi T Processi e Thread Sistemi Operativi T Processi e Thread Sistemi Operativi T AA 2009-2010 1 Concetto di processo Il processo è un programma in esecuzione È l unità l di esecuzione all interno del SO Solitamente, esecuzione

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche

Dettagli

I thread. Non bastavano i processi?

I thread. Non bastavano i processi? I thread Non bastavano i processi? 1 Il modello a thread : motivazioni Nel modello a processi, ogni processo ha il suo spazio di indirizzamento, vediamo cosa significa... 2 Spazi di indirizzamento distinti

Dettagli

ESERCITAZIONE 6 - Soluzioni. Processi e thread

ESERCITAZIONE 6 - Soluzioni. Processi e thread ESERCITAZIONE 6 - Soluzioni Processi e thread 2 Processi e Thread 3 Calcolatori e processi (1) 1) In figura è mostrato lo stato di tre processi. In teoria, con 3 stati potrebbero verificarsi 6 transizioni,

Dettagli

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano scheduling Riedizione modifi cata delle slide della Prof. DI Stefano 1 Scheduling Alternanza di CPU burst e periodi di I/O wait a) processo CPU-bound b) processo I/O bound 2 CPU Scheduler Seleziona uno

Dettagli

Richiami sui Concetti Fondamentali dei Processi

Richiami sui Concetti Fondamentali dei Processi Processi Processi 1 Richiami sui Concetti Fondamentali dei Processi Processi 2 Definizione Nell ambito dei sistemi operativi esistono diverse definizioni di processo, ad es. un programma in esecuzione

Dettagli

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati TEORIA DEI SISTEMI OPERATIVI Sistemi monoprogrammatie multiprogrammati 1 STRUTTURA DEL SISTEMA OPERATIVO UTENTE La struttura di un sistema operativo è di tipo gerarchico: i programmi che lo compongono

Dettagli

Consentire a utenti/processi diversi la condivisione delle risorse

Consentire a utenti/processi diversi la condivisione delle risorse Il nucleo del sistema operativo (kernel) Funzioni del livello: Conoscere lo stato del processore e programma in attesa (modulo Traffic Controller) Decidere chi potrà usare la CPU (modulo 1 Job Scheduler

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2018-2019 Pietro Frasca Lezione 12 Giovedì 15-11-2018 Un esempio di sincronizzazione tra thread Risolviamo

Dettagli

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. I SISTEMI OPERATIVI Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. Le funzioni di un S.O. non sono definibili in modo esaustivo e puntuale così come non

Dettagli

Sistemi Operativi 9 luglio 2013 Compito

Sistemi Operativi 9 luglio 2013 Compito Si risponda ai seguenti quesiti, giustificando le risposte. Gli esercizi e le domande marcate con l asterisco (*) devono essere svolti soltanto da chi ha in piano di studi l esame di Sistemi Operativi

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU

Sistemi Operativi SCHEDULING DELLA CPU Sistemi Operativi SCHEDULING DELLA CPU Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling

Dettagli

I sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas

I sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas I sistemi operativi (prima parte) Le esigenze dell informatica moderna Computer facili da usare Gestione di grandi archivi di dati Esecuzione di più programmi sulla stessa macchina Collegamento in rete

Dettagli

Lezione 5. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata

Lezione 5. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata Lezione 5 Sistemi operativi 20 aprile 2017 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 17 5.1 Di cosa parliamo in questa lezione? La schedulazione 1 e caratteristiche

Dettagli

Sommario. Processi e Programmi. Che cosa e un Processo? Lezione 5 Processi e Threads

Sommario. Processi e Programmi. Che cosa e un Processo? Lezione 5 Processi e Threads Sommario Lezione 5 Processi e Threads Processi e Programmi Implementazione dei Processi Casi di Studio relativi a Processi Thread Casi di Studio relativi a Thread 5.2 Processi e Programmi Che cosa e un

Dettagli

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1 SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

1. Le componenti principali di un sistema operativo sono: interfaccia con l utente (interprete dei comandi e/o interfaccia

1. Le componenti principali di un sistema operativo sono: interfaccia con l utente (interprete dei comandi e/o interfaccia 1. Quali sono le componenti principali dei sistemi operativi? 2. Si descriva il meccanismo attraverso cui i programmi in esecuzione richiamano i servizi dei sistemi operativi. 1. Le componenti principali

Dettagli

Sistemi operativi. Sistemi Operativi. Sistemi Operativi. Funzioni del Sistema Operativo

Sistemi operativi. Sistemi Operativi. Sistemi Operativi. Funzioni del Sistema Operativo Sistemi Operativi Sistemi operativi Un sistema operativo è l insieme di quei pacchetti software che coordinano le attività interne di un computer e gestiscono il suo modo di comunicare con l esterno. È

Dettagli

Scheduling della CPU. Sistemi operativi- AA 2015/16 1 1

Scheduling della CPU. Sistemi operativi- AA 2015/16 1 1 Scheduling della CPU Sistemi operativi- AA 2015/16 1 1 2 Sommario Scheduling Concetti di base Criteri di Scheduling Algoritmi di Scheduling Scheduling per i thread Esempi di scheduler (solaris, windows,

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali Indice Architettura Gestione dei processi Gestione della memoria centrale Driver Gestione dei file 2 1 Il sistema operativo E uno

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: attivita` di allocazione della risorsa CPU ai processi. Scheduler

Dettagli

Java Virtual Machine. Indipendenza di java dalla macchina ospite. I threads in Java

Java Virtual Machine. Indipendenza di java dalla macchina ospite. I threads in Java programmi sorgente: files.java compilatore Indipendenza di java dalla macchina ospite Programmi java Programmi java Programmi java files.class bytecode linker/loader bytecode bytecode Java API files.class

Dettagli

I Sistemi Operativi. Prof.ssa Antonella Serra

I Sistemi Operativi. Prof.ssa Antonella Serra I Sistemi Operativi Prof.ssa Antonella Serra Il Software di Base Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. Il sistema operativo è

Dettagli

Informatica II Sistemi Operativi DIGIP - a.a. 2015/16

Informatica II Sistemi Operativi DIGIP - a.a. 2015/16 DIPARTIMENTO DI INFORMATICA Alberto Ceselli (alberto.ceselli@unimi.it) Informatica II Sistemi Operativi DIGIP - a.a. 2015/16 Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università

Dettagli

Sistemi Operativi. Scheduling dei processi

Sistemi Operativi. Scheduling dei processi Sistemi Operativi Scheduling dei processi Scheduling dei processi Se più processi sono eseguibili in un certo istante il sistema deve decidere quale eseguire per primo La parte del sistema operativo che

Dettagli

Gestione del processore. Il modello a thread

Gestione del processore. Il modello a thread Gestione del processore Il modello a thread 1 Il modello a thread : motivazioni Nel modello a processi, ogni processo ha il suo spazio di indirizzamento privato ed il modo per interagire è quello di utilizzare

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 18 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 19 Maggio 2009 Supporto alla programmazione

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 20 Martedì 16-12-2014 1 System call per la gestione dei processi Creazione

Dettagli