Tutte le nozioni sui sistemi operativi sono così vaste che non si possono scrivere in un semplice articolo… pertanto andremo ad introdurre le parti principali di un SO… senza scendere troppo nei dettagli.
- Potete approfondire la conoscenza con uno dei tanti libri di sistemi operativi: >> Link Amazon
Un sistema operativo è la parte software più importante installata su un computer.Il sistema operativo gestice la memoria , i processi e tutta la parte software – hardware permettendo all’utente comune di utilizzare la macchina senza conoscere necesariamente alcun linguaggio.
Si pone quindi da intermediario tra la macchina e l’utente.
Senza un sistema operativo , il computer sarebbe inutile proprio perchè non sarebbe possibile utilizzare programmi.
Punti fondamentali per un buon sistema operativo
Un sistema operativo ha , in genere questi attributi :
- Multi-utente : Deve permettere a 2 o più utenti di avviare programmi allo stesso tempo. La maggior parte dei sistemi operativi permettono 100 o più utenti.
- Multi-processing: Permette di utilizzare i programmi su più di una CPU
- Multi-Tasking : Permette di utilizzare più programmi contemporaneamente.
- Multi-Threading : Permette a differenti parti di un singolo programma di girare allo stesso tempo.
- Tempo Reale : Rispondere agli input instantaneamente. Ad esempio DOS e UNIX non sono in tempo reale.
Tipi di sistemi operativi ed esempi
I sistemi operativi , di solito , sono già pre-installati sui computer ed i più utilizzati sono le svariate versioni di Windows, Linux e Mac OSX.
I moderni sistemi operativi utilizzano un’interfaccia grafica.
La GUI permette di associare a line di comando i click del mouse , i menu e qualsiasi cosa grafica per far si che qualsiasi tipo di utente lo usi in maniera intuitiva.
Prima dell’ interfaccia grafica (chiamata GUI) , esistevano SO che permettevano all’utente di utilizzare il PC tramite linea di comando;quindi per aprire programmi o fare determinate operazioni bisognava scrivere ogni riga di codice. Ad esempio i sistemi operativi Linux tendono ancora ad utilizzare linea di comando per fare determinate operazioni.
La GUI ha , in parte , contribuito alla diffusione dei PC in ogni settore.
Come funziona ?
Per capire come funziona un sistema operativo bisogna introdurre gli Interrupts. Gli interrupt (in italiano interruzioni) sono dei segnali inviati alla CPU da dispositivi esterni , normalmente dispositivi I/O (input / output).
Loro dicono alla CPU di fermare le attività correnti e di eseguire la parte appropiata del sistema operativo.
Abbiamo 3 tipi di Interrupt :
- Hardware Interrupts sono generati dai dispositivi hardware , i quali mandano segnali dicendo al sistema operativo che hanno bisogno di attenzione.Anche digitando sulla tastiera si genera un interrupts.
- Software Interrupts sono generati dai programmi quando richiedono una System Call (chiamata di sistema).Una sistem call è come un programma richiede un servizio dal kernel del sistema operativo.
- Traps (o trappole) sono generate automaticamente dalla CPU per indicare errori .
Gli inteturrpts sono importantissimi , poichè permettono un miglior controllo sulla macchina. Se un utente volesse aprire un programma , dovrebbe attendere la massima priorità del programma sulla CPU prima che si apra.
Un modo per capire come funziona un SO è capire come risponde la CPU alle interruzioni.La CPU si basa sui dati contenuti nei registri per gestirle al meglio.Infatti se passiamo da un programma all’altro la CPU usa un puntatore per bloccare il processo attuale e salva lo stato del valore in un registro , in modo da essere ripreso facilmente in un secondo momento.
Kernel
Il Kernel è il nucleo centrale di un sistema operativo. Leggi : Cos’è un sistema operativo.
E’ la prima parte del sistema ad essere caricata durante l’avvio e rimane costantemente in memoria fino allo spegnimento ,in pratica nasce e muore insieme al SO.
Di solito il kernel è caricato in un aria di memoria protetta in modo da non essere modificato o sovrascritto da altri programmi causa malfunzionamento.
Il kernel gestisce la memoria,il disco, i processi e i tasks e i vari hardware I/O.
Il kernel connette il sistema hardware alle applicazioni software tramite una numerosa serie di librerie.
FileSystem
Il filesystem si occupa di gestire e strutturare le informazioni memorizzate su supporti permamenti come i dischi.I file ,infatti , sono utili per la memorizzazione dei programmi e dei dati contenenti.
Ogni file è denominato da un estensione come ad esempio .doc , .exe ecc…
Le estensioni dei file sono importanti ,altrimenti non sarebbero riconosciuti dai programmi.
Mediante il file system il sistema operativo offre una visione astratta dei file sul disco permettendo di operare su di essi e di identificarli.
L’utente , grazie al filesystem ha la possibilità di strutturare i file e allo stesso tempo di proteggerli.
Le operazioni minimali sono :
- Creazione di un file
- Rimozione
- Copia o spostamento
- Visualizzazione
- Stampa
- Modifica
- ecc..
Articoli inerenti :
- In fase di scrittura…