Sistema Operativo
Un Sistema Operativo (SO) è un insieme di software
che gestisce l'hardware del computer e fornisce servizi per l'esecuzione di programmi.
In pratica, è l'intermediario tra l'utente e il computer, consentendo di utilizzare risorse come la CPU,
la memoria e i dispositivi di input/output in modo efficiente.
La sua funzione principale è quella di garantire che tutte le operazioni di sistema vengano eseguite correttamente,
senza conflitti tra i vari processi in esecuzione.
Funzioni principali di un Sistema Operativo:
- Gestione dei processi: Il sistema operativo gestisce l'esecuzione dei programmi.
Si occupa di avviare, sospendere, terminare e programmare i processi (i programmi in esecuzione).
Gestisce anche la comunicazione tra i processi e la sincronizzazione, evitando conflitti tra di essi.
- Gestione della memoria: Il sistema operativo gestisce la memoria del computer,
allocandola e deallocandola in modo che ogni processo possa utilizzarla senza interferire con altri processi.
Questo include la memoria principale (RAM) e la memoria secondaria (come hard disk o SSD).
- Gestione dei file: Il SO si occupa della creazione, modifica, accesso e gestione dei file.
Gestisce anche i permessi di accesso ai file, garantendo la sicurezza e l'integrità dei dati.
- Gestione dei dispositivi di input/output: Il sistema operativo gestisce l'interazione
con i dispositivi hardware come tastiere, mouse, stampanti, monitor, dischi rigidi, ecc.
Fornisce driver che permettono l'interazione con questi dispositivi.
- Gestione delle risorse: Assegna in modo efficiente le risorse hardware, come la CPU,
la memoria e i dispositivi di I/O, tra i vari processi in esecuzione,
garantendo che ogni processo ottenga le risorse necessarie senza conflitti.
torna al sommario
Tipologie di Sistemi Operativi:
- Sistemi operativi monolitici: In questi sistemi, tutte le funzionalità del sistema operativo
sono gestite da un unico programma complesso che interagisce direttamente con l'hardware. Esempi: Linux, Unix.
- Sistemi operativi microkernel: Questi sistemi operativi riducono al minimo le funzioni del kernel
(la parte centrale del sistema operativo), spostando molte delle funzionalità verso moduli separati. Esempi: Minix, QNX.
- Sistemi operativi a più livelli: In questi sistemi, le funzioni del sistema operativo sono divise in diversi livelli
o moduli, ognuno con compiti specifici. Esempi: Windows, macOS.
- Sistemi operativi in tempo reale (RTOS): Questi sistemi operativi sono progettati per rispondere a eventi
in tempo reale con una latenza molto bassa. Sono utilizzati in applicazioni critiche,
come i sistemi di controllo industriale o nei dispositivi embedded. Esempi: VxWorks, FreeRTOS.
- Sistemi operativi distribuiti: Questi sistemi gestiscono più computer che lavorano insieme in una rete,
ma appaiono come un singolo sistema agli utenti. Esempi: Google Android, Hadoop.
torna al sommario
Organizzazione di un Sistema Operativo:
- Kernel: È la parte centrale del sistema operativo, che si occupa della gestione delle risorse hardware
e fornisce i servizi di base per l'esecuzione dei programmi.
- Gestione dei processi: Si occupa della pianificazione e del controllo dell'esecuzione dei processi.
Gestisce l'avvio, la terminazione e la sincronizzazione tra i processi.
- Gestione della memoria: Controlla come e quando la memoria viene allocata ai vari processi e
come viene liberata quando non è più necessaria.
- Gestione dei file: Fornisce un’interfaccia per la gestione dei file, come la creazione,
lettura, scrittura e cancellazione di file.
- Interfaccia utente (UI): Fornisce un'interfaccia che consente agli utenti di interagire con il sistema operativo.
Può essere una UI grafica (GUI), come in Windows e macOS, o una UI a riga di comando (CLI),
come in molti sistemi Unix/Linux.
- Driver di dispositivo: Software che permette al sistema operativo di interagire con i dispositivi hardware,
come la tastiera, il mouse, la stampante, ecc.
torna al sommario
Modello di Von Neumann:
Il modello di architettura di von Neumann è costituito da tre sottosistemi interconnessi:
il Processore (o Unità centrale di elaborazione – CPU), la Memoria e i Dispositivi di I/O (Input/Output o Ingresso/Uscita).
La connessione tra questi sottosistemi è realizzata mediante un altro dispositivo, noto come Bus.
Il modello di Von Neumann è formato da un'unità d'ingresso (input) dove vengono acquisiti i programmi e i dati che poi vengono memorizzati nella memoria centrale (RAM).
La CU (Central Unit) interpreta le istruzioni registrate nella RAM e coordina i vari componenti del computer tramite i BUS di controllo.
torna al sommario
Classificazione di un Sistema Operativo:
- Monoutente:un solo utente alla volta.
- Multiutente: tanti utenti contemporaneamente sullo stesso computer.
- Monoprogrammato: un'app alla volta.
- Multiprogrammato: molte app in contemporanea.
- Multiprocessing: più app funzionano su più CPU.
torna al sommario
Il Kernel di un sitema operativo:
Il kernel di un sistema operativo è la parte centrale che gestisce l'hardware e fornisce i servizi di base per il funzionamento del software. Le sue principali funzioni sono:
- Gestione della memoria: assegna e libera la memoria.
- Gestione dei processi: crea, pianifica e termina i processi.
- Gestione dell'input/output (I/O): coordina l'interazione con i dispositivi hardware.
- Gestione dei dispositivi: fornisce interfacce per l'accesso ai dispositivi tramite driver.
- Sicurezza: controlla gli accessi e protegge il sistema.
torna al sommario
per tornare all'indice Clicca qui
pagina web di Anastasia Vaccariello