operációs rendszerek

28
1 Operációs rendszerek SUN Network File System (NFS)

Upload: riley-foreman

Post on 01-Jan-2016

25 views

Category:

Documents


2 download

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 Presentation

TRANSCRIPT

Page 1: Operációs rendszerek

1

Operációs rendszerek

SUN Network File System (NFS)

Page 2: Operációs rendszerek

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.

Page 3: Operációs rendszerek

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.

Page 4: Operációs rendszerek

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.

Page 5: Operációs rendszerek

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.

Page 6: Operációs rendszerek

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.

Page 7: Operációs rendszerek

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.

Page 8: Operációs rendszerek

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.

Page 9: Operációs rendszerek

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.

Page 10: Operációs rendszerek

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)

Page 11: Operációs rendszerek

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

Page 12: Operációs rendszerek

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.

Page 13: Operációs rendszerek

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.

Page 14: Operációs rendszerek

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.

Page 15: Operációs rendszerek

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).

Page 16: Operációs rendszerek

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.

Page 17: Operációs rendszerek

17

Az XDR protokoll

Definiálja az adatelemek:

• méretét,

• átviteli sorrendjét,

• formátumát.

Page 18: Operációs rendszerek

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.

Page 19: Operációs rendszerek

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).

Page 20: Operációs rendszerek

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

Page 21: Operációs rendszerek

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; };

Page 22: Operációs rendszerek

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.

Page 23: Operációs rendszerek

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.

Page 24: Operációs rendszerek

24

Az RPC protokoll működése

RPC kliens RPC szerver

RPC kérés

RPC válasz

Page 25: Operációs rendszerek

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

Page 26: Operációs rendszerek

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.

Page 27: Operációs rendszerek

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.

Page 28: Operációs rendszerek

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.