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

  1. Indipendenti: Non hanno conoscenza degli altri.
  2. Conoscenza indiretta: Condividono l'accesso a oggetti comuni (es. buffer I/O).
  3. 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.

Voci correlate: