Untitled
56 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

Quale dei seguenti compiti NON è tipicamente svolto dal sistema operativo durante la transizione di un processo dallo stato di 'Esecuzione' allo stato di 'Attesa'?

  • Allocare nuove risorse per il processo in attesa. (correct)
  • Registrare l'evento che il processo sta aspettando nella tabella dei processi.
  • Cedere la CPU ad un altro processo.
  • Salvare le informazioni necessarie per riprendere l'esecuzione del processo.

In un sistema di scheduling dei processi, quale compromesso deve essere gestito principalmente dall'algoritmo di scheduling?

  • Aumentare la sicurezza del sistema e diminuire il consumo energetico.
  • Ridurre al minimo la latenza di I/O e massimizzare la velocità della CPU.
  • Massimizzare l'utilizzo della memoria e minimizzare l'utilizzo della CPU.
  • Bilanciare l'efficienza complessiva del sistema e la fairness tra i processi. (correct)

Cosa succede quando un processo in stato di 'Attesa' passa allo stato di 'Pronto'?

  • Il processo viene immediatamente eseguito.
  • Il processo viene rimosso dalla coda dei processi.
  • Il sistema operativo sposta il processo nella coda dei processi pronti dopo che l'evento atteso si è verificato. (correct)
  • Il processo richiede nuove risorse al sistema operativo.

Qual è la principale azione che il sistema operativo intraprende quando un quanto di tempo di un processo in 'Esecuzione' termina?

<p>Salva lo stato del processo e lo sposta nella coda dei processi 'Pronti', cedendo la CPU ad un altro processo. (C)</p> Signup and view all the answers

In quale stato si trova un processo quando richiede una risorsa non immediatamente disponibile?

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

Qual è la funzione principale del gestore della memoria in un sistema operativo?

<p>Fornire ai programmi uno spazio di indirizzamento virtuale isolato. (A)</p> Signup and view all the answers

Quale dei seguenti compiti non è tipicamente svolto dal gestore della memoria?

<p>Gestire direttamente le interruzioni hardware. (C)</p> Signup and view all the answers

In che modo il gestore della memoria beneficia i programmi in esecuzione?

<p>Permette di ignorare la reale quantità di memoria fisica disponibile. (C)</p> Signup and view all the answers

Cosa si intende per 'periferiche astratte' nel contesto del gestore delle periferiche?

<p>Periferiche virtualizzate e gestite dal sistema operativo. (A)</p> Signup and view all the answers

Qual è il vantaggio principale di utilizzare uno spazio di indirizzamento virtuale?

<p>Permette una maggiore protezione tra i processi. (D)</p> Signup and view all the answers

Come influenza il gestore della memoria la capacità della memoria fisica?

<p>Permette ai processi di utilizzare più memoria di quella fisicamente disponibile. (C)</p> Signup and view all the answers

Qual è il ruolo del BUS nel contesto dell'interazione tra CPU e memoria?

<p>Trasporta dati, indirizzi e segnali di controllo tra CPU e memoria. (B)</p> Signup and view all the answers

In un sistema con memoria virtuale, cosa succede se un programma tenta di accedere a un indirizzo di memoria non valido?

<p>Il gestore della memoria intercetta l'accesso e genera un errore (segmentation fault). (C)</p> Signup and view all the answers

Qual è la funzione principale di un sistema operativo in relazione alle risorse fisiche di un sistema informatico?

<p>Rendere utilizzabili le risorse fisiche presenti nel sistema informatico. (C)</p> Signup and view all the answers

In che modo il sistema operativo facilita l'interazione tra l'utente e il sistema informatico?

<p>Offrendo una visione astratta del sistema come erogatore di servizi. (C)</p> Signup and view all the answers

Quale delle seguenti NON è una funzione tipica di un sistema operativo?

<p>Progettazione di nuovi componenti hardware. (A)</p> Signup and view all the answers

Cosa si intende quando si dice che il sistema operativo 'virtualizza' le caratteristiche dell'hardware?

<p>Che offre una rappresentazione più potente e semplice dell'hardware. (B)</p> Signup and view all the answers

Un sistema operativo è definito come software di sistema o di base a causa della sua natura...

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

Quale tra i seguenti aspetti è più strettamente legato alla funzione di 'interoperabilità' gestita dal sistema operativo?

<p>La compatibilità tra dispositivi di diversi produttori. (C)</p> Signup and view all the answers

Come contribuisce il sistema operativo a superare i problemi legati alla limitazione del numero di risorse hardware?

<p>Ottimizzando l'utilizzo delle risorse esistenti attraverso la gestione e la condivisione. (D)</p> Signup and view all the answers

