S pojavom predvsem lokalnih računalniških mrež so se pojavile tendence po vzpostavitvi računalniškega sistema, ki bi lahko izkoriščal večje število CPE, ki jih povezujejo hitra omrežja. Programska oprema takega, decentraliziranega sistema pa je nujno drugačna. Lahko predstavlja mehko povezavo med sistemi (loosely coupled software), ki dopušča praktično avtonomno delovanje posameznih računalnikov, povezanih v mrežo. Na drugem ekstremu pa imamo tesno sklopljene multiprocesorske sisteme.
Med mrežnimi operacijskimi sistemi je zelo poznan Sunov sistem NFS (Network File System), ki pa danes podpira tudi druge, heterogene sisteme. Osnovna ideja NFS je, da dovoli izbrani množici odjemalcev in strežnikov uporabo skupnega datotečnega sistema. Odjemalci in strežniki so normalno v sklopu iste lokalne mreže, ni pa to nujno. Strežniki dovolijo odjemalcem dostop do direktorijev, če se ti nanje navežejo (montirajo).
NFS zagotavlja podporo heterogenim računalniškim sistemom z definicijo dveh protokolov odjemalec-strežnik. Prvi protokol definira montiranje, drugi pa je namenjen dostopu do direktorijev in datotek.
Naslednja stopnja v razvoju porazdeljenih operacijskih sistemov je bil koncept, ki naj uporabniku (še vedno enake aparaturne infrastrukture) ustvarja iluzijo, da dela pravzaprav za enim sistemom (virtual uniprocesor). To je zahtevalo predvsem predelavo sistemskih klicev. Jedra posameznih računalnikov morajo sodelovati, pri čemer mora vsako jedro še vedno skrbeti za lokalne vire (upravljanje s pomnilnikom ipd).
Pri načrtovanju porazdeljenih sistemov je bilo potrebno najti odgovore
na naslednja vprašanja:
![]() |
Transparentnost: Uporabnik ne ve, kje so locirani viri, ne ve, koliko kopij obstaja, Več uporabnikov morda uporablja iste vire, Aktivnosti se lahko dogajajo paralelno. |
![]() |
Fleksibilnost: Preprosto dodajanje in spreminjanje porazdeljenega sistema. |
![]() |
Zanesljivost |
![]() |
Učinkovitost |
Medprocesna komunikacija,
Delno opravljanje
s pomnilnikom,
Delno upravljanje
s procesi,
Nizkonivojske vhodno-izhodne
operacije
Ostale storitve, kot je na primer upravljanje z datoteč;nim sistemom, so prepuščene ustreznim strežnikom, kot to ponazoruje naslednja slika:
Splošno vodilo pri gradnji porazdeljenih operacijskih sistemov je tudi uporaba porazdeljenih podatkovnih struktur (na primer raznih tabel). Tudi algoritmi morajo biti decentralizirani. To pa pomeni, da:
Noben računalnik nima popolne
informacije o stanju celotnega sistema,
Računalniki sprejemajo
odločitve na osnovi lokalnih informacij,
Izpad enega stroja ne blokira
algoritma
Ni globalne "ure" (takta)
in s tem sinhronizacije.