6 CPU Scheduling. 6.1 Concetti Fondamentali dello Scheduling della CPU. 6.1 Concetti Fondamentali

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "6 CPU Scheduling. 6.1 Concetti Fondamentali dello Scheduling della CPU. 6.1 Concetti Fondamentali"

Transcript

1 1 6 CPU Scheduling La gestione della CPU (soltanto) può rendere la multi-programmazione più efficiente della mono-programmazione Infatti, la multiprogrammazione permette di ottenere l utilizzazione massima della CPU Vedremo: concetti base, criteri e algoritmi di scheduling, e valutazione degli algoritmi 6.1 Concetti Fondamentali dello Scheduling della CPU 2 Ciclo CPU I/O Burst: l esecuzione dei processi consiste di un ciclo di esecuzione di CPU e attesa di I/O Concetti Fondamentali Durata dei CPU burst

2 CPU Scheduler Selezione tra i processi in memoria quale eseguire. Quando si applica scheduling della CPU? 1. Passaggio running wait (chi è il prossimo?) 2. Passaggio running ready (gli si porta via la CPU, un altro diventa running) 3. Passaggio waiting ready (gli si può dare la CPU?) 4. Passaggio running terminated (chi è il prossimo?) CPU Scheduler In 2 e 4 si è obbligati ad intervenire, in 1 e 3 si può anche non intervenire: in 1 non si fa nulla e non si porta via, in 3 si lascia ready Preemptive scheduling =:= si fa scheduling in 1, 2, 3 e 4 Non-preemptive scheduling =:= solo 1 e 4, mai 2 e 3 il processo running deve rilasciarla volontariamente. Sicuri? CPU Scheduler Preemptive Scheduling superiore perché non si fida del processo più equo nel controllare l'accesso alle risorse più difficile da realizzare perché il processo può essere nel kernel e non deve lasciarlo in stati illegali rendere non preemtabile (quasi) tutto il kernel (Unix) non va bene per real-time e multiprocessori

3 Dispatcher =:= modulo che effettua la commutazione di contesto; esegue context switching passaggio a user mode salto alla corretta locazione del programma da far ripartire Dispatch latency =:= tempo impiegato per effettuare la commutazione 6.2 Criteri di ottimizzazione dello Scheduling 1. Utilizzo della CPU 2. Throughput =:= numero di processi completati in media (nell unità di tempo) - misura di lungo termine! 3. Turnaround time =:= tempo (medio) di completamento di un job, dalla sottomissione all emissione dei risultati 4. Tempo di attesa =:= somma del tempo passato in RQ Criteri di ottimizzazione dello Scheduling 9 5. Tempo di risposta =:= tempo che intercorre da quando si verifica l evento che permette ad un processo di eseguire a quando il processo comincia ad eseguire Massimizzare 1 e 2, minimizzare 3, 4 e 5 Valori medi; minimizzare la varianza anche a detrimento del valore medio

4 6.3 Algoritmi di Scheduling First Come First Served (FCFS) 10 Implementazione semplice, con coda FIFO: linkando il PCB alla fine della coda, per inserire in RQ assegnare la CPU al primo, quando la CPU diventa libera È una politica (algoritmo) non pre-emptive Il tempo di attesa del completamento del CPU burst è spesso lungo FCFS Supponiamo tre processi che arrivano assieme a t=0 Process Burst Time P 1 24 P 2 3 P 3 3 Suppose that the processes arrive in the order: P 1, P 2, P FCFS Il diagramma di Gantt per questa sequenza è: P 1 P 2 P Waiting time per P 1 = 0; P 2 = 24; P 3 = 27 Average waiting time: ( )/3 = 17

5 FCFS Se l ordine di arrivo fosse P 2, P 3, P 1. Il diagramma di Gantt per questa sequenza è: P 2 P 3 P Waiting time per P 1 = 6;P 2 = 0 ; P 3 = 3 Average waiting time: ( )/3 = 3 Molto meglio del caso precedente FCFS Caratteristiche: il tempo di attesa è basato sui job CPU bound la utilizzazione della CPU può essere bassa (se non sono tutti CPU bound) produce una bassa utilizzazione dei dispositivi di I/O Va malissimo per i sistemi time-sharing perché non garantisce affatto interattività Va ancora peggio per i sistemi real-time, perché non è pre-emptive FCFS Cattivo comportamento dinamico Ad es. se si hanno 1 processo CPU bound e 2 processi I/O bound si forma un "convoglio": CPUA, I/OB, I/OC, idle (perché il CPUA non ha ancora terminato I/O); mentre CPUA esegue, anche l I/O è idle!; e così via È adatta solo per un mix di job CPU bound

6 Shortest Job First (SJF) Si esamina la durata del prossimo burst di CPU di ciascun processo e si assegna la CPU a chi ha il prossimo burst di durata minima Si dovrebbe chiamare Shortest Next CPU Burst. Può essere usato in modo pre-emptive oppure non pre-emptive Esempio di SJF Non-Preemptive 17 Process Arrival Time Burst Time P P P P SJF (non-preemptive) P 1 P 3 P 2 P Average waiting time = ( )/4 = 4 18 Esempio di SJF Preemptive Process Arrival Time Burst Time P P P P SJF (preemptive) P 1 P 2 P 3 P 2 P 4 P Average waiting time = ( )/4 = 3

