IL SISTEMA OPERATIVO
Si dice sistema informatico uno o più calcolatori,
anche di tipo
diverso, connessi a diverse periferiche di vario tipo, connessi tra di
loro attraverso una rete, con anche diversi utenti.
Per gestire un sistema informatico occorre del software di base;
tale software si dice SISTEMA OPERATIVO.
Il sistema operativo
- offre la possibilità di operare ad alto livello sul sistema
informatico;
- ed è potenzialmente indipendente dall'hardaware.
Esistono moltissimi sistemi operativi, in genere sono dei prodotti
commerciali, poiché sono estremamente complessi da realizzare, e non
possono in genere essere realizzati in proprio.
Un sistema operativo è un insieme di programmi che operano
direttamente sulla macchina fisica, mascherandone le caratteristiche, e
fornendo agli utenti un insieme di funzionalità ad alto livello,
per trattare le attività di base, come:
- stampa
- gestione dei dischetti
- gestione della rete
- ...
che sono utilizzate attraverso comandi con una forma precisa (fissata per
ogni sistema operativo).
Questi comandi possono essere testuali (stringhe di caratteri) oppure
attraverso un'interfaccia grafica, attraverso l'uso di icone da cliccare
con il mouse, attraverso l'uso di menù, ... .
Tra i più noti sistemi operativi ricordiamo:
- DOS
è stato il primo sistema operativo per PC (Personal
Computer) sviluppato personalmente da Bill Gates,
non è più usato direttamente
ha un'interfaccia puramente testuale.
- MAC OS, System 7, System 8, ...
i sistemi operativi del Macintosh con interfaccia grafica già a
partire dal 1985.
- WINDOWS-NT (1993), WINDOWS 95, WINDOWS 98, ed ora il prossimo WINDOWS
2000
prodotti Microsoft, estremamente diffusi, interfaccia grafica.
- UNIX, LINUX
prodotti free (cioè distribuiti gratuitamente)
originariamente avevano un'interfaccia solo testuale, ma ora anche con
interfaccie parzialmente grafiche.
I sistemi operativi sono tra i programmi più complessi e difficili
da realizzare, pertanto sono realizzati a livelli, dove ogni livello usa
le funzionalità del livello precedente e fornisce
funzionalità a quello successivo: la cosidetta struttura a cipolla
I livelli usuali di un sistema operativo di tale struttura sono:
- Gestione dei processi
- permette di eseguire più programmi in contemporanea sulla
stessa CPU (processi)
- decide che agisce e chi sta fermo
- rispetta priorità/precedenze tra i vari processi, cercando di
ottimizzare il tutto
- Gestione della memoria
- alloca la memoria centrale tra i vari processi ed i loro dati, facendo
credere ad ogniuno di essere il solo ad usare il computer, caricando e
scaricando dalla memoria centrale dati e programmi sul disco rigido, o
altre memorie stabili fornite da periferiche
permette l'uso di memoria centrale virtuali, ottenute usando
memorie stabili, e gestisce eventuali cache, memorie aggiuntive
tra la memoria centrale e quelle stabili.
- Gestione delle periferiche
- maschera le caratteristiche delle periferiche, risolve i conflitti tra
i vari utenti
- Gestione del file system
- I dati sulle memorie stabili (periferiche come i dischi rigidi, i
dischetti, i CD e similari) sono organizzati in file.
Un file è una sequenza di record (registrazioni),
cioè un gruppo di dati con un formato preciso, a cui ` stato
dato un nome preciso.
Il file system offre le procedure ad alto livello per operare sui file
presenti sulle memorie stabili.
Il file system su un disco è organizzato ad albero
ogni nodo dell'albero è detto directory, ed ogni file è
univocamente individuato dal cammino (path) che parte dalla radice e lo
raggiunge.
Nel file system riportato sopra esistono due file di nome LEZIONI, e sono
individuati univocamente dai due cammini
ROOT/USER/REGGIO/LP99/LEZIONI
e
ROOT/USER/REGGIO/LP00/LEZIONI
Ogni sistema operativo offre dei comandi per operare sul file system, i
più comuni sono quelli per:
- creare e distrugger file e directory
- fare copie di file e directory
- muovere file e directory attraverso l'albero
- scegliere la directory corrente (cioè la posizione nell'albero
in cui si sta operando correntemente)
- visualizzare una directory
- visulaizzare il contenuto di un file
- Interprete dei comandi
- controlla ed accetta i comandi per il sistema operativo (con diverse
interfaccie) e permette di attivare i programmi utente (le applicazioni)