1) Interruzioni, multiprogrammazione
51 Questions
14 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

Quale componente del computer è responsabile della gestione delle operazioni di calcolo?

  • Modulo di input/output
  • Memoria principale
  • Bus di sistema
  • Processore (correct)

Qual è la caratteristica principale della memoria principale?

  • Permette l'accesso simultaneo a più utenti
  • E' non volatile
  • Perde il contenuto quando il computer è spento (correct)
  • Contiene tutti i dati permanenti del sistema

Quale dei seguenti registri è utilizzato per memorizzare l'indirizzo della prossima istruzione da eseguire?

  • PC (Program Counter) (correct)
  • MAR (Memory Address Register)
  • MBR (Memory Buffer Register)
  • IR (Instruction Register)

Qual è uno degli scopi principali del sistema operativo?

<p>Gestire la comunicazione tra gli utenti e le applicazioni (B)</p> Signup and view all the answers

Quale dei seguenti è un esempio di modulo di input/output?

<p>Disco fisso (B)</p> Signup and view all the answers

Qual è la funzione del mappatura nella cache?

<p>Determinare la locazione della cache per un blocco (D)</p> Signup and view all the answers

Quale algoritmo viene utilizzato per rimpiazzare i blocchi nella cache quando sono stati usati meno di recente?

<p>Least-Recently-Used (LRU) (A)</p> Signup and view all the answers

Qual è la dimensione di ciascuna cache di primo livello (L1) nei processori Pentium i7?

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

Quale politica di scrittura utilizza Linux nei suoi sistemi operativi riguardo alla cache?

<p>Write-back (A)</p> Signup and view all the answers

Cosa accade se si trova un dato in L2 e non in L1 durante la ricerca nella cache?

<p>L1 viene aggiornata (C)</p> Signup and view all the answers

Come influisce l'aumento della misura del blocco nella cache?

<p>Aumenta il numero di accessi riusciti (B)</p> Signup and view all the answers

Quale è la dimensione totale della cache L3 nei processori Pentium i7?

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

Quale ruolo ha il progettista del sistema operativo?

<p>Si occupa della progettazione del sistema operativo. (C)</p> Signup and view all the answers

Qual è la funzione del gestore di chiamata del servizio?

<p>Processa le chiamate di servizio e esegue le azioni richieste (A)</p> Signup and view all the answers

Quale livello nel sistema operativo si occupa della gestione delle interruzioni?

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

Cos'è il programmatore a breve termine?

<p>Un componente che seleziona il prossimo processo da eseguire dalla CPU (B)</p> Signup and view all the answers

Quale delle seguenti funzioni appartiene al livello 6?

<p>Trasferimento di blocchi di dati dai dispositivi di memorizzazione secondaria (C)</p> Signup and view all the answers

Cosa viene gestito nel livello 8 del sistema operativo?

<p>Comunicazioni tra processi (C)</p> Signup and view all the answers

Qual è la principale responsabilità del gestore delle interruzioni?

<p>Gestire le interruzioni provenienti da vari fonti (C)</p> Signup and view all the answers

Qual è la funzione principale del livello 9?

<p>Accesso e gestione di file di lunga durata (B)</p> Signup and view all the answers

Quale affermazione descrive meglio il livello 5 del sistema operativo?

<p>Introduce il concetto di processo come programma in esecuzione. (A)</p> Signup and view all the answers

Quale delle seguenti affermazioni descrive correttamente le interruzioni da programma?

<p>Sono sempre sincrone e provocate da istruzioni specifiche. (B)</p> Signup and view all the answers

Quale delle seguenti non è una causa di interruzione asincrona?

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

Qual è la funzione principale delle interruzioni da I/O?

<p>Segnalare il completamento di operazioni di I/O. (B)</p> Signup and view all the answers

Cosa succede a un'istruzione quando si verifica un'interruzione asincrona?

<p>Si riprende dall'istruzione successiva a quella che ha causato l'interruzione. (A)</p> Signup and view all the answers

Che tipo di interruzione si verifica come conseguenza di tentativi di divisione per zero?