7 SJF Si dimostra che SJF è ottimo: spostando uno breve prima di uno lungo si migliora l attesa del breve più di quanto si peggiori l attesa del lungo il tempo medio diminuisce! Ottimo: nessun algoritmo può produrre un tempo medio minore 20 Come si applica SJF? È facile essere ottimi quando si conosce il futuro La durata del prossimo burst di CPU non è calcolabile Nel caso di Long Term Scheduling (sistemi batch, coda dei job sottomessi ma non ancora caricati) si usa il tempo limite dichiarato dall utente nelle job control card l utente deve stimare "giusto" perché il job viene terminato di forza se il tempo scade 21 Come si applica SJF? Nel caso di CPU scheduling si può solo approssimare (stimare) il prossimo CPU burst Una stima: Media esponenziale dei precedenti burst ricordare tutti i burst precedenti pesare poco i burst "vecchi" pesare molto i burst "recenti"

8 22 Come si applica SJF? Sia τ n i vari burst passati e τ n+1 la predizione del valore del prossimo, e 0 α 1; allora τ n+1 = α t n + (1- α) τ n dove t n contiene la info più recente, mentre τ n contiene il passato e α determina il peso relativo Espandendo si vede meglio come il passato pesa sempre meno più è "vecchio" τ n+1 = αt n + (1-α)αt n (1-α) j αt n-j (1- α) n+1 τ 0 = αt n + (1-α)τ n 23 Come si applica SJF? Se α=0 τ n+1 = τ n : conta solo la storia passata e quindi solo τ 0, cioè la stima iniziale (a caso? costante per tutti?) Se α=1 τ n+1 = t n : conta solo l ultimo burst In genere α = 1/2. 24 Come si applica SJF? Pre-emptive: se arriva un processo in RQ con next CPU burst più breve di quanto rimane al processo che sta girando, si da subito la CPU al nuovo arrivato quello pre-emptive è detto anche Shortest Remaining Time First (SRTF) può produrre tempo medio minore del non pre-emptive

9 Scheduling a Priorità Un valore di priorità è associato ad ogni processo La CPU è allocata al processo con la priorità più elevata Certi sistemi codificano priorità alta con valori piccoli, altri con valori alti. Noi assumiamo priorità alta con valori piccoli SJF è uno scheduling a priorità; τ e la priorità Scheduling a Priorità FCFS va bene per quelli a uguale priorità Tipi di priorità: interne: calcolate dal SO sulla base di quantità caratteristiche del comportamento del processo esterne: assegnate dall esterno del SO Può essere sia pre-emptive che non pre-emptive Ha il problema della starvation. Una soluzione è basata sull invecchiamento (aging): incrementare gradualmente la priorità del processo in RQ Round Robin Scheduling (RR) =:= FCFS + pre-emption ogni quanto di tempo il processo pre-empted va in fondo alla RQ, come se fosse appena arrivato È particolarmente adatto per Time Sharing La RQ è vista come una coda circolare girotondo

10 RR Implementazione: scheduler sceglie il primo in coda lancia un timer = quanto di tempo passa la CPU al processo scelto (dispatch) Se il processo ha un CPU burst minore del quanto di tempo, rilascia la CPU volontariamente RR Se il burst è maggiore del quanto di tempo, allora interrupt di timer SO prende il controllo toglie la CPU al processo running e lo mette in fondo alla RQ prende il primo processo in RQ e... gli passa la CPU 30 RR with Time Quantum = 20 Process Burst Time P 1 53 P 2 17 P 3 68 P 4 24 Il diagramma di Gantt: P 1 P 2 P 3 P 4 P 1 P 3 P 4 P 1 P 3 P Tipicamente, si ha turnaround medio maggiore di SJF, ma migliore risposta.

11 6.3.4 RR 31 Il tempo medio di attesa può non essere buono n processi: quanto di q msec: ogni proc riceve 1/n di CPU in pezzi di q msec ogni proc attende al più (n-1)q msec per avere il prossimo quanto di q msec Il comportamento dipende molto dal valore del quanto q tendente a uguale a FCFS q tendente a zero viene chiamato processor sharing: ogni processo ha il suo processore di velocità 1/n. Es. CDC: 10 set di registri, una istruzione per ogni set in RR. Con la memoria lenta, ogni processore è circa veloce uguale RR Overhead del context switch: Quanto >> tempo del context switch Es. Se quanto=10*tempo di context switch 10% della CPU è sprecato RR Tempo di turnaround dipende dal quanto

12 RR Non migliora se si aumenta il quanto, anche se può essere migliorato quando la maggior parte dei processi ha un burst minore del quanto Se il quanto è troppo grande diventa un FCFS, e non va bene per il time sharing Regola pratica: 80% dei CPU burst dovrebbe essere minore del quanto Scheduling a Code Multiple (MQS) Quando i processi sono facilmente divisibili in classi differenti; Es.: foreground (interattivi) background (batch) Partizionare la RQ: in molteplici code inserire i processi in una delle code, sulla base delle proprietà del processo gestire ogni coda con lo scheduling appropriato per le proprietà della classe dei processi Scheduling a Code Multiple (MQS) assegnare la CPU alle code: con uno scheduling a priorità, in genere fissa oppure a quanti di tempo fa le code (non uguali) Pre-emption fra le code! 36

