Il Sistema Operativo Gestione dei Processi

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
Scheduling A. Ferrari.
Gestione dei processi A. Ferrari.
Il Sistema Operativo.
Orario definitivo Martedì Aula 2 Polo Mercoledì Aula 1 Fondi Palazzina delle Scienze Giovedì 9-11 Aula 1 Fondi Palazzina delle Scienze Nota:
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
5.1 Sistemi operativi Scheduling della CPU Concetti di base Criteri di scheduling Algoritmi di scheduling Scheduling in sistemi con più processori Valutazione.
Scheduling della CPU Concetti fondamentali Criteri di scheduling
Scheduling della CPU Concetti di base Criteri di scheduling
Dipartimento di Ingegneria dell’informazione Università di Siena
Gestione dei processi Un sistema operativo multitasking è in grado di gestire più processi Un processo corrisponde ad un programma in esecuzione. Un programma.
Scheduling della CPU.
Sistemi Operativi SCHEDULING DELLA CPU.
Sistemi Operativi GESTIONE DEI PROCESSI.
Introduzione ai Sistemi Operativi
Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Gestionale A.A. 2003/2004.
Struttura di un SO Menu Struttura SO Algoritmo Programma Processo
Scheduling della CPU.
Sistema Operativo (Software di base)
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
1 Gestione del Processore (Scheduling). 2 Scheduling dei processi È l’attività mediante la quale il sistema operativo effettua delle scelte tra i processi,
Gestione del Processore (Scheduling)
Il nucleo del Sistema Operativo
Gestione del processore (Scheduler)
1 Processi e Thread Scheduling (Schedulazione). 2 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Informatica Generale Marzia Buscemi
IL NUCLEO Avvio e terminazione dei processi Assegnazione della CPU ai diversi processi Sincronizzazione tra i processi Sincronizzazione dei processi con.
Fabio Garufi - TAADF Tecniche Automatiche di Acquisizione Dati Sistemi operativi.
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
Scheduler e politiche di Marco Arcamone.
© 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi.
© 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread G IORGIO P.
Il Sistema Operativo Processi e Risorse
© 2015 Giorgio Porcu - Aggiornamennto 01/12/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’ Informazione Sistemi.
FESR Catania, Trigrid Open Day, Trinacria Grid Virtual Laboratory PROGETTO “ISOSPIN” Supporters : AnnaMaria Muoio, Marcello IaconoManno.
IL PROCESSORE I MICROPROCESSORI INTEL Il microprocessore è un circuito integrato dotato di una struttura circuitale in grado di effettuare un determinato.
D. Talia - UNICAL 1. 1 Sistemi Operativi Domenico Talia Facoltà di Ingegneria Università della Calabria.
Il Sistema Operativo. Sistema Operativo (Software di base) Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità.
IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI.
Rappresentazione dell’ Informazione Digitale e Binario
CONTROLLO DELLA CONCORRENZA
Sistema Operativo Il software può essere diviso in due grandi classi:
Summary di (quasi) tutti gli utenti non presentati…
Rappresentazione dell’ Informazione Informazione e Comunicazione
I PROCESSI.
Il Sistema Operativo Programmazione Concorrente
Il Sistema Operativo Ripasso
I microprocessori Il microprocessore è un circuito integrato costituito da silicio. Il microprocessore svolge fondamentalmente due funzioni: sovraintende.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Deadlock e livelock.
12. Il Sistema Operativo Ing. Simona Colucci
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
Capitolo 7 Le infrastrutture SoftWare
K4 è planare? E K3,3 e K5 sono planari? Sì!
Il Sistema Operativo.
Processi e Thread Meccanismi di IPC (1).
Sistemi Operativi.
Scheduling in Linux (Kernel 2.4 e 2.6)
Ricorsione 16/01/2019 package.
Processi e thread in Windows 2000
LOGICA DI FUNZIONAMENTO
LINUX: struttura generale
LE PARTI INTERNE DEL COMPUTER
Scheduling (Schedulazione)
Corso di programmazione, Simulazione, ROOT, code, ecc. ecc.
Transcript della presentazione:

Il Sistema Operativo Gestione dei Processi Tipologie di Reti e di Mezzi trasmissivi - Giorgio Porcu Il Sistema Operativo Gestione dei Processi BOZZA: 25/05/2016 Giorgio Porcu www.thegiorgio.it

Sommario Gestione dei Processi Processo e PCB Scheduler Stati di un Processo Algoritmi di Scheduling

Gestione dei Processi

Gestione dei Processi La Gestione dei Processi è la funzione più importante del kernel del Sistema Operativo. Realizza l’esecuzione dei programmi e l'assegnazione delle risorse da essi richieste. Affronta problemi quali: La limitatezza delle risorse utilizzate dai programmi L'utilizzo efficiente del processore (CPU) L'esecuzione simultanea di più programmi Programma Programma Programma RISORSE CPU

Struttura a livelli La Gestione dei Processi è parte del Kernel del SO e si trova a diretto contatto con l’HW del computer nella rappresentazione logica del diagramma a livelli: Gestione dell’Interfaccia Gestione del File System Gestione dell’I/O Kernel Gestione della Memoria Gestione dei Processi HW

Processo e PCB Processo Programma in esecuzione (su un processore o CPU). E’ entità dinamica rispetto al programma (insieme statico di istruzioni memorizzato su supporto fisico). Per ogni programma da eseguire su un computer il Sistema Operativo crea uno o più processi. A ogni processo è associato un insieme di risorse HW (Memoria, Periferiche) e SW da esso utilizzate. Le informazioni su ogni processo e le sue risorse sono mantenute in RAM in una struttura dati chiamata descrittore di processo (PCB, Process Control Block).

Multitasking Sistema multitasking Sistema Operativo che consente l'esecuzione contemporanea di più processi. I processi sono eseguiti in pseudoparallelismo: si alternano per breve tempo sul processore dando all’utente l’impressione della contemporaneità. Difatti: Il processore funziona in modo sequenziale, in ogni istante può fisicamente eseguire un solo processo Un computer possiede di norma un solo processore Tutti i moderni SO sono multitasking.

Scheduler Scheduler (Schedulatore) Componente software che gestisce nel tempo l’esecuzione dei processi e l'assegnazione delle risorse da essi richieste seguendo opportune strategie. E' essenziale nel multitasking, ove in ogni istante più processi concorrono all'utilizzo di limitate risorse per la propria esecuzione Utilizza un modello a stati per i processi

Stati di un processo (1/2) Per gestire più processi in contemporanea, a ciascuno di essi è assegnato in ogni istante di vita uno stato che ne descrive la situazione attuale: New (nuovo) Ready (pronto) Running (esecuzione) Wait (attesa) Terminate (terminato) Al lancio di un programma lo scheduler crea un processo New ponendolo in stato Ready in una Coda dei processi. Quando lo scheduler decide che un processo in coda ne ha i requisiti lo manda in effettiva esecuzione (Running).

Stati di un processo (2/2) Un processo in esecuzione può interrompersi per scelta propria (in mancanza di risorse necessarie) o su richiesta esterna dello scheduler ponendosi in stato Wait. L’esecuzione riprenderà in seguito. Terminata l’esecuzione il processo è in stato Terminate. Ready Running New Terminate Wait

Algoritmi di Scheduling (1/5) Algoritmo di scheduling Strategia di scelta del processo da eseguire utilizzata dallo Scheduler per garantire il multitasking. Ne esistono varie tipologie, ciascuna con vantaggi e svantaggi. Le principali sono: FCFS (First Come, First Served) SJF (Shortest Job First) Priority Round Robin

Algoritmi di Scheduling (2/5) FCFS (First Come, First Served) I processi sono eseguiti in ordine di arrivo: la Coda dei Processi funziona come una lista FIFO (First In, First Out). Semplice da implementare. Un processo lungo può bloccare indefinitamente la CPU.

Algoritmi di Scheduling (3/5) SJF (Shortest Job First) E' eseguito per primo il processo più breve in termini di tempo totale di esecuzione. Richiede una preventiva stima dei tempi di utilizzo di CPU da parte dello Scheduler. Ottimizza il tempo di utilizzo di CPU. Un processo lungo può attendere indefinitamente in coda (starvation). E' difficile stimare con esattezza l'utilizzo della CPU.

Algoritmi di Scheduling (4/5) Priority I processi sono eseguiti in ordine di priorità. Richiede una preventiva assegnazione di un livello di priorità a ciascun processo da parte del SO. Ottimizza l'esecuzione in base all’importanza dei programmi. Un processo a bassa priorità può attendere indefinitamente in coda (starvation).

Algoritmi di Scheduling (5/5) Round Robin E' assegnato a priori un tempo massimo di esecuzione (time slice). Tutti i processi in Coda sono eseguiti in modo circolare per un time slice; se non è sufficiente, il processo è sospeso e si passa al successivo. E' il più onesto nel condividere il processore. E' difficile scegliere in modo ottimale il time slice in base alle esigenze dei processi. Nessuno tra gli algoritmi previsti è ottimale e tutti presentano svantaggi: nella pratica i SO usano una combinazione di essi