primo capitolo informatica
Il sistema operativo è un insieme di programmi che consente all'utente, o alle applicazioni informatiche, di accedere alle operazioni di base per utilizzare le risorse, sia hardware sia software, del sistema di elaborazione.
La struttura di un sistema operativo si compone di:
1. Kernel: Il cuore del sistema operativo, gestisce memoria, processi, dispositivi, file system e interruzioni.
2. Interfaccia utente (Shell): Permette l'interazione con l'utente tramite CLI o GUI.
3. File System: Organizza i dati su dispositivi di archiviazione e gestisce permessi e accessi.
4. Gestione della memoria: Assegna memoria ai processi, usa paginazione e memoria virtuale.
5. Gestione dei processi: Coordina i processi tramite scheduling, sincronizzazione e comunicazione.
6. Gestione delle periferiche: Fornisce driver e gestisce l'I/O dei dispositivi hardware.
7. Sicurezza: Protegge accessi, dati e risorse da minacce.
L’hardware è l’insieme delle componenti fisiche di un computer o di un dispositivo elettronico. Si tratta di tutto ciò che è tangibile, ovvero le parti materiali che compongono il sistema e che permettono il funzionamento del software (i programmi).
Il software è l’insieme di istruzioni, programmi e dati che permettono a un dispositivo hardware di funzionare ed eseguire compiti specifici. È l’elemento “immateriale” del sistema informatico, che gestisce e coordina le risorse hardware e permette agli utenti di interagire con il dispositivo.
I tipi di software sono: software di sistema, software applicativo e il software di programmazione.
Un algoritmo è una sequenza finita di istruzioni o passi logici necessari per risolvere un problema o svolgere un compito. È una sorta di “ricetta” che guida un sistema (come un computer o una persona) nell’esecuzione di un processo, passo dopo passo, fino a ottenere il risultato desiderato.
Un algoritmo può essere rappresentato in vari modi:
1. Linguaggio naturale: descrizione semplice e sequenziale in frasi comprensibili.
2. Pseudocodice: rappresentazione simile a un codice di programmazione, ma senza regole formali.
3. Diagramma di flusso: rappresentazione grafica con simboli standard (ellissi per inizio/fine, rettangoli per azioni, rombi per decisioni).