Se un sistema operativo garantisce 'correttezza e precisione', a quale aspetto fondamentale si riferisce?

<p>Alla sua affidabilità nell'eseguire le operazioni richieste senza errori. (E)</p> Signup and view all the answers

Qual è l'obiettivo principale della gestione della memoria di massa in un sistema informatico?

<p>Presentare all'utente un'organizzazione logica dei dati e le operazioni possibili su di essi. (C)</p> Signup and view all the answers

Quale delle seguenti NON è un'operazione di base tipicamente fornita da un file system?

<p>Frammentazione dei dati per ottimizzare lo spazio. (C)</p> Signup and view all the answers

Cosa rappresenta un file in un sistema informatico?

<p>Un contenitore logico di informazioni, dati o istruzioni. (D)</p> Signup and view all the answers

Quale informazione NON è tipicamente associata a un file in un file system?

<p>Consumo energetico del file. (A)</p> Signup and view all the answers

A cosa serve l'estensione di un file?

<p>A identificare la tipologia dei dati contenuti nel file e il programma associato. (D)</p> Signup and view all the answers

Quale dei seguenti sistemi operativi aveva il limite più restrittivo sulla lunghezza dei nomi dei file?

<p>MS-DOS. (D)</p> Signup and view all the answers

Come sono generalmente organizzati i file all'interno di un file system?

<p>In cartelle (directory) e sottocartelle in una gerarchia ad albero. (C)</p> Signup and view all the answers

Cosa succede ai dati contenuti in un file dopo la terminazione del processo che lo ha generato?

<p>Vengono conservati nella memoria di massa. (A)</p> Signup and view all the answers

In un sistema operativo moderno come Windows, qual è il limite massimo approssimativo di caratteri consentito per il percorso completo di un file (compreso il nome del file)?

<p>254 caratteri. (C)</p> Signup and view all the answers

Qual è l'importanza di fornire servizi di gestione dei file sia ai programmi applicativi che direttamente agli utenti?

<p>Permette una maggiore flessibilità e controllo nell'accesso e nella manipolazione dei dati. (A)</p> Signup and view all the answers

Qual è la funzione principale di una Memory Management Unit (MMU)?

<p>Convertire gli indirizzi logici in indirizzi fisici. (C)</p> Signup and view all the answers

Cosa contiene principalmente una tabella delle pagine utilizzata dalla MMU?

<p>La mappatura tra indirizzi logici e indirizzi fisici delle pagine di memoria. (B)</p> Signup and view all the answers

Considera un sistema con una memoria fisica di 32 MByte, una memoria logica di 4 MByte e pagine di 512 KByte. Quanti bit sono necessari per indirizzare una pagina all'interno della memoria fisica?

<p>25 bit (B)</p> Signup and view all the answers

In un sistema MMU, quale vantaggio offre la suddivisione della memoria in pagine?

<p>Riduce la frammentazione esterna e semplifica l'allocazione della memoria. (C)</p> Signup and view all the answers

Se un processo tenta di accedere a un indirizzo logico non presente nella tabella delle pagine, cosa succede?

<p>Si verifica un page fault, che richiede l'intervento del sistema operativo. (C)</p> Signup and view all the answers

Considerando una MMU con memoria logica indirizzata con 22 bit e pagine di 512 KByte, quanti bit sono necessari per l'offset all'interno di una pagina?

<p>19 bit (A)</p> Signup and view all the answers

In quale scenario l'utilizzo di una MMU è particolarmente vantaggioso?

<p>In sistemi multitasking dove più processi condividono la memoria. (A)</p> Signup and view all the answers

Come influisce la dimensione della pagina sulla gestione della memoria da parte della MMU?

<p>Pagine più grandi riducono il numero di page fault ma aumentano la frammentazione interna. (A)</p> Signup and view all the answers

Qual è una delle limitazioni principali dell'utilizzo di una MMU?

<p>Aumenta la complessità hardware e il costo del sistema. (D)</p> Signup and view all the answers

Supponiamo di avere una MMU che gestisce una memoria logica di 16 MB con pagine di 4 KB. Quante voci avrà la tabella delle pagine?

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

Quale dei seguenti è un compito del sistema di gestione dei file (file system) all'interno di un sistema operativo?

<p>Organizzare e memorizzare i dati su dispositivi di archiviazione. (B)</p> Signup and view all the answers

In un sistema operativo, quale componente è responsabile della gestione dell'accesso alle risorse di sistema da parte degli utenti?

<p>L'interprete dei comandi. (C)</p> Signup and view all the answers

