Sistemi Operativi e Funzioni
54 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual è il ruolo principale di un sistema operativo in un computer?

  • Controllare esclusivamente i dispositivi di input
  • Proteggere il sistema dalle infezioni virus
  • Fornire un'interfaccia utente grafica
  • Gestire le risorse hardware e software (correct)

Perché le due esecuzioni dello stesso programma in terminali diversi non interferiscono fra loro?

  • Perché c'è un sistema operativo che gestisce l'accesso alle risorse (correct)
  • Perché i terminali sono isolati dall'hardware
  • Perché ci sono due sistemi operativi in esecuzione
  • Perché ogni programma utilizza sempre processori diversi

Quale dei seguenti sistemi operativi è basato su Linux?

  • Ubuntu 22.04 LTS (correct)
  • macOS 13 Ventura
  • Windows 11
  • iOS

Quale componente hardware non è gestito direttamente da un sistema operativo?

<p>Apparecchiature di proiezione (C)</p> Signup and view all the answers

Cosa si intende per 'programmi che devono basarsi sul sistema operativo'?

<p>Programmi che utilizzano le funzioni fornite dal sistema operativo (B)</p> Signup and view all the answers

Quanti CFU si ottengono superando ciascun modulo del corso di Sistemi Operativi?

<p>6 CFU (B)</p> Signup and view all the answers

Qual è la verbalizzazione finale su Infostud dopo aver superato entrambi i moduli?

<p>Media aritmetica dei voti (D)</p> Signup and view all the answers

Cosa succede se si supera solo lo scritto del primo modulo e non si è completato il secondo modulo?

<p>Verbalizzazione come 'Rinuncia' (A)</p> Signup and view all the answers

Quante prove possono essere previste per ciascun modulo?

<p>Più di una prova per modulo (C)</p> Signup and view all the answers

Quando sarà possibile verbalizzare gli esami per chi è al secondo anno?

<p>Non prima di giugno (C)</p> Signup and view all the answers

Qual è la principale differenza tra i due moduli del corso di Sistemi Operativi?

<p>Sono insegnati da docenti diversi (B)</p> Signup and view all the answers

Quante sessioni di esame ci sono per chi deve sostenere il corso di Sistemi Operativi?

<p>Due sessioni per modulo (B)</p> Signup and view all the answers

Qual è la verbalizzazione su Infostud a gennaio e febbraio, indipendentemente dal superamento degli esami?

<p>Rinuncia (D)</p> Signup and view all the answers

Quale registro mantiene l'indirizzo della prossima istruzione da prelevare?

<p>PC (C)</p> Signup and view all the answers

Quale delle seguenti categorie di istruzioni NON include la manipolazione di dati?

<p>Controllo (C)</p> Signup and view all the answers

Cosa succede al PC dopo ogni prelievo di istruzione?

<p>Viene incrementato (B)</p> Signup and view all the answers

Qual è la funzione del Memory Address Register (MAR)?

<p>Contenere l'indirizzo della prossima operazione di lettura/scrittura. (B)</p> Signup and view all the answers

Quale delle seguenti affermazioni riguardo le interruzioni è corretta?

<p>Possono essere sia sincrone che asincrone (B)</p> Signup and view all the answers

In quale caso il registratore delle istruzioni (IR) è utilizzato?

<p>Quando l'istruzione viene prelevata dalla memoria (A)</p> Signup and view all the answers

Quale dei seguenti registri contiene i dati da scrivere in memoria?

<p>Memory Buffer Register (D)</p> Signup and view all the answers

Quale registro contiene l'indirizzo di un'istruzione da prelevare dalla memoria?

<p>Program Counter (D)</p> Signup and view all the answers

Quale opzione descrive meglio la funzione delle interruzioni asincrone?

<p>Interrompono il flusso di esecuzione per input/output (C)</p> Signup and view all the answers

Cosa avviene se un'istruzione contiene un salto (jump)?

<p>Il PC subisce una modifica in base all'istruzione (D)</p> Signup and view all the answers

Che cosa rappresentano i codici di condizione (o flag) nel contesto del processo di esecuzione?

<p>Mostrano lo stato corrente delle operazioni. (C)</p> Signup and view all the answers

Quale delle seguenti funzioni NON è associata alle operazioni riservate di un processore?

<p>Operazioni aritmetiche (B)</p> Signup and view all the answers

Qual è la funzione principale del Program Status Word (PSW)?

<p>Contenere le informazioni di stato del programma. (A)</p> Signup and view all the answers

Cosa sono i registri-indice?

<p>Registri utilizzati per calcolare indirizzi nuovi. (B)</p> Signup and view all the answers

Cosa indica il registro esp in un'architettura MIPS?

<p>La cima dello stack. (B)</p> Signup and view all the answers

Quale delle seguenti affermazioni sui registri di I/O è falsa?

<p>I registri di I/O non interagiscono con la memoria. (D)</p> Signup and view all the answers

Qual è lo scopo principale del time sharing?