13 6.3.6 Scheduling a Code Multilivello con FeedBack (retroazione) (MFQS) 37 In MQS un processo è assegnato permanentemente a una coda in MFQS un processo può essere spostato nelle code per: adattarsi alla lunghezza del CPU burst del processo gestire ogni coda con lo scheduling adatto al processo con quel burst Scheduling a Code Multilivello con FeedBack (retroazione) (MFQS) 38 Nell esempio della figura: RR nella prima e seconda coda, ma se un processo non finisce nel suo quanto, viene passato alla coda successiva; la terza coda viene gestita in FCFS Pre-emption fra le code 39 MFQS in generale È uno scheduling definito dai seguenti parametri: numero delle code scheduling di ogni coda quando declassare un processo quando promuovere un processo in che coda inserire un processo quando arriva (dall esterno oppure da un I/O burst) È l algoritmo (famiglia di algoritmi) più generale È l'algoritmo più complesso

14 Scheduling di Multiprocessori Ancora più complesso, e tanto meno con soluzione ottima Occorre distinguere il caso di multiprocessori omogenei da quello dei multiprocessori eterogenei Nel caso di multiprocessori omogenei si può puntare a realizzare load sharing, con una RQ comune: ogni processore è self-scheduling, prelevando da RQ il nuovo processo Scheduling di Multiprocessori Problemi: difficile la programmazione dell accesso a RQ (non devono prendere lo stesso processo, ad es.!) un processore può fare girare lo scheduler, a cui si rivolgono tutti gli altri processori quando devono fare dispatch architettura master-slave Hard Real Time Scheduling Hard Real Time: quando un job viene sottomesso (diventa ready o viene creato) chiede di essere messo in grado di terminare o fare I/O entro un certo tempo dal momento in cui diventa ready Il SO lo accetta solo se può impegnarsi, altrimenti lo rifiuta Se viene rifiutato occorre cambiare la configurazione del sistema!

15 Hard Real Time Scheduling Se viene accettato, gli vengono riservate tutte le risorse necessarie: memoria e quota di CPU prenotazione delle risorse Scheduling a priorità fisse oppure a Shortest Deadline First Il SO deve conoscere quanto tempo impiega al max a svolgere le sue funzioni. Impossibile quando si usa memoria secondaria o memoria virtuale (vedremo) Hard Real Time Scheduling Sistemi per real time hard sono basati su hardware specializzato, senza memoria secondaria, e il software è specializzato per applicazioni critiche in tempo Applicazioni militari controllo di processi industriali apparati telecom Importanza crescente Soft Real Time Scheduling Comunque per processi critici in tempo, che devono avere priorità più alta allocazione delle risorse non equa ritardi più grandi starvation Applicazioni multimedia grafica interattiva

16 Soft Real Time Scheduling Scheduler e Dispatcher da progettare con cura niente aging sui processi real-time latenza di dispatching più bassa possibile fare subito pre-emption, anche se si è nel kernel. Occorrono soluzioni sofisticate Soft Real Time Scheduling Syscall pre-emptabili introdurre numerosi punti di pre-emption (es. modifiche del kernel dello Unix) fare pre-emption nel kernel, però: proteggere le sezioni critiche (vedi Cap. 6) pre-emptare anche le sezioni critiche, sperando che non servano al processo nuovo inversione della priorità: un processo a priorità bassa eredita la priorità del processo ad alta che deve entrare nella sezione critica occupata da li (solo per il tempo di uscire dalla sezione critica) Soft Real Time Scheduling Fase di conflitto costituita da 1. Pre-emption dei processi nel kernel (caso multiprocessore) 2. I processi a bassa priorità rilasciano le risorse necessarie all entrante 3. I processi a bassa priorità abbandonano la CPU 4. Segue il dispatching normale

17 6.5 Soft Real Time Scheduling 49 I conflitti possono sorgere anche dopo che il processo entrante ha avuto la CPU, e occorre inversione di priorità Caso Solaris 2.x: 100msec senza preemption, 2msec con pre-emption Soft Real Time Scheduling Valutazione degli Algoritmi Quale è quello giusto? Primo problema: definire i criteri da ottimizzare Come valutare: Modellazione deterministica Modelli a reti di code Simulazione Implementazione

18 Modellazione deterministica Appartiene alla classe delle valutazioni analitiche: usare l algoritmo + carico del sistema per produrre: formula, oppure numero che esprimano la prestazione dell algoritmo È un procedimento deterministico: si calcola il comportamento con un carico di lavoro preciso Modellazione deterministica Vantaggi: semplice, produce numeri esatti, permette confronti Svantaggi: troppo specifico e legato al carico usato come esempio troppa informazione necessaria per descrivere un carico di lavoro reale Modelli a Reti di Code Descrizione probabilistica dei burst di CPU e I/O: misura delle distribuzioni, approssimazione o stima con una formula matematica Tipicamente sono distribuzioni esponenziali, caratterizzate dal valore mediano. Analogo procedimento per i tempi di arrivo dei processi