Qual è la principale differenza tra l'esecuzione di un programma applicativo e l'esecuzione del sistema operativo in termini di istruzioni del processore?

<p>Il sistema operativo può usare tutte le istruzioni (modalità supervisore), mentre i programmi applicativi sono limitati (modalità utente). (D)</p> Signup and view all the answers

In un ambiente di multiprogrammazione, cosa permette al sistema operativo di migliorare l'efficienza dell'uso della CPU?

<p>Commutare rapidamente tra diversi processi quando uno è in attesa di operazioni di I/O. (D)</p> Signup and view all the answers

Quale tra le seguenti affermazioni descrive meglio la differenza tra un 'programma' e un 'processo' in un sistema operativo?

<p>Un programma è un'entità statica composta da codice eseguibile, mentre un processo è il programma in esecuzione, comprendente codice, dati e stato. (D)</p> Signup and view all the answers

Cosa rappresenta la 'macchina virtuale' nel contesto dell'organizzazione di un sistema operativo?

<p>Un livello di astrazione fornito dal sistema operativo e dall'hardware fino a un certo livello, offrendo una visione semplificata delle risorse. (D)</p> Signup and view all the answers

In un'architettura a strati di un sistema operativo, quale vantaggio offre la separazione tra 'meccanismi' e 'politiche'?

<p>Permette una maggiore flessibilità nella gestione delle risorse, potendo cambiare le politiche senza modificare i meccanismi di base. (B)</p> Signup and view all the answers

Qual è il ruolo principale del 'kernel' (nucleo) in un sistema operativo?

<p>Interagire direttamente con l'hardware e gestire l'esecuzione dei programmi e gli eventi esterni. (C)</p> Signup and view all the answers

Quale dei seguenti NON è un compito tipico del sistema operativo?

<p>Compilazione del codice sorgente. (B)</p> Signup and view all the answers

In che modo il sistema operativo facilita l'interazione tra l'utente e l'hardware del computer?

<p>Fornendo un'interfaccia utente (GUI o CLI) e astrattendo le complessità dell'hardware. (A)</p> Signup and view all the answers

Un sistema operativo a strati permette di:

<p>Modificare un livello senza influenzare necessariamente gli altri, grazie all'astrazione. (D)</p> Signup and view all the answers

In un sistema di multiprogrammazione, se un processo è bloccato in attesa di un evento (es. I/O), cosa succede tipicamente?

<p>Un altro processo può utilizzare la CPU, aumentando l'efficienza complessiva. (A)</p> Signup and view all the answers

Quale delle seguenti affermazioni descrive il rapporto tra il sistema operativo e le risorse hardware del computer?

<p>Il sistema operativo gestisce e media l'accesso alle risorse hardware per le applicazioni. (B)</p> Signup and view all the answers

Cosa si intende per 'esecuzione in modalità supervisore' da parte del sistema operativo?

<p>L'accesso illimitato a tutte le istruzioni e risorse hardware del sistema. (D)</p> Signup and view all the answers

Se un programma tenta di accedere a una risorsa hardware senza l'autorizzazione del sistema operativo, cosa succede?

<p>Il sistema operativo interviene, negando l'accesso e potenzialmente terminando il programma. (C)</p> Signup and view all the answers

Flashcards

Sistema operativo

Insieme di programmi per controllare le risorse fisiche del sistema.

SO come erogatore di servizi

L'utente vede il sistema tramite il SO come un fornitore di servizi.

SO: Software di base

Software fondamentale per il funzionamento del sistema.

Funzione principale del SO

Rendere le risorse fisiche del sistema utilizzabili.

Signup and view all the flashcards

Caratteristiche dei sistemi operativi

Correttezza, precisione, disponibilità, sicurezza, privacy, interoperabilità.

Signup and view all the flashcards

Altra funzione del SO

Superare la mancanza di risorse fisiche.

Signup and view all the flashcards

SO: Virtualizzazione hardware

Strumento che trasforma l'hardware in una macchina virtuale più semplice.

Signup and view all the flashcards

SO: Macchina astratta

Offre una visione astratta e più potente dell'hardware.

Signup and view all the flashcards

Scheduling

L'algoritmo che seleziona il processo successivo da eseguire, bilanciando efficienza e correttezza.

Signup and view all the flashcards

Stato di Attesa

Stato in cui un processo aspetta che una risorsa diventi disponibile o che un evento accada.

Signup and view all the flashcards

Salvataggio dello stato del processo

Il sistema operativo salva i dati necessari per riprendere l'esecuzione di un processo in attesa.

Signup and view all the flashcards