<p>Minimizzare il tempo di risposta (A)</p> Signup and view all the answers

Quale problema può sorgere nella multiprogrammazione dei processi?

<p>Esecuzione non deterministica (D)</p> Signup and view all the answers

Che cosa rappresenta un processo?

<p>Un'unità di attività con risorse associate (D)</p> Signup and view all the answers

Quale tra i seguenti è un risultato importante della storia dei sistemi operativi?

<p>Gestione della memoria (A)</p> Signup and view all the answers

Qual è uno degli scopi della protezione dell'informazione?

<p>Garantire l'autenticità degli utenti (C)</p> Signup and view all the answers

Quale descrizione non rappresenta correttamente il kernel microkernel?

<p>Mette tutto il kernel in memoria dal boot (C)</p> Signup and view all the answers

Cosa implica la pianificazione delle risorse in un sistema operativo?

<p>Massimizzazione dell'uso delle risorse (D)</p> Signup and view all the answers

Quando è emersa la multiprogrammazione?

<p>Negli anni Cinquanta/Sessanta (C)</p> Signup and view all the answers

Quale tra i seguenti è un metodo attuale di gestione della memoria?

<p>Paginate e blocchi (C)</p> Signup and view all the answers

Qual è una fondamentale difficoltà della multiprogrammazione?

<p>Deadlock (D)</p> Signup and view all the answers

Cosa caratterizza la struttura a livelli di un sistema operativo?

<p>Una decomposizione in sottoproblemi più semplici (B)</p> Signup and view all the answers

Quale non è una funzione principale della gestione della memoria?

<p>Sicurezza fisica dei dati (B)</p> Signup and view all the answers

Cosa accade durante un'interruzione nel ciclo fetch-execute?

<p>Viene eseguita una funzione gestore delle interruzioni. (A)</p> Signup and view all the answers

Quali informazioni vengono normalmente salvate dall'hardware durante un'interruzione?

<p>Registro di stato e program counter. (D)</p> Signup and view all the answers

Cosa succede al program counter dopo che un'interruzione viene gestita?

<p>Ritorna all'indirizzo N + 1 o all'indirizzo N in caso di fault correggibile. (D)</p> Signup and view all the answers

Qual è la caratteristica principale dell'I/O programmato?

<p>Il processore controlla continuamente lo stato fino al completamento. (D)</p> Signup and view all the answers

Qual è un vantaggio dell'I/O da interruzioni rispetto all'I/O programmato?

<p>Non richiede supervisione continua del processore. (D)</p> Signup and view all the answers

Cosa caratterizza l'accesso diretto in memoria?

<p>I dati vengono trasferiti direttamente tra dispositivi di I/O e memoria. (B)</p> Signup and view all the answers

Quale affermazione è vera riguardo alla multiprogrammazione?

<p>Le priorità e lo stato di I/O influenzano la sequenza di esecuzione dei programmi. (D)</p> Signup and view all the answers

Qual è la funzione della memoria cache?

<p>Fornire una velocità di accesso maggiore rispetto alla memoria principale. (B)</p> Signup and view all the answers

Cosa implica la gerarchia della memoria nei computer?

<p>Diminuzione della capacità con l'aumento della velocità. (C)</p> Signup and view all the answers

Cosa succede quando un programma si interrompe per gestire un'interruzione?

<p>Il contesto del programma viene salvato dal processore. (C)</p> Signup and view all the answers

Che cos'è l'interrupt handler?

<p>Una funzione specificamente progettata per gestire interruzioni. (A)</p> Signup and view all the answers

Quale di queste affermazioni è vera riguardo alla memoria secondaria?

<p>Memorizza file permanenti e non volatile. (B)</p> Signup and view all the answers

In che modo il processore gestisce la cache?

<p>È gestita automaticamente dal hardware della CPU. (C)</p> Signup and view all the answers

Flashcards

Sistema Operativo: Gestore delle Risorse

Il sistema operativo è il software che gestisce le risorse hardware di un computer, come processori, memoria, dispositivi di input/output e rete.

Sistema Operativo: Intermediario

Il sistema operativo funge da intermediario tra il software applicativo e l'hardware, garantendo un'esperienza efficiente e sicura.

Esempi di Sistemi Operativi

Esempi di sistemi operativi popolari includono Windows, macOS, Linux, iOS e Android.

Funzione principale del Sistema Operativo

La funzione principale del sistema operativo è gestire l'utilizzo delle risorse hardware del computer, come la memoria, il processore e i dispositivi di input/output.

Signup and view all the flashcards

Sicurezza e Controllo delle Risorse

Il sistema operativo assicura la sicurezza del sistema e controlla le risorse per prevenire che diversi programmi interferiscano tra loro.

Signup and view all the flashcards

Moduli del corso di Sistemi Operativi

Il corso di Sistemi Operativi è diviso in due moduli indipendenti. Il modulo 1 si svolge nel primo semestre e il modulo 2 nel secondo semestre. Ogni modulo vale 6 CFU e ha docenti diversi.