<p>Interruzione di programma. (D)</p> Signup and view all the answers

Quale delle seguenti descrizioni si applica alle interruzioni da timer?

<p>Interrompono il flusso del sistema operativo per eventi programmati. (A)</p> Signup and view all the answers

Cosa rappresentano le interruzioni da fallimento hardware?

<p>Improvvisa mancanza di corrente o errore di parità nella memoria. (C)</p> Signup and view all the answers

Quale delle seguenti affermazioni è falsa riguardo alle interruzioni?

<p>Le interruzioni da I/O possono verificarsi durante l'esecuzione di qualsiasi istruzione. (B)</p> Signup and view all the answers

Quale classe di interruzione non è considerata asincrona?

<p>Interruzioni di programma. (A)</p> Signup and view all the answers

Cosa indica un 'page fault' nelle interruzioni di programma?

<p>Un tentativo di accesso a un indirizzo di memoria non disponibile. (D)</p> Signup and view all the answers

Qual è la funzione principale di un sistema operativo?

<p>Controllare l'esecuzione delle applicazioni (B)</p> Signup and view all the answers

Quale delle seguenti affermazioni descrive meglio il kernel di un sistema operativo?

<p>La parte del sistema operativo sempre presente in memoria principale (C)</p> Signup and view all the answers

Qual è uno dei principali obiettivi di un sistema operativo?

<p>Garantire efficienza nella gestione delle risorse (B)</p> Signup and view all the answers

Cosa implica la protezione della memoria in un sistema operativo?

<p>Impedire che l'area di memoria del monitor venga modificata (A)</p> Signup and view all the answers

Qual è il problema principale dei sistemi batch?

<p>Sottoutilizzazione dell'attesa ai dispositivi di I/O (B)</p> Signup and view all the answers

Quale delle seguenti è una caratteristica dell'architettura hardware di un sistema operativo?

<p>Istruzioni privilegiate eseguibili solo dal monitor (D)</p> Signup and view all the answers

Che cosa caratterizza la multiprogrammazione?

<p>La capacità del processore di passare ad altri job in attesa (B)</p> Signup and view all the answers

Qual è l'importanza della storia dei sistemi operativi?

<p>Aiuta nella comprensione dei sistemi operativi moderni (D)</p> Signup and view all the answers

Quale vantaggio offre un compilatore in un sistema operativo?

<p>Converte codice sorgente in codice eseguibile (B)</p> Signup and view all the answers

Qual è uno degli utilizzi dell'accounting in un sistema operativo?

<p>Monitora l'uso delle risorse del sistema (B)</p> Signup and view all the answers

Qual è la principale differenza tra uniprogrammazione e multiprogrammazione?

<p>La multiprogrammazione consente a più processi di condividere le risorse di sistema contemporaneamente. (B)</p> Signup and view all the answers

Qual è l'obiettivo principale dei sistemi di time-sharing?

<p>Minimizzare il tempo di risposta per gli utenti. (D)</p> Signup and view all the answers

Quale dei seguenti è un problema comune della multiprogrammazione?

<p>Errori di sincronizzazione tra i processi. (A)</p> Signup and view all the answers

Quale metodo attuale è utilizzato per gestire la memoria nei sistemi operativi?

<p>Paginazione e memoria virtuale. (B)</p> Signup and view all the answers

Che cosa si intende per 'deadlock' nei processi?

<p>Una situazione in cui i processi si bloccano a vicenda aspettando risorse. (D)</p> Signup and view all the answers

Qual è l'importanza della gestione della memoria nei sistemi operativi?

<p>Isola i processi per evitare conflitti e garantire protezione. (B)</p> Signup and view all the answers

Qual è lo scopo della pianificazione delle risorse nei sistemi operativi?

<p>Garantire l'equità nell'accesso alle risorse. (D)</p> Signup and view all the answers

In che modo i sistemi di batch differiscono dai sistemi di time-sharing?

<p>I sistemi di batch eseguono un solo job alla volta. (A)</p> Signup and view all the answers

Qual è uno degli obiettivi della protezione delle informazioni nei sistemi operativi?

