Ugrás a tartalomhoz

Operációs rendszerek mérnöki megközelítésben

Benyó Balázs, Fék Márk, Kiss István, Kóczy Annamária, Kondorosi Károly, Mészáros Tamás, Román Gyula, Szeberényi Imre, Sziray József

Panem Kiadó

6. fejezet - 4. Hálózati és elosztott rendszerek

6. fejezet - 4. Hálózati és elosztott rendszerek

4.1. Bevezetés

Mára a számítógépes hálózatok, az elosztott rendszerek szerves részét képezik életünknek. Ebben nagy szerepet játszott az Internet, ami az elmúlt közel két évtizedes élete során százmilliókat ismertetett meg a számítógépes hálózatokkal és elosztott rendszerekkel. Bár ezen felhasználók nagy része valóban csak felhasználó, azonban ez a hatalmas érdeklődés a fejlesztésnek, az új műszaki megoldások kutatásának is nagy lendületet adott.

A számítógépes hálózatok és elosztott rendszerek gyors terjedésével egy újfajta számítási, feldolgozási módszer alakult ki. Míg kezdetben, a hálózatok alkalmazása előtt a számítási modell nagyon egyszerű volt: az adott feladatot egyetlen gép számítási kapacitásával kellett megoldani, addig a hálózatok megjelenésével a modell bővülhetett, a számítások elvégzésére már több együttműködő processzort, vagy számítógépet tartalmazó elosztott rendszer áll rendelkezésre. Ez a változás persze nem robbanásszerűen ment végbe. Kezdetben a számítógépek összekapcsolásának elsődleges célja az adatok számítógépek közötti továbbítása volt. Azonban nagyon hamar felismerték, hogy az elosztottság több előnnyel is kecsegtet: egyrészt a terheléselosztás megvalósítása, másrészt pedig hibatűrő viselkedés, nagyobb rendelkezésre állás, és más hasonló szolgáltatások területén is nagy előrelépést jelenthet. A ’80-as évek közepére kialakult a ma is egyik legelterjedtebben alkalmazott számítási modell, az elosztott architektúra előnyeit kihasználó kliens–szerver-modell. Ebben a megközelítésben a rendszerünkben bizonyos kitüntetett feladatokat egy-egy adott szerver végez el a kliensek kérésére. Amennyiben például egy állományhoz szeretnénk hozzáférni, akkor azt egy fájlszerver, ha nyomtatni szeretnénk, akkor azt egy nyomtató szerver tudja a számunkra biztosítani. A kliens–szerver-modell mellett megjelentek az objektumorientált számítási modellek is.

Az elosztottság az operációs rendszerekkel szembeni elvárásainkat is módosította. Az elosztott operációs rendszer egyik fő feladata, hogy egy elosztott rendszerben lehetővé tegye annak kényelmes programozását, és ne korlátozza a rajta megvalósítható alkalmazások körét. Ehhez az elosztott rendszerben rendelkezésre álló erőforrásokat az alkalmazások számára általános, problémaorientált absztrakciókkal írja le. Például a hálózatok és processzorok helyett engedje meg, hogy a felhasználó kommunikációs csatornákban és folyamatokban gondolkodjon.

Egy nyílt elosztott rendszerben az elosztott operációs rendszer mikro­ker­ne­lek és szolgáltatások halmazából épül fel. Nem lehet éles határvonalat húzni az operációs rendszer és a rajta futó alkalmazások között. Ebben az esetben a határvonal még inkább elmosódott, mint a hagyományos operációs rendszerek esetén.

Az elmúlt években számos kutatás foglalkozott az elosztott operációs rendszerek kérdéskörével. Ezek közül néhány, mint például a Mach és a Chorus, mind műszaki, mind pedig kereskedelmi szempontból is az érdeklődés középpontjába került, az általuk felvetett műszaki megoldások számos ponton radikálisan új megoldásokat kínáltak. Az Amoeba, a Clouds és a V rendszerek szintén elosztott operációs rendszer kutatás eredményei, ezek elsősorban érdekes műszaki megoldásaikkal hívták fel magukra a figyelmet. Mind az öt projekt egy ún. minimálkernelre vagy mikrokernelre alapozta a rendszert.

A 4. fejezet az alábbi témákra bomlik.

A 4.2. alfejezet bevezeti az olvasót a hálózatok alapfogalmaiba, ismerteti a topológiák és a kapcsolatok alaptípusait és rámutat a név- és címkezelés legfontosabb problémáira és megoldásaira. A 4.3. alfejezet ismerteti a hálózati alapszolgáltatásokat. A 4.4.1. rész részletesen ismerteti az elosztott rendszerek alapvető jellemzőit, és a tervezésüknél figyelembe veendő legfontosabb tervezési szempontokat. A 4.4.2. részletesen tárgyalja az elosztottság hatását az egyik legfontosabb operációs rendszer komponensre, az állományrendszerre. Bemutatja a fájlszerver-modellt és példát ad a megvalósítási lehetőségekre. A 4.4.3. alfejezet rámutat a folyamatkezeléssel szembeni elvárásokra elosztott környezetben, tárgyalja a kliens–szerver folyamatok, a távoli eljáráshívások, proxyk és démonok használatának előnyös tulajdonságait. A 4.4.4. rész az időkezelésnek és a koordinációnak az elosztottságból eredő problémáit és azok megoldásait szemlélteti. Az elosztottság és a nyílt hálózatok egy jelentős problémát állítanak előtérbe: a biztonsági kérdéseket. Az új környezetben át kell gondolni a korábban alkalmazott biztonságpolitikát és biztonságtechnikai eszközöket, és ezeket hozzá kell igazítani az elosztott környezet követelményeihez. A 4.4.5. rész részletesen tárgyalja az elosztott rendszerek biztonsági kérdéseit, és ismertet egy kliens–szerver-modellre épülő hitelesítő rendszert.