Introduzione Flashcards
Definizione generale di Sistema Operativo
Un sistema operativo è un insieme di programmi (di base quindi è un software) che gestisce e coordina l’hardware di un calcolatore, pertanto agisce da intermediario fra l’utente e lo strato fisico di un calcolatore.
Definizione più comune di Sistema Operativo
Una definizione più comune è quella secondo cui il sistema operativo è il solo programma che funziona sempre nel calcolatore, ovvero il Kernel (nucleo).
Definizione di multiprogrammazione
Si definisce multiprogrammazione l’abilità di un calcolatore di eseguire più di un programma su singolo processore.
Qual è l’idea della multiprogrammazione
Un processo è in esecuzione finché non deve attendere un evento, generalmente il completamento di qualche richiesta di I/O. Con la multiprogrammazione si cerca d’impiegare questi tempi d’attesa in modo produttivo: si tengono contemporaneamente più processi in memoria, e quando un processo deve attendere un evento, il sistema operativo gli sottrae il controllo della CPU per cederlo a un altro processo.
Qual è l’estensione logica del concetto di multiprogrammazione?
Estensione logica del concetto di multiprogrammazione, risulta essere il time sharing system.
Definizione di time sharing system
*La CPU esegue più processi commutando la loro esecuzione *con una frequenza tale da permettere a ciascun utente l’interazione con il proprio programma durante la sua esecuzione.
Cosa assicura a ciascun utente una piccola frazione di tempo di calcolo, in un sistema operativo a partizione di tempo?
Per assicurare a ciascun utente un piccola frazione del tempo di calcolo, un sistema operativo a partizione di tempo si avvale dello scheduling della CPU e della multiprogrammazione. In un time sharing system, il sistema operativo deve garantire tempi di risposta brevi: questa finalità è raggiunta, in alcuni casi, grazie alla tecnica detta swapping (avvicendamento).
Definizione di swapping
Lo swapping è una tecnica che consente di scambiare processi presenti in memoria con quelli che risiedono su disco e viceversa.
Quale metodo più comune permette di ottenere i medesimi risultati dello swapping?
Un metodo più comune per ottenere il medesimo risultato è la memoria virtuale.
Cosa guida il comportamento di un sistema operativo?
Il comportamento generale di un sistema operativo è guidato dalle interruzioni.
Cosa sono le interruzioni e a cosa servono?
Un segnale di interruzione indica che si è verificato un evento generato da un programma, in seguito a un errore o alla richiesta di erogazione, da parte di un programma utente, di un servizio del sistema operativo. A ciascun tipo di interruzione corrispondono nel sistema singoli segmenti di codice, che determinano la reazione all’interruzione.
Quali sono le due modalità di esecuzione di un sistema operativo?
Per garantire il corretto funzionamento del sistema è necessario distinguere tra l’esecuzione di codice del sistema operativo e di codice definito dall’utente. Pertanto, vengono identificate almeno due diverse modalità: user mode e kernel mode.
Come viene indicato quale delle due modalità di esecuzione di un sistema operativo è attiva?
Per indicare quale delle due modalità sia attiva viene impiegato dalla CPU un bit, detto bit mode: solitamente è pari a 0 se in kernel mode, altrimenti è pari a 1.
Cosa sono le system call e come vengono gestite?
Le system call sono gli strumenti che un programma utente impiega per richiedere al sistema operativo di eseguire operazioni a esso riservate, per proprio conto. In generale, quando un programma utente esegue delle system call, queste vengono gestite dalla CPU come delle interruzioni. Il controllo pertanto, passata tramite un vettore delle interruzione alla procedura di servizio specifica, presente all’interno del sistema operativo e si pone il bit mode a 0.
Qual è lo scopo della duplice modalità di esecuzione di un sistema operativo?
La duplice modalità ha essenzialmente uno scopo protettivo bidirezionale, ovvero consente la protezione del sistema operativo rispetto al comportamento dell’utente e viceversa.