Transizione Attesa -> Pronto

Quando l'evento atteso si verifica, il processo passa dallo stato di 'Attesa' allo stato 'Pronto'.

Signup and view all the flashcards

Transizione Esecuzione -> Pronto

Quando un processo in esecuzione esaurisce il suo 'quanto' di tempo o viene interrotto, ritorna allo stato 'Pronto'.

Signup and view all the flashcards

Spazio di indirizzamento virtuale

Permette ai programmi di usare uno spazio di indirizzamento isolato, ignorando la memoria fisica reale.

Signup and view all the flashcards

Funzioni del gestore di memoria

Protegge i dati dei programmi, nasconde la loro posizione fisica e gestisce la sovrapposizione controllata della memoria.

Signup and view all the flashcards

Memoria dedicata simulata

Simula una memoria dedicata per ogni processo, anche più grande della memoria fisica disponibile.

Signup and view all the flashcards

Gestore di memoria

Livello software che gestisce la memoria, nascondendo la complessità dell'hardware.

Signup and view all the flashcards

Periferiche astratte

Permette ai processi di interagire con l'hardware attraverso rappresentazioni semplificate.

Signup and view all the flashcards

Visione del sistema del gestore delle periferiche

astrazione delle periferiche per semplificare l'interazione tra processi e dispositivi hardware.

Signup and view all the flashcards

Memoria logica

Interfaccia tra la CPU virtuale e la memoria logica di un processo.

Signup and view all the flashcards

Funzione principale del gestore di memoria

Permette ai programmi di lavorare come se avessero una memoria dedicata, anche maggiore di quella fisica.

Signup and view all the flashcards

Ruolo del Sistema Operativo

Il SO funge da mediatore tra hardware e applicazioni.

Signup and view all the flashcards

Elementi di un SO

Gestisce processore, memoria, periferiche, file, utenti, comandi e rete.

Signup and view all the flashcards

SO vs Applicazioni: Accesso

Un programma applicativo ha restrizioni; il SO ha pieno accesso.

Signup and view all the flashcards

SO: Gestione delle Risorse

Il SO stabilisce l'ordine e la modalità di esecuzione delle richieste.

Signup and view all the flashcards

Multiprogrammazione

Esecuzione alternata di più programmi per ottimizzare l'uso del processore.

Signup and view all the flashcards

Cos'è un Programma?

Programma fermo nel disco rigido.

Signup and view all the flashcards

Cos'è un Processo?

Programma in esecuzione con codice, dati e stato.

Signup and view all the flashcards

Macchine Virtuali

Il SO organizza l'hardware in livelli di astrazione.

Signup and view all the flashcards

Struttura a Strati del SO

Ogni livello del SO fornisce servizi al livello superiore.

Signup and view all the flashcards

Compito di ogni Macchina Virtuale

Gestisce le risorse specifiche e maschera i limiti dell'hardware.

Signup and view all the flashcards

Vantaggio dell'Organizzazione a Strati

Separare meccanismi logici dalle politiche di gestione per flessibilità.

Signup and view all the flashcards

Cos'è il Nucleo (Kernel)?

Strato del SO che interagisce direttamente con l'hardware.

Signup and view all the flashcards

Funzioni del Nucleo

Gestisce l'esecuzione dei programmi e le interruzioni hardware.

Signup and view all the flashcards

Modalità Supervisore

Accesso del SO a tutte le risorse dell'hardware.

Signup and view all the flashcards

Modalità Utente

Accesso limitato delle applicazioni alle risorse di sistema.

Signup and view all the flashcards

Cos'è una MMU?

Un dispositivo hardware che traduce indirizzi logici in indirizzi fisici.

Signup and view all the flashcards

Cosa fa la tabella delle pagine in una MMU?

Mantiene una corrispondenza tra pagine logiche e indirizzi di pagine fisiche.

Signup and view all the flashcards

Cos'è lo spazio fisico?

La memoria fisica del computer. È divisa in pagine.

Signup and view all the flashcards

Cos'è lo spazio logico?

La memoria vista dal processo. È divisa in pagine logiche.

Signup and view all the flashcards

Esempio di dimensione della memoria fisica

32 MByte

Signup and view all the flashcards

Esempio di dimensione della memoria logica

4 MByte

Signup and view all the flashcards

Esempio di dimensione di una pagina

512 KByte

Signup and view all the flashcards

Quanti bit per indirizzare 32 MByte?

25 bit

Signup and view all the flashcards

Quanti bit per indirizzare 4 MByte?

22 bit

Signup and view all the flashcards

Qual è la funzione principale della MMU?

