Podcast
Questions and Answers
Quale componente del computer è responsabile della gestione delle operazioni di calcolo?
Quale componente del computer è responsabile della gestione delle operazioni di calcolo?
Qual è la caratteristica principale della memoria principale?
Qual è la caratteristica principale della memoria principale?
Quale dei seguenti registri è utilizzato per memorizzare l'indirizzo della prossima istruzione da eseguire?
Quale dei seguenti registri è utilizzato per memorizzare l'indirizzo della prossima istruzione da eseguire?
Qual è uno degli scopi principali del sistema operativo?
Qual è uno degli scopi principali del sistema operativo?
Signup and view all the answers
Quale dei seguenti è un esempio di modulo di input/output?
Quale dei seguenti è un esempio di modulo di input/output?
Signup and view all the answers
Qual è la funzione del mappatura nella cache?
Qual è la funzione del mappatura nella cache?
Signup and view all the answers
Quale algoritmo viene utilizzato per rimpiazzare i blocchi nella cache quando sono stati usati meno di recente?
Quale algoritmo viene utilizzato per rimpiazzare i blocchi nella cache quando sono stati usati meno di recente?
Signup and view all the answers
Qual è la dimensione di ciascuna cache di primo livello (L1) nei processori Pentium i7?
Qual è la dimensione di ciascuna cache di primo livello (L1) nei processori Pentium i7?
Signup and view all the answers
Quale politica di scrittura utilizza Linux nei suoi sistemi operativi riguardo alla cache?
Quale politica di scrittura utilizza Linux nei suoi sistemi operativi riguardo alla cache?
Signup and view all the answers
Cosa accade se si trova un dato in L2 e non in L1 durante la ricerca nella cache?
Cosa accade se si trova un dato in L2 e non in L1 durante la ricerca nella cache?
Signup and view all the answers
Come influisce l'aumento della misura del blocco nella cache?
Come influisce l'aumento della misura del blocco nella cache?
Signup and view all the answers
Quale è la dimensione totale della cache L3 nei processori Pentium i7?
Quale è la dimensione totale della cache L3 nei processori Pentium i7?
Signup and view all the answers
Quale ruolo ha il progettista del sistema operativo?
Quale ruolo ha il progettista del sistema operativo?
Signup and view all the answers
Qual è la funzione del gestore di chiamata del servizio?
Qual è la funzione del gestore di chiamata del servizio?
Signup and view all the answers
Quale livello nel sistema operativo si occupa della gestione delle interruzioni?
Quale livello nel sistema operativo si occupa della gestione delle interruzioni?
Signup and view all the answers
Cos'è il programmatore a breve termine?
Cos'è il programmatore a breve termine?
Signup and view all the answers
Quale delle seguenti funzioni appartiene al livello 6?
Quale delle seguenti funzioni appartiene al livello 6?
Signup and view all the answers
Cosa viene gestito nel livello 8 del sistema operativo?
Cosa viene gestito nel livello 8 del sistema operativo?
Signup and view all the answers
Qual è la principale responsabilità del gestore delle interruzioni?
Qual è la principale responsabilità del gestore delle interruzioni?
Signup and view all the answers
Qual è la funzione principale del livello 9?
Qual è la funzione principale del livello 9?
Signup and view all the answers
Quale affermazione descrive meglio il livello 5 del sistema operativo?
Quale affermazione descrive meglio il livello 5 del sistema operativo?
Signup and view all the answers
Quale delle seguenti affermazioni descrive correttamente le interruzioni da programma?
Quale delle seguenti affermazioni descrive correttamente le interruzioni da programma?
Signup and view all the answers
Quale delle seguenti non è una causa di interruzione asincrona?
Quale delle seguenti non è una causa di interruzione asincrona?
Signup and view all the answers
Qual è la funzione principale delle interruzioni da I/O?
Qual è la funzione principale delle interruzioni da I/O?
Signup and view all the answers
Cosa succede a un'istruzione quando si verifica un'interruzione asincrona?
Cosa succede a un'istruzione quando si verifica un'interruzione asincrona?
Signup and view all the answers
Che tipo di interruzione si verifica come conseguenza di tentativi di divisione per zero?
Che tipo di interruzione si verifica come conseguenza di tentativi di divisione per zero?
Signup and view all the answers
Quale delle seguenti descrizioni si applica alle interruzioni da timer?
Quale delle seguenti descrizioni si applica alle interruzioni da timer?
Signup and view all the answers
Cosa rappresentano le interruzioni da fallimento hardware?
Cosa rappresentano le interruzioni da fallimento hardware?
Signup and view all the answers
Quale delle seguenti affermazioni è falsa riguardo alle interruzioni?
Quale delle seguenti affermazioni è falsa riguardo alle interruzioni?
Signup and view all the answers
Quale classe di interruzione non è considerata asincrona?
Quale classe di interruzione non è considerata asincrona?
Signup and view all the answers
Cosa indica un 'page fault' nelle interruzioni di programma?
Cosa indica un 'page fault' nelle interruzioni di programma?
Signup and view all the answers
Qual è la funzione principale di un sistema operativo?
Qual è la funzione principale di un sistema operativo?
Signup and view all the answers
Quale delle seguenti affermazioni descrive meglio il kernel di un sistema operativo?
Quale delle seguenti affermazioni descrive meglio il kernel di un sistema operativo?
Signup and view all the answers
Qual è uno dei principali obiettivi di un sistema operativo?
Qual è uno dei principali obiettivi di un sistema operativo?
Signup and view all the answers
Cosa implica la protezione della memoria in un sistema operativo?
Cosa implica la protezione della memoria in un sistema operativo?
Signup and view all the answers
Qual è il problema principale dei sistemi batch?
Qual è il problema principale dei sistemi batch?
Signup and view all the answers
Quale delle seguenti è una caratteristica dell'architettura hardware di un sistema operativo?
Quale delle seguenti è una caratteristica dell'architettura hardware di un sistema operativo?
Signup and view all the answers
Che cosa caratterizza la multiprogrammazione?
Che cosa caratterizza la multiprogrammazione?
Signup and view all the answers
Qual è l'importanza della storia dei sistemi operativi?
Qual è l'importanza della storia dei sistemi operativi?
Signup and view all the answers
Quale vantaggio offre un compilatore in un sistema operativo?
Quale vantaggio offre un compilatore in un sistema operativo?
Signup and view all the answers
Qual è uno degli utilizzi dell'accounting in un sistema operativo?
Qual è uno degli utilizzi dell'accounting in un sistema operativo?
Signup and view all the answers
Qual è la principale differenza tra uniprogrammazione e multiprogrammazione?
Qual è la principale differenza tra uniprogrammazione e multiprogrammazione?
Signup and view all the answers
Qual è l'obiettivo principale dei sistemi di time-sharing?
Qual è l'obiettivo principale dei sistemi di time-sharing?
Signup and view all the answers
Quale dei seguenti è un problema comune della multiprogrammazione?
Quale dei seguenti è un problema comune della multiprogrammazione?
Signup and view all the answers
Quale metodo attuale è utilizzato per gestire la memoria nei sistemi operativi?
Quale metodo attuale è utilizzato per gestire la memoria nei sistemi operativi?
Signup and view all the answers
Che cosa si intende per 'deadlock' nei processi?
Che cosa si intende per 'deadlock' nei processi?
Signup and view all the answers
Qual è l'importanza della gestione della memoria nei sistemi operativi?
Qual è l'importanza della gestione della memoria nei sistemi operativi?
Signup and view all the answers
Qual è lo scopo della pianificazione delle risorse nei sistemi operativi?
Qual è lo scopo della pianificazione delle risorse nei sistemi operativi?
Signup and view all the answers
In che modo i sistemi di batch differiscono dai sistemi di time-sharing?
In che modo i sistemi di batch differiscono dai sistemi di time-sharing?
Signup and view all the answers
Qual è uno degli obiettivi della protezione delle informazioni nei sistemi operativi?
Qual è uno degli obiettivi della protezione delle informazioni nei sistemi operativi?
Signup and view all the answers
Cosa si intende per 'processo' in un sistema operativo?
Cosa si intende per 'processo' in un sistema operativo?
Signup and view all the answers
Study Notes
Sistema Operativo
- Gestisce le risorse hardware di un sistema computerizzato
- Include uno o più processori
- Usa la memoria primaria (RAM)
- Controlla i dispositivi di input/output
- Gestisce la memoria secondaria (dischi)
- Include una rete
- Fornisce servizi agli utenti, sia agli sviluppatori che agli utilizzatori semplici
- Offre un ambiente di esecuzione "facilitato" alle applicazioni
- Fornisce un ambiente grafico per eseguire applicazioni
Componenti di un Computer Monoprocessore
- Diagramma che mostra le componenti di un computer monoprocessore, CPU (processore), bus di sistema, memoria principale e modulo I/O
- Le componenti includono:
- Program Counter (PC)
- Registro Istruzione (IR)
- Memory Address Register (MAR)
- Memory Buffer Register (MBR)
- Input/Output Address Register (I/O AR)
- Input/Output Buffer Register (I/O BR)
- Il diagramma illustra come le componenti interagiscono attraverso il bus di sistema
Nozioni di Base: Parti Principali
- Il processore è il cervello del computer, responsabile delle computazioni
- La memoria principale, volatile, è persa quando il computer si spegne
- La memoria principale è talvolta chiamata memoria reale o primaria
- I moduli di input/output includono dispositivi di memoria secondaria (dischi non volatili) e dispositivi di comunicazione (schede di rete)
- Altre componenti includono tastiera, monitor, stampante, mouse, ecc.
- Il "Bus" di sistema è fondamentale per la comunicazione tra le diverse parti interne del computer, inclusi processore, memoria principale e moduli di input/output
Registri del Processore
- Registri visibili all'utente: utilizzati da programmatori in assembler o compilatori di linguaggi non interpretati.
- Registri di controllo e di stato: utilizzati dal processore per gestire le operazioni, e dal sistema operativo per controllare l'esecuzione dei programmi
- Registri "interni": utilizzati dal processore tramite microprogrammazione per comunicare con la memoria ed il modulo I/O
Registri Visibili dall'Utente
- Gli unici registri usati direttamente nei linguaggi di programmazione sono quelli visibili dall'utente.
- Essi possono contenere dati o indirizzi, e in quest'ultimo caso possono fungere da puntatori diretti o registri-indice per calcoli di indirizzi effettivi.
- I puntatori a segmento sono utilizzati se la memoria è divisa in segmenti.
- Esempio: in x86, registri come cs, ds, ss, es, fs, gs; in MIPS, $sp.
Registri Interni
- Memory Address Register (MAR): contiene l'indirizzo della prossima operazione di lettura/scrittura
- Memory Buffer Register (MBR): contiene i dati da scrivere in memoria, o fornisce i dati letti dalla memoria (es.: lw $s1, 0($s2))
- 1/O address register
- 1/O buffer register
Registri di Controllo e Stato
- Program Counter (PC): contiene l'indirizzo dell'istruzione da eseguire
- Instruction Register (IR): contiene l'istruzione più recentemente prelevata
- Program Status Word (PSW): contiene informazioni sullo stato, ad esempio se gli interrupt sono disabilitati
- Codici di condizione (flag): singoli bit che indicano il risultato di operazioni (es.: risultato positivo, negativo, zero, overflow, ...)
- Il PC viene modificato da istruzioni jump
Esecuzione di Istruzioni
- Due passi principali: fetch e execute
- Il processore preleva istruzioni dalla memoria principale
- Ogni istruzione prelevata viene eseguita
Prelievo ed Esecuzione di Istruzioni
- Il processore preleva l'istruzione dalla memoria principale
- Il Program Counter (PC) mantiene l'indirizzo dell'istruzione successiva da prelevare
- Il PC viene incrementato dopo ogni prelievo
- Se l'istruzione contiene una jump, il PC viene modificato dall'istruzione stessa
Registro dell'Istruzione
- L'istruzione prelevata viene caricata nel registro istruzione (IR)
- Categorie di istruzioni:
- Scambio dati tra processore e memoria
- Scambio dati tra processore e input/output
- Manipolazione di dati (aritmetiche)
- Alcuni processori permettono l'utilizzo diretto della RAM per le operazioni aritmetiche.
- Operazioni di controllo, come salti condizionati o non, e operazioni riservate (disabilitazione interrupt, cache, paginazione/segmentazione)
Caratteristiche di una Macchina Ipotetica
- Formato delle istruzioni, definendo i campi opcode e indirizzo
- Formato degli interi
- Lista parziale degli opcode, che illustrano operazioni come caricamento (load) e memorizzazione (store) da/in memoria
Esempio di Esecuzione di un Programma
- Mostra lo schema di esempio delle operazioni di fetch e execute in memoria e registri per un'ipotetica CPU
- Il diagramma mostra i passi dell'esecuzione di un programma
Interruzioni
- Interazione software/hardware
- Interruzioni della normale esecuzione sequenziale del processore
- Tipicamente implementate da software di sistema
- Diverse classi di interruzioni (da programma, I/O, hardware, timer)
- Le interruzioni asincrone sono causate da eventi che avvengono in modo indipendente dall'esecuzione delle istruzioni (es. I/O).
- Le interruzioni sincrone avvengono invece in modo correlato all'esecuzione di una specifica istruzione (es. overflow, divisione per zero).
Interruzioni Asincrone vs. Sincrone
- Interruzioni sincrone (da programma): sono correlate all'esecuzione di una certa istruzione specifica.
- Interruzioni asincrone: sono tipicamente sollevate dopo l'istruzione che le ha causate. Alcune possono anche non essere causate dall'esecuzione stessa delle istruzioni.
Classi di Interruzioni Asincrone
- Interruzioni da input/output: indicate dal controllore di un dispositivo
- Interruzioni da fallimento HW: causate da eventi improvvisi come mancanza di potenza o errori di parità in memoria.
- Interruzioni da comunicazione tra CPU: in sistemi con più di una CPU.
- Interruzioni da timer: generate da un timer interno che permette operazioni a intervalli regolari. (Intel, tipiche).
Classi di Interruzioni Sincrone
- Errori come overflow o divisione per zero
- Debugging (single step o breakpoint)
- Riferimenti ad indirizzi di memoria non validi
- Operazioni su opcode o operandi non allineati
- Chiamata a system call
Interruzioni ed Istruzioni di Ritorno
- Per le interruzioni asincrone, una volta terminato l'handler, l'esecuzione riprende dall'istruzione immediatamente successiva a quella interrotta.
- Con le eccezioni sincrone, il comportamento varia a seconda che l'errore sia correggibile o no.
- Fault (errore correggibile): indica l'esecuzione della stessa istruzione.
- Aborts (errore non correggibile): indica l'esecuzione di software specifico collegato all'errore.
- Trap e system calls: continuano dall'istruzione successiva.
Fase di Interruzione
- Controllo delle interruzioni durante il ciclo fetch-execute
- Sospensione del programma e esecuzione di un interrupt handler.
Interruzioni Trasferimento del Controllo
- L'interrupt handler è una funzione speciale nel sistema che viene eseguita in caso di interruzione.
- Il sistema operativo e il hardware collaborano per salvare l'informazione
- Questo include il salvataggio dello stato corrente del programma.
Interruzioni Modifiche a Memoria e Registri
- Mostra come il processore modifica la memoria e i registri durante l'esecuzione di un handler di interruzione
- Illustra un'interruzione correttiva, in cui l'esecuzione continua dall'istruzione successiva all'interruzione stessa (es. page fault)
Interruzioni Disabilitate
- Schema di diagramma che mostra le fasi di fetch, execute e interrupt quando gli interrupt sono disabilitati.
Interruzioni Sequenziali ed Annidate
- Mostra il flusso sequenziale o annidato di elaborazione delle interruzioni, in cui un'interruzione interrompe un'altra interruzione.
I/O Programmato
- Il modulo I/O effettua l'operazione
- Il processore deve continuare a controllare lo stato dell'operazione finché non si completa
- Nessuna interruzione necessaria
I/O da Interruzioni
- II processore viene interrotto quando il modulo I/O è pronto
- Il processore salva il contesto e esegue il gestore dell'interruzione
- Molto meno attesa del processore
Programma: Flusso di Controllo
- Grafici che mostrano come il flusso di controllo di un programma varia a seconda della presenza o meno di interruzioni, e in base alla durata dell'attesa sull'operazione di I/O
Accesso Diretto in Memoria
- Metodo più comune nei sistemi attuali per trasferimento di dati tra dispositivo I/O e memoria di sistema
- Il processore assegna al DMA la gestione delle operazioni
- Viene utilizzata un'interruzione quando la traslazione è completata
- Metodo più efficiente per trasferimento bulk di dati
Multiprogrammazione
- I processori devono gestire più programmi contemporaneamente.
- La sequenza di esecuzione dipende dalla loro priorita o dal fatto di poter stare in attesa di operazioni di memoria I/O
Gerarchia della Memoria
- Distinzione tra memoria in-board e out-board e offline
- All'aumentare, della distanza dalla CPU, diminuisce la velocità di accesso, aumenta la capacità e decresce il costo al bit
Gerarchia della Memoria: Memoria Secondaria
- Memoria "ausiliaria" e "esterna", non volatile
Gerarchia della Memoria: Memoria Cache
- Memoria piccola e veloce utilizzata per evitare tempi di attesa troppo lunghi per accesso a memoria principale
Cache e Memoria Principale
- Rappresentazione schematica della comunicazione tra CPU, Cache e Memoria
Cache: Nozioni di Base
- La cache contiene copie di porzioni di memoria principale.
- Il processore controlla prima la cache per i dati, e caricherà il dato nella cache se non lo trova.
Cache vs. Memoria Principale
- Rappresentazione schematica di cache e memoria principale
- (K= numero di parole)
- numero di linee=2^N
Lettura dalla Cache
- Diagramma a blocchi che mostra il processo di lettura da cache.
Cache: Nozioni di Base
- La capacità della cache influisce sulle prestazioni
- La misura dei blocchi influisce sul numero di accessi riusciti
Cache: Funzione di Mappatura
- Determinazione della posizione in cache per i blocchi di memoria principale
Cache: Politica di Scrittura
- Come avviene la scrittura dalla cache e in memoria
La Cache nei Pentium i7
- Struttura della cache nei processori Intel Core i5 e i7, indicando i livelli di cache (L1, L2, L3) e la loro organizzazione.
La Cache nei Pentium i7
Descrive le caratteristiche delle cache nei processori Pentium i7, inclusa la dimensione delle cache line (64 byte) e delle parole (64 bit), numero di cache.
Sistemi Operativi
- I sistemi operativi gestiscono programmi applicativi
- Preparano l’ambiente di esecuzione, rispondono alle richieste, gestiscono la terminazione
- I sistemi operativi fungono da interfaccia tra applicativi e hardware
- Tra gli obiettivi principali di un sistema operativo si annovera la convenienza, efficienza, e la capacità di evolversi nel tempo.
Sistema Operativo
- Descrive un sistema operativo come programma che gestisce le risorse (RAM, I/O) del sistema.
Kernel
- La parte centrale del sistema operativo che rimane in memoria
- Contiene funzioni frequentemente usate
- Agisce come nucleo centrale del sistema
Evoluzione dei Sistemi Operativi
- L'evoluzione dei sistemi operativi è graduale, con modifiche guidate da aggiornamenti hardware e software.
Storia dei Sistemi Operativi
- Computazione seriale (anni ’40).
- Sistema operativo rudimentale.
- Output da console (spie, interruttori, e stampanti).
Storia dei Sistemi Operativi
- Input tramite schede perforate
- Descrizione dei dispositivi utilizzati in passato per input/output.
Storia dei Sistemi Operativi
- Descrive sistemi batch semplici degli anni ’50/’60, con operazioni controllate da programmi esterni.
- I sistemi usavano linguaggi di controllo dei job per gestire la sequenza dei processi.
Caratteristiche Hardware
- Protezione della memoria per evitare la modifica della zona relativa al monitor
- Caratteristiche hardware per impedire il monopolio del sistema da parte di un singolo job
Protezione della Memoria
- Modalità utente e modalità sistema
- Modalità utente per programmi utente.
- Modalità sistema per programmi di gestione e controllo.
Sistemi Batch: Sottoutilizzazione
- Un'analisi esemplificativa del tempo sprecato nei sistemi batch in attesa di I/O
- Calcolo percentuale di utilizzo della CPU
Programmazione Singola
- Spiega il concetto di programmazione singola, in cui la CPU attende la fine dell'operazione I/O prima di passare al successivo programma.
Multiprogrammazione
- Il processore può passare a un altro job se uno deve aspettare.
Multiprogrammazione
- Mostra un esempio di multiprogrammazione con tre programmi, evidenziando l'utilizzo condiviso del processore.
Esempio
- Mostra un esempio di tre tipologie di job, elencando le risorse richieste.
Istogrammi di Utilizzo
- Istogramma che evidenzia l'utilizzo di uniprogramming e multiprogramming per CPU, memoria, disco, terminale e stampante.
Uso del Processore
- Riassumendo le informazioni sull'utilizzo CPU per uniprogramming e multiprogramming, utilizzando un esempio di job.
Sistemi Time Sharing
- I principali sistemi di condivisione del tempo, caratterizzati da multiprogrammazione e condivisione del processore tra più utenti.
Batch vs. Time Sharing
- Confronta batch e time sharing in termini di metodi di invio di istruzioni di controllo, e risposta.
Storia dei Sistemi Operativi
- Riassunto delle fasi storiche, da computazione seriale ai sistemi time-sharing.
Storia dei Sistemi Operativi: Risultati più Importanti
- Processi, gestione della memoria, sicurezza delle informazioni, gestione dello scheduling, strutturazione del sistema.
Dal Job al Processo
- Descrive il processo come l'unione di concetti di job interattivi e non interattivi, comprendendo anche quelli real-time.
Multiprogrammazione dei Processi: Difficoltà
- Problemi di sincronizzazione dovuti a interruzioni, mutua esclusione
- Programmi con esecuzione non deterministica, con accessibilità a memoria modificata da processi diversi
Gestione della Memoria
- Isolamento dei processi
- Protezione e controllo accessi
- Gestione di allocazione/deallocazione automatica
- Supporto per programmazione modulare (stack)
- Memorizzazione a lungo termine e memoria virtuale (pagine)
Protezione dell'Informazione e Sicurezza
- Concetti di disponibilità, confidenzialità e integrità dei dati
- Processo di verifica di identità: autenticazione
Pianificazione e Gestione delle Risorse
- Equità e fairness nell'assegnazione delle risorse
- Velocità di risposta differenziata a seconda del tipo di processo
- Efficienza: massimizzare l'utilizzo delle risorse.
Elementi Principali di un Sistemi Operativo
- Diagramma che mostra i componenti di un sistema operativo, compresi i handler, le code di processi e il schedulatore.
Struttura del Sistema Operativo
- Struttura dei livelli: livello 1 (elettrico), livello 2 (istruzioni macchina), livello 3 (procedure), livello 4 (interruzioni).
Livelli: Multiprogrammazione
- Livello 5 (gestione processi), 6 (memoria secondaria), 7 (indirizzi virtuali)
Livelli: Dispositivi Esterni
- Livello 8 (comunicazioni), 9 (file system), 10-13 (dispositivi esterni, associazioni, interfacce)
Architettura di UNIX
- Diagramma che illustra l'architettura di UNIX, con kernel, comandi UNIX, librerie e applicazioni utente.
Kernel Tradizionale di UNIX
- Stratificazione del kernel tradizionale di UNIX, con i diversi sottosistemi e le interfacce.
Kernel Moderno di UNIX
- Schema che mostra l'architettura del kernel moderno di UNIX.
Kernel Moderno di Linux
- Come il kernel Linux è comprensivo tra monolitico e microkernel, e come ogni parte del sistema operazione lavora in cooperazione.
In questo corso...
- Elenco dei temi principali trattati nel corso.
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 componenti fondamentali del computer e il loro funzionamento. Questo quiz esplorerà aspetti come la memoria, i registri e la funzione del sistema operativo. Ideal per studenti di informatica e appassionati della tecnologia.