Lo schedulatore del kernel



Documenti analoghi
Lo scheduling. Tipici schedulatori

Processi e Thread. Scheduling (Schedulazione)

Scheduling della CPU:

Sistemi Operativi SCHEDULING DELLA CPU

Corso di Informatica

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

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

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

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

Architettura degli Elaboratori 2

SCHEDULATORI DI PROCESSO

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

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

Scheduling della CPU

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

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

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

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

Scheduling. Scheduling 14/12/2003 1/7

La schedulazione. E.Mumolo

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

Scheduling. Livelli Algoritmi

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

Gli stati di un processo

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

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

Algoritmi di scheduling

La Gestione delle risorse Renato Agati

Sistemi Operativi. Scheduling dei processi

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Scheduling della CPU Simulazione in linguaggio Java

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

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

Processo - generalità

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

Sistemi Operativi Kernel

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

Sistemi Operativi. 5 LEZIONE SCHEDULING DELLA CPU CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Linux I/O Scheduling overview

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio)

J. Assfalg Appunti di Sistemi Operativi

Scheduling della CPU (2) CPU bursts (2)

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

Lo scheduler di UNIX (1)

Il memory manager. Gestione della memoria centrale

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

5. Scheduling della CPU

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

Scheduling. Tipi di processi. Classi di scheduling. P1 (CPU bound) P2 /I/O bound) Scheduling a lungo termine. A. Ferrari

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

SISTEMI OPERATIVI. E il S.O. in funzione sul computer che consente all utente di poter avviare i programmi applicativi desiderati.

Gestione della Memoria

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

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

Dipartimento di Informtica e Sistemistica Università di Roma La Sapienza

Sistemi operativi. Esempi di sistemi operativi

SCHEDULING DEI PROCESSI

Scheduling della CPU

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

Capitolo 6: CPU scheduling

GESTIONE DEI PROCESSI

IL SISTEMA OPERATIVO

Scheduling della CPU

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

40. Le transizioni fra stati Lo schema di transizione fra stati può essere rappresentato graficamente nel modo seguente :

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

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.

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

A.C. Neve Sistemi operativi 3.0 1

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

Sistemi Operativi. Schedulazione della CPU

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

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Sistemi Operativi (modulo di Informatica II) I processi

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

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

LA GESTIONE DELLA MEMORIA

Lezione 10. Scheduling nei sistemi multiprocessori. Esempio: P=2 processori. Scheduling dei processi

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Materiali per il modulo 1 ECDL. Autore: M. Lanino

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

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

1.5: Gestione dei Processi e della CPU

Sistemi Real-Time Ing. Rigutini Leonardo

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

Schedulazione in RTAI

ESERCIZI SULLO SCHEDULING DEI PROCESSI

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

Transcript:

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 che sceglie i lavori (job scheduler) nella coda degli hold sul disco fisso per spostarli nella coda dei ready in ram Lista degli hold HDD jcb 01 jcb 21 jcb 05 jcb 14 jcb 97

Lo schedulatore Lo schedulatore a breve termine STS è quello che sceglie i processi nella coda dei ready (process scheduler) per inviarlo alla cpu per la fase running. Lista dei ready pcb 01 pcb 21 pcb 05 pcb 14 pcb 97

Lo schedulatore dei lavori (LTS) Prima di scegliere un lavoro chiede un controllo dello spazio in ram Il controllo viene chiesto al memory manager Tra tutti i lavori l'ordine di scelta può seguire 3 politiche principali FiFo, priorità statica, priorità dinamica

FIFO Hdd Viene scelto il lavoro arrivato in coda per primo, poi il successivo ecc. L'ordine di arrivo nella lista hold è anche l'ordine di prelievo. Vantaggi: semplicità Svantaggi: poco efficiente, alcuni lavori sono più urgenti di altri, anche se sono più dietro in fila. pcb 01 pcb 21 pcb 05 pcb 14 pcb 97