Signup and view all the flashcards

Verbalizzazione del corso di Sistemi Operativi

Nonostante siano due moduli distinti, il corso di Sistemi Operativi viene verbalizzato come un unico esame su Infostud. Il voto finale su Infostud è la media aritmetica dei voti ottenuti nei due moduli.

Signup and view all the flashcards

Superamento del corso di Sistemi Operativi

Per poter verbalizzare il corso di Sistemi Operativi, è necessario superare entrambi i moduli. Ogni modulo prevede un esame con regole specifiche e date diverse.

Signup and view all the flashcards

Verbalizzazione per gli studenti del secondo anno

Gli studenti all'inizio del secondo anno non possono verbalizzare il corso di Sistemi Operativi prima di giugno. A gennaio e febbraio, la verbalizzazione su Infostud sarà "Rinuncia", indipendentemente dai risultati dell'esame.

Signup and view all the flashcards

Verbalizzazione con un solo modulo superato

Se uno studente supera l'esame scritto di un modulo ma non ha ancora superato il modulo 2, la verbalizzazione su Infostud sarà "Rinuncia".

Signup and view all the flashcards

Appelli del corso di Sistemi Operativi

Per il corso di Sistemi Operativi, poiché ci sono due moduli, ci saranno il doppio degli appelli su Infostud. Ogni appello avrà un esame per il modulo 1 e uno per il modulo 2.

Signup and view all the flashcards

Appelli del modulo 2

Gli appelli del modulo 2 di gennaio/febbraio non sono per gli studenti all'inizio del secondo anno. Per distinguerli, è necessario fare attenzione alle informazioni fornite su Infostud.

Signup and view all the flashcards

Possibili prove per modulo

Il corso di Sistemi Operativi comporta la possibilità di dover affrontare più di una singola prova per modulo. Ad esempio, potrebbe essere necessario sostenere sia un esame scritto che un orale.

Signup and view all the flashcards

Tipi di R3000A

Un registro di indirizzo, come R3000A nella PlayStation, può contenere sia dati che indirizzi. Se contiene indirizzi, può essere un puntatore diretto, un registro-indice, un puntatore a segmento o un puntatore a stack.

Signup and view all the flashcards

Puntatore Diretto

Un puntatore diretto contiene l'indirizzo esatto di un dato.

Signup and view all the flashcards

Registro-Indice

Un registro-indice contiene un offset che deve essere sommato a un indirizzo base per ottenere l'indirizzo effettivo del dato.

Signup and view all the flashcards

Puntatore a Segmento

Un puntatore a segmento contiene l'indirizzo di inizio di un segmento di memoria. Questo è utile quando la memoria è divisa in blocchi (segmenti).

Signup and view all the flashcards

Puntatore a Stack

Un puntatore a stack punta alla cima di uno stack di memoria. L'indirizzo della cima dello stack viene modificato quando vengono aggiunti o rimossi dati dallo stack.

Signup and view all the flashcards

MAR (Memory Address Register)

Il MAR (Memory Address Register) contiene l'indirizzo di memoria della prossima operazione di lettura o scrittura in memoria.

Signup and view all the flashcards

MBR (Memory Buffer Register)

Il MBR (Memory Buffer Register) contiene i dati da scrivere in memoria o i dati appena letti dalla memoria.

Signup and view all the flashcards

PC (Program Counter)

Il PC (Program Counter) memorizza l'indirizzo della prossima istruzione da eseguire. Quindi, il PC controlla il flusso di esecuzione del programma.

Signup and view all the flashcards

Che cos'è la paginazione?

La paginazione è un meccanismo di gestione della memoria virtuale che suddivide l'indirizzo logico in pagine e l'indirizzo fisico in frame. Ogni pagina corrisponde a un frame, e la tabella delle pagine mappa la corrispondenza tra pagine e frame.

Signup and view all the flashcards

Come si abilita la paginazione?

La paginazione è abilitata da un bit specifico nel registro CR0 (Control Register 0). Questo bit, se impostato, indica al processore di usare la paginazione per tradurre gli indirizzi logici in indirizzi fisici.

Signup and view all the flashcards

Quali sono le fasi di esecuzione di un'istruzione?

Il processo di esecuzione di un'istruzione prevede due fasi: il prelievo (fetch) dell'istruzione dalla memoria principale e l'esecuzione (execution) dell'istruzione stessa.

Signup and view all the flashcards

Come funziona il Program Counter (PC)?

Il registro Program Counter (PC) tiene traccia dell'indirizzo della prossima istruzione da prelevare. Dopo ogni prelievo, il PC viene incrementato per puntare alla prossima istruzione in sequenza.

Signup and view all the flashcards

Che cos'è l'Instruction Register (IR)?

Il registro Instruction Register (IR) memorizza l'istruzione corrente che è stata prelevata dalla memoria principale.

Signup and view all the flashcards

Quali sono le categorie principali di istruzioni?

