Sistemi operativi
Definizione intuitiva: insieme di programmi che rendono facilmente disponibile all’utente le potenzialità offerte dalla macchina. Gestisce le risorse hardware e software.
Caratteristiche principali
- Sistema operativo = nucleo (kernel) + software di base
- Il sistema operativo è fornito dal costruttore della macchina (non sempre gratuitamente).
Concetti base
Astrazione: schema generale a strati di un sistema di calcolo (indipendenza dagli strati sottostanti al primo).
Funzioni del sistema operativo
- Gestione lavori (processi in esecuzione)
- Gestione delle risorse (processore, memorie, periferiche, ecc.)
- Ausili per la messa a punto dei programmi
- Ausili per la gestione dei dati (file system)
- Funzioni di: Contabilità, Sicurezza, Recupero
Funzioni del kernel
Il kernel del sistema operativo è un programma che va in esecuzione all'accensione della macchina (bootstrapping) e svolge le funzioni:
- Fornisce le funzionalità di base per tutte le altre componenti del sistema operativo
- Controllo dell’esecuzione dei programmi dell’utente
- Amministrazione delle risorse hardware nei sistemi multiutente
Il kernel impiega del tempo di CPU che viene sottratto all’esecuzione dei programmi utente (sovraccarico o overhead).
Sistemi operativi
- Sistema operativo come interfaccia tra macchina (hardware) e utente
- L’hardware della macchina è trasparente all’utente
- Saper utilizzare una macchina significa saper utilizzare il suo sistema operativo
- Macchine molto diverse a livello hardware supportano lo stesso sistema operativo: svolge le stesse funzioni e si presenta all'utente nello stesso modo.
Architettura del sistema operativo
I sistemi operativi hanno una struttura complessa. Una possibile architettura è descritta, in modo semplificato, dalla seguente figura.
Componenti di un sistema operativo
- Kernel: fornisce le funzionalità di base per tutte le altre componenti del sistema operativo sollevandole dai dettagli della gestione dell'hardware e consentendone un accesso controllato
- File system: gestisce l’accesso alle memorie di massa
- Scheduler: esecuzione dei vari processi
- Gestore I/O: consente ai programmi di proseguire l’esecuzione dopo avere richiesto operazioni di I/O
- Gestore memoria: gestisce l’uso della memoria da parte dei programmi utente
- Shell (o interprete): permette agli utenti di interagire con la macchina
Classificazione dei sistemi operativi
- Dedicati
- A lotti (batch)
- Multiprogrammazione
- Interattivi (time-sharing)
-
Appunti Fondamenti di informatica
-
Appunti Fondamenti di Informatica teoria - sistemi di numerazione
-
Appunti di Sistemi operativi
-
Sistemi operativi - Appunti teoria