Sistema operativo: Gestione dei processi

Documenti analoghi
Sistema operativo: Gestione dei processi

Sistema operativo: Gestione della memoria

Pronto Esecuzione Attesa Terminazione

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

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

Processi e Thread. Scheduling (Schedulazione)

Sistemi Operativi Kernel

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

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

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Sistemi Operativi SCHEDULING DELLA CPU

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Scheduling della CPU

Linguaggio C - Stringhe

Corso di Informatica

Scheduling della CPU:

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

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

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

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

Appunti sulla Macchina di Turing. Macchina di Turing

SCHEDULATORI DI PROCESSO

Corso di Sistemi di Elaborazione delle informazioni

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Il Sistema Operativo

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

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

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

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

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

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi

Sistemi operativi. Esempi di sistemi operativi

MUDE Piemonte. Modalità operative generazione Procura speciale

Cenni sull ingegneria del software e sulla qualità dei programmi

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Sistemi Operativi (modulo di Informatica II) I processi

Scheduling della CPU Simulazione in linguaggio Java

Algoritmi di scheduling

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

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Introduzione ai Sistemi Operativi

J. Assfalg Appunti di Sistemi Operativi

Il Sistema Operativo (1)

La Gestione delle risorse Renato Agati

Il sistema operativo

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

Architettura di un calcolatore

Collegamento al sistema

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

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

Sistemi operativi e reti A.A Lezione 2

Dispensa di Informatica I.1

Progettazione e realizzazione di un applicativo Web Annunci Immobiliari

TEORIA DEI SISTEMI OPERATIVI

Gli algoritmi: definizioni e proprietà

Laboratorio di Informatica

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

GESTIONE DEI PROCESSI

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

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

Sistema per scambi/cessioni di Gas al Punto di Scambio Virtuale

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

DMA Accesso Diretto alla Memoria

Gestione della Memoria

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

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

Esercitazione E1 Scheduling, deadlock, monitor

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

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

CHE COS È L INFORMATICA

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Organizzazione Monolitica

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Nozioni di Informatica di base. dott. Andrea Mazzini

Lo scheduler di UNIX (1)

Gestione Deleghe e Acquisizione 730 Precompilato

Gestione del processore e dei processi

Università Politecnica delle Marche. Progetto Didattico

2. Simulazione discreta: approcci alla simulazione

Trasmissione di dati al di fuori di un area locale avviene tramite la commutazione

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

Esame di INFORMATICA

Transcript:

Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica - ICA Prof. Pierluigi Plebani A.A. 2011/2012 Sistema operativo: Gestione dei processi La presente dispensa e da utilizzarsi ai soli fini didattici previa autorizzazione dell autore. E severamente vietata la riproduzione anche parziale e la vendita. 13/01/2012

Processo e programma Programma È una entità statica Può essere associato al file eseguibile presente in memoria di massa È immutabile Processo È una entità dinamica È associato al codice caricato in memoria di massa Cambia secondo lo stato di esecuzione In linea di massima un processo può essere definito come un programma in esecuzione composto dalla coppia (E,S) E: codice eseguibile S: stato del processo Un programma può riferirsi a diversi processi Un processo è associato ad un unico programma Corso di Informatica ICA LC - prof. Plebani 2

Ciclo di vita di un processo Corso di Informatica ICA LC - prof. Plebani 3

Processo utente e supervisore Il processo utente è un processo generato da un programma scritto dall utente Anche il sistema operativo è un software Tra i processi in esecuzione c è anche il processo del sistema operativo (supervisore) In realtà un sistema operativo è composto da numerosi processi Il processo di sistema operativo ha una priorità e una importanza maggiore di quello del processo utente Quando un processo utente invoca delle primitive del sistema (e.g., accesso a periferiche) Si ha una supervisor call (SVC) In esecuzione viene mandato il processo supervisore Corso di Informatica ICA LC - prof. Plebani 4

Compiti del gestore dei processi Gestire il ciclo di vita dei processi Selezionare (scheduling) quale tra i processi in stato di pronto devono essere mandati in esecuzione Gestire la cooperazione tra processi Gestire la concorrenza tra processi nell accesso alle risorse Corso di Informatica ICA LC - prof. Plebani 5

Da pronto a esecuzione : scheduling In un sistema operativo multi tasking diversi processi concorrenti devono essere eseguiti Ma la CPU è unica (o comunque si hanno sempre un numero di CPU minore dei processi in esecuzione) Il sistema deve rendere trasparente questa concorrenza Lo scheduling seleziona tra i processi in stato pronto quale mandare in stato esecuzione Attenzione! In un dato momento solo un processo è in stato esecuzione L obiettivo degli algoritmi di scheduling è minimizzare il tempo medio di attesa per ogni processo per il loro completamento Corso di Informatica ICA LC - prof. Plebani 6

Approccio FIFO La schedulazione avviene in modo semplice Il primo processo viene mandato in esecuzione Quando termina è il turno del secondo processo Molto semplice da realizzare Troppo inefficiente e praticamente inutilizzabile Corso di Informatica ICA LC - prof. Plebani 7

Approccio ideale Il minimo tempo medio di attesa si ottiene eseguendo prima i processi la cui esecuzione è più rapida Il problema è che non si conosce a priori quanto un programma rimarrà in esecuzione Si corre il rischio di non vedere eseguiti i processi troppo lunghi Corso di Informatica ICA LC - prof. Plebani 8

Approccio Round Robin 1/2 Viene definito un quanto di tempo Ogni processo viene lasciato in stato esecuzione per un quanto di tempo Scaduto il quanto di tempo Il processo in esecuzione torna in stato di pronto e il processo successivo va in esecuzione Viene memorizzato il contesto del processo e caricato il contesto del processo successivo (context switch) Ogni processo è identificato dal suo contesto Il contesto è dato dai valori dei registri di sistema (PC, SP, ) Attraverso il contesto il sistema sa a che punto era arrivato nell esecuzioen del processo quando il quanto di tempo era scaduto Corso di Informatica ICA LC - prof. Plebani 9

Approccio Round Robin 2/2 Molto efficiente e un buon compromesso tra il FIFO e la situazione ideale La criticità sta nel dimensionamento del quanto di tempo Più è piccolo maggiore è la sensazione che la CPU sia dedicata ad un solo processo Più è piccolo maggiore è il tempo speso per il context switching Corso di Informatica ICA LC - prof. Plebani 10

Da esecuzione a attesa : interruzioni interne Una interruzione esterna avviene quando il processo richiede l utilizzo di una periferica (e.g., lettura di dati da tastiera) In questo caso il tempo di attesa può essere elevato e non ha senso rimanere nello stato di esecuzione e occupare la CPU Il processo viene quindi mandato in attesa Viene eseguita una chiamata a supervisore (SVC) che dialogherà con la periferica Dallo stato di attesa passo allo stato di pronto appena un evento che indica la terminazione delle operazioni da parte della periferica non viene inviato Corso di Informatica ICA LC - prof. Plebani 11

Da esecuzione a pronto : interruzioni esterne Le interruzioni esterne sono quelle che il sistema operativo solleva per bloccare l esecuzione di un processo Solitamente avvengono quando scade il quanto di tempo Possono avvenire anche quando un processo con priorità maggiore ha necessità di essere eseguito Corso di Informatica ICA LC - prof. Plebani 12