Il sistema operativo è il software di base che gestisce le risorse hardware e fornisce servizi ai programmi. Si classifica in base a utenti, processi e ambito di utilizzo. È strutturato attorno al kernel e ai moduli di gestione delle risorse e funziona coordinando l’esecuzione dei processi, la memoria, i dispositivi e i file.
Sistemi Operativi: classificazione, struttura e funzionamento.
1) Cos’è un sistema operativo (SO)?
Il sistema operativo è il software di base che:
- gestisce le risorse hardware del computer;
- fornisce servizi ai programmi applicativi;
- permette l’interazione tra utente e macchina.
È l’intermediario tra hardware e software applicativo.
2) Classificazione dei sistemi operativi.
a) In base al numero di utenti.
- Monoutente: un solo utente alla volta
(es. sistemi embedded, vecchi PC) - Multiutente: più utenti contemporaneamente
(es. Linux, UNIX)
b) In base al numero di processi.
- Monotasking: un solo processo alla volta
- Multitasking: più processi in esecuzione apparente
(time sharing)
c) In base al tipo di elaborazione.
- Batch: esecuzione di job senza interazione
- Time-sharing: interazione continua con l’utente
- Real-time:
- hard real-time: scadenze critiche
- soft real-time: tolleranza ai ritardi
d) In base all’ambito di utilizzo.
- Desktop: Windows, macOS, Linux
- Server: Linux, UNIX, Windows Server
- Embedded: FreeRTOS, VxWorks
- Mobile: Android, iOS
e) In base all’architettura.
- Centralizzati
- Distribuiti
- Di rete
3) Struttura di un sistema operativo.
La struttura descrive come è organizzato internamente il sistema operativo.
a) Kernel.
È il nucleo del sistema operativo:
- gestione CPU
- gestione memoria
- gestione processi
- gestione dispositivi I/O
Tipi di kernel:
- Monolitico (Linux)
- Microkernel (Minix)
- Ibrido (Windows, macOS)
b) Moduli principali.
- Gestione dei processi
- creazione e terminazione
- scheduling
- sincronizzazione
- Gestione della memoria
- allocazione e deallocazione
- memoria virtuale
- paginazione e segmentazione
- Gestione del file system
- organizzazione dei file
- permessi
- directory
- Gestione I/O
- driver di dispositivo
- buffering
- interrupt
c) Interfaccia utente.
- CLI (Command Line Interface)
(bash, PowerShell) - GUI (Graphical User Interface)
(finestre, icone, menu)
4) Funzionamento generale di un sistema operativo.
a) Avvio del sistema (boot)
- Accensione del computer
- BIOS/UEFI inizializza l’hardware
- Caricamento del kernel
- Avvio dei servizi di sistema
- Presentazione dell’interfaccia utente
b) Gestione dei processi.
- Un processo è un programma in esecuzione
- Il SO assegna il tempo di CPU tramite scheduler
- Uso di context switch per alternare i processi
c) Gestione della memoria.
- La RAM è condivisa tra processi
- Uso della memoria virtuale
- Protezione degli spazi di memoria
d) Gestione dei dispositivi.
- Comunicazione tramite driver
- Uso degli interrupt
- Operazioni di input/output controllate
e) Gestione dei file.
- Creazione, lettura, scrittura e cancellazione
- Organizzazione gerarchica
- Controllo degli accessi
5) Sicurezza e protezione.
- autenticazione utenti
- autorizzazioni
- isolamento dei processi
- protezione della memoria
6) Relazione con il laboratorio.
In laboratorio devi saper:
- riconoscere il tipo di sistema operativo
- usare processi e file
- distinguere kernel e shell
- spiegare multitasking e multiutenza
- descrivere il ciclo di vita di un processo
| Aspetto | Descrizione | ||
| Classificazione | Tipi di SO | ||
| Struttura | Kernel, moduli, interfacce | ||
| Funzionamento | Avvio, processi, memoria, I/O | ||
| Obiettivo | Gestione efficiente delle risorse | ||