Serve a tradurre gli indirizzi di memoria.

Signup and view all the flashcards

Obiettivo della gestione della memoria di massa

Presentare all’utente l’organizzazione logica dei dati e le operazioni possibili.

Signup and view all the flashcards

Operazioni base di un file system

Recupero, eliminazione, modifica, copia di dati.

Signup and view all the flashcards

Cos'è un file?

Contenitore logico di informazioni persistenti.

Signup and view all the flashcards

Informazioni associate ad un file

Nome, estensione, percorso, data creazione, dimensione, posizione, diritti di accesso.

Signup and view all the flashcards

Scopo dell'estensione di un file

Identifica il tipo di dati contenuti nel file e il programma associato.

Signup and view all the flashcards

Vincoli sui nomi dei file

Limitare la lunghezza e i caratteri ammessi per i nomi dei file.

Signup and view all the flashcards

Organizzazione dei file

Gerarchia ad albero (o grafo aciclico) per organizzare i file.

Signup and view all the flashcards

Nome di un file

Un nome assegnato dall'utente per identificare un file.

Signup and view all the flashcards

File System

Software che fornisce servizi di gestione dei dati sia alle applicazioni sia all'utente.

Signup and view all the flashcards

Posizione fisica dei dati

Posizione specifica dove i dati del file sono memorizzati fisicamente sul dispositivo.

Signup and view all the flashcards

Study Notes

Ecco gli appunti di studio dettagliati:

  • Il capitolo 7 riguarda le infrastrutture software, concentrandosi sui sistemi operativi e sulla loro gestione delle risorse.

Sistema Operativo

  • ' Insieme complesso di programmi essenziali per la gestione delle risorse fisiche di un sistema informatico.
  • Può includere utilità come calcolatrici e blocchi note.
  • L'utente interagisce con il sistema informatico attraverso il sistema operativo, visto come un fornitore di servizi.
  • Ogni servizio offerto corrisponde all'esecuzione di uno o più programmi specifici.
  • Ha una natura infrastrutturale, motivo per il quale viene definito software di sistema o di base.

Funzioni del Sistema Operativo

  • Rende utilizzabili le risorse fisiche del sistema informatico.
  • Garantisce correttezza e precisione.
  • Assicura disponibilità ovunque e in qualsiasi momento.
  • Offre affidabilità, disponibilità e sicurezza dei sistemi.
  • Protegge la privatezza dei dati.
  • Promuove l'interoperabilità tra dispositivi di diversi produttori.
  • Mitiga i problemi derivanti dalla limitazione delle risorse.
  • Può essere considerato uno strumento che virtualizza l'hardware, fornendo una visione astratta, più potente e semplice, rispetto alla sua effettiva disponibilità fisica.

Funzionalità del SO

  • Il sistema operativo (SO) funge da gestore delle risorse, controllando e gestendo in modo efficiente tutte le risorse del calcolatore.
  • Il SO tiene traccia di chi utilizza le risorse.
  • Il SO accetta e soddisfa le richieste di utilizzo di una risorsa.
  • Il SO funge da mediatore in caso di conflitti tra risorse.
  • Il SO funge da macchina estesa, costituendo la base per lo sviluppo di programmi applicativi.
  • Il utente interagisce con una macchina estesa più semplice da programmare rispetto all'hardware sottostante.

Funzioni di Servizio del SO

  • Controllo dell'esecuzione di applicazioni.
  • Accesso ai dispositivi di ingresso/uscita.
  • Archiviazione di dati e programmi.
  • Controllo di accesso.
  • Contabilizzazione.
  • Gestione dei malfunzionamenti.

Vantaggi di un Sistema Operativo

  • Definire modalità standard di interfaccia con i dispositivi fisici.
  • Ciò agevola lo sviluppo di programmi modulari, semplici e indipendenti dallo specifico calcolatore su cui opera il sistema operativo.
  • Consente aggiornamenti trasparenti del software di base e dell'hardware, senza influenzare i programmi applicativi o l'utente.

Visioni Fornite dal SO

  • Dall'alto, offre un'interfaccia utente conveniente.
  • Dal basso, gestisce e alloca in modo ordinato le risorse della macchina, come processori, memorie, dischi, interfacce di rete e periferiche.

Ruolo del SO

  • Il SO si posiziona come intermediario necessario tra software applicativo e hardware.
  • SW (Software) = Sistema Operativo + SW applicativo

Elementi di un SO

  • Sistema di gestione del processore.
  • Sistema di gestione della memoria.
  • Sistema di gestione delle periferiche.
  • Sistema di gestione dei file (file system).
  • Sistema di gestione degli utenti e dei relativi comandi (interprete comandi).
  • Sistema di gestione della rete.