Le istruzioni di scambio dati trasferiscono dati tra il processore e la memoria principale o tra il processore e i dispositivi input/output. Le istruzioni di manipolazione dei dati eseguono operazioni aritmetiche e logiche sui dati. Le istruzioni di controllo modificano il flusso di esecuzione del programma. Le operazioni riservate controllano il comportamento del processore.

Signup and view all the flashcards

Che cosa sono le interruzioni?

Le interruzioni sono eventi che interrompono la normale esecuzione sequenziale del programma. Possono essere causate da diversi fattori, come errori hardware, segnali da dispositivi input/output o eventi temporali.

Signup and view all the flashcards

Qual è la differenza tra interruzioni asincrone e sincrone?

Le interruzioni asincrone sono eventi che si verificano in modo indipendente dall'esecuzione del programma corrente. Le interruzioni sincrone sono eventi causati dall'esecuzione di un'istruzione specifica.

Signup and view all the flashcards

Interruzioni: Fase di Interruzione

Il processore esegue un ciclo di fetch-execute, controllando se c'è stata un'interruzione. Se c'è, il programma viene interrotto e viene eseguita una funzione specifica chiamata interrupt handler.

Signup and view all the flashcards

Interruzioni: Trasferimento del controllo

L'interrupt handler è una funzione particolare senza preavviso nel programma utente. Il sistema operativo e l'hardware si coordinano per salvare informazioni come il registro di stato e il program counter, e impostare il program counter sull'handler.

Signup and view all the flashcards

Interruzioni: Modifiche a Memoria e Registri

Quando il processore sta eseguendo l'istruzione all'indirizzo N e arriva l'interrupt, viene salvato N e il processore salta all'interrupt handler all'indirizzo Y. Al termine dell'handler, il processore torna all'indirizzo N + 1, o N nel caso di un'interruzione correggibile.

Signup and view all the flashcards

Interruzioni Disabilitate

Il processore può disabilitare le interruzioni per evitare che vengano gestite durante operazioni critiche.

Signup and view all the flashcards

Interruzioni: Sequenziali ed Annidate

Le interruzioni possono essere annidate: una nuova interruzione può verificarsi mentre un interrupt handler sta ancora gestendo un'altra interruzione. Questo crea una sequenza di interruzioni, ma è gestita dal sistema operativo in modo corretto.

Signup and view all the flashcards

I/O Programmato

Un metodo di I/O vecchio, dove l'azione è gestita dal modulo di I/O, non dal processore. Il processore controlla lo stato del modulo I/O finché l'operazione non è completa.

Signup and view all the flashcards

I/O da Interruzioni

Un modo più moderno per fare I/O, dove il modulo di I/O interrompe il processore quando è pronto a scambiare dati. Il processore salva il suo stato e gestisce l'interruzione.

Signup and view all the flashcards

Accesso Diretto in Memoria (DMA)

Le istruzioni di I/O trasferiscono informazioni tra il dispositivo di I/O e la memoria. Il DMA trasferisce un blocco di dati direttamente dalla/alla memoria, rendendo il processo più efficiente.

Signup and view all the flashcards

Multiprogrammazione

Un processore può eseguire più programmi simultaneamente, gestiti dal sistema operativo in base alla loro priorità e alle loro richieste di input/output.

Signup and view all the flashcards

Gerarchia della Memoria

La memoria di un computer è organizzata in una gerarchia, con diversi livelli di memoria che differiscono in velocità, costo e capacità.

Signup and view all the flashcards

Gerarchia della Memoria: Memoria Secondaria

La memoria secondaria è la memoria esterna, non volatile e usata per memorizzare programmi e dati. È più lenta della memoria principale ma più economica e ha una capacità maggiore.

Signup and view all the flashcards

Gerarchia della Memoria: Memoria Cache

La cache è una piccola e veloce memoria che contiene copie di porzioni della memoria principale. Il processore controlla prima la cache e la utilizza se il dato è presente, altrimenti lo carica dalla memoria principale.

Signup and view all the flashcards

Cache: Nozioni di Base

La cache contiene copie di porzioni della memoria principale. Il processore controlla prima nella cache se il dato è presente. Se no, il dato viene caricato dalla memoria principale nella cache. Questo riduce i tempi di accesso futuro, sfruttando il principio di località.

Signup and view all the flashcards

Gestione della Cache

La gestione della cache è totalmente demandata all'hardware e non è visibile al programmatore, al compilatore o al sistema operativo.

Signup and view all the flashcards

Time Sharing

Un sistema informatico in cui più utenti condividono le risorse di un computer centrale, come il processore e la memoria, in modo da poter eseguire i propri programmi contemporaneamente. Ogni utente ha l'impressione di avere a disposizione l'intero sistema, anche se in realtà sta condividendo il tempo di elaborazione.

Signup and view all the flashcards

Processo

Un'unità di attività che include un processo in esecuzione, lo stato corrente del processo e le risorse ad esso associate. Un processo può essere un programma in esecuzione, un insieme di programmi in esecuzione o anche un processo di sistema.

Signup and view all the flashcards

Interrupt