19 Modelli a Reti di Code Dalle due distribuzioni si può calcolare il valore medio di throughput, tempo di attesa, ecc. Il problema è descritto da una rete di servitori con coda di processi in attesa (CPU, dispositivi di I/O) Dai tassi di arrivo e dai tassi di servizio si calcola: utilizzazione, lunghezza media delle code, attesa media, tasso di arrivo al server successivo nella rete Modelli a Reti di Code Sia n la lunghezza media della coda, W il tempo di attesa medio, λ il tasso di arrivo medio; se il sistema è stabile, nel tempo che un processo lascia la coda (W) la coda si è riformata, quindi n= λ * W detta anche Formula di Little Notare bene: vale per ogni tipo di scheduling Modelli a Reti di Code Vantaggi: descrive caratteristiche generali dell algoritmo permette confronti fra algoritmi Svantaggi: pochi algoritmi e distribuzioni possono essere trattati matematicamente le distribuzioni di arrivi e di servizio usate (che si sanno trattare) sono spesso non reali i risultati sono approssimati e quindi discutibili

20 Simulazione =:= programmare un modello del sistema Contiene una simulazione del tempo, fa evolvere lo stato del sistema, raccoglie statistiche delle varie code e uso dei componenti Problema: i dati per guidare il modello generatore di numeri casuali con distribuzioni definite matematicamente generatore di numeri casuali con distribuzione misurate empiricamente Simulazione Le distribuzioni degli eventi non descrivono le eventuali relazioni temporali fra gli eventi La simulazione guidata da distribuzione può essere inaccurata Nastri di Traccia: monitor di un sistema e raccolta degli istanti in cui avvengono gli eventi il trace tape fornisce input alla simulazione Simulazione Svantaggi della simulazione: ore di tempo di calcolo la precisione dipende dal tempo di calcolo i trace tape occupano una grande quantità di spazio lo sviluppo del simulatore è molto costoso

21 Implementazione L unico modo con precisione assoluta è implementare l algoritmo di scheduling, provarlo in un SO con carico di lavoro reale e misurare le prestazioni solo svantaggio è il costo! codifica modifica del SO reazioni degli utenti in un ambiente sperimentale misure Implementazione Il carico di lavoro cambia nel tempo, anche per effetto dello scheduling: gli utenti tentano di usarlo a loro vantaggio "imbrogliando". Ad es. aggiramento di un MFQS facendo I/O "fasulli"

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

Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU

Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU Scheduling della CPU Concetti fondamentali Criteri di scheduling Algoritmi di scheduling Concetti fondamentali L obiettivo della multiprogrammazione è di avere processi sempre in esecuzione al fine di

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

Concetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst

Concetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst Impossibile visualizzare l'immagine. Scheduling della CPU Concetti di base La multiprogrammazione cerca di ottenere la massima utilizzazione della CPU. L esecuzione di un processo consiste in cicli d esecuzione

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

Scheduling. Dipartimento di Informatica Università di Verona, Italy. Sommario

Scheduling. Dipartimento di Informatica Università di Verona, Italy. Sommario Scheduling Dipartimento di Informatica Università di Verona, Italy Sommario Concetto di scheduling Tipi di scheduling Lungo termine Breve termine (scheduling della CPU) Medio termine Scheduling della CPU

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

Capitolo 5: Scheduling della CPU! Scheduling della CPU! Concetti di Base! Alternanza di Sequenze di CPU- e I/O-Burst!

Capitolo 5: Scheduling della CPU! Scheduling della CPU! Concetti di Base! Alternanza di Sequenze di CPU- e I/O-Burst! Capitolo 5: Scheduling della CPU Criteri di Scheduling Algoritmi di Scheduling Cenni Scheduling per sistemi multprocessore Modelli Asimmetrico e Simmetrico Scheduling della CPU 5.2 Concetti di Base Alternanza

Dettagli

Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base

Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base Scheduling Sistemi Operativi e Distribuiti A.A. 2-25 Bellettini - Maggiorini Concetti di base Il massimo utilizzo della CPU si ottiene mediante la multiprogrammazione Ogni processo si alterna su due fasi

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

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

Lez. 4 Lo scheduling dei processi. Corso: Sistemi Operativi Danilo Bruschi

Lez. 4 Lo scheduling dei processi. Corso: Sistemi Operativi Danilo Bruschi Sistemi Operativi Lez. 4 Lo scheduling dei processi 1 Cicli d'elaborazione In ogni processo i burst di CPU si alternano con i tempi di I/O 2 Uso tipico di un calcolatore 3 CPU-bound e I/O-bound Processi

Dettagli

Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore

Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore 5.2 Silberschatz, Galvin and Gagne 2005 1 Massimizzare lʼutilizzo della

Dettagli

Scheduling della CPU. Contenuti delle lezioni del 23 e del 26 Marzo 2009. Sequenza alternata di CPU burst e di I/O burst.

Scheduling della CPU. Contenuti delle lezioni del 23 e del 26 Marzo 2009. Sequenza alternata di CPU burst e di I/O burst. Contenuti delle lezioni del 23 e del 26 Marzo 2009 Scheduling della CPU Introduzione allo scheduling della CPU Descrizione di vari algoritmi di scheduling della CPU Analisi dei criteri di valutazione nella

Dettagli

5. Scheduling della CPU. 5.1 Concetti Fondamentali. 5.1.2. Lo scheduler della CPU

