Podcast
Questions and Answers
Qual è il ruolo principale di un sistema operativo in un computer?
Qual è il ruolo principale di un sistema operativo in un computer?
Perché le due esecuzioni dello stesso programma in terminali diversi non interferiscono fra loro?
Perché le due esecuzioni dello stesso programma in terminali diversi non interferiscono fra loro?
Quale dei seguenti sistemi operativi è basato su Linux?
Quale dei seguenti sistemi operativi è basato su Linux?
Quale componente hardware non è gestito direttamente da un sistema operativo?
Quale componente hardware non è gestito direttamente da un sistema operativo?
Signup and view all the answers
Cosa si intende per 'programmi che devono basarsi sul sistema operativo'?
Cosa si intende per 'programmi che devono basarsi sul sistema operativo'?
Signup and view all the answers
Quanti CFU si ottengono superando ciascun modulo del corso di Sistemi Operativi?
Quanti CFU si ottengono superando ciascun modulo del corso di Sistemi Operativi?
Signup and view all the answers
Qual è la verbalizzazione finale su Infostud dopo aver superato entrambi i moduli?
Qual è la verbalizzazione finale su Infostud dopo aver superato entrambi i moduli?
Signup and view all the answers
Cosa succede se si supera solo lo scritto del primo modulo e non si è completato il secondo modulo?
Cosa succede se si supera solo lo scritto del primo modulo e non si è completato il secondo modulo?
Signup and view all the answers
Quante prove possono essere previste per ciascun modulo?
Quante prove possono essere previste per ciascun modulo?
Signup and view all the answers
Quando sarà possibile verbalizzare gli esami per chi è al secondo anno?
Quando sarà possibile verbalizzare gli esami per chi è al secondo anno?
Signup and view all the answers
Qual è la principale differenza tra i due moduli del corso di Sistemi Operativi?
Qual è la principale differenza tra i due moduli del corso di Sistemi Operativi?
Signup and view all the answers
Quante sessioni di esame ci sono per chi deve sostenere il corso di Sistemi Operativi?
Quante sessioni di esame ci sono per chi deve sostenere il corso di Sistemi Operativi?
Signup and view all the answers
Qual è la verbalizzazione su Infostud a gennaio e febbraio, indipendentemente dal superamento degli esami?
Qual è la verbalizzazione su Infostud a gennaio e febbraio, indipendentemente dal superamento degli esami?
Signup and view all the answers
Quale registro mantiene l'indirizzo della prossima istruzione da prelevare?
Quale registro mantiene l'indirizzo della prossima istruzione da prelevare?
Signup and view all the answers
Quale delle seguenti categorie di istruzioni NON include la manipolazione di dati?
Quale delle seguenti categorie di istruzioni NON include la manipolazione di dati?
Signup and view all the answers
Cosa succede al PC dopo ogni prelievo di istruzione?
Cosa succede al PC dopo ogni prelievo di istruzione?
Signup and view all the answers
Qual è la funzione del Memory Address Register (MAR)?
Qual è la funzione del Memory Address Register (MAR)?
Signup and view all the answers
Quale delle seguenti affermazioni riguardo le interruzioni è corretta?
Quale delle seguenti affermazioni riguardo le interruzioni è corretta?
Signup and view all the answers
In quale caso il registratore delle istruzioni (IR) è utilizzato?
In quale caso il registratore delle istruzioni (IR) è utilizzato?
Signup and view all the answers
Quale dei seguenti registri contiene i dati da scrivere in memoria?
Quale dei seguenti registri contiene i dati da scrivere in memoria?
Signup and view all the answers
Quale registro contiene l'indirizzo di un'istruzione da prelevare dalla memoria?
Quale registro contiene l'indirizzo di un'istruzione da prelevare dalla memoria?
Signup and view all the answers
Quale opzione descrive meglio la funzione delle interruzioni asincrone?
Quale opzione descrive meglio la funzione delle interruzioni asincrone?
Signup and view all the answers
Cosa avviene se un'istruzione contiene un salto (jump)?
Cosa avviene se un'istruzione contiene un salto (jump)?
Signup and view all the answers
Che cosa rappresentano i codici di condizione (o flag) nel contesto del processo di esecuzione?
Che cosa rappresentano i codici di condizione (o flag) nel contesto del processo di esecuzione?
Signup and view all the answers
Quale delle seguenti funzioni NON è associata alle operazioni riservate di un processore?
Quale delle seguenti funzioni NON è associata alle operazioni riservate di un processore?
Signup and view all the answers
Qual è la funzione principale del Program Status Word (PSW)?
Qual è la funzione principale del Program Status Word (PSW)?
Signup and view all the answers
Cosa sono i registri-indice?
Cosa sono i registri-indice?
Signup and view all the answers
Cosa indica il registro esp in un'architettura MIPS?
Cosa indica il registro esp in un'architettura MIPS?
Signup and view all the answers
Quale delle seguenti affermazioni sui registri di I/O è falsa?
Quale delle seguenti affermazioni sui registri di I/O è falsa?
Signup and view all the answers
Qual è lo scopo principale del time sharing?
Qual è lo scopo principale del time sharing?
Signup and view all the answers
Quale problema può sorgere nella multiprogrammazione dei processi?
Quale problema può sorgere nella multiprogrammazione dei processi?
Signup and view all the answers
Che cosa rappresenta un processo?
Che cosa rappresenta un processo?
Signup and view all the answers
Quale tra i seguenti è un risultato importante della storia dei sistemi operativi?
Quale tra i seguenti è un risultato importante della storia dei sistemi operativi?
Signup and view all the answers
Qual è uno degli scopi della protezione dell'informazione?
Qual è uno degli scopi della protezione dell'informazione?
Signup and view all the answers
Quale descrizione non rappresenta correttamente il kernel microkernel?
Quale descrizione non rappresenta correttamente il kernel microkernel?
Signup and view all the answers
Cosa implica la pianificazione delle risorse in un sistema operativo?
Cosa implica la pianificazione delle risorse in un sistema operativo?
Signup and view all the answers
Quando è emersa la multiprogrammazione?
Quando è emersa la multiprogrammazione?
Signup and view all the answers
Quale tra i seguenti è un metodo attuale di gestione della memoria?
Quale tra i seguenti è un metodo attuale di gestione della memoria?
Signup and view all the answers
Qual è una fondamentale difficoltà della multiprogrammazione?
Qual è una fondamentale difficoltà della multiprogrammazione?
Signup and view all the answers
Cosa caratterizza la struttura a livelli di un sistema operativo?
Cosa caratterizza la struttura a livelli di un sistema operativo?
Signup and view all the answers
Quale non è una funzione principale della gestione della memoria?
Quale non è una funzione principale della gestione della memoria?
Signup and view all the answers
Cosa accade durante un'interruzione nel ciclo fetch-execute?
Cosa accade durante un'interruzione nel ciclo fetch-execute?
Signup and view all the answers
Quali informazioni vengono normalmente salvate dall'hardware durante un'interruzione?
Quali informazioni vengono normalmente salvate dall'hardware durante un'interruzione?
Signup and view all the answers
Cosa succede al program counter dopo che un'interruzione viene gestita?
Cosa succede al program counter dopo che un'interruzione viene gestita?
Signup and view all the answers
Qual è la caratteristica principale dell'I/O programmato?
Qual è la caratteristica principale dell'I/O programmato?
Signup and view all the answers
Qual è un vantaggio dell'I/O da interruzioni rispetto all'I/O programmato?
Qual è un vantaggio dell'I/O da interruzioni rispetto all'I/O programmato?
Signup and view all the answers
Cosa caratterizza l'accesso diretto in memoria?
Cosa caratterizza l'accesso diretto in memoria?
Signup and view all the answers
Quale affermazione è vera riguardo alla multiprogrammazione?
Quale affermazione è vera riguardo alla multiprogrammazione?
Signup and view all the answers
Qual è la funzione della memoria cache?
Qual è la funzione della memoria cache?
Signup and view all the answers
Cosa implica la gerarchia della memoria nei computer?
Cosa implica la gerarchia della memoria nei computer?
Signup and view all the answers
Cosa succede quando un programma si interrompe per gestire un'interruzione?
Cosa succede quando un programma si interrompe per gestire un'interruzione?
Signup and view all the answers
Che cos'è l'interrupt handler?
Che cos'è l'interrupt handler?
Signup and view all the answers
Quale di queste affermazioni è vera riguardo alla memoria secondaria?
Quale di queste affermazioni è vera riguardo alla memoria secondaria?
Signup and view all the answers
In che modo il processore gestisce la cache?
In che modo il processore gestisce la cache?
Signup and view all the answers
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.
Related Documents
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!