Un'interruzione dell'esecuzione dovuta ad un evento esterno o interno al sistema, come l'arrivo di un segnale dal dispositivo di input, la fine di un processo o l'arrivo di un'eccezione.

Signup and view all the flashcards

Mutua esclusione

Un meccanismo utilizzato per controllare l'accesso alle risorse condivise da più processi, garantendo che solo un processo alla volta possa accedere alla risorsa. Questo è importante per evitare conflitti e problemi di coerenza dei dati.

Signup and view all the flashcards

Deadlock

Una situazione in cui due o più processi si bloccano a vicenda, in attesa che un altro processo rilasci una risorsa che gli serve per completare la sua esecuzione. Questo può accadere quando i processi competono per le stesse risorse.

Signup and view all the flashcards

Paginazione e memoria virtuale

Un metodo per gestire la memoria che divide la memoria in unità di dimensione fissa chiamate pagine. Le pagine vengono allocate ai processi in base alle loro esigenze, consentendo di utilizzare la memoria in modo più efficiente. La memoria virtuale è un'estensione di questa tecnica che consente ai processi di accedere a più memoria rispetto a quella fisicamente disponibile.

Signup and view all the flashcards

System Call

Un'interfaccia che consente ai programmi di interagire con il sistema operativo, richiedendo servizi come la gestione della memoria, l'accesso ai file o la comunicazione di rete. Le chiamate di sistema sono le istruzioni speciali che i programmi utilizzano per interagire con il kernel del sistema operativo.

Signup and view all the flashcards

Livelli di astrazione

Un livello di astrazione utilizzato per suddividere il sistema operativo in componenti modulari. Ogni livello si basa su quello sottostante, fornendo un'interfaccia che semplifica l'interazione con i livelli superiori.

Signup and view all the flashcards

Kernel monolitico

Un tipo di sistema operativo in cui il kernel, il componente centrale del sistema operativo, risiede completamente in memoria. Questo approccio offre prestazioni elevate, ma è meno flessibile in termini di modularità, perché ogni modifica al kernel richiede il riavvio del sistema.

Signup and view all the flashcards

Microkernel

Un tipo di sistema operativo in cui il kernel, il componente centrale del sistema operativo, è molto piccolo e gestisce solo le funzioni essenziali. Altre funzioni, come la gestione della memoria, il file system e i driver dei dispositivi, vengono implementate in moduli separati che vengono caricati solo quando necessari. Questo approccio è più flessibile e modulare rispetto a un kernel monolitico, ma può portare a prestazioni leggermente più lente.

Signup and view all the flashcards

Kernel ibrido

Un tipo di sistema operativo che combina alcuni aspetti di un kernel monolitico e alcuni aspetti di un microkernel. Il kernel è composto da un'unica struttura monolitica, ma alcune funzionalità vengono implementate in moduli separati che possono essere caricati e scaricati a richiesta. Questo approccio offre un compromesso tra prestazioni ed flessibilità.

Signup and view all the flashcards

File system

Un file system che rappresenta il sistema di archiviazione dei file su un computer. Il file system fornisce un'interfaccia per creare, leggere, aggiornare e cancellare file, nonché per gestire le directory e i permessi di accesso.

Signup and view all the flashcards

Isolamento dei processi

Una tecnica per migliorare la sicurezza del sistema operativo isolando i diversi processi, in modo che non possano accedere alle risorse di altri processi senza autorizzazione.

Signup and view all the flashcards

Controllo degli accessi

Una tecnica per controllare l'accesso alle risorse di un sistema, garantendo che solo gli utenti autorizzati possano accedere a specifiche risorse, come file, dispositivi o programmi. Questo contribuisce a proteggere la privacy e l'integrità dei dati.

Signup and view all the flashcards

Scheduler

Un sistema che gestisce l'assegnazione delle risorse di un sistema, come il tempo di elaborazione della CPU, la memoria e i dispositivi di input/output. Lo scheduler cerca di ottimizzare l'utilizzo delle risorse e garantire che tutti i processi ricevano il loro giusto turno di accesso.

Signup and view all the flashcards

Disponibilità

La capacità di un sistema di resistere alle interruzioni e di mantenere la sua funzionalità in caso di errori o attacchi. La disponibilità assicura che il sistema sia sempre attivo e disponibile per gli utenti.

Signup and view all the flashcards

Riservatezza

La capacità di un sistema di garantire che solo gli utenti autorizzati possano accedere alle informazioni. La riservatezza previene la divulgazione di informazioni sensibili a persone non autorizzate.

Signup and view all the flashcards

Integrità dei dati

La capacità di un sistema di proteggere i dati da modifiche non autorizzate. L'integrità dei dati garantisce che i dati siano accurati e completi.

Signup and view all the flashcards

Autenticità

La capacità di un sistema di confermare l'identità degli utenti e l'autenticità dei messaggi e dei dati. L'autenticità previene l'accesso non autorizzato al sistema e i tentativi di manipolazione dei dati.

Signup and view all the flashcards

