Concetti Fondamentali dei Sistemi Operativi: Architettura e Gestione
Classificato in Informatica
Scritto il in
italiano con una dimensione di 6,23 KB
Introduzione ai Sistemi Operativi
- SO: Programma fondamentale che controlla tutte le risorse del computer.
- Scopo di un sistema operativo: Permettere alle risorse di un sistema informatico di essere sfruttate in modo efficiente.
- Moduli di I/O: Responsabili del trasporto dei dati tra il computer e il suo ambiente esterno.
- Monitor: Primo sistema operativo sviluppato in lotti da General Motors.
- Degradazione soft: Capacità di continuare a fornire servizi in proporzione al livello di hardware ancora attivo.
- Disco magnetico: Dispositivo di storage tra i più comuni.
- Shell: Considerata una delle componenti più importanti dell'OS.
- Cache: Memoria più piccola e più veloce della memoria principale.
- Sistema di inviti: Applicazione che permette all'utente di richiedere al monitor l'esecuzione di operazioni.
- Focus microkernel: Struttura operativa del sistema che rimuove tutti i componenti non essenziali dal nucleo.
- Registri utente visibili: Registri che possono essere referenziati da linguaggio macchina o assembly.
- Sistemi in tempo reale: Sistemi operativi con scopi speciali utilizzati per applicazioni scientifiche.
- Sistemi paralleli: Sistemi con più processori in stretta comunicazione, che condividono bus, orologio e, talvolta, memoria e periferiche.
- Creazione di un sistema operativo: Include servizi di attuazione dei programmi e accesso ai dispositivi di I/O.
- Protezione della memoria: Definita tramite registro base e registro limite.
- Livelli di hardware (1-4): Gerarchia nella progettazione del sistema operativo.
- Istruzioni privilegiate: Istruzioni di I/O e modifica dei registri di gestione della memoria o timer.
- Macchina virtuale: Ottimo veicolo per la ricerca sui sistemi operativi.
- User Mode: Modalità di esecuzione utilizzata dalle applicazioni utente.
- Communications: Categoria di chiamate di sistema che permette il trasferimento di informazioni di stato.
Gestione delle Interruzioni e Multiprogrammazione
- Approcci per interruzioni multiple: Si utilizza la priorità; si esegue l'interrupt a priorità massima sospendendo gli altri fino al completamento.
- Importanza del salvataggio stato: Mantenere le informazioni del PC (Program Counter) prima di un'interruzione permette al programma di riprendere esattamente da dove era stato sospeso.
- Problemi di condivisione del tempo:
- Protezione del processore tramite timer per evitare cicli infiniti.
- Gestione del sistema di I/O per evitare accessi non autorizzati tramite istruzioni privilegiate.
- Caratteristiche dei moderni sistemi operativi:
- Gestione dei thread: Capacità di eseguire contemporaneamente più funzioni.
- Multiprogrammazione simmetrica: Ogni core dispone di una copia esatta del sistema operativo.
- Prestazioni dell'approccio stratificato: È considerato meno performante poiché richiede più chiamate tra i moduli per svolgere una singola attività.
Seconda Parte: Processi e Concorrenza
- Stato sospeso: Stato in cui un processo viene spostato durante lo scambio (swapping).
- Blocco di controllo di processo (PCB): Considerata la struttura dati più importante del sistema operativo.
- Mutua esclusione: Fondamentale nella programmazione concorrente.
- Processo: Unità di proprietà delle risorse.
- Interruzione: Evento necessario per il cambio di modalità, di processo e di stato.
- Tempo di risposta: Tempo che un processo bloccato impiega per tornare in esecuzione.
- Circolo vizioso (Deadlock): Strategie di ordinamento lineare sono usate per prevenirlo.
- Appropriazione: Nessun processo può essere costretto ad abbandonare una risorsa che detiene.
- Soluzioni hardware: Limitano la capacità del processore di interfoliare i processi per garantire la mutua esclusione.
- Risorse consumabili: Risorse che cessano di esistere una volta acquisite da un processo.
- Condivisione tra thread: I thread di un processo condividono file, dispositivi di I/O e spazio di memoria.
Livelli di conoscenza tra processi
- Indipendenti: Non hanno conoscenza degli altri.
- Conoscenza indiretta: Condividono l'accesso a oggetti comuni (es. buffer I/O).
- Conoscenza diretta: Comunicazione tramite nome per lavorare insieme.
Terza Parte: Memoria e Architetture
- Relocation: Quando un processo rientra in esecuzione, può essere ospitato in una posizione di memoria diversa.
- Thrashing: Eccessivo scambio di frammenti di un processo.
- RAID: Schema standard per la progettazione di database su più dischi.
- Principio di prossimità: I riferimenti a dati e programmi tendono a raggrupparsi.
- I/O con interruzioni: Tecnica in cui il processore è coinvolto solo all'inizio e alla fine dell'operazione.
- Sistema Buddy: Algoritmo di allocazione della memoria (es. 235K allocati diventano 256K).
- Monitor di riferimento: Elemento di controllo che gestisce l'accesso dei soggetti agli oggetti.
- Gestione file: La chiave è la gestione dello spazio su disco.
- Cache del disco: Situata nella memoria principale; le richieste vengono controllate prima nella cache.
- Strategie password: Password generate casualmente dal computer secondo criteri predefiniti.