5. Scheduling della CPU. 5.1 Concetti Fondamentali. 5.1.2. Lo scheduler della CPU 5. Scheduling della CPU 1 Il multitasking e il time sharing (quando è usato) cercano di massimizzare l utilizzo della CPU. Per questo, il progettista del SO deve stabilire delle regole per decidere, quando

Dettagli

5. Scheduling della CPU

5. Scheduling della CPU 1 5. Scheduling della CPU Il multitasking e il time sharing (quando è usato) cercano di massimizzare l utilizzo della CPU. Per questo, il progettista del SO deve stabilire delle regole per decidere, quando

Dettagli

Scheduling della CPU. Concetti base. Criteri di Scheduling. Algoritmi di Scheduling

Scheduling della CPU. Concetti base. Criteri di Scheduling. Algoritmi di Scheduling Scheduling della CPU Concetti base Criteri di Scheduling Algoritmi di Scheduling 1 Scheduling di processi Obbiettivo della multiprogrammazione: esecuzione contemporanea di alcuni processi in modo da massimizzare

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

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

Obiettivo della multiprogrammazione: massimizzazione dell utilizzo 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 CPU Scheduling della CPU: commuta l uso della CPU tra i vari processi Scheduler della CPU (a

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Scheduling della CPU Concetti fondamentali Criteri di scheduling Algoritmi di scheduling Scheduling dei thread Scheduling multiprocessore Scheduling real time Scheduling in Linux Valutazione

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

Sistemi Operativi. ugoerr+so@dia.unisa.it 5 LEZIONE SCHEDULING DELLA CPU CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Sistemi Operativi. ugoerr+so@dia.unisa.it 5 LEZIONE SCHEDULING DELLA CPU CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08 Sistemi Operativi Docente: Ugo Erra ugoerr+so@dia.unisa.it 5 LEZIONE SCHEDULING DELLA CPU CORSO DI LAUREA TRIENNALE IN INFORMATICA UNIVERSITA DEGLI STUDI DELLA BASILICATA Sommario della lezione Introduzione

Dettagli

La schedulazione. E.Mumolo mumolo@units.it

La schedulazione. E.Mumolo mumolo@units.it La schedulazione E.Mumolo mumolo@units.it Concetti fondamentali Multiprogrammazione: esecuzione simultanea di più sequenze di esecuzione Pseudo-parallelismo su una sola CPU Esecuzione parallela su più

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux 6.1 Sistemi multiprocessori simmetrici Fin qui si sono trattati i problemi di scheduling

Dettagli

Diagramma delle durate dei CPU burst. Lo scheduler della CPU. Criteri di scheduling. Dispatcher

Diagramma delle durate dei CPU burst. Lo scheduler della CPU. Criteri di scheduling. Dispatcher Schedulazione della CPU Scheduling della CPU Introduzione allo scheduling della CPU Descrizione di vari algorimi di scheduling della CPU Analisi dei criteri di valutazione nella scelta di un algoritmo

Dettagli

Capitolo 6: CPU scheduling

Capitolo 6: CPU scheduling Capitolo 6: CPU scheduling Concetti di base. Criteri di schedulazione. Gli algoritmi di schedulazione. Schedulazione per sistemi multiprocessore. Schedulazione per sistemi in tempo reale. Schedulazione

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 3-Schedulazione 1 Prerequisiti Concetto di media Concetto di varianza 2 1 Introduzione Come sappiamo, l assegnazione della CPU ai processi viene gestita dal nucleo, attraverso

Dettagli

Lo scheduling. Tipici schedulatori

Lo scheduling. Tipici schedulatori Lo scheduling Un processo durante la sua evoluzione è o running o in attesa di un evento. Nel secondo caso trattasi della disponibilità di una risorsa (CPU, I/O, struttura dati, ecc.) di cui il processo

Dettagli

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione SISTEMI OPERATIVI (parte prima - gestione dei processi) Tra i compiti di un sistema operativo sicuramente troviamo i seguenti: Gestione dei processi Gestione della memoria Gestione del file-system Ci occuperemo

Dettagli

Scheduling. Livelli Algoritmi

Scheduling. Livelli Algoritmi Scheduling Livelli Algoritmi Introduzione Lo scheduling Ha lo scopo di decidere quale processo eseguire in un dato istante Si realizza mediante un componente specifico del sistema operativo Lo scheduler

Dettagli

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

Lezione 6. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. Lezione 6 Sistemi operativi 31 marzo 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 6.1 Di cosa parliamo in questa lezione? La schedulazione 1 e caratteristiche

Dettagli

Scheduling. Scheduling 14/12/2003 1/7

Scheduling. Scheduling 14/12/2003 1/7 Scheduling In un computer multiprogrammato più processi competono per l'uso della CPU. La parte di sistema operativo che decide quale processo mandare in esecuzione è lo scheduler. Batch OS: scheduling

Dettagli

Sistemi Operativi. Schedulazione della CPU

Sistemi Operativi. Schedulazione della CPU Sistemi Operativi (modulo di Informatica II) Schedulazione della CPU Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Concetti di base Come si realizza il multi-tasking Come si

Dettagli

Scheduling. Lo scheduler è la parte del SO che si occupa di

Scheduling. Lo scheduler è la parte del SO che si occupa di Scheduling Lo scheduler è la parte del SO che si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L algoritmo di scheduling (la politica utilizzata dallo scheduler) ha impatto

Dettagli

Sistemi Operativi. Rappresentazione e gestione delle attività e della computazione: processi e thread

Sistemi Operativi. Rappresentazione e gestione delle attività e della computazione: processi e thread Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Rappresentazione e gestione delle attività e della computazione:

Dettagli

Processo - generalità

Processo - generalità I processi Processo - generalità Astrazione di un attività; Entità attiva che ha un suo percorso evolutivo; Attività = azione dedicata al raggiungimento di uno scopo Il processo esegue istruzioni per svolgere

Dettagli

Scheduling della CPU (2) CPU bursts (2)

Scheduling della CPU (2) CPU bursts (2) Scheduling della CPU (1) - La gestione delle risorse impone al SO di prendere decisioni sulla loro assegnazione in base a criteri di efficienza e funzionalità. - Le risorse più importanti, a questo riguardo,

Dettagli

Lo schedulatore del kernel

Lo schedulatore del kernel Lo schedulatore del kernel Lo schedulatore Lo schedulatore è un programma del kernel che si occupa di scegliere un processo/lavoro che ha richiesto una risorsa. Lo schedulatore a lungo termine LTS è quello

Dettagli

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Un sistema operativo è un insieme di programmi che consentono ad un utente di INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli

Dettagli

SISTEMI OPERATIVI. Schedulazione della CPU. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)