Study Notes

Introduzione ai Sistemi Operativi

  • Il modulo I, secondo canale, del corso di laurea in informatica, tratta le nozioni di base dei sistemi operativi.
  • Il corso è totalmente in presenza.
  • Il corso è diviso in due moduli indipendenti (modulo 1 e 2), affrontati in semestri diversi.
  • Il modulo 1 si tiene nel primo semestre, mentre il modulo 2 nel secondo.
  • Ogni modulo ha 6 crediti formativi universitari (CFU).
  • I docenti dei due moduli sono diversi.
  • L'esame di Sistemi Operativi è unico ma si compone di due prove separate, con regole differenti, per il superamento di ciascun modulo.
  • Le date degli esami per i moduli sono diverse.
  • Per poter verbalizzare l'esame, è necessario superare entrambi i moduli.
  • Il voto finale è la media aritmetica dei voti dei due moduli.
  • Le regole per gli esami straordinari sono diverse da quelle degli esami normali e sono specificate nel materiale didattico.

Informazioni Generali sul Corso

  • Il corso di Sistemi Operativi ha 12 CFU.
  • È un corso obbligatorio per gli studenti di Informatica, sia in presenza che a distanza (teledidattica)
  • Il corso in presenza si svolge in 2 canali diversi.
  • Gli studenti del secondo canale si esamineranno con il docente Fabio De Gaspari.
  • Gli studenti del primo canale si esamineranno con il Prof. Tolomei.
  • Le uniche eccezioni ai canali sono per i cambi di canale ufficiali.
  • Studenti in teledidattica si esamineranno con il docente assegnato al corso.
  • Gli esami per gli studenti in presenza e a distanza si svolgeranno in contemporanea.
  • Sistemi Operativi è un corso a due "facce", suddiviso in due moduli separati per quanto concerne le lezioni e le modalità di esame.
  • L'esame verbalizzato vale 12 CFU.
  • I moduli possono essere superati in qualsiasi ordine, ma la data entro cui completare la prima e seconda parte dell'esame dovrà essere rispettata.
  • Gli studenti che hanno completato il corso potranno verbalizzare i voti entro l'anno successivo, a fine semestre.

Regole per gli Esami

  • Gli appelli d'esame sono composti di una prova scritta e sono divisi in due parti.
  • La prima parte si compone di domande a risposta multipla.
  • La seconda parte è costituita da domande aperte.
  • Per accedere alla seconda parte, è necessario ottenere almeno l'80% del punteggio massimo nella prima parte.
  • L'esame scritto si compone di 25 domande a risposta multipla, da svolgere in 30 minuti.
  • Ogni domanda ha 4 opzioni, di cui solo una corretta.
  • Il punteggio per le domande a risposta multipla è di 1 punto per ogni risposta corretta.
  • Il punteggio per le domande aperte varia in base al numero di risposte corrette.
  • L'esame in presenza si svolge al computer.
  • Se ci sono troppi iscritti, vengono formati più turni, ciascuno della durata di un'ora circa.
  • La correzione dello scritto è su richiesta.
  • Per partecipare agli esami straordinari, è necessario seguire le istruzioni pubblicate nel sito.
  • Per gli esami normali, la prenotazione è necessaria e sufficiente.

Cosa Verrà Insegnato in Questo Corso

  • Il corso si concentra sul funzionamento dei computer.
  • Si approfondiranno le tematiche inerenti la memoria, i registri e i dispositivi di input/output, le interruzioni, la cache e la multiprogrammazione.
  • Si spiegherà come un computer accetta ed elabora i dati, come vengono svolti i calcoli e come avviene la comunicazione.

Nozioni di Base: Parti Principali

  • Il processore è il cervello del computer, responsabile di tutte le computazioni.
  • La memoria principale (volatile) memorizza il contenuto attivo.
  • I moduli di input/output gestiscono le interazioni con i dispositivi esterni.
  • Il bus è il mezzo che permette la comunicazione tra le diverse parti del computer.

Registri del Processore

  • I registri visibili dall'utente servono a contenere dati o indirizzi
  • per le istruzioni macchina vengono utilizzati registri-indice, contenenti dati di indirizzi base o di inizio segmento
  • I registri di controllo e di stato sono utilizzati dal processore per il controllo del suo utilizzo.
  • I registri interni sono utilizzati dal processore per comunicare con la memoria ed i dispositivi di input/output.

Registri Visibili dall'Utente

  • Alcuni esempi di registri visibili dall'utente in linguaggio macchina.
  • Il funzionamento dei registri-indice e puntatori diretti, per l'indirizzamento degli indirizzi effettivi.
  • Il funzionamento dei registri nella PlayStation (MIPS)
  • Il funzionamento dei registri in architettura x86

Registri Interni

  • MAR (Memory Address Register): contiene l'indirizzo di una locazione di memoria da leggere o scrivere.
  • MBR (Memory Buffer Register): contiene i dati che devono essere letti o scritti in memoria.
  • I/O address register: contiene l'indirizzo del dispositivo di I/O.
  • I/O buffer register: contiene i dati che devono essere inviati o ricevuti dal dispositivo di I/O.

