operációs rendszerek
DESCRIPTION
Operációs rendszerek. SUN Network File System (NFS). SUN Network File System (NFS). Elosztott állományrendszer: SUN cég (USA), első változata 1985, szabadon elérhető protokoll és referencia-implementációk, szinte szabvány az elosztott állományrendszere. A SUN NFS jellemző tulajdonságai. - PowerPoint PPT PresentationTRANSCRIPT
1
Operációs rendszerek
SUN Network File System (NFS)
2
SUN Network File System (NFS)
• Elosztott állományrendszer:
• SUN cég (USA),
• első változata 1985,
• szabadon elérhető protokoll és referencia-implementációk,
• szinte szabvány az elosztott állományrendszere.
3
A SUN NFS jellemző tulajdonságai
• A kliens-szerver modell alkalmazása.
• A modell a szinkron távoli eljáráshívásra (Remote Procedure Call - RPC) épül:• a kliens folyamatok mindig megvárják a kérésük
teljesítését.
4
SUN NFS felhasználói felület I.
• Helyi file-rendszer láthatóvá tétele (exportálás):• egy vagy több file-rendszer teljes vagy részleges
(rész fa) exportálása.
• Elérési jogok definiálása kliensenként (konfigurációs file).
• Távoli file-rendszer bekapcsolása, mount-olása:• elérési jogosultságok definiálása mellett.
5
SUN NFS felhasználói felület II.
• Szoros (hard), illetve laza (soft) mount-olás:• addig próbálkozik a kívánt file elérésével, amíg el
nem éri,• adott számú próbálkozás után leáll és hibaüzenet.
• Távoli file-ok elérése:• lokális file-okkal azonos módon.
• A szerver csak a saját, lokális file-rendszerét exportálhatja, a rekurzió elkerülése miatt.
6
SUN NFS tervezőinek célkitűzései I.
• Minden operációs rendszer alatt lehetséges legyen megvalósítani a protokollt.
• A protokoll hardver-független legyen.
• Létezzen egyszerű újraindítási lehetőség a kliens, illetve a szerver számára.
7
• A kliens kezelje az operációsrendszer-függő file-elérést.
• Összemérhető teljesítmény a helyi file-rendszerrel.
• A hálózati összeköttetéstől független, illetve a forgalomnövekedéssel bővíthető kapacitású implementáció.
SUN NFS tervezőinek célkitűzései II.
8
SUN NFS megvalósítása
• Következmény: az állapotmentes megvalósítás.
• Előnye: az egyszerű újraindíthatóság.
• Hátránya: a szerver csak stabil állapotában válaszolhat a kliens kéréseire:
• ez késleltetést okozhat,
• pl.: cache használata esetén, a kliens írási kérésének a nyugtázása csak a teljes tartalom kiírása után történhet meg.
9
A SUN NFS
• Egymásra épülő protokollok halmaza.
• Az NFS-től független alkalmazások is használják az önálló protokollokat.
10
A SUN NFS működése
kliens folyamat (alkalmazás)
UNIX kernel
UNIX filerendszer(UFS)
virtuális file rendszer (VFS)
NFSkliens
lemez
kérés
válasz
helyi gép (kliens folyamat)
Unix kernel
virtuális file rendszer (VFS)
NFSszerver
UNIX filerendszer(UFS)
lemez
távoli gép (NFS szerver)
11
NFS működés közben
Lokális file
UFS funkciók (mutatók)
NFS funkciók (mutatók)
write
Remote fileNFS kliens (kód)
write
KLIENS SZERVER
kliensfolyamat
Viruális file rsz.
RPCkliens
RPCszerver
kérés(write)
v_datav_ops
FR.ID I-NODE K.SZ
NFSSzerver
v_datav_ops
I-NODE
write
válasz(write)
UFS hívásokkódja
Viruális file rsz.
write
12
A SUN NFS által használt protokollok I.
• NFS protokoll: a file-elérés magas szintű protokollja:• a kliens és a szerver közötti kérés-válasz lehetőségeket írja
le,• pl.: get/setattrib(file), lookup(file_név), write(file), read(file).
• RPC (Remote Procedure Call), távoli eljáráshívás protokoll: • a folyamatok kommunikációjának a módja, hogy egymás
szolgáltatásait milyen módon használhatják (üzenetek felépítése, tartalma),
• az NFS kliens és szerver közötti üzenetváltás RPC csomagok formájában történik.
13
• XDR (EXtended Data Representation) protokoll:• a rendszer-független adatábrázolást rögzítő protokoll.
• Mount: távoli file-rendszerek összekapcsolását leíró protokoll:• tipikus szolgáltatásai:
• mount: a távoli file-rendszer helyi file-rendszerbe történő befűzése, láthatóvá tétele egy adott könyvtáron keresztül,
• unmount: a kapcsolat megszüntetése,
• dump: a helyi file-rendszerbe ”fel-mount-olt” távoli file-rendszerek kilistázása.
A SUN NFS által használt protokollok II.
14
Egy működő SUN NFS rendszer szoftver komponensei I.
• NFS szerver:• a protokollban definiált szolgáltatásokat valósítja meg,• tartalmazza a szolgáltatások kódját, pl.: lookup() függvény.
• NFS kliens kód:• kliens oldali funkciók megvalósítása,• pl.: a helyi file-okkal azonos módon való távoli file-használat.
• Démon (daemon) folyamatok:• az NFS szerver állandóan elérhető szolgáltatásaihoz
biztosítja az elérést,• tipikus démon processzek:
• biod: blokkos adatátvitelt kezelő daemon,• mountd: a csatlakozási kéréseket elégíti ki,• nfsd: a file-ok elérését intézi.
15
Egy működő SUN NFS rendszer szoftver komponensei II.
Önálló és opcionális komponensek:
• NLM (Network Lock Manager):• egy file kizárólagos használatát biztosítja.
• NSM (Network Status Manager):• egy file állapotának lekérdezését végzi
(lock/nonlock).
16
Az XDR protokoll
Biztosítja:
• az adatok hardver- (és operációs rendszer) független ábrázolását,
• a hálózaton történő továbbítást,
• a leíró nyelv alap-adattípusainak a bővítését,
• hogy az új adattípusok kombináltak is lehetnek.
17
Az XDR protokoll
Definiálja az adatelemek:
• méretét,
• átviteli sorrendjét,
• formátumát.
18
Az XDR tulajdonságai• Az alap a 8 bit-es byte.• Az adatelemek 4 byte-ra vannak kiegészítve.
0. 1. 2. 3. … n. ’0’ … ’0’
Például:• integer esetén hálózati átvitelnél a legfelső byte-ot
küldi át elsőként:MSB LSB
0. 1. 2. 3. ,
• a negatív értékeket 2-es komplemensként ábrázolja,• a tömbök hálózati átvitelénél, a tömb elé beszúrja
annak hosszát.
19
Előre definiált adattípusok• Integer (4 byte), hyper integer (8 byte).
• Megszámlálható, felsorolt típus enum:• de a boolean-t is értelmezi.
• Lebegőpontos valós (4 byte).
• Összetett adatstruktúrák, aggregátumok:• Tömb (változó és fix hosszúságú), string.• Structure record, akár eltérő típusú elemekkel is.• Union (szűkített struktúra, egy rekord
használhatja csak).
20
Példa az XDR protokoll adatelemekre
Típus Adat XDR ábrázolás
Egészszám
0x123456 0x00 0x12 0x34 0x56
[tömbhossza]
0x00 0x00 0x00 0x03
4 0x00 0x00 0x00 0x04
2 0x00 0x00 0x00 0x02
Három-elemű
egészekbőlálló tömb
-1 0xFF 0xFF 0xFF 0xFF
21
XDR leíró nyelv
• A C nyelvhez hasonló szintaxis.
• Csak adatelemek definiálása.
Pl.:enum file_kind
{TEXT = 0,
DATA = 1,
EXEC = 2,
};
struct file
{
string file_name<32>;
file_kind file_type;
opaque data; };
22
Az RPC protokoll I.
• Megbízható üzenettovábbítást valósít meg a kommunikáló partnerek között.
• Az RPC protokollok rögzítik:
• az üzenetek formátumát:• mit tartalmazhatnak az üzenetek,
• az üzenetközvetítés módját:• mely üzenetek milyen sorrendben küldhetők,
• a partnerazonosítás (címzés) módját.
23
• RPC típusai (a kliens folyamat várakozik-e az általa kért szolgáltatás végrehajtására):
• szinkron módú,• aszinkron módú.
• A SUN RPC protokoll:
• saját fejlesztésű,• szinkron (megbízhatósági feltétel),• az XDR protokollt használja az üzenetformátum
definiálására.
Az RPC protokoll II.
24
Az RPC protokoll működése
RPC kliens RPC szerver
RPC kérés
RPC válasz
25
Az RPC-kérés felépítése I.
XID
IRÁNY
RPC VERZIÓ
PRG AZONOSÍTÓ
PRG VERZIÓ
SZOLGÁLTATÁS
AZONOSÍTÁSI INFORMÁCIÓ
ADAT
26
• XID:• az RPC generálta egyedi üzenet azonosító.
• IRÁNY:• kérés vagy válasz.
• RPC verzió:• több RPC verzió létezik,
• az üzenetformátum verziófüggő lehet.
Az RPC-kérés felépítése II.
27
• PRG azonosító:• több párhuzamosan futó alkalmazás is használhat
RPC-t,• a szolgáltatást nyújtó alkalmazás (szerver)
azonosítója.
• PRG verzió:• az adott szolgáltatás verziója.
• Azonosítási információ:• a küldő folyamat azonosítója,
• pl.: UNIX OPR esetén ez a PID.
• Adat:• Az üzenet adatrésze.
Az RPC-kérés felépítése III.
28
Az RPC-válasz felépítése
XID
IRÁNY
STÁTUS
AZONOSÍTÁSI INFORMÁCIÓ
STÁTUS 2
ADAT
• Státus:• megadja, hogy sikeres volt-e a kért szolgáltatás
végrehajtása.