SISTEMI OPERATIVI. Schedulazione della CPU. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II) SISTEMI OPERATIVI (MODULO DI INFORMATICA II) Schedulazione della CPU Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) Università degli Studi di Bergamo a.a. 2012-13 Sommario Concetti base

Dettagli

Sistemi Operativi Kernel

Sistemi Operativi Kernel Approfondimento Sistemi Operativi Kernel Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni

Dettagli

Scheduling della CPU Simulazione in linguaggio Java

Scheduling della CPU Simulazione in linguaggio Java Scheduling della CPU Simulazione in linguaggio Java Realizzato da: Amelio Francesco 556/001699 Di Matteo Antonio 556/000067 Viola Antonio 556/000387 Progetto di Sistemi Operativi Docente Giancarlo Nota

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Scheduling della CPU Concetti fondamentali Criteri di scheduling Algoritmi di scheduling Scheduling dei thread Scheduling multiprocessore Scheduling real time Scheduling in Linux Valutazione

Dettagli

Scheduling Introduzione Tipi di scheduler Scheduler di lungo termine (SLT) Scheduler di medio termine (SMT) Scheduler di breve termine (SBT)

Scheduling Introduzione Tipi di scheduler Scheduler di lungo termine (SLT) Scheduler di medio termine (SMT) Scheduler di breve termine (SBT) Scheduling Introduzione Con scheduling si intende un insieme di tecniche e di meccanismi interni del sistema operativo che amministrano l ordine in cui il lavoro viene svolto. Lo Scheduler è il modulo

Dettagli

Processi e Thread. Scheduling (Schedulazione)

Processi e Thread. Scheduling (Schedulazione) Processi e Thread Scheduling (Schedulazione) 1 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L

Dettagli

Gli stati di un processo

Gli stati di un processo 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

SISTEMI OPERATIVI. Gestione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 13/05/2007

SISTEMI OPERATIVI. Gestione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 13/05/2007 2007 SISTEMI OPERATIVI Gestione dei processi Domande di verifica Luca Orrù Centro Multimediale Montiferru 13/05/2007 Gestione dei processi 1. Qual è la differenza tra un programma e un processo? Un programma

Dettagli

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio)

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio) GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio) #include void main (int argc, char *argv[]) { pid = fork(); /* genera nuovo processo */ if (pid < 0) { /* errore */ fprintf(stderr,

Dettagli

Architettura degli Elaboratori 2. tipi di scheduling. scheduling. scheduling della CPU (1) Esercitazione 1. politiche di ordinamento dei processi

Architettura degli Elaboratori 2. tipi di scheduling. scheduling. scheduling della CPU (1) Esercitazione 1. politiche di ordinamento dei processi Architettura degli Elaboratori 2 long term tipi di scheduling CREATED TERMINATED Esercitazione 1 politiche di ordinamento dei processi middle term short term READY SUSPENDED RUNNING A. Memo - 2005 by event

Dettagli

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. I Sistemi Operativi 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 è il gestore di tutte le risorse

Dettagli

Architettura degli Elaboratori 2

Architettura degli Elaboratori 2 Architettura degli Elaboratori 2 Esercitazioni 1 Scheduling della CPU A. Memo - 2004 tipi di scheduling long term CREATED TERMINATED middle term SUSPENDED short term READY RUNNING by event WAITING 1 scheduling

Dettagli

Sebbene le durate varino secondo il processo e secondo il calcolatore, la curva di frequenza è simile a quella qui riportata.

Sebbene le durate varino secondo il processo e secondo il calcolatore, la curva di frequenza è simile a quella qui riportata. C3. SCHEDULING DELLA CPU Lo scheduling della CPU è alla base dei sistemi operativi multiprogrammati e consente di passare il controllo della CPU ai vari processi, in modo da rendere più produttivo il calcolatore.