Registri di Controllo e Stato

  • I registri di controllo e stato sono registri contenuti nel processore.
  • Essi contengono il PC (Program Counter), che tiene traccia dell'istruzione successiva da eseguire.
  • L'IR (Instruction Register) contiene l'istruzione corrente.
  • Il PSW (Program Status Word) contiene informazioni sullo stato del processore, come lo stato dei flag (es. risultato di un'operazione, interrupt abilitati/disabilitati).
  • I flag sono singoli bit utilizzati per memorizzare i risultati di un'operazione o altri dettagli sulle condizioni correnti del processore, come se un'interruzione sia stata abilitata o meno.

Esecuzione di Istruzioni

  • L'esecuzione delle istruzioni avviene in due fasi principali:
  • Fetch Stage: prelievo dell'istruzione dalla memoria.
  • Execute Stage: esecuzione dell'istruzione.

Prelievo ed Esecuzione di Istruzioni

In sintesi, il processore preleva le istruzioni dalla memoria principale, mantiene traccia dell’indirizzo della prossima istruzione da prelevare e incrementa il PC dopo ogni prelievo. In caso di un’istruzione jump, il PC viene modificato dall’istruzione stessa e in questo modo vengono svolte le azioni specifiche.

Registro dell'Istruzione

  • Il registro dell'Istruzione (IR) conserva l'istruzione prelevata.
  • Le categorie di istruzioni includono quelle per lo scambio dati, la manipolazione di dati, e il controllo.
  • Le istruzioni aritmetiche potrebbero essere eseguite direttamente nella memoria (ad esempio, sulle RAM nel processore x86).

Caratteristiche di una Macchina Ipotetica

  • Descrizione di un formato standard di istruzioni (opcode e indirizzo) per le istruzioni di una macchina ipotetica.
  • Descrizione di un formato standard per numeri interi (b).
  • Descrizione dei registri interni alla CPU della macchina.
  • Descrizione di un elenco parziale di opcode per la macchina.

Esempio di Esecuzione di un Programma

  • Esempio di uno scenario di esecuzione di un programma per una macchina ipotetica, dove vengono mostrate le modifiche a memoria e ai registri.

Interruzioni

  • Il paradigma hardware/software interagisce tramite le interruzioni, che interrompono la normale esecuzione sequenziale del processore.
  • Le interruzioni possono essere sincronizzate (o asincrone).
  • Le interruzioni di programma sono causate da overflow, divisione per zero o altri errori.
  • Le interruzioni asincrone sono causate da dispositivi di I/O, fallimenti hardware, timer e altre circostanze.
  • L'handler di un'interruzione è una routine specifica che si occupa di gestire il processo di interruzione.

Interruzioni Asincrone vs. Sincrone

  • Le interruzioni sincronizzate sono quelle le cui cause sono direttamente correlate con l'istruzione corrente, mentre quelle asincrone sono causate da altri eventi o condizioni che non sono direttamente relazionate con l'esecuzione di un’istruzione.

Classi di Interruzioni Asincrone

  • Interruzioni di input/output
  • Interruzioni di fallimento HW
  • Interruzioni da comunicazione tra CPU
  • Interruzioni da timer

Classi di Interruzioni Sincrone

  • Overflow
  • Divisione per zero
  • Debugging
  • Riferimento ad indirizzo di memoria non valido
  • Errore nell'esecuzione di un'istruzione
  • Operazione non supportata
  • Chiamata a system call

Interruzioni ed Istruzione di Ritorno

  • Il funzionamento dei diversi tipi di interruzione, ed i meccanismi di ritorno a seguire l’attività.
  • Cause di fault, abort, ecc.

Fase di Interruzione

  • Spiegazione dei cicli fetch-execute in cui vengono gestite le interruzioni.
  • Quando un'interruzione si verifica, il programma corrente viene sospeso e viene eseguita una routine interrupt-handler.

Interruzioni: Trasferimento del Controllo

Un interrupt handler è una subroutine specializzata nel programma che è deputata a gestire un'interruzione, essa è eseguita dal sistema operativo e non dal programma utente

Interruzioni: Modifiche a Memoria e Registri

  • Le modifiche apportate alla memoria ed ai registri durante l'esecuzione dell'interrupt handler.

Interruzioni Disabilitate

  • La fase di fetch-execute in cui vengono disabilitate le interruzioni.

Interruzioni: Sequenziali ed Annidate

  • Interruzioni sequenziali ed annidate: i meccanismi di funzionamento di una sequenza o di un'attività annidata di interrupted.

1/O Programmato

  • In sintesi, il modo più vecchio di fare I/O, dove l’azione viene svolta direttamente dal modulo di I/O e il processore aspetta fino al completamento dell’operazione. (senza interrompersi).

I/O da Interruzioni

  • Il processore viene interrotto quando il modulo I/O è pronto a scambiare dati.
  • Il processore salva il suo stato attuale e controlla il modulo I/O, eseguendo l'operazione richiesta.

Programma: Flusso di Controllo

  • Rappresentazione grafica dei flussi di controllo in scenari con/senza interruzioni di tipo I/O.

Accesso Diretto in Memoria (DMA)

  • Descrizione della tecnica DMA per trasmettere blocchi di dati alla volta tra la memoria principale e i dispositivi di I/O.
  • Spiega il funzionamento della tecnica e le sue implicazioni sulla gestione delle I/O.

Multiprogrammazione

  • Il processore può eseguire contemporaneamente diversi programmi.
  • Gestione dei compiti in sequenza e dei tempi di attesa.

Esempio

  • Un esempio di diversi job, con loro durata, dimensioni della memoria necessaria e se richiedono teriminale o stampante.

Istogrammi di Utilizzo

  • Grafici che mostrano l'utilizzo del processore, memoria, disco, terminale e stampante a livello uniprogammazione e multiprogammazione.

Uso del Processore

  • Valori di Throughput, Tempo di risposta e Percentuale di utilizzo del processore per uniprogramming e multiprogramming.

Sistemi Time Sharing

  • Letteralmente "condivisione di tempo".
  • Gestione contemporanea e interattiva di più jobs.
  • Il tempo del processore è condiviso tra vari utenti.

Batch vs. Time Sharing

  • Differenze tra i sistemi batch e time-sharing in termini di scopo principale (massimizzare l’uso del processore e minimizzare il tempo di risposta rispettivamente) e provenienza delle direttive al sistema operativo (comandi relativi al job-control language nei sistemi batch e da terminale nei time-sharing).

Storia dei Sistemi Operativi

  • Cronologia dell’evoluzione dei sistemi operativi, da computer seriali, ai batch, alla multiprogrammazione, ai time-sharing fino ai giorni nostri.

Storia dei Sistemi Operativi: Risultati più Importanti

  • Riassunto dei concetti principali che hanno portato a dei miglioramenti nella struttura e nelle funzionalità dei sistemi operativi.

Dal Job al Processo

  • Introdizione del processo come concetto più recente, sviluppato per unificare diversi concetti come job non-interattivi e interattivi.
  • Presentazione transazionale real-time come un altro tipo di job.

Multiprogrammazione dei Processi: Difficoltà

  • Descrizione delle difficoltà legate alla gestione di più processi contemporaneamente.

Gestione della Memoria

  • Descrizione dei compiti legati alla gestione della memoria, incluso l’isolamento, la protezione e la gestione automatica di allocazione e deallocazione.
  • Presentazione delle tecnologie della memorizzazione a lungo termine, come paginazione e memoria virtuale.

Protezione dell'Informazione e Sicurezza

  • Descrizione delle problematiche legate alla sicurezza e protezione dei dati includendo le responsabilità riguardanti la privacy, la disponibilità e l'autenticità dei dati.

Pianificazione e Gestione delle Risorse

  • Concetti chiave relativi alla pianificazione e gestione delle risorse, come l'equità, la velocità di risposta e l’efficienza a seconda delle caratteristiche del processo.

Elementi Principali di un Sistemi Operativo

  • Rappresentazione grafica dei moduli fondamentali presenti all'interno di un sistema operativo.
  • Descrizione e funzione dei componenti.

Struttura del Sistema Operativo

  • Il sistema operativo è strutturato a livelli gerarchici con l'obiettivo di suddividere le responsabilità di gestione e funzionalità.
  • Descrizione generale dell’approccio a livelli.

Livelli

  • Descrizione dei livelli presenti in un sistema operativo in base al livello di astrazione.

Livelli: Multiprogrammazione

  • Descrizione dei livelli specifici con riferimento alla multiprogrammazione.

Livelli: Dispositivi Esterni

  • Spiegazione dei livelli del sistema operativo che si occupano dei dispositivi esterni, dalle comunicazioni tra i processi alla gestione dei file e le interfacce utente.

Architettura di UNIX

  • Schema gerarchico dell’architettura dei sistemi Operativi UNIX

Kernel Tradizionale di UNIX

  • Componenti del kernel tradizionale UNIX, che include i suoi sottoinsiemi come la gestione della memoria e dei file.

Kernel Moderno di UNIX

  • Componenti del kernel moderno UNIX, con funzioni e sottoinsiemi.

Kernel Moderno di Linux

  • Descrizione del kernel monolitico e microkernel di Linux, con riferimento alle sue caratteristiche ed implementazione.

In questo corso...

  • Sintesi dei contenuti del corso in relazione ai vari moduli (gestione dei processi, gestione della memoria...).

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Description

Metti alla prova le tue conoscenze sui sistemi operativi con questo quiz. Scoprirai il ruolo principale di un sistema operativo, le interazioni tra programmi in esecuzione e altro ancora. È il momento di testare il tuo sapere in questo campo tecnologico!

More Like This

Use Quizgecko on...
Browser
Browser