Sistemi di Calcolo (A.A ) Corso di Laurea in Ingegneria Informatica e Automatica Sapienza Università di Roma

Documenti analoghi
Gestione dei Processi

Il sistema operativo

Sistemi Operativi. Lezione 3 Processi e Thread

Pag. 1. Il Nucleo del sistema operativo (la gestione dei processi)

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

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

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Corso di Informatica

Sistemi Operativi 1. Lezione IV: Processi e thread. Mattia Monga. 11 marzo 2008

Sistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi di Calcolo (A.A ) Corso di Laurea in Ingegneria Informatica e Automatica Sapienza Università di Roma

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

Informatica II Sistemi Operativi DIGIP - a.a. 2015/16

Lezione XII: La gestione delle eccezioni in MINIX

Sistemi Operativi A.A. 2010/2011

il Nucleo e la gestione dei processi

Richiami sui Concetti Fondamentali dei Processi

Sistemi di Calcolo (A.A ) Corso di Laurea in Ingegneria Informatica e Automatica Sapienza Università di Roma

Sistemi Operativi: Concetti generali. Sistemi Operativi: Concetti generali

Il Sistema Operativo Ripasso

Sistema operativo: Gestione dei processi

I Processi. Il Concetto di Processo

Introduzione ai thread

Corso di Informatica

Gestione della memoria. Introduzione Swapping Allocazione contigua Paginazione

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

Introduzione al Sistema Operativo

Sistemi Operativi (modulo di Informatica II) I processi

Strutture dei sistemi di calcolo

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Elementi di Informatica A. A. 2016/2017

Sistema operativo: Introduzione

Struttura dei Sistemi di Calcolo

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

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Lezione 15: Il Sistema Operativo : Principi Generali (3P) Lunedì 22 Novembre 2010

