sistema Operativo Flashcards
Quali sono gli obiettivi principali di un sistema operativo?
Convenienza, Efficienza e Capacità di evolversi rispetto a evoluzioni hardware, esigenze degli utenti e bug.
Perché si dice che il sistema operativo agisce in maniera trasparente?
Perché nasconde i dettagli hardware al programmatore e fornisce un’interfaccia per utilizzare il sistema.
Come è strutturato un sistema operativo?
È una piramide con l’hardware alla base, il sistema operativo al centro, e programmi/applicazioni in cima.
Quali sono i principali servizi offerti dal sistema operativo?
Creazione dei programmi: Fornisce accesso a strumenti come compilatori e debugger (non parte del SO ma accessibili tramite esso).
Esecuzione dei programmi: Gestisce il caricamento in memoria, l’inizializzazione dei dispositivi di I/O.
Accesso ai dispositivi di I/O: Astrazione che permette a utenti e programmatori di ignorare i dettagli tecnici dei dispositivi.
Accesso controllato ai file: Include protezione, formati, e gestione della memoria associata ai file.
Accesso al sistema: Consente un utilizzo sicuro e controllato del sistema in senso lato.
Gestione degli errori: Rileva e corregge errori hardware o software durante l’esecuzione dei programmi.
Contabilità e statistiche: Monitora l’uso delle risorse e analizza le prestazioni per migliorarle.
Qual è la differenza tra mono-programmazione e multiprogrammazione?
La mono-programmazione utilizza tutte le risorse per un singolo programma, mentre la multiprogrammazione mira a ridurre l’inattività della CPU eseguendo più programmi contemporaneamente.
Quali sono le difficoltà della multiprogrammazione?
Gestione della memoria e decisione del processo da eseguire (scheduling).
Cos’è un processo?
Un’attività con una sequenza di istruzioni, uno stato corrente e un set di risorse di sistema.
Da cosa è composto un processo?
Programma (codice eseguibile), insiemi di dati (variabili, buffer), e contesto di esecuzione.
Cos’è il PCB (Process Control Block)?
È una struttura che contiene informazioni sul processo, come identificatore (PID), stato del processore, controllo del processo, privilegi, e contabilizzazione delle risorse.
Quali sono i compiti principali della gestione della memoria?
Isolamento dei processi, allocazione automatica, supporto alla programmazione modulare, protezione, e memorizzazione a lungo termine.
Perché è importante classificare lo stato di un processo?
Per gestire in modo efficace processi in stati differenti.
Quali eventi portano alla creazione di un processo?
Richiesta da terminale, richiesta di un processo utente, o generazione di un processo figlio.
Quali eventi portano alla terminazione di un processo?
Terminazione normale, uscita utente, superamento del tempo massimo, memoria non disponibile, violazione dei limiti, errore di operazione, o richiesta del genitore.
Quali sono gli stati del modello a 2 stati?
Not Running ( Il processo è pronto per essere eseguito o è in attesa di un evento o di un dispositivo I/O) e Running
Quali sono gli stati del modello a 5 stati?
New, Ready, Running, Blocked, Exit.