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ó

2. fejezet - Előszó

2. fejezet - Előszó

A számítástechnika és informatika minden képzeletet felülmúló sebességű és szélességű terjedése megköveteli olyan tankönyvek megjelenését, amelyek folyamatosan karbantarthatók, és lépést tartanak a mai kor gyorsan változó követelményeivel. Operációs rendszerekkel foglalkozó könyvekből a világpiacon bőség van. A téma szinte már klasszikusnak számít – persze csak az igen fiatal szakterületen belül. A magyar nyelvű szakirodalom ebben a témakörben szegényesebb. Operációs rendszerekről magyar nyelven mindeddig inkább csak egy-egy részterületet lefedő szakkönyv, vagy pedig egy-egy felsőoktatási intézmény speciális – szűkebb – igényét kielégítő jegyzet került kiadásra. Pedig a témakör fontossága aligha vonható kétségbe. Nehezen képzelhető el, hogy egy számítástechnikával vagy informatikával kapcsolatba kerülő mérnöknek ne legyenek operációs rendszerekre vonatkozó általános, és a legelterjedtebben használt konkrét rendszerekre vonatkozó speciális ismeretei. Ebből következik, hogy a témakörnek az informatikai képzések tanterveiben megfelelő súllyal jelen kell lennie, és általában jelen is van.

Ez a tankönyv azzal a céllal született, hogy a fenti hiányt valamelyest pótolja. Ennek megfelelően igyekeztünk áttekintést adni mind a „klasszikus”, mind az „elosztott” operációs rendszerek alapvető céljáról, működési elveiről, funkcióiról, azok lehetséges megvalósítási módjairól. Az elméleti eredmények mellett hangsúlyt fektettünk ezek megvalósítási lehetőségeire is, így a gyakorlati megvalósítások és eredmények bemutatását két olyan konkrét operációs rendszeren – a UNIX és Windows NT operációs rendszereken – keresztül taglaljuk, melyek napjaink, illetve a közeljövő várhatóan legelterjedtebb és legnépszerűbb operációs rendszerei lesznek.

A Budapesti Műszaki Egyetem Villamosmérnöki és Informatikai Kar műszaki informatika szakán „Operációs rendszerek” című tantárgy az önálló szak indulásától – 1991–1992-től – szerepel alaptárgyként, de a témakör már sokkal korábban megjelent a villamosmérnökök képzési programjában. A szerzők mögött tehát jelentős oktatási tapasztalat áll. Ugyanakkor az „Operációs rendszerek” c. tantárgy keretében felölelt anyag – a szakterület kihívásának megfelelően – az 1997/98-as tanévtől kezdődően megújult, kibővült a korábbiakhoz képest. Könyvünk alapját e tárgy tananyaga képezi. A tankönyv nem követi pontosan az előadássorozat menetét, számos helyen bővebb annál, illetve az előadásokon el nem hangzó témákat is tárgyal, míg más témák, melyek az előadásokon részletesebben szerepelnek, nem, vagy csak érintőlegesen jelennek meg a könyvben. Igyekeztünk az elmúlt években elért néhány fontos eredményt is bemutatni, azonban a témakör sokrétűsége és gyors fejlődése miatt ez messzemenően nem teljes.

A könyv szemléletét és a tárgyalás mélységét a tárgy képzésben elfoglalt helye és szerepe határozta meg. A tárgyból következő leíró jelleget a mérnöki konstruktivitással úgy próbáltuk összeegyeztetni, hogy igyekeztünk megmutatni a miérteket is. Így a felmerülő problémák mellett a lehetséges válaszokat is elemezzük, majd az esettanulmányok konkrét megoldásait elhelyezzük a tervező elvi mozgásterében. Ugyancsak a mérnöki modellalkotó szemléletet kívánjuk erősíteni a virtuális gép és a megvalósítások tárgyalásának szétválasztásával.

A tankönyv hét fejezetből áll. A Bevezetés (1. fejezet) az operációs rendszerek funkcióit, típusait, illetve felépítését ismerteti. A fejezetben igyekszünk rámutatni a hardver-szoftver fejlődés kölcsönös és folyamatos egymásra hatására. Itt alapozzuk meg azt a rendszermodellt, valamint a hozzá szorosan kapcsolódó rendszerarchitektúrát is, amelyre építve a későbbiekben a működést részletesen tárgyaljuk.

A 2. fejezet az operációs rendszerek absztrakt, virtuális gép megközelítését fejti ki. A fejezetben a fő hangsúly az operációs rendszerek egyik alapfogalmára – a folyamatokra – továbbá a szálakra és a folyamatokból álló rendszerek alapkérdéseire (folyamatok együttműködése, szinkronizáció, kommunikáció, holtponthelyzetek, védelem, biztonság) helyeződik.