sono forniti di un sistema operativo più o meno complesso; i programmi d utente (o programmi del sistema, ma lo fanno attraverso il sistema

I processi: concetti di base, context switch e scheduling

Sistemi Operativi. La gestione delle risorse

Sistemi Operativi 13 Novembre 2015

Laboratorio di Informatica (Chimica)

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

Prof. G. Ascia. Sistema Operativo

Sistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1

Il Concetto di Processo

Cenni di sistemi operativi

I THREAD O PROCESSI LEGGERI

Il supporto al sistema operativo

1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione

Sistemi Operativi. Lezione 3 Processi e Thread

IL SISTEMA OPERATIVO

Capitolo 5 - Silberschatz

Sistema operativo e processi. Il Sistema Operativo ed i Processi. Il sistema operativo. Il sistema operativo

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

2. Nucleo del sistema operativo (la gestione dei processi)

LINUX: struttura generale

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

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

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

Sistemi operativi e distribuiti

Sistema Operativo. (hardware e software) della della macchina

Scheduling della CPU

Trasparenze del Corso di Sistemi Operativi

Il Sistema Operativo. Informatica B AA 17/18 Luca Cassano 30 Novembre 2017 Informatica B, AA 17/18, Luca Cassano

Interruzioni parte prima. Inquadramento del problema

Capitolo 2: Strutture dei sistemi di calcolo

Il Concetto di Processo

Capitolo 4 Gestione della Memoria

Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus

Scheduling della CPU. Lo scheduling Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Il Sistema Operativo Processi e Risorse

LA GESTIONE DELLA I/O

CAPITOLO 11 GESTIONE DEI PROCESSI

THREAD, SMP, MICROKERNEL

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

I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix.

Elaborazione parallela

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

Dati: variabili globali Program Counter Alcuni registri di CPU Stack: parametri, variabili locali a funzioni/procedure

LABORATORIO DI SISTEMI OPERATIVI

Le risorse. Se il processo può essere forzato a rilasciare una risorsa, la risorsa è chiamata prerilasciabile.

I Processi. Il Concetto di Processo

Sistemi Operativi 20 giugno 2013 Compito B

IL SISTEMA DELLE INTERRUZIONI

Il Sistema Operativo

i. Diagramma di GANTT relativo all esecuzione dei quattro processi:

Università Ca' Foscari Venezia - Corso di Laurea in Informatica Sistemi Operativi prof. Augusto Celentano. Domande di riepilogo

Sommario. Processi e Programmi. Che cosa e un Processo? Lezione 5 Processi e Threads

Introduzione al Sistema Operativo

Il Concetto di Processo

ESERCITAZIONE 6 - Soluzioni. Processi e thread

Sistemi operativi e distribuiti

Processi. Descrittore di Processo (PCB) Context Switch Primitive per la creazione e terminazione dei processi. Il descrittore di processo (PCB)

Multiprogrammazione (circa 1965) Interruzioni e S.O. (1) Interruzioni e S.O. (2)

Università degli Studi di Cassino

1. Le componenti principali di un sistema operativo sono: interfaccia con l utente (interprete dei comandi e/o interfaccia

Università degli Studi di Cassino

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

Transcript:

Sistemi di Calcolo (.. 2014-2015) Corso di Laurea in Ingegneria Informatica e utomatica Sapienza Università di Roma Esercizi riepilogativi sulla seconda parte del Modulo I Eccezioni e processi Domanda 1 Un eccezione di sistema è: un istruzione macchina che viene eseguita in caso di errore un evento che altera il normale flusso di esecuzione delle istruzioni di un programma. un evento che altera il normale flusso di esecuzione delle istruzioni di un programma. Domanda 2 Un eccezione interna avviene: in modo sincrono in corrispondenza di eventi generati dalla CPU stessa in modo asincrono in corrispondenza di segnali elettrici generati internamente al sistema di calcolo. in modo sincrono in corrispondenza di eventi generati dalla CPU stessa. Domanda 3 Una trap è: un segnale elettrico che viene inviato alla CPU da un dispositivo esterno ad essa un istruzione macchina che serve per attivare intenzionalmente una eccezione di sistema. un istruzione macchina che serve per attivare intenzionalmente una eccezione di sistema. Domanda 4 Si dice che un eccezione è non recuperabile quando: non è possibile riprendere normalmente l esecuzione del programma che l ha generata non è possibile passare il controllo al sistema operativo per la sua gestione. non è possibile riprendere normalmente l esecuzione del programma che l ha generata. Domanda 5 L accesso da parte di un processo a una pagina non mappata del proprio spazio di indirizzi logico, ma conservata nello spazio di swapping della memoria virtuale su disco, genera: un eccezione di tipo fault! un eccezione di tipo abort

. un eccezione di tipo fault. E un tipo di eccezione recuperabile poiché la pagina viene caricata da disco in memoria, dopo avere eventualmente creato posto spostando un altra pagina su disco. Domanda 6 La richiesta di un servizio al sistema operativo da parte di un processo è generalmente implementata come eccezione di sistema: Vero Falso. Vero. d esempio in Linux si usa l istruzione trap int 0x80 dopo aver caricato nel registro eax il codice della chiamata a sistema. Domanda 7 Le CPU supportano generalmente due modalità di esecuzione distinte: utente e supervisore. Questa distinzione è motivata dalla necessità di: limitare le istruzioni eseguibili da un processo alle sole operazioni che non possono causare un crash del sistema, consentendo allo stesso tempo al sistema operativo di avere il pieno controllo sullo stato della macchina limitare le operazioni effettuabili dagli utenti standard di un sistema, consentendo allo stesso tempo agli utenti amministratori di avere il pieno controllo della macchina. limitare le istruzioni eseguibili da un processo alle sole operazioni che non possono causare un crash del sistema, consentendo allo stesso tempo al sistema operativo di avere il pieno controllo sullo stato della macchina. Domanda 8 L esecuzione del codice di gestione di un eccezione di sistema avviene: In modalità utente In modalità supervisore. in modalità supervisore. La gestione dell eccezione può avere bisogno di accedere a strutture dati interne del sistema operativo, ad esempio per manipolare la tabella delle pagine nel caso di un page fault, oppure per effettuare operazioni che richiedono il controllo diretto di aspetti normalmente non accessibili ai processi, come la possibilità di effettuare context switch da un processo all altro salvando/ripristinando informazioni nei loro PC. Domanda 9 Un interrupt vector: È un array che contiene gli indirizzi delle routine di gestione delle eccezioni supportate dal sistema. L array è indicizzato dai codici di eccezione. È un array che contiene la lista dei codici delle varie eccezioni supportate dal sistema.. È un array che contiene gli indirizzi delle routine di gestione delle eccezioni supportate dal sistema. L array è indicizzato dai codici di eccezione. d esempio, nei sistemi Linux la cella

di indice 0x80 (128) dell interrupt vector contine un puntatore al gestore della trap che attiva una chiamata a sistema. Domanda 10 Un processo in un sistema di calcolo è: l istanza di un programma in esecuzione, a cui è associato uno stato che include il contenuto dei registri, della memoria e di ogni altra risorsa in uso al processo è un attività svolta da uno o più utenti attivi nel sistema. l istanza di un programma in esecuzione, a cui è associato uno stato che include il contenuto dei registri, della memoria e di ogni altra risorsa in uso al processo. Domanda 11 Una trap è anche nota come: interrupt software interrupt hardware. interrupt software. Viene infatti generata tramite l esecuzione di una particolare istruzione macchina. Domanda 12 Il time-sharing è una tecnica per: consentire a più utenti di accedere simultaneamente alla stessa macchina dare l illusione a un utente che più processi sono in esecuzione simultanea anche se vi sono meno CPU che processi attivi. dare l illusione a un utente che più processi sono in esecuzione simultanea anche se vi sono meno CPU che processi attivi. Domanda 13 Lo scheduling Round-Robin è: una tecnica di schedulazione time-sharing dei processi sulla CPU che consiste nel dare la CPU a ciascun processo a rotazione per un certo quanto di tempo in modo che l esecuzione di tutti i processi possa avanzare in modo equo una tecnica di schedulazione timesharing degli utenti attivi nel sistema in modo che ciascuno possa avere la stessa frazione del tempo di CPU disponibile per le applicazioni eseguite. una tecnica di schedulazione time-sharing dei processi sulla CPU che consiste nel dare la CPU a ciascun processo a rotazione per un certo quanto di tempo in modo che l esecuzione di tutti i processi possa avanzare in modo equo. Domanda 14 Il context switch tra processi è:

una tecnica applicata nell ambito della schedulazione della CPU ai processi che consente di sospendere l attività di un processo e passare il controllo della CPU a un altro processo una tecnica applicata nell ambito della schedulazione della CPU ai processi che consente di passare da modalità utente a modalità supervisore e viceversa. dare l illusione a un utente che più processi sono in esecuzione simultanea anche se vi sono meno CPU che processi attivi. Domanda 15 Il context switch tra processi richiede di salvare varie informazioni, come il contenuto dei registri, in modo che il processo a cui si toglie la CPU possa riprendere l esecuzione più avanti dal punto in cui era stata interrotta. Queste informazioni vengono normalmente salvate: In un blocco allocato dinamicamente nella zona HEP del processo a cui si toglie la CPU Nel PC (Process Control lock) associato al processo a cui si toglie la CPU. Nel PC (Process Control lock) associato al processo a cui si toglie la CPU. Domanda 16 Una chiamata a sistema è la richiesta di un servizio al sistema operativo; dal punto di vista dell utente avviene generalmente tramite una chiamata a una funzione di libreria che passa il controllo al sistema operativo: Vero Falso. Vero. d esempio, i sistemi Linux offrono una libreria di funzioni basata sullo standard POSIX che vengono chiamate come normali funzioni utente. Diversamente dalle funzioni definite dall utente, le funzioni che implementano chiamate a sistema contengono al loro interno istruzioni trap che passano il controllo al sistema operativo. Questo è il modo con cui il sistema operativo svolge attività per conto dei processi. Domanda 17 Un processo è in stato ready se: C E in attesa di un evento asincrono come la terminazione di un operazione di lettura da un dispositivo esterno E nelle condizioni di essere eseguito, ma non lo è perché tutti i core delle CPU disponibili nel sistema sono impegnati nell esecuzione di altri processi D E correntemente in esecuzione su uno dei core disponibili nel sistema E terminato e le risorse che detiene (es. memoria) stanno per essere rilasciate per poter essere riutilizzate da altri processi C. E nelle condizioni di essere eseguito, ma non lo è perché tutti i core delle CPU disponibili nel sistema sono impegnati nell esecuzione di altri processi. I processi ready sono tenuti in una opportuna coda di processi pronti per essere eseguiti. Il sistema operativo implementa uno o più algoritmi di scheduling (es. round-robin) per selezionare i processi ready da mandare in esecuzione prendendoli dalla coda.

Domanda 18 Un processo passa normalmente dallo stato running allo stato ready quando: un interrupt del timer ha segnalato che è terminato il quanto di tempo che è stato assegnato al processo e il controllo della CPU deve essere passato a un altro processo Il processo ha terminato la sua esecuzione e le risorse che detiene (es. memoria) stanno per essere rilasciate per poter essere riutilizzate da altri processi. un interrupt del timer ha segnalato che è terminato il quanto di tempo che è stato assegnato al processo e il controllo della CPU deve essere passato a un altro processo. Domanda 19 In quali circostanze un processo passa dallo stato waiting allo stato running? Quando un interrupt segnala il verificarsi dell evento di cui il processo era in attesa e il processo viene Normalmente non succede: per tornare running un processo deve prima passare per lo stato ready ed essere selezionato (schedulato) per l esecuzione sulla CPU. Normalmente non succede: per tornare running un processo deve prima passare per lo stato ready ed essere selezionato (schedulato) per l esecuzione sulla CPU. Domanda 20 In quali circostanze un processo passa dallo stato running allo stato waiting? Quando il processo effettua una chiamata a sistema che richiede il completamento di un attività asincrona per cui il processo deve attendere senza consumare tempo di CPU Quando è terminato il quanto di tempo assegnato al processo e il processo stesso viene messo in attesa di essere nuovamente schedulato per l esecuzione time-sharing. Quando il processo effettua una chiamata a sistema che richiede il completamento di un attività asincrona per cui il processo deve attendere senza consumare tempo di CPU.