i sistemi operativi
introduzione
Nel caso il sistema disponga di un meccanismo di memoria virtuale,
il gestore della memoria si occupa anche di mappare la memoria virtuale offerta ai programmi sulla memoria fisica e sui dischi rigidi del sistema,
copiando da memoria a disco rigido e viceversa le parti di memoria necessarie di volta in volta ai programmi,
senza che i programmi stessi o gli utenti debbano preoccuparsi di nulla.
modello di von neumann
Il modello di Von Neumann è composto da 4 elementi principali:
CPU
la CPU è l'unità centrale di elaborazione del computer che esegue le opeazioni.
memoria
la memoria contiene la:RAM
che è la memoria del computer in cui vengono immagazzinate le informazioni di cui un programma ha bisogno durante l'esecuzione,
ROM
che è una memoria non volatile che archivia in maniera permanente le istruzioni del computer,
cache
è una memoria nascosta che memorizza un sottoinsieme del contenuto della memoria principale e più precisamente le istruzioni di un programma e i relativi dati su cui operare.
dispositivi di input
i dispositivi di input sono componenti capaci di fornire dati e segnali di controllo(per esempio mouse,tastiera,microfono)
dispositivi di output
Un dispositivo di output è una periferica che rende disponibile al mondo esterno il risultato dell'elaborazione effettuata dal computer(per esempio monitor,stampante,casse audio)
memoria di massa
la memoria di massa è un dispositivo che consente la registrazione, la conservazione e la rilettura dei dati.
Può essere di tipo fisso o rimovibile, installato all'interno del computer o esterno e collegato ad esso tramite cavo opportuno o tramite la rete locale,
di sola lettura o di lettura/scrittura.
bus
Si tratta di una serie di connessioni elettriche ognuna delle quali può trasmettere cifre binarie (0 o 1) in successione,
l'insieme delle quali (che può essere o meno interpretato come un valore numerico) è interpretato dai vari componenti del sistema secondo protocolli prestabiliti.
Provvede all'alimentazione e allo scambio delle informazioni tra i vari dispositivi connessi in parallelo.
kernel
il kernel è il nucleo del sistema operativo.
gesistsce la CPU e ne organizza i processi(programmi in esecuzione)
protezione della memoria
La protezione della memoria è un sistema per prevenire la corruzione della memoria di un processo da parte di un altro.
Di solito è gestito via hardware ad esempio con una MMU,
e dal sistema operativo per allocare spazi di memoria distinti a processi differenti
Filesystem Hierarchy Standard
Un computer diventa infatti molto più utile ed efficace se dotato di una memoria di massa: per gestirla serve un gestore di file system, cioè un software che
in sintesi è composto da un insieme di funzioni che permetta di organizzare e gestire i dati sulla superficie dei mezzi di memorizzazione secondo una struttura ben precisa.
I sistemi operativi che risiedevano su disco e capaci di gestire un file system sono detti genericamente Disk Operating System, per l'appunto, DOS. L'esemplare più famoso è senz'altro l'MS-DOS di Microsoft,
oggi sostituito dall'interfaccia grafica Windows, ma che era alla base dei sistemi operativi Windows 95/98/Me. Ne esiste anche una versione libera compatibile con i suoi programmi, il FreeDOS, ed altre versioni come il DR-DOS.
Il file system si occupa dunque di esaudire le richieste di accesso alle memorie di massa. Viene utilizzato ogni volta che si accede a un file sul disco,
e oltre a fornire i dati richiesti tiene traccia dei file aperti, dei permessi di accesso ai file. Inoltre si occupa anche e soprattutto dell'astrazione logica dei dati memorizzati sul computer .
A seconda dei casi, un particolare sistema operativo può avere tutti questi componenti o solo alcuni. Un'ulteriore differenza fra i sistemi operativi è data dal tipo di comunicazione fra i vari componenti:
i sistemi operativi classici sono basati su chiamate dirette di funzioni, mentre molti sistemi operativi moderni, soprattutto quelli che adottano microkernel, si basano sul message passing,
sullo scambio di messaggi fra le loro varie parti e fra il sistema operativo e i programmi che fa girare.
openSUSE
Il secondo passo verso una migliore gestione del computer si ha con lo sviluppo di un'interfaccia utente separata dal kernel, un interprete di comandi che funzioni anche da interfaccia utente ovvero da Shell.
Questa shell primitiva di solito funge anche da interprete per un linguaggio di programmazione: a seconda delle scelte dei progettisti del software può essere un vero linguaggio oppure un più semplice linguaggio di scripting con cui creare comandi batch.
Era il tipico sistema operativo degli home computer degli anni 80,
come il Commodore 64 e il Sinclair ZX Spectrum. L'interfaccia utente permette dunque all'utente di interagire con il computer.
Esistono sostanzialmente due famiglie di interfacce utente: interfaccia a riga di comando e interfacce grafiche che forniscono, ad esempio, una scrivania .
Spooler di stampa
Lo stesso argomento in dettaglio: Spooler di stampa.
Lo spooler di stampa è stato storicamente il primo modulo esterno del sistema operativo ad essere implementato, per risolvere il problema della gestione delle stampe su carta. Infatti, essendo le stampanti elettromeccaniche dei dispositivi molto lenti,
i primi programmi per elaboratore dovevano necessariamente sprecare molto tempo di CPU, estremamente prezioso all'epoca, per controllare la stampante ed inviarle i dati. Riceve dunque dai programmi i dati da stampare e li stampa in successione,
permettendo ai programmi di proseguire senza dover attendere la fine del processo di stampa.
Quindi venne ideato un programma separato, che girava con una priorità molto bassa e che era visto dagli altri programmi come una normale stampante:
in realtà invece lo spooler accumulava i dati che un programma doveva stampare
in un'apposita area di memoria RAM,
e poi si faceva carico del processo di stampa vero e proprio lasciando gli altri programmi liberi di continuare la loro esecuzione.
Il meccanismo fondamentale dello spooler di stampa è rimasto sostanzialmente invariato dai suoi albori fino ad oggi: con gli anni e con il progredire della tecnologia le modifiche più rilevanti
sono state la capacità di gestire più stampanti selezionabili a piacere,
e la capacità di gestire anche stampanti remote, collegate cioè non direttamente al computer su cui gira lo spooler ma ad altri elaboratori connessi via rete.
ritorna all'indice
pagina realizzata da edoardo del pecchia