Priorità statica Viene assegnata una priorità ad ogni lavoro (memorizzata nel PCB) sulla base di: Richieste di un tecnico sistemista Necessità di risorse Hdd Vantaggi: più efficiente Svantaggi: informazioni aggiuntive nel pcb pcb 01 pcb 21 pcb 05 pcb 14 pcb 97

Priorità dinamica Più un lavoro aspetta in coda, più si aumenta la sua priorità. Vantaggi: ancora più efficiente, evita stalli di processi con bassa priorità originale. Svantaggi: informazioni aggiuntive nel pcb Hdd pcb 01 pcb 21 pcb 05 pcb 14 pcb 97

Schedulatore dei processi (STS) Ci Quest'altro schedulatore preleva PCB dalla coda dei ready in ram e assegna loro la cpu. sono 6 regole da rispettare: imparzialità, efficienza, realtime, tournaround, throughput, fairness. pcb 01 pcb 21 pcb 05 pcb 14 pcb 97

Schedulatore dei processi (LTS) (1)Imparzialità: la cpu deve essere concessa equamente ai processi (2)Efficienza: la cpu deve essere utilizzata al massimo (3)Realtime: i processi interattivi devono avere miglior uso di i/o (4)Tournaround: i processi batch devono avere miglior uso della cpu (5)Throughput: il più alto numero di processi serviti al secondo (6)Fairness: evitare processi troppo poco schedulati.

Politiche STS Senza pre-rilascio (non (non preemptive) Con Con pre-rilascio (preemptive) 1.Round Robin 1.FCFS 2.SJF 3. PRIORITY 2.Round Robin a tempo 3. Round robin limitato 4. Priorità statica 5. Priorità dinamica.

Senza prerilascio: FCFS First Come is First Served: è la coda FIFO. Svantaggi: il tempo medio di attesa è elevato e sono svantaggiati i processi veloci. Vantaggi: semplicità

Senza prerilascio: SJF Shortest job first: vengono serviti prima i lavori più veloci. Svantaggi: i lavori molto lenti potrebbero attendere moltissimo. Vantaggi: più efficiente, minimizza il tempo medio di attesa

Senza prerilascio: priorità Viene pre assegnata una priorità (inserita nel descrittore del processo) che aumenta al crescere dei tempi di attesa e per processi veloci. priorità=(t. Attesa + Velocità) Svantaggi: oneroso gestirlo. Vantaggi: si privilegiano: processi brevi Processi che sono in attesa da più tempo.

Con prerilascio: Round Robin Trattasi di una coda di tipo FIFO gestita con time slice. Scaduto il timeslice la cpu deve essere rilasciata. I processi sono prelevati in testa alla coda I processi, da dovunque essi arrivino (lista di wait, di hold o running) vengono inseriti in fondo alla coda. hold ready pcb 01 pcb 21 pcb 05 pcb 14 pcb 97 run wait

Con prerilascio: Round Robin a tempo Se un processo fa molto i/o resta spesso in attesa dello stesso (WAIT) e poi viene inserito in fondo alla coda assieme a quelli che non hanno aspettato affatto. Hold hdd Ready ram Running cpu Quindi viene discriminato. Waiting I/O

Con prerilascio: Round Robin a tempo Con questa variante l'inserimento non avviene in coda se il processo ha usato la cpu per una percentuale di tempo bassa (e molto i/o). Hold hdd Ready ram Running cpu Waiting I/O

Con prerilascio: Round Robin limitato Con questa variante ogni processo può usare al massimo N timeslice. Quei processi che hanno terminato gli N timeslice vengono messi in una nuova coda speciale (la coda dei time slice esauriti) da dove si preleveranno solo quando la coda di ready è esaurita. Hold hdd Ready ram Running cpu Waiting I/O

Con prerilascio: priorità Statica: nel pcb viene indicata una priorità che è maggiore per i processi veloci. Dinamica: nel pcb la priorità inserita è maggiore per processi veloci o processi in lunga attesa. Hold hdd Ready ram Running cpu Waiting I/O