Sistema operativo per computer

La scelta del sistema operativo per il vostro computer: che cos’è, a cosa serve, le tipologie
Che cosa si intende per sistema operativo di un computer
In informatica, con il termine Sistema operativo si intende un insieme di programmi in grado di gestire le funzionalità base di un computer. Caratteristica principale del sistema operativo è quella di rimanere sempre caricato, dall’accensione della macchina fino al suo spegnimento. Il sistema operativo gestisce tutto il traffico dati all’interno del computer e tra la macchina e le sue periferiche e opera come intermediario tra l’hardware, il software di sistema e i vari programmi.
Che cosa gestisce il sistema operativo di un computer
Il sistema operativo è in grado di gestire tutte le funzioni generali della macchina, dall’aspetto grafico della visualizzazione sul monitor, alla scrittura e lettura sui e dai dischi, all’esecuzione dei vari programmi, alla ricezione e trasmissione dei dati. Ovviamente sono esterni al sistema operativo vari software, come l’antivirus, i word processor, i programmi di visualizzazione e fotoritocco. Questi infatti sono dei programmi che vengono caricati a parte, dopo aver installato il sistema operativo. I definitiva si può affermare che mentre i singoli software servono all’utente per lavorare, il sistema operativo serve alla macchina per funzionare.
Da che cosa è composto un sistema operativo di un computer
Un sistema operativo è
composto da:
- Un Kernel: è il cuore del sistema operativo. Non è altro che un
software che fornisce ai moduli che compongono il sistema e ai
programmi in esecuzione, gli input necessari per svolgere le proprie
funzioni. Solitamente il kernel gioca un ruolo fondamentale nel
funzionamento della macchina; ci sono però dei casi in cui questo
può delegare alle altre parti gran parte dei compiti, mantenendo e
gestendo solamente alcuni. In questi casi si parla di microkernel.
Il microkernel ha il vantaggio di essere più semplice ma,
l’interazione con le parti, minaccia di rallentare il sistema. Un
sistema Kernel tradizionale invece ha integrata in sé la memoria
virtuale, lo scheduler, i gestori di file system e i driver per il
controllo di tutte le periferiche. La gestione di un Kernel
tradizionale è più complessa, ma il suo funzionamento è migliore,
più veloce e più efficiente.
- Un File system: è il modo con cui i dati vengono memorizzati ed
archiviati all’interno di una memoria, sia essa un hard disk o un
CD-rom. Esistono diversi file system, creati per vari sistemi
operativi o dischi di memorizzazione. In linea di massima però le
tipologie di file system sono due: una per le unità locali, che si
occupano dell’organizzazione dei dati all’interno di un disco; e una
per i file che devono essere condivisi tra più computer.
- Uno Scheduler: fondamentale per sistemi operativi in multi task,
si occupa di portare avanti un processo, interrompendone
temporaneamente un altro. Solitamente infatti un processore può
gestire un solo applicativo per volta; con lo scheduler si può far
coesistere più task.
- Un Gestore della memoria: si occupa di gestire la memoria e di
distribuirla tra i processi attivi. Gestire la memoria è
fondamentale per sapere quanta memoria è già occupata, e quanta
invece può essere ancora distribuita tra i vari processi. Il gestore
di memoria regola i processi, evitando delle sovrapposizioni
nell’uso della memoria, e liberandone quella occupata da processi
che hanno subito degli errori.
- Uno Swapping: è un sistema attraverso cui è possibile caricare un
nuovo processo in memoria, scaricando quello già in uso. Nelle
memorie esiste uno spazio adatto a questi processi, che si chiama
appunto swap e che funziona un po’ come la Ram del computer.
- Un Gestore di memoria virtuale: si occupa di mappare la memoria
virtuale che viene messa a disposizione dei programmi, sulla memoria
fisica e sui dischi rigidi del sistema.
- Una Protezione della memoria: è un sistema posto a tutela della
memoria. Questa infatti, tra un processo e l’altro, può subire dei
danni.
- Un’Interfaccia utente: è un programma che consente all’utente di
interagire con la macchina. Ci sono due tipi di interfacce: quelle a
linea di comando e le interfacce grafiche (GUI).
- Uno Spooler di stampa: serve a risolvere il problema della
gestione dei documenti inviati alla stampante. Lo spooler accumula i
dati inviati alla stampa in un’apposita aerea di memoria, facendosi
poi carico di gestire interamente il processo. In questo modo si
evita di sprecare CPU per controllare il processo di stampa,
lasciando così liberi gli altri programmi di continuare a
funzionare, senza subire rallentamenti. Lo spooler oggi è in grado
di gestire anche più stampanti, selezionabili a piacere, o sistemi
di stampa remoti, cioè connessi via rete al computer.
Tipologie di sistemi operativi per computer
Esistono diversi tipi
di sistemi operativi, alcuni molto semplici, altri complessi.
Monitor: è un sistema operativo dotato di un solo kernel, con
un’interfaccia interattiva ridotta al minimo. E’ in assoluto il
primo sistema operativo ad essere stato implementato su un computer
e consente solo di salvare in memoria un programma e di lanciarlo.
Interprete: è un sistema operativo leggermente più evoluto
del Monitor, dal momento che possiede un’interaccia utente separata
dal kernel. Si tratta, per l’appunto, di un sistema che “interpreta”
i comandi dell’utente e funge da interfaccia utente.
Disk Operating Systems (DOS): questo sistema operativo si
serve di una memoria di massa e, per gestirla, è dotato di un file
system capace di organizzare i dati in modo preciso. I sistemi
operativi che risiedono in un disco di memoria (sia esso un floppy
disk o un hard disk) sono detti appunto Disk Operating Systems.
Sistema multi task: sfrutta i “tempi morti” dell’elaboratore
per mandare in esecuzione altri programmi. Ci si è reso conto
infatti che la CPU di un elaboratore non lavora sempre: ci sono dei
momenti di pausa in cui si attende un input da parte dell’operatore.
Sfruttando questa considerazione i sistemi operativi multitasking,
attraverso uno scheduler, mandano in esecuzione più processi,
assegnandoli a turno alla CPU e mettendo in stand by un programma,
in attesa di ricevere un input esterno. Dal momento che i sistemi
multi task hanno bisogno di più memoria, solitamente si servono di
un gestore di memoria virtuale.
Sistema multiutente: si basa sulla condivisione
dell’interfaccia da parte di più utenti. Si è pensato infatti che se
un elaboratore è in grado di gestire più programmi
contemporaneamente, allora può amministrare anche più utenti.
Ovviamente si pone un problema di sicurezza, dal momento che è
opportuno distinguere i vari utenti ed accertarsi che questi non
causino danni al computer. La soluzione sta nell’assegnare ad ogni
utente un account diverso: in questo modo ogni utilizzatore lavora
sul suo desk, con i suoi programmi, sui suoi documenti. Ovviamente
esiste una gerarchia di utenti, per cui solo l’amministratore potrà
eseguire attività considerate “pericolose” o “a rischio”.
Sistema operativo in real-time: è utilizzato soprattutto in
ambito industriale, ovvero dove si vuole ottenere una risposta dal
sistema in tempi prefissati. A seconda dei tempi di risposta, i
sistemi operativi in real-time si distinguono in soft ed hard.
I sistemi operativi più conosciuti
All’acquisto un
computer non è in grado di funzionare. Può al massimo accendersi,
eseguire il boot e rilevare l’assenza di un sistema operativo. Il
sistema operativo è quindi la componente primaria di un pc: risiede
nell’hard disk e, al momento dell’accensione della macchina, viene
caricato nella memoria RAM. Proprio perché si tratta del primo
software da caricare su una macchina nuova, bisogna avere ben
presente quali e quanti sono i sistemi operativi in commercio. I
sistemi operativi più diffusi sono i Windows di Microsoft (che hanno
soppiantato l’MS-DOS), il MacOs di Macintosh, Linux e
Unix
utilizzati soprattutto per i server o in ambito di ricerca.
Esiste una sostanziale differenza tra le vari “marchi”:
Linux (vai al
sito), Unix (vai al
sito) e, un tempo, MS-DOS di Microsoft (vai al
sito) sono sistemi operativi a linea di comando:
sullo schermo non compare alcuna grafica e tutti i comandi vanno
digitati con la tastiera. Ovviamente sono sistemi complessi e dotati
di scarsa usabilità. Ecco perché sono state create delle interfacce
grafiche, che si appoggiano ai sistemi. Esistono interfacce
user-friendly per Unix e Linux e, tutte le versioni di Windows
precedenti al 98, erano solo degli applicativi supportati da MS-DOS.
I sistemi Unix e Linux sono molto simili tra di loro. Si
differenziano solamente dal fatto che Linux gira sui PC, mentre Unix
ha bisogno di macchine più potenti. Entrambi degli open source,
ovvero non sono il prodotto di un’azienda ma vengono implementati da
una comunità di ricercatori. Per questo motivo sono completamente
gratuiti.
Windows 98
(e i successivi, dal 2000 all’XP, al Windows Vista) e MacOS di
Macintosh (vai al
sito) sono invece sistemi operativi ad
interfaccia grafica. Tutte le operazioni si svolgono con il mouse,
tramite una visualizzazione a finestre. Si tratta di sistemi che, a
differenza di quelli a linea di comando, sono molto più facili da
usare, anche da un utente inesperto.
Cosa si deve sapere per scegliere bene il sistema operativo
Ai fin di un corretto
funzionamento di un computer, al momento dell’acquisto è
fondamentale verificare la compatibilità tra scheda madre-processore
e sistema operativo. Inoltre, in seguito, quando si acquista un
nuovo programma, è opportuno assicurarsi che questo sia compatibile
con il sistema operativo installato sul proprio computer. Per quanto
riguarda Microsoft, esiste poi un problema di incompatibilità tra le
diverse edizioni di un programma: ad esempio l’Office 2007 non è
compatibile con il 97 e con il 2003. Per questo per poter vedere il
documento con tutte le versioni disponibili è opportuno salvarlo in
modalità di compatibilità.