Operációs rendszerek
-
Upload
riley-foreman -
Category
Documents
-
view
25 -
download
2
description
Transcript of Operációs rendszerek
![Page 1: Operációs rendszerek](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/1.jpg)
1
Operációs rendszerek
SUN Network File System (NFS)
![Page 2: Operációs rendszerek](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/2.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/3.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/4.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/5.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/6.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/7.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/8.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/9.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/10.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/11.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/12.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/13.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/14.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/15.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/16.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/17.jpg)
17
Az XDR protokoll
Definiálja az adatelemek:
• méretét,
• átviteli sorrendjét,
• formátumát.
![Page 18: Operációs rendszerek](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/18.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/19.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/20.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/21.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/22.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/23.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/24.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/25.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/26.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/27.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032414/568132af550346895d9964f8/html5/thumbnails/28.jpg)
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.