Informatica Generale Marzia Buscemi

Slides:



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

CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
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.
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.
Gestione del processore
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
12. Il Sistema Operativo Ing. Simona Colucci
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Il sistema operativo.
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
INTRODUZIONE AI SISTEMI OPERATIVI
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Gestione dei processi Un sistema operativo multitasking è in grado di gestire più processi Un processo corrisponde ad un programma in esecuzione. Un programma.
Struttura dei sistemi operativi (panoramica)
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario.
Sistemi Operativi SCHEDULING DELLA CPU.
Sistemi Operativi GESTIONE DEI PROCESSI.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Introduzione ai Sistemi Operativi
Il sistema operativo Vito Perrone
Sistemi Operativi Insieme di programmi che permettono di gestire le risorse (HW e SW ) efficientemente. Funzioni principali: conservare lo stato delle.
Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Il sistema operativo.
Architettura degli elaboratori
La schedulazione dei processi
IL PROBLEMA DELLO SCHEDULING
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
Il Sistema Operativo (1)
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
1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.
Gestione del processore (Scheduler)
Calcolatori Elettronici Valutazione delle Prestazioni Francesco Lo Presti Rielaborate da Salvatore Tucci.
Introduzione Cos’è un sistema operativo ?. Hardware Sistema Operativo Applicazioni È il livello di SW con cui interagisce l’utente e comprende programmi.
Informatica Lezione 8 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
1 Sommario degli argomenti  Sistemi operativi: DOS, Unix/Linux,Windows  Word processors: Word  Fogli elettronici: Excel  Reti: TCP/IP, Internet, ftp,
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
1 Processi e Thread Scheduling (Schedulazione). 2 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra.
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
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:
Gli interrupt Richiesta di attenzione alla cpu. Viene generato un segnale detto di interrupt diretto alla cpu.
Scheduler e politiche di Marco Arcamone.
 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 
10. Il Sistema Operativo Ing. Simona Colucci Informatica - CDL in Ingegneria Industriale- A.A
Gestione delle periferiche. Le periferiche sono dispositivi che permettono le operazioni di input/output.
POLITICHE DI SCELTA DEI PROCESSI Alunna D’Amato C. Classe IV F Anno Scolastico
Transcript della presentazione:

Informatica Generale Marzia Buscemi buscemi@di.unipi.it Ricevimento: Giovedì ore 16.00-18.00, Dipartimento di Informatica, stanza 306-PS o per posta elettronica Pagina web del corso: http://www.di.unipi.it/~buscemi/IG07.htm (sommario delle lezioni in fondo alla pagina) dddd

Quali sono le parti di un SO ? lato utente servizi richiesti dagli utenti S I T E M A O P R V Interfaccia grafica (desktop) nucleo del SO (kernel) Gestore dei processi Gestore dei processori Gestore della memoria File system Gestore dell’I/O HW

La scorsa volta abbiamo visto.. Processo: parte statica (programma) + parte dinamica (dipende dallo stato di esecuzione) Tabella dei processi: contiene informazioni che servono per attivare, sospendere l’esecuzione di un processo (stato, PC, registri) Il gestore dei processi controlla la sincronizzazione, interruzione e riattivazione dei processi

Stati di un processo processi pronti (coda) processi in esecuzione selezione primo processo pronto e sua esecuzione inizio esecuzione termine esecuzione processi pronti (coda) processi in esecuzione interruzione completamento operazione I/O richiesta operazione I/O processi in attesa

Transizioni di stato pronto  esecuzione: esecuzione  attesa: il SO stabilisce quale dei processi pronti debba essere mandato in esecuzione la scelta è fatta dall’algoritmo di scheduling (vedi dopo) che deve bilanciare efficienza e fairness (tutti trattati allo stesso modo) esecuzione  attesa: il processo chiede delle risorse di I/O o attende un evento il SO salva tutte le informazioni necessarie a riprendere l’esecuzione e l’informazione relativa all’evento atteso nella tabella del processo

