Dal file sharing ai sistemi distribuiti
Certi tipi di funzioni sono diventate comuni in quasi tutte le versioni
di Network Operating System:
- supporto alla condivisione stampanti - permette a nodi di rete
l'invio di job di stampa a stampanti non direttamente collegate, ma gestite
da una macchina in rete a cui sono veramente connesse. Si tratta di solito
di stampanti costose o di elevate capacita'. Il server di stampa offre
la possibilita' di accodare e serializzare i job in stampa, ed accetta
sottomissioni di job anche quando la stampante non e' disponibile.
- supporto alla condivisione di files - permette a nodi remoti di
accedere a files e directories che sono offerti alla rete da un server
appropriato. Un server di files possiede solitamente dei dischi di
elevata capacita'; oppure si e' deciso di centralizzare l'accesso ai
files per impedirne la proliferazione e conservarne un'unica versione.
Il servizio di solito offre la possibilita' di aprire files condivisi
in modo a sola lettura o lettura e scrittura, e sono di solito
associati permessi sulle operazioni sui files sulla base di
nomi di utenti, di nodi accedenti o di gruppi di lavoro. Qualche
sistema di condivisione supporta l'accesso simultaneo a files e l'uso
di blocchi di file e di record.
- posta elettronica e messaggistica - scambio di messaggi e
documenti tra nodi di rete in modo asincrono o sincrono
- servizio di nomi di rete - associazione di identificativi
formati da stringhe leggibili, in corrispondenza di nomi di
utenti, computer, risorse offerte alla rete, che mettono in associazione
tali nomi con gli identificativi di nodo o di risorsa usati a basso
livello dagli strati software
- connettivita' - nome generico che descrive come possa avvenire,
se mai, il collegamento tra nodi di una rete e reti esterne. Ve ne possono
essere di vari tipi:
- accesso remoto - connessione di un singolo computer ad uno o
piu' nodi della rete tramite linee di comunicazione WAN
- interconnettivita - internetworking di piu' reti logiche distinte
tra loro collegate, ove le reti usano gli stessi protocolli
- server di comunicazioni - connessione tramite gateway
ad altre reti impieganti altri protocolli
- controllo di rete - sia passivo che attivo: raccolta dati
su nodi, tronconi di rete, router, pacchetti; oppure anche possibilita'
di riconfigurazione nodi remoti, ridirigere pacchetti, modificare il
traffico, ecc. Lo scopo e' di mantenere la disponibilita',
affidabilita' e sicurezza di una rete semplice o interconnessa.
I Sistemi Operativi di Rete moderni spostano sempre piu' l'enfasi di
interconnettivita' di nodi e di reti dai livelli piu' bassi verso
quelli applicativi, in direzione dei Sistemi Distribuiti
e Applicativi Distribuiti. La distribuzione e' definibile a vari
livelli di complessita'.
Un File System Distribuito e' una entita' logica accessibile
dal locale sistema operativo, che fisicamente si puo' trovare in tutto
od in parte su sistemi remoti di rete. Problemi sono quelli di garantire
l'integrita' dati di ciascun file remoto, e dirisolvere problemi di
accesso simultaneo.
Un Data Base Distribuito e' composto da files e tabelle fisicamente
in varie locazioni di rete che vengono visti come un unica entita'
di base di dati dal sistema locale. Il problema e' di condurre
transazioni garantite, ovvero aggiornamenti simultanei e
atomici di molti files simultaneamente.
Un Applicativo Distribuito e' un processo virtuale che si basa
fisicamente sulla cooperazione di piu' processi dislocati sulle CPU
di macchine collegate in rete. I problemi sono di scambio
messaggi tra i processi, sincronizzazione delle attivita' dei vari processi,
risoluzione di conflitti quando vi sia accesso simultaneo alle stesse
risorse.
Difficilmente oggi si usano applicativi distribuiti nel senso pieno
del termine, piu' spesso si usano processi cooperanti (Macchine
Parallele Virtuali) con distribuzione di porzioni di dati a ciascuna
CPU cooperante, ove i dati distribuiti sono di elevata indipendenza gli
uni dagli altri.
Di la da venire sono i Sistemi Operativi Distribuiti nel senso pieno
del termine, ovvero insiemi cooperanti di processi di sistema
e privilegiati, che fisicamente si trovano in nodi separati di rete ma che
logicamente implementano un singolo Sistema Operativo.