Podcast
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'?
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?
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'?
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?
Qual è la principale azione che il sistema operativo intraprende quando un quanto di tempo di un processo in 'Esecuzione' termina?
In quale stato si trova un processo quando richiede una risorsa non immediatamente disponibile?
In quale stato si trova un processo quando richiede una risorsa non immediatamente disponibile?
Qual è la funzione principale del gestore della memoria in un sistema operativo?
Qual è la funzione principale del gestore della memoria in un sistema operativo?
Quale dei seguenti compiti non è tipicamente svolto dal gestore della memoria?
Quale dei seguenti compiti non è tipicamente svolto dal gestore della memoria?
In che modo il gestore della memoria beneficia i programmi in esecuzione?
In che modo il gestore della memoria beneficia i programmi in esecuzione?
Cosa si intende per 'periferiche astratte' nel contesto del gestore delle periferiche?
Cosa si intende per 'periferiche astratte' nel contesto del gestore delle periferiche?
Qual è il vantaggio principale di utilizzare uno spazio di indirizzamento virtuale?
Qual è il vantaggio principale di utilizzare uno spazio di indirizzamento virtuale?
Come influenza il gestore della memoria la capacità della memoria fisica?
Come influenza il gestore della memoria la capacità della memoria fisica?
Qual è il ruolo del BUS nel contesto dell'interazione tra CPU e memoria?
Qual è il ruolo del BUS nel contesto dell'interazione tra CPU e memoria?
In un sistema con memoria virtuale, cosa succede se un programma tenta di accedere a un indirizzo di memoria non valido?
In un sistema con memoria virtuale, cosa succede se un programma tenta di accedere a un indirizzo di memoria non valido?
Qual è la funzione principale di un sistema operativo in relazione alle risorse fisiche di un sistema informatico?
Qual è la funzione principale di un sistema operativo in relazione alle risorse fisiche di un sistema informatico?
In che modo il sistema operativo facilita l'interazione tra l'utente e il sistema informatico?
In che modo il sistema operativo facilita l'interazione tra l'utente e il sistema informatico?
Quale delle seguenti NON è una funzione tipica di un sistema operativo?
Quale delle seguenti NON è una funzione tipica di un sistema operativo?
Cosa si intende quando si dice che il sistema operativo 'virtualizza' le caratteristiche dell'hardware?
Cosa si intende quando si dice che il sistema operativo 'virtualizza' le caratteristiche dell'hardware?
Un sistema operativo è definito come software di sistema o di base a causa della sua natura...
Un sistema operativo è definito come software di sistema o di base a causa della sua natura...
Quale tra i seguenti aspetti è più strettamente legato alla funzione di 'interoperabilità ' gestita dal sistema operativo?
Quale tra i seguenti aspetti è più strettamente legato alla funzione di 'interoperabilità ' gestita dal sistema operativo?
Come contribuisce il sistema operativo a superare i problemi legati alla limitazione del numero di risorse hardware?
Come contribuisce il sistema operativo a superare i problemi legati alla limitazione del numero di risorse hardware?
Se un sistema operativo garantisce 'correttezza e precisione', a quale aspetto fondamentale si riferisce?
Se un sistema operativo garantisce 'correttezza e precisione', a quale aspetto fondamentale si riferisce?
Qual è l'obiettivo principale della gestione della memoria di massa in un sistema informatico?
Qual è l'obiettivo principale della gestione della memoria di massa in un sistema informatico?
Quale delle seguenti NON è un'operazione di base tipicamente fornita da un file system?
Quale delle seguenti NON è un'operazione di base tipicamente fornita da un file system?
Cosa rappresenta un file in un sistema informatico?
Cosa rappresenta un file in un sistema informatico?
Quale informazione NON è tipicamente associata a un file in un file system?
Quale informazione NON è tipicamente associata a un file in un file system?
A cosa serve l'estensione di un file?
A cosa serve l'estensione di un file?
Quale dei seguenti sistemi operativi aveva il limite più restrittivo sulla lunghezza dei nomi dei file?
Quale dei seguenti sistemi operativi aveva il limite più restrittivo sulla lunghezza dei nomi dei file?
Come sono generalmente organizzati i file all'interno di un file system?
Come sono generalmente organizzati i file all'interno di un file system?
Cosa succede ai dati contenuti in un file dopo la terminazione del processo che lo ha generato?
Cosa succede ai dati contenuti in un file dopo la terminazione del processo che lo ha generato?
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)?
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)?
Qual è l'importanza di fornire servizi di gestione dei file sia ai programmi applicativi che direttamente agli utenti?
Qual è l'importanza di fornire servizi di gestione dei file sia ai programmi applicativi che direttamente agli utenti?
Qual è la funzione principale di una Memory Management Unit (MMU)?
Qual è la funzione principale di una Memory Management Unit (MMU)?
Cosa contiene principalmente una tabella delle pagine utilizzata dalla MMU?
Cosa contiene principalmente una tabella delle pagine utilizzata dalla MMU?
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?
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?
In un sistema MMU, quale vantaggio offre la suddivisione della memoria in pagine?
In un sistema MMU, quale vantaggio offre la suddivisione della memoria in pagine?
Se un processo tenta di accedere a un indirizzo logico non presente nella tabella delle pagine, cosa succede?
Se un processo tenta di accedere a un indirizzo logico non presente nella tabella delle pagine, cosa succede?
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?
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?
In quale scenario l'utilizzo di una MMU è particolarmente vantaggioso?
In quale scenario l'utilizzo di una MMU è particolarmente vantaggioso?
Come influisce la dimensione della pagina sulla gestione della memoria da parte della MMU?
Come influisce la dimensione della pagina sulla gestione della memoria da parte della MMU?
Qual è una delle limitazioni principali dell'utilizzo di una MMU?
Qual è una delle limitazioni principali dell'utilizzo di una MMU?
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?
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?
Quale dei seguenti è un compito del sistema di gestione dei file (file system) all'interno di un sistema operativo?
Quale dei seguenti è un compito del sistema di gestione dei file (file system) all'interno di un sistema operativo?
In un sistema operativo, quale componente è responsabile della gestione dell'accesso alle risorse di sistema da parte degli utenti?
In un sistema operativo, quale componente è responsabile della gestione dell'accesso alle risorse di sistema da parte degli utenti?
Qual è la principale differenza tra l'esecuzione di un programma applicativo e l'esecuzione del sistema operativo in termini di istruzioni del processore?
Qual è la principale differenza tra l'esecuzione di un programma applicativo e l'esecuzione del sistema operativo in termini di istruzioni del processore?
In un ambiente di multiprogrammazione, cosa permette al sistema operativo di migliorare l'efficienza dell'uso della CPU?
In un ambiente di multiprogrammazione, cosa permette al sistema operativo di migliorare l'efficienza dell'uso della CPU?
Quale tra le seguenti affermazioni descrive meglio la differenza tra un 'programma' e un 'processo' in un sistema operativo?
Quale tra le seguenti affermazioni descrive meglio la differenza tra un 'programma' e un 'processo' in un sistema operativo?
Cosa rappresenta la 'macchina virtuale' nel contesto dell'organizzazione di un sistema operativo?
Cosa rappresenta la 'macchina virtuale' nel contesto dell'organizzazione di un sistema operativo?
In un'architettura a strati di un sistema operativo, quale vantaggio offre la separazione tra 'meccanismi' e 'politiche'?
In un'architettura a strati di un sistema operativo, quale vantaggio offre la separazione tra 'meccanismi' e 'politiche'?
Qual è il ruolo principale del 'kernel' (nucleo) in un sistema operativo?
Qual è il ruolo principale del 'kernel' (nucleo) in un sistema operativo?
Quale dei seguenti NON è un compito tipico del sistema operativo?
Quale dei seguenti NON è un compito tipico del sistema operativo?
In che modo il sistema operativo facilita l'interazione tra l'utente e l'hardware del computer?
In che modo il sistema operativo facilita l'interazione tra l'utente e l'hardware del computer?
Un sistema operativo a strati permette di:
Un sistema operativo a strati permette di:
In un sistema di multiprogrammazione, se un processo è bloccato in attesa di un evento (es. I/O), cosa succede tipicamente?
In un sistema di multiprogrammazione, se un processo è bloccato in attesa di un evento (es. I/O), cosa succede tipicamente?
Quale delle seguenti affermazioni descrive il rapporto tra il sistema operativo e le risorse hardware del computer?
Quale delle seguenti affermazioni descrive il rapporto tra il sistema operativo e le risorse hardware del computer?
Cosa si intende per 'esecuzione in modalità supervisore' da parte del sistema operativo?
Cosa si intende per 'esecuzione in modalità supervisore' da parte del sistema operativo?
Se un programma tenta di accedere a una risorsa hardware senza l'autorizzazione del sistema operativo, cosa succede?
Se un programma tenta di accedere a una risorsa hardware senza l'autorizzazione del sistema operativo, cosa succede?
Flashcards
Sistema operativo
Sistema operativo
Insieme di programmi per controllare le risorse fisiche del sistema.
SO come erogatore di servizi
SO come erogatore di servizi
L'utente vede il sistema tramite il SO come un fornitore di servizi.
SO: Software di base
SO: Software di base
Software fondamentale per il funzionamento del sistema.
Funzione principale del SO
Funzione principale del SO
Signup and view all the flashcards
Caratteristiche dei sistemi operativi
Caratteristiche dei sistemi operativi
Signup and view all the flashcards
Altra funzione del SO
Altra funzione del SO
Signup and view all the flashcards
SO: Virtualizzazione hardware
SO: Virtualizzazione hardware
Signup and view all the flashcards
SO: Macchina astratta
SO: Macchina astratta
Signup and view all the flashcards
Scheduling
Scheduling
Signup and view all the flashcards
Stato di Attesa
Stato di Attesa
Signup and view all the flashcards
Salvataggio dello stato del processo
Salvataggio dello stato del processo
Signup and view all the flashcards
Transizione Attesa -> Pronto
Transizione Attesa -> Pronto
Signup and view all the flashcards
Transizione Esecuzione -> Pronto
Transizione Esecuzione -> Pronto
Signup and view all the flashcards
Spazio di indirizzamento virtuale
Spazio di indirizzamento virtuale
Signup and view all the flashcards
Funzioni del gestore di memoria
Funzioni del gestore di memoria
Signup and view all the flashcards
Memoria dedicata simulata
Memoria dedicata simulata
Signup and view all the flashcards
Gestore di memoria
Gestore di memoria
Signup and view all the flashcards
Periferiche astratte
Periferiche astratte
Signup and view all the flashcards
Visione del sistema del gestore delle periferiche
Visione del sistema del gestore delle periferiche
Signup and view all the flashcards
Memoria logica
Memoria logica
Signup and view all the flashcards
Funzione principale del gestore di memoria
Funzione principale del gestore di memoria
Signup and view all the flashcards
Ruolo del Sistema Operativo
Ruolo del Sistema Operativo
Signup and view all the flashcards
Elementi di un SO
Elementi di un SO
Signup and view all the flashcards
SO vs Applicazioni: Accesso
SO vs Applicazioni: Accesso
Signup and view all the flashcards
SO: Gestione delle Risorse
SO: Gestione delle Risorse
Signup and view all the flashcards
Multiprogrammazione
Multiprogrammazione
Signup and view all the flashcards
Cos'è un Programma?
Cos'è un Programma?
Signup and view all the flashcards
Cos'è un Processo?
Cos'è un Processo?
Signup and view all the flashcards
Macchine Virtuali
Macchine Virtuali
Signup and view all the flashcards
Struttura a Strati del SO
Struttura a Strati del SO
Signup and view all the flashcards
Compito di ogni Macchina Virtuale
Compito di ogni Macchina Virtuale
Signup and view all the flashcards
Vantaggio dell'Organizzazione a Strati
Vantaggio dell'Organizzazione a Strati
Signup and view all the flashcards
Cos'è il Nucleo (Kernel)?
Cos'è il Nucleo (Kernel)?
Signup and view all the flashcards
Funzioni del Nucleo
Funzioni del Nucleo
Signup and view all the flashcards
Modalità Supervisore
Modalità Supervisore
Signup and view all the flashcards
Modalità Utente
Modalità Utente
Signup and view all the flashcards
Cos'è una MMU?
Cos'è una MMU?
Signup and view all the flashcards
Cosa fa la tabella delle pagine in una MMU?
Cosa fa la tabella delle pagine in una MMU?
Signup and view all the flashcards
Cos'è lo spazio fisico?
Cos'è lo spazio fisico?
Signup and view all the flashcards
Cos'è lo spazio logico?
Cos'è lo spazio logico?
Signup and view all the flashcards
Esempio di dimensione della memoria fisica
Esempio di dimensione della memoria fisica
Signup and view all the flashcards
Esempio di dimensione della memoria logica
Esempio di dimensione della memoria logica
Signup and view all the flashcards
Esempio di dimensione di una pagina
Esempio di dimensione di una pagina
Signup and view all the flashcards
Quanti bit per indirizzare 32 MByte?
Quanti bit per indirizzare 32 MByte?
Signup and view all the flashcards
Quanti bit per indirizzare 4 MByte?
Quanti bit per indirizzare 4 MByte?
Signup and view all the flashcards
Qual è la funzione principale della MMU?
Qual è la funzione principale della MMU?
Signup and view all the flashcards
Obiettivo della gestione della memoria di massa
Obiettivo della gestione della memoria di massa
Signup and view all the flashcards
Operazioni base di un file system
Operazioni base di un file system
Signup and view all the flashcards
Cos'è un file?
Cos'è un file?
Signup and view all the flashcards
Informazioni associate ad un file
Informazioni associate ad un file
Signup and view all the flashcards
Scopo dell'estensione di un file
Scopo dell'estensione di un file
Signup and view all the flashcards
Vincoli sui nomi dei file
Vincoli sui nomi dei file
Signup and view all the flashcards
Organizzazione dei file
Organizzazione dei file
Signup and view all the flashcards
Nome di un file
Nome di un file
Signup and view all the flashcards
File System
File System
Signup and view all the flashcards
Posizione fisica dei dati
Posizione fisica dei dati
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.