SO vs Applicazioni

  • I programmi applicativi hanno accesso a un insieme limitato di risorse e possono utilizzare solo un sottoinsieme delle istruzioni del processore in modalità utente.
  • I programmi applicativi non possono decidere autonomamente quando e come accedere alle risorse.
  • Il sistema operativo ha accesso a tutte le risorse e può utilizzare tutte le istruzioni del processore in modalità supervisore.
  • Il sistema operativo stabilisce l'ordine e la modalità in cui soddisfare le richieste ricevute.

Multiprogrammazione

  • Tecnica che permette l'esecuzione concorrente di più processi.

Processo vs Programma

  • Programma è un'entità statica, codice eseguibile.
  • Un processo è un'entità dinamica, un programma in esecuzione composto da codice, dati e lo stato corrente.

Organizzazione di un SO

  • Organizzazione gerarchica di "macchine virtuali".
  • La visione della macchina virtuale a un determinato livello è quella fornita dall'hardware e dagli strati del SO fino a quel livello.

Organizzazione a "Strati"

  • Ogni macchina virtuale è un insieme di programmi che implementa funzionalità utilizzando servizi di livello inferiore.
  • Ogni macchina virtuale gestisce risorse specifiche di sistema, regolandone l'uso e mascherandone i limiti.
  • I meccanismi che garantiscono la correttezza logica sono separati dalle politiche di gestione per maggiore flessibilità.
  • Ogni strato risolve un problema specifico.

Nucleo (Kernel)

  • È un componente del SO che interagisce direttamente con l'hardware.
  • Si occupa dell'esecuzione dei programmi e della gestione degli eventi generati dalle periferiche.
  • Gestisce i processi, i corrispettivi dei programmi attivi contemporaneamente.
  • Offre virtualizzazione delle unità di elaborazione, ciascuna dedicata a un processo in memoria.
  • Gestisce il contesto di esecuzione dei processi.
  • Implementa politiche di scheduling per l'accesso alla CPU.

Nucleo: Macchina Astratta

  • Il nucleo presenta un'astrazione dell'hardware, gestendo la memoria di lavoro, memoria di massa, video/tastiera, e le interfacce I/O.

Gestore della Memoria

  • Gestisce la memoria centrale in modo efficiente e trasparente per i processi.
  • Fornisce a ciascuno spazio di indirizzamento virtuale, indipendentemente dalla memoria fisica occupata.
  • Protegge i programmi e i dati, maschera la collocazione fisica e permette sovrapposizioni controllate degli spazi di memoria.
  • Offre l'illusione di una memoria dedicata, anche superiore alla disponibilità fisica.

Gestore Memoria: Macchina Astratta

  • Il gestore della memoria crea un'astrazione della memoria, consentendo ai processi di operare in spazi di memoria logici.

Gestore delle Periferiche

  • Il gestore delle periferiche fornisce astrazioni per l'interazione dei processi con le periferiche.
  • Maschera le specifiche fisiche e le operazioni di ingresso/uscita.
  • Ogni processo ha a disposizione periferiche virtuali.

File System

  • Un sistema operativo che organizza e gestisce i dati in memoria di massa.
  • Funge da astrazione per la gestione dei file.

Funzioni del Gestore di File (File System)

  • Gestisce la memoria di massa.
  • Anche se la memoria di massa è un'unità periferica, le sue peculiarità richiedono un modulo dedicato nel sistema operativo.
  • Gestisce i file, i quali sono contenitori logici per dati e programmi e unità di base per la memorizzazione.
  • Ogni file ha nome e accessibilità tramite comandi di alto livello, rendendo le operazioni trasparenti all'utente.
  • Definisce i diritti di accesso ai file.

Interprete dei Comandi

  • Modulo del sistema operativo direttamente accessibile dall'utente.
  • Interpreta i comandi che gli vengono forniti (via tastiera o interfaccia grafica) e avvia i programmi associati.
  • Le operazioni includono la lettura del programma dalla memoria di massa, l'allocazione della memoria centrale, il caricamento del programma e dei dati e l'attivazione del processo.

Il Middleware

  • Insieme di librerie standardizzate che possono essere considerate uno strato del SO.
  • Facilita lo sviluppo di software applicativo.
  • Funge da macchina virtuale, consentendo l'esecuzione indipendente dalla piattaforma HW/SW.
  • Nel caso di sistemi distribuiti, supera i limiti fisici della macchina.
  • Esempi: Sun Java Runtime Environment, Microsoft .NET, CORBA.