Dettagli

Il software. la parte contro cui si può solo imprecare. Il software

Il software. la parte contro cui si può solo imprecare. Il software Il software la parte contro cui si può solo imprecare Il software L hardware da solo non è sufficiente per il funzionamento dell elaboratore ma è necessario introdurre il software ovvero un insieme di

Dettagli

1.5: Gestione dei Processi e della CPU

1.5: Gestione dei Processi e della CPU 1.5: Gestione dei Processi e della CPU Concetto di Processo Multitasking Operazioni sui processi Stati di un processo Eventi e risorse Context switch Scheduling dei processi A breve termine A medio/lungo

Dettagli

ESERCIZI SULLO SCHEDULING DEI PROCESSI

ESERCIZI SULLO SCHEDULING DEI PROCESSI ESERCIZI SULLO SCHEDULING DEI PROCESSI Esercizio 1 Esercizio 2 una priorità maggiore) e 4) RR (quanto=1). Esercizio 3 1 una priorità maggiore) e 4) RR (quanto=1). Esercizio 4 Esercizio 5 2 Esercizio 6

Dettagli

SCHEDULATORI DI PROCESSO

SCHEDULATORI DI PROCESSO Indice 5 SCHEDULATORI DI PROCESSO...1 5.1 Schedulatore Round Robin...1 5.2 Schedulatore a priorità...2 5.2.1 Schedulatore a code multiple...3 5.3 Schedulatore Shortest Job First...3 i 5 SCHEDULATORI DI

Dettagli

SCHEDULING DEI PROCESSI

SCHEDULING DEI PROCESSI SCHEDULING DEI PROCESSI FIFO o FCFS (First-In-First-Out) Primo arrivato primo servito. Si utilizza nei processi non-preemptive. RR (Round-Robin) I processi sono attivati in modalità FIFO ma viene loro

Dettagli

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore. I processi Cos è un processo? Un processo è una attività, controllata da un programma, che si svolge su un processore. Il programma è una entità statica che descrive la sequenza di istruzioni che devono

Dettagli

Sistemi Real-Time Ing. Rigutini Leonardo

Sistemi Real-Time Ing. Rigutini Leonardo Sistemi Real-Time Ing. Rigutini Leonardo Dipartimento di Ingegneria dell informazione Università di Siena Sistema Real-Time Sistema in cui la correttezza non dipende solamente dai valori di output ma anche

Dettagli

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti 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

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

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 5 Martedì 21-10-2014 Thread Come abbiamo detto, un processo è composto

Dettagli

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica www.dis.uniroma1.it/~midlab Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Prof. Roberto Baldoni Complementi: Buffer I/O Gestione dei buffer e I/O scheduling: 1. Richiami sulle tecniche

Dettagli

Trasparenze del Corso di Sistemi Operativi

Trasparenze del Corso di Sistemi Operativi Università di Udine Facoltà di Scienze MM.FF.NN. Laurea in TWM A.A. 2015/16 Trasparenze del Corso di Sistemi Operativi Marina Lenisa Università di Udine Copyright c 2000-04 Marino Miculan (miculan@dimi.uniud.it)

Dettagli

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Secondo biennio Articolazione Informatica TPSIT Prova Quarta Sistema operativo: gestione memoria centrale La Memoria Virtuale consente di superare i limiti della Memoria Centrale : A. no B. a volte C. si, ma non sempre e' adeguata D. si, attraverso tecniche di gestione

Dettagli

Tecniche Automatiche di Acquisizione Dati

Tecniche Automatiche di Acquisizione Dati Tecniche Automatiche di Acquisizione Dati Sistemi operativi Fabio Garufi - TAADF 2005-2006 1 Cosa sono i sistemi operativi I sistemi operativi sono dei programmi software che svolgono le funzioni di interfaccia

Dettagli

Algoritmi di scheduling

Algoritmi di scheduling Capitolo 3 Algoritmi di scheduling Come caso particolare di studio, di seguito è discussa in dettaglio la politica di scheduling del sistema operativo LINUX (kernel precedente alla versione 2.6). Sono

Dettagli

Sistemi Operativi. Modulo 4: Scheduling

Sistemi Operativi. Modulo 4: Scheduling Sistemi Operativi Modulo 4: Scheduling Renzo Davoli Alberto Montresor Copyright Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,

Dettagli

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. La nozione di multiprogrammazione prevede la possibilità di

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

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

Modello dei processi. Riedizione delle slide della Prof. Di Stefano Modello dei processi Riedizione delle slide della Prof. Di Stefano 1 Processi Modello di Processi asincroni comunicanti Process Scheduling Operazioni sui Processi Cooperazione tra Processi Interprocess

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 3 Martedì 15-10-2013 1 Struttura ed organizzazione software dei sistemi

Dettagli

Il supporto al Sistema Operativo

Il supporto al Sistema Operativo Il supporto al Sistema Operativo Obiettivi e funzioni del S.O. Il Sistema Operativo è il software che controlla l esecuzione dei programmi e amministra le risorse del sistema. Ha due obiettivi principali:

Dettagli

Introduzione ai sistemi operativi

Introduzione ai sistemi operativi Introduzione ai sistemi operativi Che cos è un S.O.? Shell Utente Utente 1 2 Utente N Window Compilatori Assembler Editor.. DB SOFTWARE APPLICATIVO System calls SISTEMA OPERATIVO HARDWARE Funzioni di un