A 3. fejezet az absztrakt fogalmak klasszikus, egyprocesszoros rendszeren történő megvalósítását tárgyalja. A multiprogramozott operációs rendszerekben alapvető folyamatkezelés (folyamatállapotok, állapotátmenetek, ütemezés), tárkezelés (társzervezés, címek kötése, virtuális tárkezelés), háttértárkezelés (szervezés, kezelés, adattárolás biztonsága) és állománykezelés kérdéseit részletezi.

A hálózati és elosztott rendszerek témájával a 4. fejezet foglalkozik. A hálózatok alapfogalmainak, a hálózattopológiák és kapcsolatok alaptípusainak, valamint a név- és címkezelés legfontosabb kérdéseinek bemutatása után az elosztottságnak a minőségi jellemzők, tervezési szempontok, állományrendszer, folyamat- és időkezelés és biztonság terén jelentkező hatásait tárgyaljuk. Részletes ismertetésre kerül egy kliens–szerver-modellre épülő hitelesítő rendszer is.

Az 5. fejezet a UNIX operációs rendszerről ad áttekintést. A korábban megismert elvek és legfontosabb funkciók megvalósításának bemutatása során fő célunk nem a pillanatnyilag ismert legfrissebb UNIX-implementáció pontos ismertetése, hanem inkább a megvalósítások mérnöki elemzése volt. Kitérünk a fejlesztés gondolatmenetére, az annak során felmerülő problémákra, azok lehetséges megoldási lehetőségeire és az implementációk által megvalósított elvekre, azok előnyeire illetve hiányosságaira.

A 6. fejezet a Microsoft cég újgenerációs operációs rendszerével, a Windows NT-vel foglalkozik. Ez, a korábbi Windows-rendszerektől struktúrájában is különböző operációs rendszer egy új technológiát (NT – New Techno­logy) képvisel és ténylegesen új, korszerű megoldásokat alkalmaz.

A tankönyv utolsó, 7. fejezete ellenőrző kérdéseket és feladatokat tartalmaz az ismertetett anyag egészére vonatkozóan. Elsősorban a mérnökhallgatókra gondoltunk, az anyag elsajátításának ellenőrzését igyekeztünk megkönnyíteni a számukra.

Mindamellett, hogy a könyvet elsősorban tankönyvnek szántuk, úgy véljük, szélesebb olvasótábor számára is bátran ajánlhatjuk. Az informatikus szakembereknek, de az informatika eszközeivel megismerkedni szándékozó szakmán kívülieknek is ígérhetünk érdeklődésüket kielégítő mondanivalót. Az olvasáshoz némi számítástechnikai előismeret (számítógépek felépítése, programozás) hasznos, de nem elengedhetetlen.

A könyv szándékaink ellenére nyilván számos hiányosságot és hibát tartalmaz. Reméljük, hogy a témakört tanuló hallgatók ezeket észrevéve hozzásegítenek a kijavításukhoz.

A könyv megszületéséhez való hozzájárulásukért köszönet illeti mindazokat, akik korábban publikálták eredményeiket, és ezzel lehetővé tették, hogy az igen bőséges nemzetközi irodalomra támaszkodva alakítsuk ki azt a szemléletet és megközelítésmódot, amit oktatási céljaink eléréséhez a legmegfelelőbbnek tartottunk. Hallgatóinknak is köszönjük a konzultációk során feltett kérdéseket, amelyek eredményeként az anyag sokat csiszolódott.

Ugyancsak köszönet illeti a tárgy oktatásában résztvevő tanszékek vezetőit, Arató Pétert és Péceli Gábort a munkafeltételek biztosításáért, Vajk Istvánt az önálló tárgy első változatának kidolgozásában való közreműködéséért, Szigeti Szabolcsot és Mann Zoltán Ádámot értékes anyaggyűjtő munkájukért, a Panem Kiadó munkatársait a konstruktív és rugalmas munkakapcsolat kialakításáért, és végül, de nem utolsó sorban családtagjainkat, hogy elviselték időnként jelenlétünket, időnként hiányunkat az írás során.

A könyv megszületéséhez nagymértékben hozzájárult az a támogatás, amelyet a Művelődésügyi Minisztérium Felsőoktatási Tankönyvtámogatási Pályázata nyújtott.

Budapest, 1999. október 31.

Kóczy Annamária és Kondorosi Károly

szerkesztők