Elaborazione Parallela

  • Si riferisce specificamente a dati, istruzioni e programmi.
  • Richiede architetture di elaborazione parallela e linguaggi di programmazione adeguati.
  • Influisce sui sistemi operativi.
  • Implica efficienza, interattività e sincronizzazione/cooperazione.

SO in Time Sharing

  • Il time-sharing permette la condivisione della CPU tra più processi interattivi.
  • Il tempo di esecuzione del processore viene condiviso tra più utenti.
  • Ogni processo riceve una porzione di tempo CPU prima di essere sospeso.

Esecuzione di un Processo

  • Un processo utente viene eseguito sulla CPU.
  • Le operazioni di I/O consistono in chiamate al sistema operativo e sospendono il processo utente.

Stati di un Processo

  • Processo Attivo: il processo è in esecuzione.
  • Processo in Attesa: il processo è in attesa di un'operazione di I/O.

Processi Non in Esecuzione

  • Distinzione tra processi in attesa di un evento esterno/I/O e processi pronti in attesa della CPU.
  • Si realizzano con due code separate: PRONTO e ATTESA.

Diagramma a Tre Stati

  • Descrive le transizioni tra gli stati di PRONTO, ESECUZIONE, e ATTESA.

Transizioni di Stato

  • Pronto → Esecuzione: Il SO decide quale processo pronto mandare in esecuzione, bilanciando efficienza e fairness.
  • Esecuzione → Attesa: Il processo richiede risorse non disponibili o attende un evento. Il SO salva lo stato del processo.
  • Attesa → Pronto: Si verifica l'evento atteso e il SO sposta il processo nella coda dei processi pronti.
  • Esecuzione → Pronto: Termina il quanto di tempo e il processo "lascia spazio" a un altro processo "pronto", il SO salva tutte le informazioni per riprendere l'esecuzione.

Modalità User e Modalità Kernel

  • I processi possono essere eseguiti in modalità kernel (per servizi del sistema operativo) o user (per applicazioni).
  • Esistono transizioni tra esecuzione user e kernel e viceversa.

Round Robin

  • Algoritmo di scheduling che assegna una quantità fissa di tempo a ogni processo in coda.

Concorrenza tra Processi

  • Vantaggi: utilizzo efficiente della CPU, parallelismo, condivisione di risorse.
  • Problemi:
    • Starvation: un processo non riesce ad accedere a una risorsa sempre occupata.
    • Blocco critico: stallo reciproco tra processi.
    • è importante evitare o risolvere blocchi critici o starvation.