<p>Garantire la disponibilità del sistema da attacchi informatici. (B)</p> Signup and view all the answers

Cosa si intende per 'processo' in un sistema operativo?

<p>Un'unità di attività con un singolo flusso di esecuzione e risorse associate. (A)</p> Signup and view all the answers

Flashcards

Capacità della cache

La dimensione della cache, espressa in byte. Anche le cache più piccole possono migliorare significativamente le prestazioni.

Misura del blocco

La quantità di dati che vengono trasferiti tra la memoria e la cache contemporaneamente.

Funzione di mappatura

Determina dove in cache viene memorizzato un blocco di dati proveniente dalla memoria.

Algoritmo di rimpiazzamento

Sceglie quale blocco di dati in cache deve essere sostituito quando la cache è piena.

Signup and view all the flashcards

LRU (Least-Recently-Used)

Un algoritmo di rimpiazzamento che sostituisce il blocco di dati meno utilizzato di recente.

Signup and view all the flashcards

Politica di scrittura

Determina quando i cambiamenti in cache vengono scritti nella memoria principale.

Signup and view all the flashcards

Cache L1

La cache di primo livello, molto veloce e di piccole dimensioni, utilizzata dai processori.

Signup and view all the flashcards

Cache L2 e L3

Cache di livello superiore, più grandi e lente rispetto a L1, utilizzate per memorizzare dati meno utilizzati.

Signup and view all the flashcards

Interruzione

Un evento che interrompe l'esecuzione normale di un programma e fa sì che il processore esegua del codice di sistema.

Signup and view all the flashcards

Interruzione Asincrona

Un'interruzione che si verifica in modo indipendente dall'esecuzione corrente del programma.

Signup and view all the flashcards

Interruzione Sincrona

Un'interruzione che si verifica in modo diretto come risultato dell'esecuzione di una specifica istruzione.

Signup and view all the flashcards

Interruzione da I/O

Un'interruzione generata da un dispositivo di input/output, come un'unità disco o una tastiera.

Signup and view all the flashcards

Interruzione da Fallo HW

Un'interruzione generata da un errore hardware, come un errore di memoria o un problema di alimentazione.

Signup and view all the flashcards

Interruzione da Timer

Un'interruzione programmata che si verifica a intervalli regolari, utilizzata per pianificare le attività del sistema.

Signup and view all the flashcards

Interruzione di Programma

Un'interruzione causata da errori nel codice del programma, come overflow o divisione per zero.

Signup and view all the flashcards

Fault (Errore Correggibile)

Un errore che può essere recuperato e l'istruzione che ha causato l'errore può essere eseguita nuovamente.

Signup and view all the flashcards

Abort (Errore Non Correggibile)

Un errore che non può essere recuperato e l'esecuzione del programma deve essere interrotta.

Signup and view all the flashcards

Trap e System Call

Un'interruzione intenzionale utilizzata per richiedere servizi al sistema operativo.

Signup and view all the flashcards

Multiprogrammazione

Esecuzione di più programmi in modo concorrente, condividendo le risorse del sistema.

Signup and view all the flashcards

Hardware del computer

I componenti fisici che costituiscono il computer.

Signup and view all the flashcards

Uniprogrammazione

Esecuzione di un solo programma alla volta.

Signup and view all the flashcards

Sistema operativo

Un programma che controlla l'esecuzione dei programmi applicativi, prepara l'ambiente, gestisce le richieste e la terminazione.

Signup and view all the flashcards

Kernel

La parte del sistema operativo che si trova sempre in memoria principale. Contiene le funzioni più usate.

Signup and view all the flashcards

Throughput

Numero di processi completati per unità di tempo.

Signup and view all the flashcards

Computazione seriale

I primi computer, senza sistema operativo, richiedevano l'inserimento di comandi tramite console e output su stampanti.

Signup and view all the flashcards

Tempo di risposta medio

Tempo medio che un processo impiega per essere completato, dal momento della richiesta.

Signup and view all the flashcards

Sistemi a condivisione di tempo