Transizioni di stato attesa  pronto: esecuzione  pronto: si verifica l’evento atteso dal processo e il SO sposta quel processo nella coda dei processi pronti esecuzione  pronto: il processo in esecuzione viene interrotto dal SO (es. perché termina il quanto di tempo a disposizione) e lascia spazio a un altro processo pronto il SO salva tutte le informazioni necessarie a riprendere l’esecuzione del processo dal punto in cui viene interrotta nella tabella del processo contemporaneamente un altro processo passa da pronto a “in esecuzione”

Esercizio Consideriamo tre processi A, B e C Supponiamo: il quanto di tempo t sia 0.25 msec Ad A servono 2 quanti per essere completato e a metà del primo quanto A abbia bisogno di un input (es. attesa di richiesta stampa per 0.20 msec) A B servono 2 quanti di CPU per essere completato e a metà del secondo si metta in attesa di una risorsa che non è disponibile A C serve un quanto Scrivere il diagramma temporale dell’esecuzione di A, B e C Mostrare le transizioni di stato di tutto il sistema

Esecuzione in stato utente e in stato supervisore A seguito di una system call o di un interrupt, il SO può interrompere l’esecuzione di un processo in stato utente (es. editor testo, programma di email) e mandare in esecuzione altri programmi o effettuare operazioni di ‘gestione’ della macchina Al termine della gestione dell’interrupt o dell’esecuzione di processo del SO (in stato supervisore), l’uso della CPU può passare di nuovo all’esecuzione di un processo in stato utente NB. Un processo in stato utente non può mai passare allo stato supervisore (in stato supervisore si ha accesso a tutte le risorse)!

Esercizio Considerando l’esercizio precedente, spiegare quando l’esecuzione di un programma in modalità utente viene interrotta e il controllo della CPU passa al SO e quando poi riprende l’esecuzione in modalità utente.

Gestore dei processori NB. A volte in letteratura non si distingue tra gestore dei processori e gestore dei processi

Schedulatore (scheduler) Si occupa di stabilire quali processi devono avvicendarsi nell’esecuzione riguarda la scelta tra i processi pronti cerca un “mix” ottimale di processi che siano I/O bound (accedono soprattutto alle periferiche) e CPU bound (usano essenzialmente CPU). deve evitare che qualche processo pronto non vada mai in esecuzione (starvation)

Schedulatore 2 Obiettivi: massimizzare l’uso della CPU massimizzare il numero di elaborazioni in un certo intervallo di tempo terminare ciascuna esecuzione nel minor tempo possibile garantire che il tempo di esecuzione di ciascun processo sia “consistente” Tipi di schedulatori: preemptive (un processo può essere interrotto per prelazione) non-preemptive (un processo non può essere interrotto fino alla fine)

Schedulatore 3 Criteri di efficienza: tasso di utilizzo della CPU throughput (numero di processi eseguiti per unità di tempo) elapsed time (tempo di esecuzione per ciascun processo) waiting time (tempo in coda) tempo di risposta (dalla richiesta all’inizio dell’esecuzione)

Algoritmi di scheduling FIFO (first in first out): non-preemptive SJF (shortest job first): non-preemptive Round-robin (time slices + FIFO): preemptive EDF (earliest deadline first): per applicazioni real-time SRT (shortest remaining time): versione preemptive di SJF

Algoritmi di scheduling: esercizi Assumiamo 4 processi P1, P2, P3, P4 che arrivano nella coda di processi pronti in quest’ordine: P1, P2, P3, P4 che hanno tempo di esecuzione: P1 30, P2 10, P3 2, P4 8 Scrivere i diagrammi temporali seguendo gli algoritmi FIFO SJF Round-robin (con quanto t=5) EDF (assumere deadline: P1 60, P2 10, P3 35, P4 20) Confrontare l’efficienza degli algoritmi sopra usando come parametro la somma dei tempi di di attesa in coda (waiting time)