Dettagli

Corso di Sistemi Operativi

Corso di Sistemi Operativi Corso di Sistemi Operativi Scheduling dei processi a.a. 2012/2013 Francesco Fontanella Classificazione dei processi Durante l'esecuzione di un processo: si alternano periodi di attività svolte dalla CPU

Dettagli

Lo scheduler di UNIX (1)

Lo scheduler di UNIX (1) Lo scheduler di UNIX (1) Lo scheduling a basso livello è basato su una coda a più livelli di priorità 1 Lo scheduler di UNIX (2) Si esegue il primo processo della prima coda non vuota per massimo 1 quanto

Dettagli

Concetto di processo. Processi. Immagine in memoria di un processo. Stati di un processo. Un SO esegue una varietà di attività:

Concetto di processo. Processi. Immagine in memoria di un processo. Stati di un processo. Un SO esegue una varietà di attività: Impossibile visualizzare l'immagine. Processi Concetto di processo Un SO esegue una varietà di attività: Sistemi batch job Sistemi time-sharing programmi utenti o task Nel libro i termini job e processo

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

Dettagli

Sistema Operativo e Applicativi

Sistema Operativo e Applicativi Sistema Operativo e Applicativi Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Software A.A. 2012-2013 1 / 36 Software Conosciamo due classi di software: Programmi

Dettagli

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU Il sistema operativo Sistema operativo Gestione della CPU Primi elaboratori: Monoprogrammati: un solo programma in memoria centrale Privi di sistema operativo Gestione dell hardware da parte degli utenti

Dettagli

Memoria secondaria. Sistemi Operativi mod. B 14.1

Memoria secondaria. Sistemi Operativi mod. B 14.1 Memoria secondaria Struttura del disco Scheduling del disco Gestione dell unità a disco Gestione dello spazio di swap La struttura RAID Affidabilità dei dischi Connessione dei dischi 14.1 Memoria secondaria

Dettagli

01/05/2014. Dalla precedente lezione. Ruolo dei sistemi operativi. Esecuzione dei programmi

01/05/2014. Dalla precedente lezione. Ruolo dei sistemi operativi. Esecuzione dei programmi Marco Lapegna Laboratorio di Programmazione Dalla precedente lezione 6. I sistemi operativi LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica I Sistemi Operativi Il linguaggi di programmazione

Dettagli

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica prof. Ing. Corrado Santoro A.A. 2010-11 Architettura di un sistema operativo Progr 1 Progr 2 Progr

Dettagli

Il Concetto di Processo

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

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Cognome: Nome: Matricola: Sistemi Operativi A.A. 2005-2006, prova scritta del 7 luglio 2006

Cognome: Nome: Matricola: Sistemi Operativi A.A. 2005-2006, prova scritta del 7 luglio 2006 Cognome: Nome: Matricola: Sistemi Operativi A.A. 2005-2006, prova scritta del 7 luglio 2006 Usa questa pagina per la brutta, staccala, non consegnarla. Sistemi Operativi A.A. 2005-2006, prova scritta del

Dettagli

Sistemi operativi e reti A.A. 2015-16. Lezione 2

Sistemi operativi e reti A.A. 2015-16. Lezione 2 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 2 Giovedì 8-10-2015 Sistemi batch multiprogrammati La causa principale

Dettagli

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base) Sistema Operativo (Software di base) Il Sistema Operativo Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei dati attraverso

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1 GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

Principi di Schedulazione in tempo reale

Principi di Schedulazione in tempo reale Principi di Schedulazione in tempo reale 1 Task in tempo reale Un task t i è una sequenza di processi in tempo reale τ ik ciascuno caratterizzato da q un tempo d arrivo r ik (r=release time, oppure a=arrival

Dettagli

Gestione dei processi. Marco Cesati. Schema della lezione. Blocco di controllo 2. Sezioni e segmenti. Gestione dei processi. Job.

Gestione dei processi. Marco Cesati. Schema della lezione. Blocco di controllo 2. Sezioni e segmenti. Gestione dei processi. Job. Di cosa parliamo in questa lezione? Lezione 4 Cosa è un processo e come viene gestito dal SO 1 e job 2 Il blocco di controllo Sistemi operativi 3 Struttura di un file eseguibile 4 La schedulazione dei

Dettagli

Esercitazione E1 Scheduling, deadlock, monitor

Esercitazione E1 Scheduling, deadlock, monitor Esercitazione E1 Scheduling, deadlock, monitor Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 E1-1 Scheduling I cinque processi A,B,C,D,E richieste di CPU si presentano nell ordine. Le loro richieste

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. 2009-10 Sommario Il concetto di processo Schedulazione dei processi e cambio di contesto

Dettagli

Algoritmi di scheduling

Algoritmi di scheduling Capitolo 2 Algoritmi di scheduling 2.1 Sistemi Real Time In un sistema in tempo reale (real time) il tempo gioca un ruolo essenziale. Le applicazioni di tali sistemi sono molteplici e di larga diffusione.

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

GESTIONE DELLA MEMORIA CENTRALE

GESTIONE DELLA MEMORIA CENTRALE GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:

Dettagli