Interazioni tra Processi

  • Classificabili in desiderate e impreviste.
  • Richiedono sincronizzazione e comunicazione.
  • Modalità di funzionamento: in foreground (interazione con l'utente) o in background (funzioni interne).

Organizzazione Client-Server

  • Obiettivo: minimizzare le dimensioni del nucleo.
  • Questo comporta lo spostamento di alcune componenti del sistema verso gli strati applicativi.
  • Funzionalità estranee al nucleo = servizi di processi server.

Vantaggi della Struttura Client-Server

  • Indipendenza fisica tra client e server, anche su macchine diverse.
  • Possibilità di specializzare l'interfaccia client.
  • Aggiornamenti trasparenti del server.
  • Riduzione della manutenzione del software.

Microkernel

  • Struttura in cui al kernel sono assegnate solo poche funzioni essenziali: gestione della memoria, comunicazione tra processi (IPC) e funzioni base di gestione della CPU (scheduling).
  • I servizi del SO sono forniti da processi trattati come tutte le altre applicazioni.

Modelli Ibridi

  • Integrazione di paradigmi basati su dati condivisi e comunicazione di messaggi (client-server).
  • Multithreading utile per applicazioni con compiti indipendenti.
  • Microkernel e multithreading usati congiuntamente nello sviluppo di AD e sistemi operativi distribuiti.

La gestione della memoria

  • Le tecniche di gestione della memoria servono a conciliare lo spazio di memoria fisica limitato con le richieste dei programmi.

Gestore della Memoria

  • Applica tecniche per gestire il conflitto tra la dimensione della memoria fisica e lo spazio complessivo richiesto dai programmi.
  • Combina le strategie: caricamento a partire da un indirizzo qualunque, tenuta in memoria solo di una porzione dei programmi e dati, condivisione di istruzioni.
  • Garantisce e protegge uno spazio di indirizzamento virtuale per i processi.

La Rilocabilità del Codice

  • È il processo di adattamento degli indirizzi di memoria di un programma al momento del caricamento in memoria.
  • È necessario sommare un valore di spiazzamento a tutti gli indirizzi nel programma.

Swapping

  • Il sistema sposta interi processi tra la memoria principale e il disco rigido per liberare spazio e gestire la concorrenza tra più processi.

Paginazione

  • Frammentazione della memoria in blocchi (pagine) di dimensione fissa.
  • Lo spazio di indirizzamento del processo è suddiviso in sezioni fisse (pagine logiche), e lo spazio fisico è suddiviso anch'esso in pagine fisiche.
  • Si basa sul principio di località spazio-temporale.
  • Il caricamento avviene solo per le pagine logiche necessarie all'esecuzione.

Memory Management Unit (MMU)

  • Hardware per la conversione degli indirizzi logici in fisici.
  • La MMU si serve di una tabella delle pagine per tradurre gli indirizzi logici in fisici.
  • Connette gli indirizzi logici a quelli fisici.

La Paginazione Risolve Contemporaneamente Tre Problemi:

  • L'assegnazione di processi nella memoria.
  • Gestire il numero di processi.
  • Superare la dimensione fisica della memoria di lavoro.

Gestione Periferiche I/O

  • Per gestire la comunicazione tra l'ambiente CPU-RAM ed i dispositivi esterni.
  • Ha lo scopo di mascherare l'esistenza di un numero limitato di risorse.
  • Altresì, mascherara la differenza tra risorse dello stesso tipo.
  • Si interfaccia attraverso comandi ad alto livello e l'uso di controller e driver.
  • Aggiunta o modifica alla configurazione standard comporta l'installazione di software addizionale (driver aggiuntivi).
  • Plug&Play (PnP): i sistemi operativi configurano automaticamente i driver
  • Spooling : I driver servono anche a virtualizzare la presenza di più periferiche intrinsecamente non condivisibili.

Gestione Memoria di Massa

  • Il suo obiettivo è quello di presentare all'utente l'organizzazione logica dei dati.
  • Offre recupero, eliminazione dati, modifica/aggiornamento, copia.
  • Operazioni di base vengono forniti ai programmi applicativi e agli utenti.

File System

  • Ogni file contiene contiene informazioni (dati o istruzioni) per la conservazione dopo la terminazione del processo che lo ha generato.
  • Per ogni file si identificano:nome.estensione, Periferica, data creazione, dimensione, posizione e altre informazioni.

File

  • I nomi dei file sono in genere composti da due parti (nome e estensione).
  • I sistemi operativi pongono dei vincoli sulla lunghezza dei filename e sui caratteri di cui possono essere costituiti.
  • I file sono organizzati in cartelle (directory) e sottocartelle.

Interfaccia Utente

  • L'utente interagisce con i sistemi operativi tramite interfaccia a caratteri o grafiche

Organizzazione Fisica dei Dati

  • Per mantenere la corrispondenza tra il nome del file e i blocchi su disco sono di usa la lista concatenata, nei sistemi Windows 95/98 e i-node (e.g. UNIX).

Controlli d'Accesso

  • Si associa un account a utente + codice PW.
  • Il sistema verifica l'accesso a gli utenti con autorizzazioni e PW corrette.
  • Si personalizza il sistema, per esempio distribuendo costi, controllando la visibilità di una parte del sistema.
  • Si controlla l'accesso ai file livello di protezione con diritti sulla singola risorsa o con Access Control List

Gestione della Rete

  • Virtualizzazione delle risorse.
  • Necessario per estendere i processi anche a calcolatori diversi.
  • Il software condivide in modo trasparente dati, periferiche e unità di elaborazione.
  • In particolare, i sistemi di rete son capaci di gestire le perafiche e i file system.

File System di Rete

  • I sistemi operativi offrono una gestione distribuita del file system.
  • Un' integrazone in modo organico, gestisco l'univocità dei nomi e consento un accesso efficiente da remoto.
  • L'architettura è di tipi client-server.

Organizzazione Client-server

  • I client usufruiscon dei sistemi inviando richeista a degli appositi server.
  • Il client si fa forte di proprietò di modularità.

Studying That Suits You

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

Quiz Team

More Like This

Untitled Quiz
6 questions

Untitled Quiz

AdoredHealing avatar
AdoredHealing
Untitled
44 questions

Untitled

ExaltingAndradite avatar
ExaltingAndradite
Untitled
6 questions

Untitled

StrikingParadise avatar
StrikingParadise
Untitled Quiz
50 questions

Untitled Quiz

JoyousSulfur avatar
JoyousSulfur
Use Quizgecko on...
Browser
Browser