Obiettivi della lezione
- Comprendere la gestione hardware tramite il sistema operativo: Analizzare come il sistema operativo interagisce con l’hardware tramite driver e gestione della memoria.
- Esplorare la gestione delle periferiche: Studiare il rilevamento automatico, l’installazione dei driver e la gestione delle operazioni di input/output.
- Conoscere il file system e la gestione dei file: Esaminare come il sistema operativo organizza, controlla e protegge i file sul disco.
Introduzione
In questa lezione, approfondiremo come il sistema operativo gestisce le componenti hardware e le periferiche, nonché la gestione dei file. Questi aspetti sono cruciali per comprendere come il sistema operativo coordina e facilita l’interazione tra l’utente, il software e l’hardware del computer.
Gestione delle componenti hardware
Driver di dispositivo
I driver di dispositivo sono programmi che permettono al sistema operativo di comunicare con l’hardware del computer. Ogni dispositivo hardware ha bisogno di un driver specifico per funzionare correttamente. I driver fungono da traduttori, convertendo i comandi del sistema operativo in istruzioni che l’hardware può comprendere.
- Installazione dei driver: Quando un nuovo dispositivo hardware viene collegato al computer, il sistema operativo cerca automaticamente il driver appropriato. Se disponibile, il driver viene installato e configurato. In alcuni casi, può essere necessario scaricare e installare manualmente il driver dal sito del produttore.
- Aggiornamento dei driver: I driver devono essere aggiornati regolarmente per garantire la compatibilità con il sistema operativo e migliorare le prestazioni del dispositivo. Gli aggiornamenti possono correggere bug, aggiungere nuove funzionalità o migliorare la sicurezza.
Gestione della memoria
Il sistema operativo gestisce la memoria del computer, allocando spazio di memoria per i processi in esecuzione e liberando la memoria quando i processi terminano.
- Memoria RAM: Viene utilizzata per archiviare dati temporanei necessari ai processi in esecuzione. La gestione della RAM include l’allocazione di blocchi di memoria ai processi e il recupero della memoria quando non è più necessaria.
- Memoria Virtuale: Se la memoria RAM è insufficiente, il sistema operativo utilizza una parte dello spazio su disco come estensione della RAM, nota come memoria virtuale. Questo processo è chiamato “swapping” e consente di eseguire più applicazioni contemporaneamente senza esaurire la memoria fisica.
Gestione delle periferiche
Le periferiche sono dispositivi esterni collegati al computer, come stampanti, scanner, mouse, tastiere e dispositivi di archiviazione esterni. Il sistema operativo gestisce le periferiche attraverso i driver e fornisce un’interfaccia per l’utente per interagire con questi dispositivi.
- Plug and Play (PnP): Una tecnologia che consente al sistema operativo di rilevare automaticamente le periferiche e installare i driver necessari. Questa funzionalità semplifica il processo di aggiunta e rimozione di dispositivi.
- Gestione dell’I/O: Il sistema operativo coordina le operazioni di input/output tra le periferiche e il computer. Questo include la gestione dei buffer di I/O, la sincronizzazione delle operazioni di I/O e la gestione degli interrupt generati dalle periferiche.
Gestione dei file
File System
Il file system è una componente del sistema operativo che gestisce la creazione, eliminazione, lettura e scrittura dei file. Organizza i dati in un modo strutturato per un accesso efficiente e sicuro. I principali compiti del file system includono:
- Struttura delle Directory: Il file system organizza i file in una gerarchia di cartelle e sottocartelle. Questa struttura permette agli utenti di trovare e gestire facilmente i file.
- Permessi di Accesso: Il file system controlla chi può leggere, scrivere o eseguire un file. I permessi possono essere assegnati a singoli utenti o gruppi di utenti, garantendo che solo le persone autorizzate possano accedere ai file sensibili.
- Gestione dello Spazio su Disco: Il file system tiene traccia dello spazio disponibile su disco e della posizione dei file sul disco. Questo include la gestione dei frammenti di file e l’ottimizzazione dell’allocazione dello spazio su disco per migliorare le prestazioni.
Tipi di file system
Esistono diversi tipi di file system, ciascuno con le proprie caratteristiche e vantaggi:
- FAT32 (File Allocation Table): Un file system vecchio ma ancora utilizzato, compatibile con molti dispositivi e sistemi operativi. È limitato a file di dimensioni massime di 4 GB.
- NTFS (New Technology File System): Utilizzato da Windows, offre miglioramenti in termini di sicurezza, compressione dei file e gestione dello spazio su disco. Supporta file di grandi dimensioni e permessi di accesso avanzati.
- HFS+ (Hierarchical File System Plus): Utilizzato da macOS, offre funzionalità avanzate come la gestione delle risorse e la compatibilità con Time Machine per il backup.
- EXT4 (Fourth Extended File System): Utilizzato da molte distribuzioni Linux, offre miglioramenti in termini di performance e affidabilità. Supporta file di grandi dimensioni e journaling, che aiuta a prevenire la corruzione dei dati.
Operazioni sui File
Il sistema operativo permette agli utenti di eseguire una serie di operazioni sui file, tra cui:
- Creazione e Eliminazione: Gli utenti possono creare nuovi file e cartelle e eliminarli quando non sono più necessari.
- Lettura e Scrittura: Gli utenti possono aprire i file per visualizzarli o modificarli. Questo include la lettura dei dati da un file e la scrittura di nuovi dati nel file.
- Copia e Spostamento: Gli utenti possono copiare o spostare file e cartelle da una posizione all’altra. Questo permette di organizzare i file in modo efficiente e di creare backup.
Esempi pratici di gestione dei file
Creazione di un file
Quando un utente crea un nuovo file, il sistema operativo:
- Alloca Spazio: Riserva lo spazio necessario su disco.
- Aggiorna il File System: Aggiunge un’entrata per il nuovo file nella struttura delle directory.
- Imposta i Permessi: Assegna i permessi di accesso in base alle impostazioni di default o alle specifiche richieste dell’utente.
Lettura di un file
Quando un utente apre un file per leggerlo, il sistema operativo:
- Localizza il File: Trova il file nella struttura delle directory.
- Controlla i Permessi: Verifica che l’utente abbia i permessi necessari per leggere il file.
- Carica il File in Memoria: Legge i dati dal disco e li carica nella RAM, rendendoli disponibili per l’applicazione che ha richiesto l’accesso.
Scrittura su un file
Quando un utente scrive su un file, il sistema operativo:
- Controlla i Permessi: Verifica che l’utente abbia i permessi necessari per scrivere sul file.
- Aggiorna i Dati: Scrive i nuovi dati nel file, aggiornando il contenuto esistente.
- Aggiorna il File System: Modifica l’entrata del file nel file system per riflettere le nuove dimensioni e la data di modifica.
Esercitazioni pratiche
- Installazione e Aggiornamento dei Driver:
- Installare e aggiornare i driver per diverse periferiche hardware (stampanti, schede grafiche, tastiere).
- Esempio: Installare il driver di una stampante e verificarne il funzionamento.
- Gestione della Memoria:
- Simulare la gestione della memoria RAM e virtuale.
- Esempio: Eseguire più applicazioni contemporaneamente e monitorare l’uso della memoria tramite il Task Manager.
- Gestione delle Periferiche:
- Esercitarsi con Plug and Play (PnP) collegando vari dispositivi al computer.
- Esempio: Collegare un mouse e una tastiera USB e verificare il riconoscimento automatico da parte del sistema operativo.
- Operazioni sui File:
- Creare, eliminare, leggere, scrivere, copiare e spostare file e cartelle utilizzando il file manager del sistema operativo.
- Esempio: Creare una cartella, aggiungere file, spostarli in una sottocartella e poi eliminarli.
- Esplorazione dei File System:
- Confrontare diversi tipi di file system (NTFS, FAT32, ext4) utilizzando strumenti di partizionamento del disco.
- Esempio: Formattare un’unità flash con vari file system e analizzare le differenze di funzionalità e prestazioni.