Sistemi che utilizzano la multiprogrammazione per gestire contemporaneamente più jobs interattivi, condividendo il tempo del processore.

Signup and view all the flashcards

Sistema batch

Un programma esterno controlla sequenze di eventi, raggruppando lavori (jobs) da eseguire uno dopo l'altro.

Signup and view all the flashcards

Linguaggio di controllo dei job

Dà istruzioni al monitor: che compilatore usare, quali dati di input.

Signup and view all the flashcards

Job

Unità di lavoro completa che viene eseguita dal sistema operativo.

Signup and view all the flashcards

Protezione della memoria

Impedisce ai programmi utente di modificare le aree di memoria riservate al sistema operativo.

Signup and view all the flashcards

Processo

Unità di attività in esecuzione all'interno di un sistema operativo, caratterizzata da un flusso di esecuzione, uno stato corrente e risorse associate.

Signup and view all the flashcards

Errore di sincronizzazione

Errore che si verifica quando la sincronizzazione tra processi è interrotta, ad esempio quando gli interrupt si perdono o vengono ricevuti in modo errato.

Signup and view all the flashcards

Timer

Impedisce che un job monopolizzi l'intero sistema, assicurando che altri jobs abbiano accesso al processore.

Signup and view all the flashcards

Istruzioni privilegiate

Alcune istruzioni macchina possono essere eseguite solo dal sistema operativo, come l'accesso alle aree protette della memoria.

Signup and view all the flashcards

Violazione della mutua esclusione

Errore che si verifica quando due o più processi cercano di accedere contemporaneamente alla stessa risorsa, causando conflitti.

Signup and view all the flashcards

Multiprogrammazione

Il processore passa da un job all'altro mentre uno di questi è in attesa di I/O, sfruttando al meglio il tempo di elaborazione.

Signup and view all the flashcards

Deadlock

Stato in cui due o più processi sono bloccati in attesa l'uno dell'altro per acquisire una risorsa.

Signup and view all the flashcards

Memoria Principale

Spazio di memoria volatile, dove vengono caricati i programmi e i dati in uso. Se il computer si spegne, i dati si perdono.

Signup and view all the flashcards

Moduli di input/output

Dispositivi che consentono al computer di comunicare con l'esterno. Ad esempio, dischi, rete, tastiera, monitor.

Signup and view all the flashcards

Cosa fa il sistema operativo?

Gestisce le risorse del computer, fornisce servizi agli utenti e crea un ambiente di esecuzione per le applicazioni.

Signup and view all the flashcards

Chiamata di servizio da processo

Un processo utente richiede un servizio dal sistema operativo.

Signup and view all the flashcards

Gestore di chiamate di servizio

Modula il servizio, processa la richiesta di assistenza e esegue le azioni necessarie.

Signup and view all the flashcards

Interruzione da processo/Interruzione da I/O

Le interruzioni possono essere innescate sia dai processi utente che dai dispositivi I/O (input/output).

Signup and view all the flashcards

Gestore di interruzioni

Gestisce le interruzioni da varie fonti, gestendo gli eventi significativi.

Signup and view all the flashcards

Coda a lungo termine, coda a breve termine, code I/O

I job (attività) vengono messi in coda e programmati per l'esecuzione in base alle necessità.

Signup and view all the flashcards

Programmatore a breve termine

Seleziona il prossimo processo da eseguire dalla CPU, scegliendo il più opportuno.

Signup and view all the flashcards

Passare il controllo al processo

Il programmatore decide quale processo ha il controllo della CPU, decidendo chi lavora.

Signup and view all the flashcards

Livelli del sistema operativo

Il sistema operativo è visto come una serie di livelli, ognuno con un sottoinsieme di funzioni.

Signup and view all the flashcards

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.

Quiz Team

Related Documents

Sistemi Operativi 1 PDF

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.

More Like This

Exploring Computer System Operation
5 questions
Operating Systems MCQs
29 questions

Operating Systems MCQs

WonPyramidsOfGiza avatar
WonPyramidsOfGiza
Use Quizgecko on...
Browser
Browser