OpreVazlatTortenet < Infoalap < VIK wiki
2008.04.07. 21:12
vissza: OpRe
Történet 17.-30. oldal Els! generáció Elektroncsövek, megbízhatatlan A programokat dugaszolós kapcsolótáblán rögzítették Nem ismerték a futáshoz szükséges id!t - kihasználatlan gépid!, befejezetlen programok. Második generáció Tranzisztor, drága, optimális kihasználás kellene Lyukkártya, operátorok kezelik (closed shop), nem optimális a kihasználtság -- Olthyer - 2007.01.21. Batch rendszerek: kvázi els! oprendszer Resident monitor: Figyelte, hogy mikor fejezödik be egy program, és automatikusan indította a következöt. Mágnesszalag, offline perifériás m"veletek: külön számítógép végezte a lyukkártya olvasást, írást -> készülék- vagy perifériafüggelten programozás: szabványos perifériafelület alakult ki. Harmadik generáció Integrált áramkörök Szószervezésü nagyszámítógép ( tudományos számításokra ) Karakterszervezésü kis számítógép: ( nyomtatás, adattovábbítás ) IBM: 360 Ugyanazt a software családot haszálta minden számítógépen. Így a hwt könnyebb volt szervezni. Olyan oprendszer, ami kis és nagy gépekre is jó. Nagyon hosszú kód. A hw olcsóbb lett, de az sw drágább. Multiprogramozás Tárgazdálkodás: Amíg egy job perifériára vár, egy másik fut. DISK megjelenése: véletlen hozzáférésü. (software véletlen hozzáférés: nem kell, hogy egyforma gyors legyen, de lehessen lépegetni ) -- SzaMa - 2005.05.02.
Revision: r1.6 - 2007.01.21 - 00:27 - KissAnett Infoalap > OpRe > OpreVazlatTortenet Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatTortenet?skin=print.pattern
Page 1 of 1
OpreVazlatBevezetesKerdesek < Infoalap < VIK wiki
2008.04.07. 21:12
vissza OpRe
Kérdések 7.1 Melyek egy operációs rendszer alapfeladatai? Els!dleges célja, hogy biztosítsa azt a környezetet, amelyben a felhasználó kényelmesen és hatékonyan végre tudja hajtani saját programját. Másodlagos célja a számítógép hardverének minél hatékonyabb használata, a programfejlesztés könnyebbségét el!segít! szolgáltatások megvalósítása. (TK. 17. oldal)
Mi a virtuális gép koncepció lényege? Top-down nézetben közelítünk felhasználói oldalról az op.rendszerhez. Az op.rendszer egy olyan réteget képez a hardver fölött, mely elrejti annak körülményességét és bonyolultságát a programozó el!l és kib!víti a hardver szolgáltatását. A felhasználó így egy sokkal kellemesebb virtuális gépet (virtual machine, extended machine) lát.
Sorolja fel a korai operációs rendszerek milyen módszereket használtak a perifériásm!veletek lassúságának ellensúlyozására? Kötegelt (batch) feldolgozás: az operátorok összegy"jtötték a hasonló munkákat (pl FORTRAN fordítót igényl! munkák) és ezeket egymás után futtatva a fordító betöltését csak egyszer kellett elvégezni. Offline perifériás müveletek: a lyukkártyák beolvasását és az eredmények nyomtatását a programok futtatásától elválasztva, általában erre a célra kifejlesztett, kis számítógéppel végezték. Egyszer! monitor: egy-egy munka befejez!dése után automatikusan beolvasta a következ!t és megkezdte annak végrehajtását (az els! operációs rendszer). Bufferelés: az I/O m"veletek az CPU-t és a perifériát összeköt! bufferen keresztül hajtódnak végre, megszakítás ill. blokkos átvitel segítségével. spooling (Simultaneous Peripherial Operation On-line): a nagy kapacitású és gyors RAM-ok ill. a mágneslemezek megjelenése segítette el!. Ezeket a tárakat, mint hatalmas méret" buffert használja, s egyszerre nem egy, hanem több munkát is lemezre tölt. Ez a megoldás lényegében az off-line perifériás m"veletek egyetlen gépen történ! megvalósítása (TK 21-24. old.).
Ismertesse a korai operációs rendszerek történeténél megismert batchrendszerek m!ködését. Milyen elvi és gyakorlati HW- illetve SW-fejlesztések köt"dnek ehhez a korhoz? lásd: el!z! kérdés! Az off-line perifériás m"veletek alkalmazásának legnagyobb el!nye az volt, hogy a f!számítógép m"ködése nem függött a lassú kártyaolvasótól és a sornyomtatótól. Ez azt eredményezte, hogy a programok nem az eredeti perifériákat, hanem logikai készülékeket használtak. Ezt nevezzük készülékfüggetlen/perifériafüggetlen programozásnak. (device independence) A hibakeresés (debugging) továbbra is komoly nehézségekbe ütközött, ezt off-line módon végezte, a hibás befejez!déskor kiíratott (dumping) memória- és regisztertartalmak segítségével. (TK 21-23. old.)
Mit nevezünk spoolingnak? Miért vezet ez a módszer a számítógép jobb kihasználásához, mondjon példát arra, hol használnak spoolingot a korszer! operációs rendszerekben. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatBevezetesKerdesek?skin=print.pattern
Page 1 of 9
OpreVazlatBevezetesKerdesek < Infoalap < VIK wiki
2008.04.07. 21:12
spooling (Simultaneous Peripherial Operation On-line): a nagy kapacitású és gyors RAMok ill a mágneslemezek megjelenése segítette el!. Ezeket a tárakat, mint hatalmas méret" buffert használja, s egyszerre nem egy, hanem több munkát is lemezre tölt. Ez a megoldás lényegében az off-line perifériás m"veletek egyetlen gépen történ! megvalósítása. Pl: nyomtatás (file-ba nyomtatás, majd nyomtatóra) (TK 24. old.).
Mi a hasonlóság és mi a különbség az operációs rendszerek történeténél megismert pufferelt adatátvitel és az ún. Spooling módszer között? Mi a kapcsolat a jelenlegi operációs rendszerekben a multiprogramozás és a spooling között? lásd: el!z! két kérdés! A kapcsolat: lehet!vé válik a perifériás és a CPU-m"veletek teljes szétválasztása, úgy, hogy több munka is átlapolódhat, úgy, hogy az egyik munka végrehajtása közben egy másik munka beolvasása és egy harmadik eredményeinek a kivitele folyhat.
Mit jelent az operációs rendszereknél a multiprocesszálás fogalma? A multiprogramozás-nyújtotta látszólagos párhuzamos végrehajtással szemben a több processzor lehet!séget ad a valóban párhuzamos végrehajtására. Multiprocesszálás: egy program több processzoron fut.
Definiálja a valósidej! (real-time) operációs rendszer fogalmát. Ilyen-e az „általános" UNIX rendszer? Azokat a rendszereket, amelyekkel szemben a környezeti, valós id!skálához kötött id!követelményeket támasztunk, valósidej" rendszereknek nevezzük. El!írhajtuk például, hogy a rendszer egy környezeti eseményre mennyi id!n belül reagáljon, vagy milyen id!zített akciókat hajtson végre. A környezetben történt változásokra adott id!n belül válaszolniuk kell, vagyis a rendszernek garantálnia kell valamilyen el!írt id!korláton belüli válaszid!t. A valósidej" rendszerek két alapvezt! fajtája van: a szigorúbb feltételeket teljesít! kemény valósidej" rendszerek (hard realtime) biztosítják, hogy a kritikus munkák befejez!dnek id!ben, míg a lágy valósidej" rendszerek (soft real-time) csak azt garantálják, hogy a kritikus munkák prioritással futnak. A UNIX soft realtime rendszer.
Mit jelent korszer! operációs rendszerekben a batch-feldolgozás? A rendszerek általában interaktív rendszerek, bár találkozhatunk az esetek többségében nem tiszta batch rendszerekkel is. Ezek annyiban különböznek a korai batch rendszerekt!l, hogy szervez!dési elvük nem az azonos munkafázisok szükségszer" csoportosítását jelenti. Ezekben a rendszerekben el!re összeállított vezérl!információkkal ellátott munkák futnak. Futásukba interaktívan nem lehet beavatkozni.
Melyek az operációs rendszer f" környezti kapcsolatai? kezel"k: egyszer" felhasználó, programfejleszt!, rendszermenedzser alkalmazások hardver: processzor, tár, I/O rendszer, I/O eszközök
Milyen csatlakozási felülettel rendelkezik az operációs rendszer? Kezel"i (operátori) felület: Tipikus ember-gép kapcsolat. Arra szolgál, hogy az operációs rendszer ezen keresztül m"küdtethet! legyen, illetve m"ködésér!l a felhasználó tájékoztatást kapjon. A kezel!i felület kialakításának tipikus fizikai eszköze a képerny!t, a billenty"zetet és esetleg egeret tartalmazó munkahely. Alkalmazási (programozói) felület: A számítógépen futó, adott feladatokat https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatBevezetesKerdesek?skin=print.pattern
Page 2 of 9
OpreVazlatBevezetesKerdesek < Infoalap < VIK wiki
2008.04.07. 21:12
megoldóprogramok valamilyen programozási nyelven íródnak. A program készít!je feltételezi a program futását felügyel! operációs rendszert, mely kész, el!re programozott megoldásokat tartalmaz pl. az I/O m"veletekre, id!kezelésre, dinamikus tárigények kielégítésére, a programok együttfutásának és információcseréjének megoldására. Ezek a m"veletek rendszerhívásokkal hajtódhatnak végre. Hardver felület: Az operációs rendszernek az adott processzoron ill. architektúrán kell futnia. A kezelend! er!források egységes absztrakcióján felül bizonyos eszközök kezelésének algoritmusai tartalmazhatnak hardverfügg! részeket. Az operációs rendszernek kezelnie kell a rendszerhez kapcsolódó I/O eszközöket, amelyek heterogén csoportokból kerülhetnek ki, és a rendszer élettartama során új eszközök beillesztésére is sor kerülhet. (TK 35-38. old.)
Hogyan látja az operációs rendszert az egyszer! felhasználó, az alkalmazásfejleszt", illetve a rendszermenedzser? Az egyszer! felhasználó számára az operációs rendszer olyan gép, amely egy felhasználói körnek lehet!séget ad adat- és programfájlok védett és rendezett tárolására, valamint alkalmazások futtatására. Az alkalmazásfejleszt" számára az operációs rendszer olyan gép, amleyik a programok számára meghívható eljárásokat biztosít, és így nem szükséges a hw pontos és részletes ismerete. Lehet!séget ad együttm"köd! programok írására, együttfutás és er!forráshasználat megszervezésére, futás közben kialakuló állapotok megfigyelhet!ségére. A rendszermenedzser számára az operációs rendszer olyan gép, amelyik a hardver adott célú alkalmazását segíti, és amelynek a hardverhez és a feladatokhoz illeszked! megfelel! telepítése, behangolása, használatának adminisztrációs és általános üzemeltetési feladatai rá hárulnak. (TK 32-34. old.)
Milyen el"nyöket nyújthat a parancsnyelv! kezel"i felület a grafikussal szemben? A szöveges felület el!nye a grafikus felülettel szemben, hogy a kezel! távoli terminálról, kis sávszélesség" összeköttetésen keresztül is m"ködtetni tudja a rendszert, és könnyebben megvalósítható a készülékfüggetlenség. A parancsnyelvü kezel!i felület el!nye a menürendszerrel szemben, ismét a készülékfüggetlenség könnyebb megvalósítása, továbbá a parancsok összef"zésének lehet!sége (batch üzemmód) (TK 34. old.)
Mi a különbség szinkron illetve aszinkron m!ködés között Szinkron m"ködés esetén a rendszer általában a végrehajtás befejezését követ!en fogad el újabb kezel!i beavatkozást vagy parancsot. Aszinkron rendszerek megengedik, hogy az el!z! parancs befejez!dése el!tt újabb parancsot indíthassunk (multiprogramozott vagy multitaszkos rendszerek) (TK 35. old.)
Mire szolgálnak a batch file-ok, illetve shell scriptek? Gyakran hasznos, ha az operációs rendszernek szóló parancsokat egy parancssorozattá f"zzük össze. Ezt a parancssorozatot tárolhatjuk pl. egy fájlban (batch file, shell script), és bármikor egyetlen parancsként végrehajtathatjuk a rendszerrel. Az operációs rendszer a kezel! számára ugyanúgy egy programozható gépnek látszik, mint a processzor a programozó számára. (TK 35. old.) https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatBevezetesKerdesek?skin=print.pattern
Page 3 of 9
OpreVazlatBevezetesKerdesek < Infoalap < VIK wiki
2008.04.07. 21:12
old.)
Miben tér el a rendszerhívás a közönséges szubrutintól? A rendszerhívás a szubrutinhívástól abban tér el, hogy végrehajtáskor a visszatérési cím mentése és vezérlésátadás mellett a processzor múködési módját (védelmi állapotát) is meg kell változtatni, felhasználói (user) módból a privilegizált utasítások végrehajtását is megenged! rendszer (system) módba kell átkapcsolni. (TK 36. old.)
Mit jelent, hogy az operációs rendszer kitejeszti a számítógép utasításkészletét? A számítógép és az operációs rendszer együtt egy kiterjesztett utasításkészlet", új gépet alkot, amely a processzor utasításkészletén kívül tartalmazza az operációs rendszer m"veleteit is. Ez a kiterjesztett gép a futtatható programok rendelkezésére áll. (TK 36. old.)
Hogyan közvetíti a programozási nyelv a rendszerhívásokat a programozó számára? A programozó számára a programozási nyelv az operációs rendszer felületét elfedi, eleve magasabb szint" m"veleteket enged meg, mint a processzorok gépi nyelve. Ezek a m"veletek vagy fordításkor fejt!dnek ki gépi utasítássorozattá, vagy a nyelv ún. futtató rendszere tartalmazza a komplex m"veleteket megvalósító eljáráskönyvtárat, és a fordító a komplex m"veletet megfelel!en paraméterezett szubrutinhívássá fordítja. A rendszerhívások nem közvetlen nyelvi utasítások formájában használhatók, hanem a nyelv által megengedett komplex m"veletekbe épülnek be. (TK 36. old.)
Milyen el"nnyel jár a rendszerhívások valamilyen magas szint! programnyelvvel történ" megadása? Abból a szempontból el!nyös, hogy az alkalmazási felület így processzorfüggetlenné válik. (TK 36. old.)
Milyen módon kapcsolódik az operációs rendszer a hardverhez? Az operációs rendszer és a hardver kapcsolódáasi felülete több ponton valósul meg: architektúra - az operációs rendszernek ismernie kell a lehet!ségeket a hatékony m"ködéshez hardvereszközök - ezek tulajdonságainak ismerete I/O eszközök - heterogén csoportból kerülnek ki, kés!bb lehetséges új eszközök beillesztése (TK 37. old.)
Mi a készülékkezel" (driver) program feladata? Az operációs rendszert gyakorlatilag lehetetlen felkészíteni arra, hogy minden elképzelhet! készüléket tudjon kezelni. Ezért a készülékeknek is kialakult egy egységes absztrakciója, aminek lényege, hogy a rendszer a készülékeket azonosítani tudja, és egységes módon tud velük párbeszédet folytatni. A párbeszéd a készülékkezel! programokon (device driver) keresztül valósul meg. A készülékkezel! programok tehát az operációs rendszer többi részéhez egységes felületen csatlakoznak, de ismerik a készülékek részletes m"ködését, és az operációs rendszer egységes felületén kapott parancsokat a specialitások ismeretében hajtják végre a konkrét eszközön. (TK 38. old.)
Rajzolja le egy egyszr! mikroszámítógép felépítését és adja meg, hogy milyen feladatokat látnak el az egyes részek!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatBevezetesKerdesek?skin=print.pattern
Page 4 of 9
OpreVazlatBevezetesKerdesek < Infoalap < VIK wiki
2008.04.07. 21:12
Egyszer" mikrogép architektúrája:
Egyetlen sínnel renelkezik, amelyet együtt használ a CPU, a memória és az I/O forgalom. A CPU vezérli a sínt, a DMA vezérl! önállóan szervezi a lemez-memória közti blokkátvitelt, az adatforgalaom azonban a rendszersínt terheli. Ehhez a CPU és a DMA vezérl! közt jelforgalom biztosított.
Rajzolja le egy tipikus személyi számítógép felépítését, és adja meg az egyes részek funkcióit! KÉP TK. 40.old Kiegészül a gyorsító tárral mely lehet!vé teszi hogy a memória a CPU utasítás végrehajtásával egyidej"leg az I/O adatforgalom számára is rendelkezésre álljon. A grafikus vezérl! saját memóriával processzorral rendelkezik, így a grafikus m"veletek nem terheli a PCI-sínt. az IDE és a SCSI vezérl! felel a lemezegységek csatlakozásáért.
Milyen architektúrabeli eltéréseket mutat egy szuperszámítógép egy személyiszámítógéphez képest? Az építkezés hierarchikus, kett!s processzoregységekb!l négy építhet! egy hipernódba. Minden CPU saját utasítás- és adatcache-sel rendelkezik. A hipernódhoz egy I/O alrendszer is tartozik. A crossbar kapcsolóhálózat a processzorpárok vaamint az I/O alrendszer hatékony átlapolt kacsolatát teszi lehet!vé a memóriablokkal. A memóriablokkok tartalmazzák a hipernódok saját adatterületét, a közös tár egy adatterületét, valamint a hipernódok kapcsolatának hatékonyságát fokozó bels! hálózati gyorsítótárak területét. A hipernódokat négy SCI (Scalable Coherent Interface) szabvány szerint kialakított gy"r" kapcsolja össze. A rendszerben valamennyi proceszor számára rendelkezésre áll a memóriában egy közös címtartomány, amely valójában egy elosztott, koherens gyorsítótárral támogatott memóriával valósul meg. (TK 40. old.)
Melyek a szuperszámítógép lehetséges alkalmazási stílusai A szuperszámítógépek egyik alkalmazási stílusa, hogy magasszint" nyelveken íródott programokban a fordítók megkeresik a párhuzamosítható m"veleteket és az adott hardverarchitektúrán hatékonyan futó kódot generálnak. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatBevezetesKerdesek?skin=print.pattern
Page 5 of 9
OpreVazlatBevezetesKerdesek < Infoalap < VIK wiki
2008.04.07. 21:12
A másik alkalmazási stílus a m"veletvégrehajtás párhuzamosítását a programozó kezébe adja, és speciális operációs rendszerekkel és programozási nyelvekkel támogatja. (TK 41. old.)
Milyen kapcsolatban vannak egymással az operációs rendszer rétegei? A rétegek hierarchikusan egymásra épülnek. Minden réteg úgy fogható fel, hogy az alatta lév! réteget mint virtuális gépet használva egy bonyolultabb virtuális gépet valósít meg a felette elhelyezked! réteg számára. Ebb!l következik, hogy minden réteg csak a közvetlenül alatt elhelyezked! réteg "utasításkészletét" használhatja. (TK 42. old.)
Melyek a moduláris programozás alapelvei? A moduláris programozás a dekompozíción alapul. A modulok belseje a külvilág számára rejtett, a modulokból csak az általa mutatott csatlakozási felület (interface) érhet! el más modulok számára. A modulok közötti csatolás lehet!leg minmális, a modulokon belüli kohézió pedig maximális legyen. (TK 42. old.)
Miért ütközik nehézségbe egy operációs rendszer tiszta rétegszerkezet! kialakítása? A rétegszerkezet kialakítása messze nem egyértelm", hiszen pl. a háttértárat kezel! program maga is hasonlóan m"ködhet, mint egy felhasználói program, mivel m"ködése során várakozásokra kerülhet sor. Ezért indokolt !t a CPU ütemez! réteg fölé helyezni. Ugyanakkor a CPU ütemez! bonyolultabb rendszerekben dönthet úgy, hogy egy programot kisöpör a memóriáról a háttértárra, amihez szüksége van a háttértárkezel! szolgáltatásaira. Ez pedig éppen fordított réteghierarchiát indokolna. A rétegszerkezet másik problémája, hogy a szigorú hiererchia sok üresjáratot okoz. (TK 43. old.)
Melyek az operációs renszer által megvalósítandó alapvet" funkciócsoportok? folyamatkezelés tárkezelés fájlkezelés I/O kezelés háttértár kezelése hálózatkezelés védelmi és biztonsági rendszer parancsértelmezés felhasználóbarát kezel!i felületek (TK 44. old.)
Hogyan valósul meg a rétegszerkezet a modern operációs rendszerekben? A hardverfügg! részek alsó, hardverközeli rétegbe kerülnek. Az operációs rendszer alapfunkciói a rendszermagban (kernel) valósulnak meg, amely egyre inkább csak a minimálisan szükséges funkciókat tartalmazza (mikrokernel). A feltétlen szükségest meghaladó kényelmi szolgáltatások a felhasználói programokhoz hasonló rendszerprogramokba kerülnek. Megjelenik a felhasználói programokból érkez! rendszerhívások fogadó felületét megvalósító réteg (TK 44. old.)
Mire szolgál az operációs rendszer magja, a kernel? A kernelkoncepció lényege, hogy a felhasználói és a rendszerprogramok számára a processzor utasításkészletének kiterjesztésével a kernel egy virtuális gépet jelenít meg. Tehát a programok futásuk során mind a processzor utasításkészletét, mind a kernel által nyújtott rendszerhívással elérhet! m"veletet használhatják. (TK 45. old.) https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatBevezetesKerdesek?skin=print.pattern
Page 6 of 9
OpreVazlatBevezetesKerdesek < Infoalap < VIK wiki
2008.04.07. 21:12
Mi a virtuális hardver koncepció lényege? A kernel alatt elhelyezked! rétegbe olyan funkció kerül, amelyik egyszer"en a fizikai eszközök megosztott használatára ad lehet!séget, nem kiterjesztett, hanem pontosan a fizikai processzorral és eszközökkel azonos felületen. Így minden felhasználó egy saját virtuális gépet lát, amelyen elvileg tetsz!leges kernelt, operációs rendszert futtathat.
Mi a kliens-szerver modell lényege? Adott funkciókért egy program felel!s, amelyik a funkciók ellátásához szükséges er!forrásokat is kezeli. Ennek a programnak (szerver) a szerepe a többiek (kliens) kiszolgálása az adott funkciók tekintetében.
Mi a kernel szerepe kliens-szerver modell esetén? A rendszerben a kernel els!dleges szerepe a folyamatok egymásnak küldött üzeneteinek pontos és biztonságos közvetítése.
Milyen események aktiválhatjáék az oprációs rendszert, ha az várakozó állapotban tartózkodik? a futó program rendszerhívást hajt végre a processzor küls! megszakításkérést fogad el hibamegszakítás (exception) következik be
Milyen esetekben nem folytatódik az aktuális folyamat végrehajtása egy rendszerhívás végrehajtása után? program befejez!dését jelz! rendszerhívás er!forrás-igénylés, amit a rendszer éppen nem tud kielégíteni, emiatt a hívónak várakoznia kell várakozás másik program jelzésére vagy üzenetére, ami még nem érkezett meg, emiatt a hívónak várakoznia kell adott id!tartamú késleltetés vagy adott id!pontra való várakozás újraütemezés kérése, azaz lemondás a futásról esetleges fontosabb feladatokat megoldó programok javára I/O m"velet indítása, aminek végrehajtása alatt a hívó várakozik
Mit nevezünk szinkron illetve aszinkron rendszerhívásnak és hogyan valósíthatóak meg? szinkron rendszerhívás: amikor egy rendszerhívás következtében a hívó program várakozni kényszerül. Az operációs rendszer meg!rzi a program állapotát, de a várakozás idejére más program végrehajtásáról intézkedik. A hívás helyére való visszatérés tehát késleltetve lesz mindaddig, amíg a várt feltétel nem teljesül, és a rendszer úgy nem dönt, hogy ismét az adott programot futtatja. aszinkron rendszerhívás: a kért m"velet elindítása után visszatér a hívóhoz, amely a hívott m"velettel párhuzamosan folytatódhat, és külön rendszerhívás szolgál a befejez!dés lekérdezésére, illetve az arra való várakozásra.
Milyen feltételnek kell eleget tennie a hardver architektúrának a multiprogramozás megvalósításához? A hardver architektúrának lehet!séget kell adnia az I/O m"veletek és a programutasítások valódi párhuzamos végrehajtására.
Mi a specialitása a karakterenkénti vagy bájtonkénti I/O m!velet megvalósításának? https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatBevezetesKerdesek?skin=print.pattern
Page 7 of 9
OpreVazlatBevezetesKerdesek < Infoalap < VIK wiki
2008.04.07. 21:12
Az operációs rendszer karakterenként m"ködésébe lép, és programozottan viszi át a következ! karaktert a memória és az adatregiszter között. Ilyenkor az átvitel közben egyszer" "visszatérés megszakításból" m"velettel zárul az operációs rendszer aktuális futama. Ha a megszakítási rutin észleli, hogy vége az átvitelnek, azaz éppen az utolsó megszakításra reagált, akkor kell végrehajtani azokat a lépéseket, amelyeket pl. DMA szervezés esetén az egyetlen, átvitel végét jelz! megszakítás kiszolgálásakor.
Miért kell az operációs rendszernek várakozási sort szerveznie az I/O készülékekre? Az el!bbi folyamatábrából világos, hogy az I/O eszköz elindítása többszöröz!dhet(ne). Egy adott pillanatban tehát nem csak az CPU-ra várakozhat több program, hanem az I/O készülékre is lehet több átviteli kérelem. Az operációs rendszernek ezért az I/O készülékre is várakozási sort kell szerveznie.
Mi a parancsértelmez" feladata? Elemzi a beírt (esetleg közben javított) sort, azaz megkeresi és elkülöníti a paramétereket, és egy prioritási sor szerint megkísérli értelmezni a parancsot. Ha a parancs értelmes a rendszermag számára, akkor egy rendszerhívással elindítja a végrehajtást, ha nem, akkor megkísérli rendszerprogramként értelmezni, ha így sem, akkor a parancsot egy alkalmazás nevének tekinti, és így próbálja azt indítani.
Milyen értelmezési prioritást követ a parancsértelmez"? Ha a parancs értelmes a rendszermag számára, akkor egy rendszerhívással elindítja a végrehajtást, ha nem, akkor megkísérli rendszerprogramként értelmezni, ha így sem, akkor a parancsot egy alkalmazás nevének tekinti, és így próbálja azt indítani.
Mire szolgálnak a küls" megszakítások? A küls! megszakítás olyan eszköz, amely lehet!vé teszi, hogy a rendszer gyorsan reagáljon egy el!re nem látható id!pontban bekövetkez! küls! eseményre.
Miért kell a teljes megszakítási rendszert kizárólag az oprációs rendszernek kezelnie? Azért, mert küls! megszakítás elfogadásakor a processzor általában m"ködési módot vált (system mode), és a megszakítási vektor által meghatározott címen folytatja a programvégrehajtást. Ezen a címen az operációs rendszer megfelel! része helyezkedik el és reagál a megszakításkérésre. A módváltás miatt fontos, hogy a teljes megszakítási rendszert az operációs rendszer kezelje, mert ellenkez! esetben kijátszható lenne a védelmi rendszer.
Hogyan teszi lehet"vé az operációs rendszer a megszakítások felhasználói programok által történ" kezelését? Áttételek beiktatásával úgy, hogy a felhasználói programrészlet ne rendszermódban fusson.
Milyen tipikus id"kezelési funkciókat valósít meg az operációs rendszer? naptár vezetése (kezel!i paranccsal lekérdezhet!, beállítható, legalább másodperc felbontású) az egyes felhasználók processzorid!-felhasználásának nyilvántartása késleltetett ill. adott id!pontra id!zített programindítás id!zített jelzések id!korlát el!állítása
Hogyan valósítható meg a korrekt id"mérés? https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatBevezetesKerdesek?skin=print.pattern
Page 8 of 9
OpreVazlatBevezetesKerdesek < Infoalap < VIK wiki
2008.04.07. 21:12
Lényegében csak hardverórával valósítható meg. A megszakítás periódusideje meghatározza az operációs rendszer id!felbontását (szoftveres id!kezelés). Ha finomabb felbontásra van szükség, a rendszer lekérdezhet!vé teheti a fizikai óra számlálóját vagy I/O készülékként további programozható órák iktathatók be a rendszerbe.
Milyen hardver- illetve szoftverhibákat kell az operációs rendszernek kezelnie? tranziens hibák, melyek a m"velet ismétlésével javíthatók programozók olyan hibái, melyek csak futási id!ben ismerhet!k föl és végrehajtahatlan m"veletet eredményeznek (nem létez! memóriacímre való hivatkozás, nullával osztás, privilegizált utasítás user módban, stb.)
Milyen lehet"ségei vannak az operációs rendszernek valamely hiba bekövetkezése esetén? visszaléphet a megszakított utasításra, ha tranziens hiba valószín"síthet! hibajelzést küldhet a kezel!i konzolra abortálhatja a hibát okozó programot elindíthatja a felhasználói program hibakezel! részét (exception-handler) diagnosztizáló programot indíthat
Mi az alapvet" különbség a megszakítás illetve a hibakezelés között? A hibamegszakítások és a küls! megszakítások között fontos különbség, hogy a hibamegszakítás utasítás közben keletkezik, és az aktuális utasítás nem tud befejez!dni, míg küls! megszakítást a processzor mindig két utasítás között fogad el.
Miért van szükség a felhasználói programban a hibakezelés megvalósítására, és hogyan támogatja ezt az operációs rendszer? Az operációs rendszer csak uniformizált, sz"kszavú hibaüzeneteket tud el!állítani és kiírni. Egy ilyen üzenet a diszpécsernek nem túl informatív, és pánikhelyzetet okozhat. Ezért sok esetben a felhasználói programban megadható az a pont, ahová az operációs rendszer hibamegszakítás esetén visszalép, és ahol az alkalmazásfügg! hibakezelés saját állapot- és változótérben programozható.
Milyen feladatokat kell végrehajtani egy operációs rendszer be-, illetve kikapcsolásakor? Bekapcsoláskor: üres memóriában felépíteni a rendszert, hardver feltérképezése valamint m"köd!képességének ellen!rzése. Kikapcsoláskor éppen az ellenkez!je történik. vissza OpRe -- SoTi - 2005.06.01.
Revision: r1.10 - 2007.01.21 - 00:54 - KissAnett Infoalap > OpRe > OpreVazlatBevezetesKerdesek Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatBevezetesKerdesek?skin=print.pattern
Page 9 of 9
OpreVazlatFolyamatok < Infoalap < VIK wiki
2008.04.07. 21:12
vissza OpRe
Folyamatok és szálak A folyamat (process) logikai modellje A szál fogalma A folyamat létrehozásának okai A folyamatok osztályozása Kérdések 7.2 1. Mi a különbség a multiprogramozás és a multiprocesszálás között? 2. Mi a különbség a vezérlési gráf és a vezérlési szál között? 3. Ismertesse a folyamatok logikai modelljét! 4. Mit jelent az, hogy a memória RAM-modell szerint m!ködik? 5. Mi jellemzi egy folyamat adott pillanatbeli állapotát? 6. Miben tér el egymástól a folyamathoz tartozó logikai, illetve a számítógép fizikai processzorának utasításkészlete? 7. Mi a különbség a logikai és a fizikai memória között? 8. Mi az eltérés a folyamatok illetve a szálak között, és milyen el"nnyel jár a szálak alkalmazása? 9. Mit nevezünk multitaszkos operációs rendszernek? 10. Milyen célokat szolgálhat egyszerre több folyamat futtatása egy rendszerben? 11. Milyen járulékos nehézség merül fel egy folyamatokból álló rendszer fejlesztése során a hagyományos szekvenciális programfejlesztési módszerhez képest? 12. Definiálja a független, verseng", illetve együttm!köd" folyamatok fogalmát. Milyen támogatást kell nyújtson az operációs rendszer ezek megvalósításához? 13. Milyen módon jönnek létre egy rendszer folyamatai? 14. Mikor nevezünk statikusnak, illetve dinamikusnak egy operációs rendszert 15. Mi a különbség a hierarchikus és a globális er"forrásgazdálkodás között?
Folyamatok és szálak A folyamat (process) logikai modellje A folyamat az operációs rendszer szempontjából egy végrehajtás alatt álló program. Minden folyamathoz egy logikai processzor és egy logikai memória tartozik. A logikai memória tárolja a programkódot, a változókat és a konstansokat, a logikai processzor hajtja végre a programkódot. Az operációs rendszer felelõs a logikai processzor és a logikai memória fizikai processzorra és memóriára való leképezéséért. Multiprocesszoros rendszer esetén a logikai processzort több fizikai processzorra képezheti le; az összefüggõ logikai memóriát a fizikai memória több nem összefüggõ részére vagy a háttértárra képezheti le. Fontos, hogy a folyamat által látott logikai processzor és a fizikai processzor utasításkészlete nem azonos: A logikai proceszor nem tartalmazza a fizikai processzor privilegizált utasításait, másrészt viszont az operációs rendszer szolgáltatásai a logikai processzorban utasításként jelennek meg. Pl: az I/O mûveletek a logikai processzor utasításai.
A szál fogalma A szálak egy folyamaton belül párhuzamosan futó programrészek. Minden szálnak saját logikai processzora van, a folyamatokhoz hasonlóan versenyezhetnek a processzorért. A szálak logikai memóriája ezzel szemben közös, tehát az egy folyamaton belüli összes szálnak egyetlen logikai memóriája van. A szálak alkalmazásának elõnye, hogy a közös memória miatt szálak közötti átkapcsolás lényegesen gyorsabb, mint a folyamatok közötti átkapcsolás. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatFolyamatok?skin=print.pattern
Page 1 of 4
OpreVazlatFolyamatok < Infoalap < VIK wiki
2008.04.07. 21:12
gyorsabb, mint a folyamatok közötti átkapcsolás. A szál és folyamat másik elnevezése: pehelysúlyú folyamat és nehézsúlyú folyamat. (a szálat és a folyamatot a könyv egy kalap alá veszi, a továbbiakban mindenütt a folyamat kifejezés fog szerepelni)
A folyamat létrehozásának okai Jobb az erõforráskihasználás, gyorsabb a feladat-végrehajtás, több feladat futhat egyszerre (a felhasználó számára kényelmes), rendszerstruktúrálási okok: bizonyos feladatokat eleve könyebb több folyamat alkalmazásával elkészíteni.(elsõsorban valósidej! rendszerekre jellemz")
A folyamatok osztályozása Független folyamatok Semmilyen módon nem befolyásolják egymás futását. Verseng" folyamatok Nem tudnak egymásról,de ugyanazokat az erõforrásokat használnák Együttmûködõ folyamatok Ezek a folyamatok úgy lettek tervezve, hogy a folyamatok közötti kommunikáció leírása már a programkódban is megjelenik. Információt cserélnek egymással, gyakran csak egy bit erejéig, de más esetekben több megabájt is lehet az adatforgalom. Másik csoportosítás aszerint, hogy a folyamatot ki indította: Rendszerfolyamatok Felhasználói folyamatok vissza OpRe -- Merlin - 2005.05.03.
Kérdések 7.2 1. Mi a különbség a multiprogramozás és a multiprocesszálás között? Akár multiprogramozott, akár multiprocesszáló a rendszer, egyidej!leg több folyamatot kezel. Míg azonban a multiprogramozott rendszerekben a folyamatok 1 processzorért versengenek, a multiprocesszáló rendszerekben több processzor áll a folyamatok rendelkezésére.
2. Mi a különbség a vezérlési gráf és a vezérlési szál között? A programkód alapján valamennyi lehetséges végrehajtás el"állítható. Felvehetünk egy irányított gráfot, amelynek csomópontjai az utasítások, iráanyított élei pedig az utasításokat lehetséges végrehajtási sorrendjükben kötik össze (folyamatábra, vezérlési gráf). Egy végrehajtás jellemezhet" egy vezérlési szállal, amelyik az adott irányított gráfon a program belépési pontjától egy befejez"dési pontig vezet" irányított útnak feleltethet" meg.
3. Ismertesse a folyamatok logikai modelljét! Minden folyamatnak megfeleltethet" egy logikai processzor és egy logikai memória. A logikai processzor utasításkészlete a fizikai processzor utasításkészleténél sz!kebb, mivel nem taralmazza a privilegizált utasításokat, ugyanakkor b"vebb is, mivel az operációs rendszer szolgáltatásait is tartalmazza (lásd I/O m!veletek, stb.). A logikai memória a fizikai tár leképezve, ráadásul a leképezés a végrehajtás során változhat is.
4. Mit jelent az, hogy a memória RAM-modell szerint m!ködik? tárolórekeszekb"l áll, egy dimenzióban, rekeszenként címezhet", https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatFolyamatok?skin=print.pattern
Page 2 of 4
OpreVazlatFolyamatok < Infoalap < VIK wiki
2008.04.07. 21:12
csak rekeszenként, írás és olvasás m!veletekkel érhet" el, az írás a teljes rekesztartalmat felülírja az el"z" tartalomtól független, új értékkel, az olvasás nem változtatja meg a rekesz tartalmát, azaz tetsz"leges számú, egymást követ" olvasás az olvasásokat megel"z"en utoljára beírt értéket adja vissza
5. Mi jellemzi egy folyamat adott pillanatbeli állapotát? A folyamatot egy memória-processzor együttes m!ködésével jellemezhetjük, amelynek állapotleírói a memóriatartalom (a végrehajtandó kód és a változók értéke), valamint a processzor állapota (programszámláló és regiszterek értéke).
6. Miben tér el egymástól a folyamathoz tartozó logikai, illetve a számítógép fizikai processzorának utasításkészlete? A logikai processzor utasításkészlete a fizikai processzor utasításkészleténél sz!kebb, mivel nem taralmazza a privilegizált utasításokat, ugyanakkor b"vebb is, mivel az operációs rendszer szolgáltatásait is tartalmazza (lásd I/O m!veletek, stb.).
7. Mi a különbség a logikai és a fizikai memória között? A logikai memória a fizikai tár leképezve, ráadásul a leképezés a végrehajtás során változhat is.
8. Mi az eltérés a folyamatok illetve a szálak között, és milyen el"nnyel jár a szálak alkalmazása? A szálak lényegében párhuzamos végrehajtású, közös memóriát használó programrészek a folyamaton belül (egy program végrehajtása több szálon futhat). A szálaknak saját logikai processzoruk van, azonban memóriáik nincsenek elkülönítve, közös logikai memóriát használnak, azaz a kódon és a változókon osztoznak. Emiatt az operációs rendszer lényegesen gyorsabban tud végrehajtani egy átkapcsolást a szálak között, mint a folyamatok között.
9. Mit nevezünk multitaszkos operációs rendszernek? Azokat az operációs rendszereket, amelyek felhasználók számára is lehet"vé teszik a folyamatkezelést, multitaszkos rendszereknek szokták nevezni.
10. Milyen célokat szolgálhat egyszerre több folyamat futtatása egy rendszerben? hatékonyabb er"forrás-kihasználás, a feladat-végrehajtás gyorsítása, többféle feladat egyidej! végrehajtása, rendszerstruktúrálás.
11. Milyen járulékos nehézség merül fel egy folyamatokból álló rendszer fejlesztése során a hagyományos szekvenciális programfejlesztési módszerhez képest? A folyamatokból álló rendszer fejlesztése - els"sorban a tesztelés fázisában - lényegesen nehezebb és bonyolultabb feladat, mint a szekvenciális programoké. A folyamatok aszinkron futása miatt ugyanis a rendszer egy adott lefutása gyakorlatilag reprodukálhatalan, a szisztematikus tesztelés és hibakeresés ezért igen nehéz.
12. Definiálja a független, verseng", illetve együttm!köd" folyamatok fogalmát. Milyen támogatást kell nyújtson az operációs rendszer ezek megvalósításához? független: egymás m!ködését semmilyen módon nem befolyásolják. Végrehajtásuk teljes mértékben aszinkron, azaz egymással párhuzamosan is végrehajtódhatnak, de a végrehajtás egymáshoz viszonyított sebességér"l semmilyen feltételezést nem tehetünk. Ezek végrehajtása gyakorlatilag önálló programokként tekinthet". verseng": nem ismerik egymást, de közös er"forráson kell osztozniuk. Több egyidej!leg m!köd" folyamat helyes és hatékony futtatásának problémáit az operációs rendszeren belül kell megoldani. Ezt a bonyolult, er"forrás kiosztási, gazdálkodási, védelmi és koordinációs feladatot az operációs rendszeren belül gyakran együttm!köd" folyamatokkal oldják meg. A korrekt és biztonságos er"forrás-kezelés a folyamatok aszinkron futásának korlátozását, https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatFolyamatok?skin=print.pattern
Page 3 of 4
OpreVazlatFolyamatok < Infoalap < VIK wiki
2008.04.07. 21:12
szinkronizálását igényli. együttm!köd": ismerik egymást, együtt dolgoznak egy feladat megoldásán, információt cserélnek. Ilyenkor a folyamatok egymástól való védelmének jelent"sége kisebb. Együttm!köd" folyamatok esetén a folyamatok leírása és az együttm!ködés m!veletei a programkódban is megjelennek, azaz a logikai processzor utasítéskészletében szerepelni kell az ehhez szükséges utasításoknak. Ezen kívül természetesen az er"forráskezelési feladatokat is az operációs rendszernek kell ellátnia.
13. Milyen módon jönnek létre egy rendszer folyamatai? "sfolyamat: létrehozza a rendszert és a többi folyamatot A rendszerépítés eredményeképpen már egy m!ködésre kész operációs rendszer alakul ki, amelyik maga is több folyamatból állhat (rendszerfolyamatok). A rendszerfolyamatok újabb, felhasználói folyamatokat hoznak létre, a felhasználói folyamatok pedig maguk is létrehozhatnak további felhasználói folyamatokat a logikai processzor megfelel" utasításának végrehajtásával (pl. fork, create).
14. Mikor nevezünk statikusnak, illetve dinamikusnak egy operációs rendszert statikus: azok a rendszerek, amelyeknek muködése során - a felépülés és inicializálás kezdeti szakaszától eltekintve - nem jönnek létre és nem szünnek meg folyamatok. dinamikus: m!ködés közben bármikor születhetnek illetve megszünhetnek folyamatok.
15. Mi a különbség a hierarchikus és a globális er"forrásgazdálkodás között? hiererchikus: a gyermek folyamatok csak a szül" er"forrásaiból részesülhetnek, és nem léthezetnek önállóan, csak amíg a szül"jük is létezik. globális: a rendszer valamennyi folyamata létrejötte után egyenrangú, önálló szerepl", és versenyezhet a teljes er"forráskészletb"l való részesedésért. vissza OpRe
Revision: r1.16 - 2007.11.01 - 13:08 - BodaZoltan Infoalap > OpRe > OpreVazlatFolyamatok Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatFolyamatok?skin=print.pattern
Page 4 of 4
OpreVazlatFolyamatokEgyuttmukodese < Infoalap < VIK wiki
2008.04.07. 21:13
vissza: OpRe
A folyamatok együttm!ködése Együttmûködés közös memórián Együttmûködés üzenetváltással Kérdések 7.2 16. Miben tér el a PRAM modell a RAM modellhez képest? 17. Hasonlítsa össze a közös memórián illetve az üzenetváltáson alapuló folyamatok közti együttm!ködést! 18. Miért van szükség folyamatok szinkronizálására? 19. Mit nevezünk kritikus szakasznak? 20. Mi a folyamatok közötti kölcsönös kizárás? 21. Definiálja két folyamat egyidej!ségét illetve precedenciáját! 22. Milyen elvárásoknak kell megfeleljen a kölcsönös kizárás megvalósítása? 23. Peterson ajánlása két folyamat közti kölcsönös kizárás szoftveres megvalósításához 24. Miért van szükség hardvertámogatásra a kölcsönös kizárás megvalósításához? 25. Hogyan garantálható, hogy a kritikus szakaszba belépni kívánó folyamatok véges id" alatt be is jussanak? 26. Adja meg a szemafor primitív m!veleteinek definícióját! 27. Hogyan alkalmazható a szemafor a precedencia illetve a kölcsönös kizárás megvalósítására? 28. Szemaforok felhasználásával írjon olyan programrészletet (például eljárást), amely lehet"vé teszi N (el"re adott konstans) folyamat randevúját, azaz az összes folyamat bevárja egymást. 29. Egy laktanyát "rség "riz, az "rség minden tagja (folyamat) tudja, hogy "rhelyét csak akkor hagyhatja el, ha a váltás, a következ" "r megérkezett. Szemaforokat használva írja meg az "rségváltás lebonyolításának algoritmusát! 30. Van N (el"re adott konstans) folyamatunk, mindegyikük tudja a saját sorszámát. Szemaforok felhasználásával írjon olyan Waitformyturn(i: INTEGER) eljárást, amelyet ha az egyes folyamatok a saját sorszámukkal meghívják, akkor onnan a sorszámuk szerinti sorrendben lépnek ki, azaz egy folyamat az eljáráson belül várakozik mindaddig, amíg az összes nála kisebb sorszámú folyamat ki nem lépett ebb"l az eljárásból! 31. Hasonlítsa össze a szemafor m!veleteit az er"forrás-, illetve az eseményszinkronizációs eszközökkel! 32. Miért kell az er"forrásokhoz várakozási sorokat létrehozni? 33. Lazán csatolt rendszerekben az egymással kommunikáló folyamatok milyen különböz" megnevezési módszereket használhatnak? Milyen paramétereket használnak az üzenetküldés (send) és az üzenetfogadás (receive) parancs hívásakor a különböz" módszerek alkalmazása esetén? 34. Üzenetváltásos modell esetén milyen módszereket használnak a kommunikációs m!veletek helyességének visszajelzésére? 35. Milyen konzisztencia feltételt kell betartani a küld parancs megvalósításakor? 36. Milyen megvalósítások alkalmazhatók a küld illetve a fogad parancsoknál fellép" várakozás kezelésére? 37. Milyen járulékos mellékhatásokat okoznak a kommunikációs m!veletek a rendszer átmeneti tárolójának függvényében?
A folyamatok együttm!ködése Együttmûködés közös memórián Az együttmûködõ folyamatok címtartományának része egy közös memória, melybe minden folyamat adatokat helyezhet el és adatokat olvashat ki.Mivel a folyamatok egyszerre írhatják/olvashatják a memóriát, a RAM modell nem megfelelõ erre a célra. Helyette PRAM (Pipelined RAM) modellt kell kialakítani, melyre a RAM modell jellemzõin kívül még további https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatFolyamatokEgyuttmukodese?skin=print.pattern
Page 1 of 7
OpreVazlatFolyamatokEgyuttmukodese < Infoalap < VIK wiki
2008.04.07. 21:13
kikötések is vonatkoznak: olvasás-olvasás ütközéskor ugyanazt az eredményt adja mindkét mûvelet. olvasás-írás : az adott rekesz tartalma felülíródik, az olvasás eredménye vagy az új vagy a régi tartalom, köztes állapot nem állhat elõ. írás-írás: a rekesz tartalma vagy az egyik vagy a másik írás eredménye lehet csak, más nem. Tehát az olvasás/írás mûveletek oszthatatlanok, konkurrens esetben nem meghatározott sorrendben mennek végbe. Ezeken felül a közös memóriát használó folyamatok tervezõjének szinkronizálnia kell (az alábbi szinkronizációs fogalmak nem csak a memóriára vonatkoznak, hanem általában minden erõforrásra): kölcsönös kizárás több folyamatban lehetnek olyan kritikus utasítássorozatok, melyeket nem szabad egyszerre végrehajtani, másképp fogalmazva egy rendszerben lehetnek olyan K kritikus szakaszok, melyekben egyszerre csak egy folyamat tartózkodhat. A kritikus szakaszokat a programozó definálja, a szakaszba be/kilépést a kódban elhelyezett mûveletekkel jelölik. egyidejûség több folyamat bizonyos részeire elõírhatjuk, hogy egyidejûleg hajtódjanak végre. Pontosabban: nem léphet ki a folyamat az egyidejû szakaszból,míg a többi folyamat el nem kezdte végrhajtani a saját egyidejû szakaszát. precedencia Különbözõ folyamatok kijelölt részei között végrehajtási sorrendet írhatunk elõ. Tipikusan akkor használatos, ha az egyik folyamat a másik eredményét használja. A kölcsönös kizárás megvalósítása szoftveresen Jelzõbit elhelyezésével történhet, de nehézkes, mivel ritkán, de elõfordulhat hogy már a jelzõbit elérése konkurrens. Helyes algoritmusok szoftveres PRAM-ra Dijkstra által publikált n folyamatot kezelõ algoritmus Lamport bakery algorithm nevû eljárása, mely a pékség (vagy pl. bank) sorszámosztós megoldásának analógiájára született. A kölcsönös kizárás megvalósítása operációs rendszer szinten (köszi Baba hogy a hibákat észrevetted) Szemaforral. Általános szemafor: egész típusú. Két mûvelet értelmezett rajta: P(s) belépés: ha a szemafor értéke < 1 akkor vár, ha nem akkor csökkenti eggyel és elkezdi a folyamat végrehajtását. V(s) kilépés: a folyamat lefutása után hívódik meg, a szemafor értékét eggyel növeli. Bináris szemafor: az általános szemafor szûkítése, ennek használatával egyszerre csak egy folyamat használhatja a szemaforhoz rendelt erõforrást.
Együttmûködés üzenetváltással Az együttmûködö folyamatok logikai processzorai rendelkeznek egy Küld(cím, folyamat) (Send) és egy Fogad(cím,folyamat) (Receive) utasítással.A Küld hívásának eredménye, hogy a folyamat memóriájának cím részében tárolt adatot elküldi a folyamatnak. A Fogad a folyamat által küldött adatot a saját memóriájának cím rekeszébe teszi. Az üzenetátadás módjai: Direkt a folyamatok ismerik egymást, és a Küld/Fogad üzenetek közvetlenül a társfolyamatot címezik. Indirekt a folyamatok egy közös postaládát ismernek, mely általában egy FIFO tároló, egymást nem kell ismerniük. Aszimmetrikus az egyik folyamat ismeri a másik címét, míg a másik folymat egy saját I/O kaput, portot használ.Kliens/Server folyamatokban használatos. Csoportkommunikáció a küldõ a folyamatok egy csoportját jelöli meg, mindegyik megkapja az üzenetet. Üzenetszórás (broadcasting) a csoportkommunikáció azon esete, amikor a küldõ az összes folyamatnak küldi az üzenetet -- Merlin - 2005.05.03.
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatFolyamatokEgyuttmukodese?skin=print.pattern
Page 2 of 7
OpreVazlatFolyamatokEgyuttmukodese < Infoalap < VIK wiki
2008.04.07. 21:13
Kérdések 7.2 16. Miben tér el a PRAM modell a RAM modellhez képest? Az alábbi kiegészítések érvényesek: olvasás-olvasás ütközésekor mindkét olvasás ugyanazt az eredményt adja, és ez megegyezik a rekesz tartalmával olvasás-írás ütközésekor a rekesz tartalma felülíródik a beírni szándékozott adattal, az olvasás eredménye vagy a rekesz régi, vagya az új tartalma lesz, más érték nem lehet írás-írás ütközésekor valamelyik m!velet hatása érvényesül, a két beírni szándékozott érték valamelyike írja felül a rekesz tartalmát, harmadik érték nem alakulhat ki.
17. Hasonlítsa össze a közös memórián illetve az üzenetváltáson alapuló folyamatok közti együttm!ködést! Közös memórián keresztül történ" adatcsere esetén az együttm!köd" folyamatok mindegyike saját címtartományában lát egy közös memóriát. A közös memória elérését valamilyen adatátviteli rendszer teszi lehet"vé. Üzenetváltásos adatcsere esetén a folyamatoknak nincs közös memóriája. Az adatátviteli rendszer most a logikai processzorokat kapcsolja össze. Rajta keresztül a folyamatok üzeneteket tudnak küldeni, illetve fogadni. Az üzenetküldésre a folyamatok logikai processzorainak utasításkészletében megfelel" utasítások állnak rendelkezésre. Ezek a Küld (Send) és a Fogad (Receive) m!veletek.
18. Miért van szükség folyamatok szinkronizálására? Közös er"források használata, valamint a folyamatok közötti közös memóriás információcsere biztonsága és helyessége érdekében a folyamatok aszinkron “szabadfutását” esetenként korlátozni kell. (A m!veletvégrehajtásra vonatkozó id"beli korlátozásokat nevezzük szinkronizálásnak.)
19. Mit nevezünk kritikus szakasznak? Egy folyamatokból álló rendszerben egy K kritikus szakasz a folyamatok végrehajtási szakaszának egy Sk halmazát jelenti, amely S halmaz bármely két s1 és s2 elemének átlapolt végrehajtása tilos. Más szóval olyan utasítássorozatok, amelyek egyidej! (konkurrens) végrehajtása nem megengedett.
20. Mi a folyamatok közötti kölcsönös kizárás? Kölcsönös kizárás esetén egy folyamat csak akkor léphet be egy kritikus szakaszba, ha semmilyen más folyamat nem tartózkodik ott. Ellenkez" esetben meg kell várnia, amíg a bent tartózkodó folyamat elhagyja a kritikus szakaszt. Ha egy folyamat elhagyja K-t, akkor az esetleges belépésre várakozó folyamatok közül egyetlen beléphet a kritikus szakaszba.
21. Definiálja két folyamat egyidej!ségét illetve precedenciáját! Két folyamat egyidej!, ha egyik folyamat sem léphet túl a benne egyidej! végrehajtásra kijelölt végrehajtási szakaszon mindaddig, amíg valamennyi többi folyamat meg nem kezdte saját kijelölt szakaszának végrehajtását. Az S1=>S2 precedencia el"írása (ahol S1 P1 folyamat, S2 P2 folyamat egy utasítása) azt jelenti, hogy S1 végrehajtásának be kell fejez"dnie, miel"tt S2 végrehajtása megkezd"dik.
22. Milyen elvárásoknak kell megfeleljen a kölcsönös kizárás megvalósítása? minden körülmények között teljesüljön a kölcsönös kizárás a belépési protokoll döntéshozatala csak a belépésben érdekelt folyamatok részvételét igényelje, azaz a többi folyamat nyugodtan haladhasson tovább véges id"n belül minden belépni szándékozó folyamat bejuthasson
23. Peterson ajánlása két folyamat közti kölcsönös kizárás szoftveres https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatFolyamatokEgyuttmukodese?skin=print.pattern
Page 3 of 7
OpreVazlatFolyamatokEgyuttmukodese < Infoalap < VIK wiki
2008.04.07. 21:13
23. Peterson ajánlása két folyamat közti kölcsönös kizárás szoftveres megvalósításához Legyen a két folyamat P1 és P2. Legyen mindkét folyamatnak egy-egy jelz"je a belépési szándékra, valamint egy változó, amelyik megmutatja, hogy egyidej! belépési szándék esetén melyik léphet be. var
jelz!:array[1..2]of{foglal,szabad}:=szabad következ!: {1,2}
P1 folyamat: ... ír (jelz![1],foglal) ír (következ!,2) belépés1: olvas (jelz![2]) if szabad then goto belép1 olvas (következ!) if 2 then goto belépés1 belép1:
kilép1: ír (jelz![1],szabad) ...
P2 folyamat: ... ír (jelz![2],foglal) ír (következ!,1) belépés2: olvas (jelz![1]) if szabad then goto belép2 olvas (következ!) if 1 then goto belépés2 belép2: kilép2: ír (jelz![2],szabad) ...
A belépésre vonatkozó döntésben a következ" változónak csak akkor van szerepe, ha a másik folyamat jelz"je nem szabadot mutat, azaz egyidej! belépési szándék veszélye áll fenn. Ilyenkor legrosszabb esetben a következ" változóra kiadott írás is egyidej!, de az írási verseny valahogy eld"l. A következ" változó csak egy értéket vehet fel, mégpedig a kés"bbi írás eredménye (a vesztes) jelöli ki a másik folyamatot belép"nek, ami akkor is helyes, ha a másik folyamat már korábban is a szakaszban tartózkodott. -- Olthyer - 2007.01.21
24. Miért van szükség hardvertámogatásra a kölcsönös kizárás megvalósításához? A szoftver-megoldások bonyolultsága más irányokba terelte a probléma megoldásán fáradozó kutatókat. Inkább olyan eszközöket dolgoztak ki, amelyek - a PRAM modellt is kiterjesztve - a processzor utasításkészletébe épülve támogatják a folyamatok szinkronizációjának megoldását (=> hardveres támogatás). -- Olthyer - 2007.01.21
25. Hogyan garantálható, hogy a kritikus szakaszba belépni kívánó folyamatok véges id" alatt be is jussanak? A foglaltságjelz" ciklikus tesztelésére alapozottan a probléma igen bonyolultan oldható meg. Áttekinthet" megoldáshoz akkor jutunk, ha a várakozó belépési szándékokat nyilvántartjuk, és a belépések ütemezését meghatározottá tesszük.
26. Adja meg a szemafor primitív m!veleteinek definícióját! P(s): while s<1 do üres_utasítás; s:=s-1; V(s): s:=s+1;
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatFolyamatokEgyuttmukodese?skin=print.pattern
Page 4 of 7
OpreVazlatFolyamatokEgyuttmukodese < Infoalap < VIK wiki
2008.04.07. 21:13
Fontos, hogy a P(s) m!velet is eleminek, atominak számít -> oszthatatlan. -- Olthyer - 2007.01.21
27. Hogyan alkalmazható a szemafor a precedencia illetve a kölcsönös kizárás megvalósítására? Ezek megvalósítására a bináris szemafor alkalmas: Kölcsönös kizárásra: 1 kezd"érték! bináris szemafort használunk, amelyre a kritikus szakaszba belépni kívánó folyamat P m!veletet, a kritikus szakaszból kilépni kívánó V m!veletet hajt végre. Precedencia megvalósításához: 0 kezd"érték! bináris szemafor használható. Az el"bb végrehajtandó m!veletet követ"en a folyamat V m!veletet hajt végre a szemaforra, a másik folyamat pedig a kés"bb végrehajtandó m!velet el"tt P m!veletet.
28. Szemaforok felhasználásával írjon olyan programrészletet (például eljárást), amely lehet"vé teszi N (el"re adott konstans) folyamat randevúját, azaz az összes folyamat bevárja egymást. Az ötlet: minden folyamathoz rendeljünk egy szemafort -(N-2) kezd"értékkel. Egy folyamat csak akkor tud továbblépni, ha az összes többi N-1 folyamat már megnövelte az adott folyamat szemaforját. Ilyenkor a szemafor értéke 1, tehát lefoglalható. init: S_1,S_2, ..., S_N = -(N-2) 1. . . V(S_2) V(S_3) . . V(S_N) P(S_1) . .
2. . . V(S_1) V(S_3) . . V(S_N) P(S_2) . .
...
... ...
... ...
N. . . V(S_1) V(S_2) . . V(S_N-1) P(S_N) . .
29. Egy laktanyát "rség "riz, az "rség minden tagja (folyamat) tudja, hogy "rhelyét csak akkor hagyhatja el, ha a váltás, a következ" "r megérkezett. Szemaforokat használva írja meg az "rségváltás lebonyolításának algoritmusát! KIDOLGOZÁSRA VÁR. -- Olthyer - 2007.01.21.
30. Van N (el"re adott konstans) folyamatunk, mindegyikük tudja a saját sorszámát. Szemaforok felhasználásával írjon olyan Waitformyturn(i: INTEGER) eljárást, amelyet ha az egyes folyamatok a saját sorszámukkal meghívják, akkor onnan a sorszámuk szerinti sorrendben lépnek ki, azaz egy folyamat az eljáráson belül várakozik mindaddig, amíg az összes nála kisebb sorszámú folyamat ki nem lépett ebb"l az eljárásból! KIDOLGOZÁSRA VÁR. -- Olthyer - 2007.01.21.
31. Hasonlítsa össze a szemafor m!veleteit az er"forrás-, illetve az eseményszinkronizációs eszközökkel! Er"forrás, mint szinkronizációs eszköz: logikai objektum, melyet egy folyamat lefoglalhat és felszabadíthat. A lefoglalás és felszabadítás között a folyamat kizárólagosan használhatja az er"forrást, vagyis arra a szakaszára és más folyamatok ugyanezen er"forrásra vonatkozó foglalási szakaszaira kölcsönös kizárás valósul meg. A Lefoglal(er"forrás) és a Felszabadít(er"forrás) m!veletek egyenérték!ek egy S bináris szemaforra kiadott P(S) és V(S)
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatFolyamatokEgyuttmukodese?skin=print.pattern
Page 5 of 7
OpreVazlatFolyamatokEgyuttmukodese < Infoalap < VIK wiki
2008.04.07. 21:13
m!veletekkel. Esemény, mint szinkronizációs eszköz: pillanatszer! történés, amelyre folyamatok várakozhatnak. Az esemény bekövetkezése valamennyi rá várakozó folyamatot továbbindítja. Az eseménnyel így egy összetett precedencia valósítható meg, ahol több, különböz" folyamatokban elhelyezett m!veletre ugyanazt az el"zményt írjuk el". Két folyamat esetén egy esemény jelzése és az arra való várakozás egyenérték! egy szemaforra kiadott V, illetve P m!veletekkel. Több folyamat esetén lényeges különbség, hogy a szemaforra kiadott V m!velet hatására csak egyetlen várakozó folyamat indulhat tovább, míg egy esemény bekövetkezése valamennyi várakozó folyamatot továbbindítja. Míg a szemafor és az er"forrás felszabadítása az objektum állapotában meg"rz"dik akkor is, ha nem várnak rá, és egy kés"bbi foglalás várakozás nélkül sikeres lesz, addig az esemény jelzése általában hatástalan, ha nincs rá várakozó, csak a várakozás megkezdése után bekövetkez" esemény indít tovább folyamatot.
32. Miért kell az er"forrásokhoz várakozási sorokat létrehozni? Felmerült annak az igénye, hogy a választás (továbbindítás) meghatározott algoritmus szerint történjen. Ennek megoldása a várakozó folyamatok sorbállítása, és ütemezett továbbengedése. A szemaforokhoz és er"forrásokhoz így várakozási (ütemezési) sorokat rendelhetünk, melyeket a rendszer meghatározott ütemezései algoritmus szerint kezel.
33. Lazán csatolt rendszerekben az egymással kommunikáló folyamatok milyen különböz" megnevezési módszereket használhatnak? Milyen paramétereket használnak az üzenetküldés (send) és az üzenetfogadás (receive) parancs hívásakor a különböz" módszerek alkalmazása esetén? Direkt megnevezés: send(x, P2); receive(y, P1) Indirekt megnevezés: send(x, L); receive(y, L) //L a postaláda Aszimetrikus megnevezés: send(x, P2); receive(y) //kapu a fogadó oldalon Üzenetszórás: send(x, mindenki); receive(y)
34. Üzenetváltásos modell esetén milyen módszereket használnak a kommunikációs m!veletek helyességének visszajelzésére? állapotkód visszaadása (értéke a helyes végrehajtás ill. hibakódok lehetnek) hiba-megszakítás (logikai processzor szinten)
35. Milyen konzisztencia feltételt kell betartani a küld parancs megvalósításakor? Amennyiben nincs hibajelzés, az elküldött üzenetet tartalmazó terület a küld" folyamat saját memóriájában a Küld befejez"dése után - akár a következ" utasítással - felülírható kell, hogy legyen. Ennek nem szabad hatással lenni az elküldött üzenetre.
36. Milyen megvalósítások alkalmazhatók a küld illetve a fogad parancsoknál fellép" várakozás kezelésére? Küld m!velet várakozása: a helyzet ahhoz hasonló, hogy tértivevényes levelet küldünk valakinek, és addig nem lépünk tovább, amíg a tértivevény aláírva vissza nem érkezett. ( Nem lehet, hogy itt arra gondol, hogy megvárja (szimmetrikus) vagy nem várja meg (aszimmetrikus) a kézbesítés eredményét? -- Olthyer - 2007.01.25.) Fogad: várakozást okozhat, ha még nem érkezett üzenet.
37. Milyen járulékos mellékhatásokat okoznak a kommunikációs m!veletek a rendszer átmeneti tárolójának függvényében? tárolás nélküli átvitel: a kommunikációs rendszer csak közvetít, ilyenkor a két folyamat küld és fogad utasításának randevúja érvényesül véges kapacitású tároló: ugyanazon üzenet elküldésének meg kell el"znie az üzenet fogadását, tehát ezen m!veletekre a precedencia érvényesül, rövid távú szinkronizációs hatás magának a tárolónak a kezelésére vonatkozóan, itt kölcsönös kizárásnak kell történnie, ezen kívül üres tároló esetén a fogadó, tele tároló esetén a küld" várakozik. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatFolyamatokEgyuttmukodese?skin=print.pattern
Page 6 of 7
OpreVazlatFolyamatokEgyuttmukodese < Infoalap < VIK wiki
2008.04.07. 21:13
végtelen kapacitású tároló: a küld" folyamat sohasem várakozik, egyebként a véges kapacitású tárolóra elmondottak érvényesek. vissza OpRe
Revision: r1.15 - 2007.01.25 - 02:25 - KissAnett Infoalap > OpRe > OpreVazlatFolyamatokEgyuttmukodese Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatFolyamatokEgyuttmukodese?skin=print.pattern
Page 7 of 7
OpreVazlatHoltpont < Infoalap < VIK wiki
2008.04.07. 21:13
vissza: OpRe
A holtpont - Deadlock A holtpont definíciója A holtpont kialakulásának feltételei Er!forrásfoglalási gráf (resource allocation graph) A holtpont észlelése többpéldányos er!forrás esetén Egypéldányos er!források esetén Holtpontkezelési stratégiák Kérdések 7.2 38. Definiálja a holtpont fogalmát! 39. Milyen problémákat okoz egy rendszerben a holtpont kialakulása? 40. Ismertesse az er!forrásokért verseng! rendszerekre vonatkozó rendszermodellt! 41. Ismertesse a holtpont kialakulásának feltételeit! Mikor elégségesek ezek a feltételek? 42. Hogyan követhet! nyomon a holtpont kialakulása az er!forrás-foglaltsági gráf segítségével? 43. Az operációs rendszer milyen általános eljárásokat használhat a holtpont kezelésére? 44. Milyen tényez!kt!l függ, hogy egy rendszerben milyen gyakorisággal következhet be holtpont? 45. Mit jelent a hotpont elkerülése? 46. Mondjon egy-egy példát a holtpont megel!zésnél használt, a kialakulás különböz! feltételeit figyelembe vev! algoritmusokra! 47. Milyen algoritmust javasolt Coffman a holtpont észlelésére? 48. Mit nevezünk a holtpont szempontjából biztonságos állapotnak? 49. Mi a bankár algoritmus szerepe a holtpont-probléma megoldásában? 50. Hogyan kombinálhatóak a holtpont kezelésére alkalmazott technikák? 51. Mikor alakulhatnak ki kommunikációs holtpontot?
A holtpont - Deadlock A holtpont definíciója Egy rendszer folyamatainak H halmaza holtpontban van, ha a H halmaz valamennyi folyamata olyan eseményre vár, amit csak egy másik H halmazbeli folyamat válthat ki.
A holtpont kialakulásának feltételei Kölcsönös kizárás : Vannak olyan er!források a rendszerben, melyeket a folyamatok csak kizárólagosan használhatnak. Foglalva várakozás : legyen olyan folyamat mely lefoglalva tart er!forrásokat, miközben más er!forrásokra várakozik. Nincs er!szakos er!forrás-elvétel: a folyamatok addig birtokolják az er!forrást, míg saját jószántukból fel nem szabadítják azokat. Körkörös várakozás : Létezik a rendszerben egy olyan folyamatsorozat, melyben minden folyamat az utána következ! folyamat által foglalt er!forrásra vár, a sorozat utolsó tagja pedig a sorozat els! tagjára.
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHoltpont?skin=print.pattern
Page 1 of 5
OpreVazlatHoltpont < Infoalap < VIK wiki
2008.04.07. 21:13
Er!forrásfoglalási gráf (resource allocation graph) Körök jelölik a folyamatokat, téglalapok az er!forrásokat. Ha egy folyamatból irányított él indul egy er!forrásba akkor az adott er!forrásra vár. Ha egy er!forrásból irányított él indul egy folyamatba akkor az er!forrás az adott folyamathoz van hozzárendelve. Az er!forrásokba pöttyök vannak rajzolva, a pöttyök száma jelzi, hogy hány példányban áll az er!forrás rendelkezésre. A megfelel! irányított köröket megtalálva fedezhetjük fel a holtpontot.
A holtpont észlelése többpéldányos er!forrás esetén Minden egyes er!forráshoz készíthet! egy táblázat, melynek egy foglal és egy kér oszlopa van, sorait a rendszer folyamatai adják. Értelemszer"en a foglal oszlop mondja meg, hogy melyik folyamat hány er!forrást birtokol, a kér oszlop pedig azt, hogy hány er!forrásra vár. Amely folyamatoknál a kér oszlopban 0 van: az adott folymat fut. Feltételezzük, hogy a futó folyamatok befejez!dnek, megnézzük, hogy ekkor mennyi er!forrás szabadul fel (a véget ért folyamat foglal oszlopa) Megnézzük hogy az így rendelkezésre álló er!források melyik folyamatnak elég (kér oszlop) és feltesszük, hogy sikeresen lefut ez is stb... Ha maradnak végül olyan folyamatok, melyek nem tudnak lefutni akkor azok holtpontban vannak
Egypéldányos er!források esetén Ha az er!forrásfoglalási gráfban van irányított kör, akkor holtpontban vannak a kört alkotó folyamatok.
Holtpontkezelési stratégiák Nem veszünk tudomást a holtpontról (strucc algoritmus) Ha a holtpont kialakulásának valószín"sége kicsi, a rendszer újraindításának nincsenek kritikus következményei, akkor megérheti ezt a megoldást választani. Észrevesszük, ha a holtpont kialakult és megpróbáljuk feloldani Vagy az er!forrást vesszük el a folyamatoktól, vagy kil!jük a folyamatokat. Mindkett! nagy kárt okozhat, mert a kil!tt folymatokhoz tartozhatnak megnyitott fájlok, stb. Védekezünk a holtpont kialakulása ellen Megel!zzük a holtpont kialakulását: olyan rendszert tervezünk, ahol nem teljesülnek a holtpont feltételei, így elvileg sem lehet holtpont. Kölcsönös kizárás minimálisra csökkentése: lehet!leg többpéldányos er!forrásokat alkalmazunk, ahol ez nem lehetséges, ott a hozzáférést megpróbáljuk oszthatatlan m"veletté tenni. Foglalva várakoztatás megszüntetése: Ha minden folyamat betartja a szabályt, miszerint az egyidej"leg szükséges valamennyi er!forrását egyetlen rendszerhívással kéri el, akkor elkerülhet! a foglalva várakoztatás. Ennek ára van: az er!forrás-kihasználtság romlása. Nincs er!szakos er!forráselvétel kiküszöbölése: Ha menthet! állapotú er!forrásaink vannak, akkor megtehetjük, hogy elvesszük egy adott folyamat er!forrását és egy másiknak adjuk, majd annak lefutása után visszaadjuk a régi állapotában az er!forrást az els! folyamatnak. Körkörös várakozás megakadályozása: A folyamatok megegyeznek az er!források sorszámozásában, minden folyamat csak nagyobb sorszámú er!forrást igényelhet azoknál az er!forrásoknál melyeket birtokol. Ekkor biztosan nem alakulhat ki kör. A holtpont elkerülése - bankár algoritmus A megel!zés egy dinamikus formája, minden kérés el!tt ellen!rizzük, hogy az adott kérés vezethet-e holtpont kialakulásához. Ehhez a holtpont felderítésére alkalmazott táblázatot úgy kell kib!víteni, hogy minden folyamathoz felvesszük, hogy hány er!forrást kérhet maximálisan, valamint a max.kérés és a foglal különbségeként el!áll a https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHoltpont?skin=print.pattern
Page 2 of 5
OpreVazlatHoltpont < Infoalap < VIK wiki
2008.04.07. 21:13
még kérhet oszlop is. Ezek után csak akkor adjuk oda az er!forrást egy folyamatnak, ha marad annyi szabad er!forrás, ami elegend! valamely másik folyamat lefutásához abban az esetben is, ha az max. er!forrást kér, valamint lefutása után több er!forrás lesz szabad, mint a kiindulási állapotban (foglal nem 0). vissza OpRe -- Merlin - 2005.05.03.
Kérdések 7.2 TK446.oldal
38. Definiálja a holtpont fogalmát! Egy rendszer folyamatainak egy H halmaza holtponton van, ha a H halmazba tartozó valamennyi folyamat olyan eseményre vár, amelyet csak egy másik, a H halmazba tartozó folyamat tudna el!idézni.
39. Milyen problémákat okoz egy rendszerben a holtpont kialakulása? A holtpont egyrészt azon funkciók kiesését okozza, amelyek befagyott folyamatokat látnak el, másrészt csökkenti a rendszer teljesít!képességét, hiszen a befagyott folyamatok által lekötött er!forrásokhoz a többi folyamat sem tud hozzájutni.
40. Ismertesse az er!forrásokért verseng! rendszerekre vonatkozó rendszermodellt! A rendszerben véges számú és típusú er!forrást kell felosztani az értük verseng! folyamatok között. Az er!források tipusokba sorolhatók (egypéldányos és többpédányos er!forrástípusok). Egy folyamat számára közömbös, hogy azonos típuson belül melyik er!forráspédányokat használja. Az er!források lehetnek megosztottan használhatók (állapota menthet! és visszaállítható = preemptable) illetve kizárólagosan használhatók (non-preemptable). A folyamatok az er!források használata során a következ! lépéseket hajtják végre: Igénylés (Kér rendszerhívással) Használat Felszabadítás
41. Ismertesse a holtpont kialakulásának feltételeit! Mikor elégségesek ezek a feltételek? Kölcsönös kizárás Foglalva várakozás Nincs er!szakos er!forráselvétel Körkörös várakozás Ha minden er!forrás egypéldányos, és az er!forráslefoglalási gráfon kimutatható irányított kör, akkor a 4. feltétel nemcsak szükséges, de elégséges is.
42. Hogyan követhet! nyomon a holtpont kialakulása az er!forrásfoglaltsági gráf segítségével? Kétféle csomópont: er!forrás és folyamat Kétféle él: kérés él, foglalás él Holtpont kialakulása: irányított kör. Egypéldányos er!források esetén irányított kör = holtpont, többpéldányos er!források esetén további elemzés szükséges.
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHoltpont?skin=print.pattern
Page 3 of 5
OpreVazlatHoltpont < Infoalap < VIK wiki
2008.04.07. 21:13
43. Az operációs rendszer milyen általános eljárásokat használhat a holtpont kezelésére? strucc algoritmus (nem vesz róla tudomást) holtpont feloldása - melyik holtpontban érintett folyamatot számoljuk fel? menthet! állapotú er!források elvétele, minél kevesebb folyamat felszámolása, folyamatok prioritása, már elvégzett munka, folyamamtok visszaállíthatóságának biztosítása holtpont megel!zése
44. Milyen tényez!kt!l függ, hogy egy rendszerben milyen gyakorisággal következhet be holtpont? Minél többféle típusú, de típusonként minél kevesebb er!forrásért minél több folyamat verseng, a holtpont kialakulásának kockázata annál nagyobb. Minél hosszabb ideig tartják lefoglalva a folyamatok az er!forrásokat, és minél inkább alkalmazzák a "rákérést", azaz újabb er!források igénylését a már használtak mellé, a holtpont kialakulásának valószín"sége ugyancsak annál nagyobb.
45. Mit jelent a hotpont elkerülése? A rendszer minden er!forrásigény kielégítése el!tt mérlegeli, hogy nem vezet-e holtpontveszélyre a kérés teljesítése, más szóval fennmarad-e a biztonságos állapot.
46. Mondjon egy-egy példát a holtpont megel!zésnél használt, a kialakulás különböz! feltételeit figyelembe vev! algoritmusokra!
Kölcsönös kizárás: kiküszöbölésre nincs esély, csökkenteni lehet a kialakulás valószín"ségét kizárólagosan használt er!források számának csökkentéséve, kizárólagos használati szakaszok oszthatatlan m"veletként történ! megvalósításával (fájlonkénti nyomtatás) Foglalva várakozás: minden folyamat egyszerre kéri el az összes szükséges er!forrást Nincs er!szakos er!forráselvétel: menthet! állapotú er!források esetén teljesen kiküszöbölhet!, a kér! folyamat büntetése (ha várni kell, az összes birtokolt er!forrást elveszti), ha nem elégíthet! ki a szabad készletb!l, akkor a már várakozó folyamatoktól veszi el. Körkörös várakozás: Minden folyamat csak olyan er!forrást kérhet, amelynek prioritása nagyobb azoknál, mint amik jelenleg a birtokában vannak.
47. Milyen algoritmust javasolt Coffman a holtpont észlelésére? Az algoritmus egy GY#JT$ nev", M elem" vektort használ a továbbléptethet! folyamatoktól visszakapott er!források akkumulálására, valamint egy TOVÁBB nev", N elem" logikai változókból álló vektort azoknak a folyamatoknak a megjelölésére, amelyeket továbbléptethet!nek talált. 1. Kezd!érték beállítása: GY#JT$:=SZABAD TOVÁBB[i] = hamis minden i-re (i=1,2..N) 2. Továbblépésre esélyes folyamatok keresése: Keress i-t, amelyre (TOVÁBB[i] = hamis ÉS KÉR[i] <= GY#JT$) Ha van ilyen i, akkor GY#JT$:=GY#JT$+FOGLAL[i] TOVÁBB[i] := igaz ismételd a 2. lépést Egyébként folytasd a 3. lépéssel 3. Kiértékelés: Ha TOVÁBB[i] = igaz minden i-re (i=1,2..N), akkor NINCS HOLTPONT Egyébként https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHoltpont?skin=print.pattern
Page 4 of 5
OpreVazlatHoltpont < Infoalap < VIK wiki
2008.04.07. 21:13
A Pi folyamatok, amelyekre TOVÁBB[i] = hamis, HOLTPONTON VANNAK
48. Mit nevezünk a holtpont szempontjából biztonságos állapotnak? Nem vezet holtpontveszélyre a kérés teljesítése.
49. Mi a bankár algoritmus szerepe a holtpont-probléma megoldásában? Az algoritmus arra ad választ, hogy egy kiválasztott folyamat várakozó kérése kielégíthet!-e úgy, hogy a rendszer biztonságos állapotban maradjon. Márpedig, ha biztonságos állapotban van egy rendszer, akkor holtpontveszély nincs.
50. Hogyan kombinálhatóak a holtpont kezelésére alkalmazott technikák? A rendszer er!forrásai osztályokba sorolhatók. Az egyes osztályok sorszámozottak, a folyamatok betartják, hogy különböz! osztályokhoz tartozó er!forrásokat csak osztálysorrend szerint foglalnak le. Az egyes osztályokon belül más-más megel!zési vagy elkerülési stratégia is használható..
51. Mikor alakulhatnak ki kommunikációs holtpontot? Kliens-szerver architektúra esetén el!fordulhat (kliensek és szerverek is folyamatok), hogy a folyamat egyik kapcsolatában ügyfél, egy másikban azonban szolgáltató. El!fordulhat, hogy az ügyfél-kiszolgáló lánc záródik, tehát egy kiszolgálást kér! folyamat a választ csak akkor kaphatja meg, ha a közben -esetleg több áttételen keresztül- hozzá, mint kiszolgálóhoz érkez! kérésre válaszol. Ha a folyamat erre nincs felkészítve, holtpont alakul ki.
Revision: r1.11 - 2006.05.20 - 18:41 - SzilagyiPeter Infoalap > OpRe > OpreVazlatHoltpont Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHoltpont?skin=print.pattern
Page 5 of 5
OpreVazlatForkJoin < Infoalap < VIK wiki
2008.04.07. 21:13
vissza: OpRe
Párhuzamosság leírása TK105. A végrehajtást precedenciagráffal írhatjuk le. Blabla Ennek egyik megvalósítása a fork és a join. fork C: a végrehajtás kettéágazik, az egyik szál a következ! utasításra lép, a másik pedig a C cimkére ugrik (goto). join N: N darab szál "bevárja egymást". A join utasításra érve a szál futása megáll, mígnem N darab szál megáll, ekkor az N. továbbfut, a többi megsemmisül.
Példa > > > > > > > > > > > > > > >
Sziasztok! A fork és join alkalmazásával akadt egy kis problémánk, konkrétan az nem tiszta, hogy a két szál hogyan fog "összeérni". Ha vki vágja, legyenszives irjon egy forkos programot az alábbira: precedencia: U1->U2 U1->U3 U2->U4 U3->U4 Mi fogja biztosítani hogy az U4 csak akkor fut le, ha U2 és U3 is lefutott? köszi
begin: U1 fork C2 U3 goto C4 C2: U2 goto C4 // ez itt elhagyható C4: join 2 U4 end
-- SzaMa - 2005.05.05. vissza: OpRe
Revision: r1.2 - 2005.05.05 - 20:02 - HederMihaly Infoalap > OpRe > OpreVazlatForkJoin Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatForkJoin?skin=print.pattern
Page 1 of 1
OpreVazlatVirtualisgepKerdesek < Infoalap < VIK wiki
2008.04.07. 21:14
vissza OpRe
Kérdések 7.2/53-70 53. Ismertesse a kiéheztetés fogalmát! A operációs rendszer milyen eljárásokat használhat kiéheztetés elkerülésére? Éhezés akkor van, ha a folyamat nincs ugyan holtponton, de nincs rá garancia, hogy véges id!n belül továbbindulhasson. Kiéheztetés elkerülésére tisztességes ütemezési stratégiákat lehet alkalmazni (pl. FIFO)
54. Mutasson példát, mikor fordulhat el! kiéheztetés! Statikusan rögzített prioritások esetén el!fordulhat kiéheztetés.
55. Ismertesse a termel!-fogyasztó problémát! A termel! saját ritmusában és algoritmusa szerint el!állít valamit (pl. adatokat), amit egy raktárba tesz (Buffer). A fogyasztó saját ritmusában, saját algoritmusa szerint m"ködve felhasználja az el!állított termékeket, a soron következ!t mindig a raktárból véve el!. A termel! és a fogyasztó sebességére nincs megkötésünk. Mivel a Buffer kapacitása véges, elvárjuk, hogy ha megtelt a Buffer, a Termel! várjon a következ! elem betételével, amíg feleszabadul egy hely, illetve ha üres, a Fogyasztó várjon, amíg érkezik egy elem. Ugyancsak elvárjuk, hogy az elemeket a Fogyasztó ugyanabban a sorrendben dolgozza fel, mint ahogy a Termel! el!állította azokat.
56. Milyen kérdést kell az írók-olvasók probléma esetén megoldani? egyidej" olvasásokat tetsz!leges számban megengedünk írás és olvasás nem folyhat egyidej"leg több írás nem folyhat egyidej"leg
57. Mi az étkez! filozófusok problémája? 5 filozófus egy kerekasztalnál, minden két szomszédos között egy pálca. Enni csak két pácával tud. Esznek, gondolkoznak, esznek, gondolkoznak... Hogyan kell viselkedniük a fiozófusoknak, hogy ne kerüljenek megoldhatatlan probléma elé, hogy egyikük sem tud enni, sem gondolkozni) B!vebben...
58. Milyen probléma merül fel adatfolyamok illesztése esetén? Egy beérkez!, sajátosan struktúrált és ütemezett adatfolyamot egy más struktúrájú és ütemezés" adatfolyamként kell továbbítani. Hogyan írhatunk olyan programot, amely maximális sebességgel tudja m"ködtetni mindkét oldalon a készülékeket?
59. Mi a bels! biztonság? Bels! biztonság = védelem. Védelemnek nevezzük az eljárásoknak és módszereknek azon rendszerét, amely lehet!séget teremt a számítógép er!forrásainak programok, folyamatok illetve felhasználók által történ! elérésének szabályozására.
60. Mi a különbség a statikus és a dinamikus védelmi tartományok között? Statikus védelmi tartományok esetén az egy folyamathoz tartozó védelmi tartomány a folyamat végrehajtása során nem változik, míg dinamikus védelmi tartományok esetén igen. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatVirtualisgepKerdesek?skin=print.pattern
Page 1 of 4
OpreVazlatVirtualisgepKerdesek < Infoalap < VIK wiki
2008.04.07. 21:14
végrehajtása során nem változik, míg dinamikus védelmi tartományok esetén igen.
61. Mi a hozzáférési mátrix? A védelmi tartományokat legegyszer"bben táblázatos formában, az ún. elérési mátrix segítségével ábrázolhatjuk.
62. Mi a globális tábla? A globális tábla a legegyszer"bb tárolási mód. Egyszer"en a rendszer tárolja a hármasokat, vagyis egy listába gy"jti az elérési mátrix kitöltött elemeit.
63. Mi a hozzáférési lista? Ennél a módszernél az elérési mátrixot lényegében az oszlopai mentén feldaraboljuk, és az oszlopok tartalmát tároljuk. Van egy listánk a rendszerben lév! összes objektumról, és minden objektumhoz tároljuk az hozzá tartozó párokat.
64. Mi a jogosítvány lista? Ennél a módszernél a mátrixot a sorai mentén daraboljuk fel, és a sorok tartalmát tároljuk. A rendszerben létezik egy lista a védelmi tartományokról, és minden tartományhoz tároljuk a hozzá tartozó párokat.
65. Mit takar a küls! biztonság fogalma? Annak mértéke, hogy mennyire lehetünk biztosak a számítógépes rendszer, illetve a rendszerben tárolt adatok sérthetetlenségében.
66. Mi az információ szivárgás? 67. Milyen fenyegetések léphetnel fel elosztott rendszerek küls! biztonságával kapcsolatban? Adatok illetéktelen olvasása, adatok illetéktelen módosítása, adatok tönkretétele.
68. Milyen támadási módszerek léteznek elosztott rendszerek küls! biztonságával kapcsolatban? A számítógépes rendszerhez történ! jogosulatlan hozzáférés els! sorban a jelszó kitalálásával lehetséges. Kihallgatás (begépeléskor, kódolatlan jelszó küldésekor a hálózaton keresztül). Próbálgatás személyes adatokból generált kulcsszavakkal (név, loginnév, családtag neve, születési dátum stb. felhasználásával). Szisztematikus támadás (a támadó egy szótárból módszeresen végigpróbálgatja az összes benne szerepl! szót). Ezt a támadást nagyban segítheti, ha valamilyen módon ismertté válik a jelszó hossza, és ez a hossz rövid. Nehezen megfejthet! jelszó választásának kötelezése arra ösztönözi a felhasználót, hogy a jelszavát valamilyen formában külön tárolja (például papíron). Ez igen veszélyes lehet, hiszen ebben az esetben a védtelen helyen tárolt jelszó könnyedén illetéktelen kezekbe kerülhet. -- Olthyer - 2007.01.22
69. Mi a "féreg"? A féreg (worm) a vírustól annyiban különbözik, hogy kódját nem írja be a lemez boot szektorába, vagy valamely hasznos programba (vírusgazda), hanem önálló futtatható fájlban tartalmazza. A trójai programoktól abban különbözik, hogy nem akarja magát hasznos programnak álcázva futtatni a https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatVirtualisgepKerdesek?skin=print.pattern
Page 2 of 4
OpreVazlatVirtualisgepKerdesek < Infoalap < VIK wiki
2008.04.07. 21:14
programoktól abban különbözik, hogy nem akarja magát hasznos programnak álcázva futtatni a felhasználóval, hanem képes a hálózatban különböz! módszerekkel magát tovább terjeszteni. A szaporodás során természetesen gondoskodik önmaga elindulásáról a trójainál bemutatott módokon. Találkozhatunk azonban olyan féreggel is, amelyik csak az els! elinduláskor végzi tevékenységét, ez id! alatt küldi magát el a lehetséges célpontok felé. -- Olthyer - 2007.01.21.
70. Mi a "trójai faló"? Az elnevezés a közismert ókori történetr!l kapta a nevét, amely szerint a görögök a jól védelmezett Trója városát egy furfangos csellel vették be. A számítógépes trójai faló (Trojan Horse) is hasonlóan m"ködik. A trójai programot jóindulatú alkalmazásnak álcázzák, miközben ártó kódot tartalmaz. A trójai a felszínen hasznos vagy szórakoztató funkciókat mutat, miközben a háttérben rejtve kártékony m"veleteket végez az áldozat gépén. Miután a trójai sikeresen elindult a megtévesztett felhasználó aktív közrem"ködésével, gyorsan "elrejt!zik". A trójai munkakönyvtára általában a rendszermappa eldugott alkönyvtárában található, amit egy átlagos felhasználó nem szokott böngészni. Az els! indulás után gyakori, hogy a trójai átnevezi magát, így egy megtéveszt! néven fog futni, amit az áldozat rendszerfájlnak gondol. Néhány fejlett trójai képes úgy futni, hogy nem látszik a futó programok közt (tasklist). A bejuttatott trójai egyes esetekben portot nyit az áldozat gépén, amely várja a kapcsolódást egy távoli gépr!l. Ezekben az esetekben, amikor a bejutott program lehet!vé teszi a támadónak a megtámadott gép távoli irányítását, már hátsó ajtóról (backdoor) beszélünk. Napjaink legelterjedtebb trójai programjai éppen a hátsó ajtót nyitó, rejtett távoli hozzáférést biztosító programok (RAT: Remote Access Trojan). Minden amat!r támadó ilyen trójait akar beszerezni és m"ködtetni az áldozat gépén. Miért? Mert ez a program teljes hozzáférést biztosít a feltört gépen, hozzáfér a merevlemezen tárolt összes állományhoz, programokat tud futtatni, állományokat képes le- és feltölteni, egyszóval a betör! ezzel az eszközzel teljes kontroll alatt tudja tartani áldozata számítógépét. Néhány trójai esetében a szerver csomag a beépített számos funkció miatt nagy méret", ezért ennek bejuttatását egy kis méret", speciálisan erre a feladatra tervezett program (dropper) végzi. A betörés után a károkozás mértéke csak a betör! szándékaitól függ. Vannak támadók, akik rombolás céljából telepítenek trójait áldozataik gépére, ami gyakran dokumentumok, adatbázisok, levelek végleges elvesztését jelenti. Mások csak rémisztgetni akarják áldozataikat, üzeneteket megjelenítve a képerny!jén. El!fordulhat, hogy a bejuttatott program kapcsolódik egy webhelyre, és onnan tölti le a parancsokat tartalmazó fájlt. Ez azért hatékonyabb módszer, mert ha a bels! hálózatról elérhet! az Internet, akkor a t"zfal nem tudja kisz"rni, hogy böngész!, vagy esetleg a kártékony program végez webes kommunikációt. A vírusoknál megismert indulási mód, miszerint a vírus indítását az !t hordozó vírusgazda végzi el, ezeknél az önálló programoknál nem m"ködik. Ezek a programok egyéb módon oldják meg az elindulásukat, mégpedig úgy, hogy a megfert!zött gépen futó operációs rendszerre bízzák a dolgot, befészkelve magukat az automatikus indítási folyamatok közé. Windows rendszeren ezek a következ!k:
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatVirtualisgepKerdesek?skin=print.pattern
Page 3 of 4
OpreVazlatVirtualisgepKerdesek < Infoalap < VIK wiki
2008.04.07. 21:14
Autoexec.bat (DOS –os indítás) Autostart folder (Automatikus elindulást biztosító könyvtár – nyelvfügg!): C:\windows\start menu\programs\startup
Win.ini (win3.1, win95,win98, NT, 2K, XP beállító fájl bejegyzései): [windows] load=trojan.exe run=trojan.exe
System.ini (win3.1, win95,win98, NT, 2K, XP beállító fájl bejegyzései): [boot] Shell=Explorer.exe trojan.exe
Registry (szerkesztése a regedit nev" alkalmazással lehetséges), a legáltalánosabb indítási helyek: [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run] trojan=c:\trojan.exe [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] trojan=c:\trojan.exe [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices] trojan=c:\trojan.exe [HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\KeyName] trojan=c:\trojan.exe
A legutolsóba Active-X kompoensként írja be magát, vagyis hamarabb indul, mint a „RUN” bejegyzések! Forrás: www.cert.hu/dmdocuments/MTA1_print.pdf -- Olthyer - 2007.01.21. -- SoTi - 2005.06.01. vissza OpRe
Revision: r1.9 - 2007.01.22 - 03:44 - KissAnett Infoalap > OpRe > OpreVazlatVirtualisgepKerdesek Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatVirtualisgepKerdesek?skin=print.pattern
Page 4 of 4
OpreVazlatArchitektura < Infoalap < VIK wiki
2008.04.07. 21:16
vissza: OpRe
A számítógép-architektúra 128-136. oldal
Neumann-architektúra Bekapcsolási folyamat A számítógép bekapcsolásakor vagy újraindításakor egy indítóprogram (bootstrap program) kezd el futni: inicializálja a rendszer kezdeti állapotát betölti az operációs rendszer magját Ezutána az operációs rendszer veszi át a a vezérlést: feltérképezi és inicializálja a hardvert felépíti a rendszertáblákat (pl. megszakítási vektortábla) elindítja a rendszerfolyamatokat (ha vannak) elindítja a felhasználói bejelentkezésre váró folyamatokat (ebben az állapotban a rendszer valamilyen szoftver vagy hardver interrupt-ra vár) -- szzs - 2005.11.13.
Megszakítási rendszer
Megszakításfajták: hardvermegszakítás, rendszerhívás, hibamegszakítás A megszakítás menete: Megszakítás esetén a CPU felfüggeszti az éppen futó tevékénységét, szükség szerint elmenti a megszakított folyamat környezetét (regiszterek, verem tartalom, stb.) hogy a megszakítás lekezelését követ!en visszatérhessen a régi folyamathoz. Ezután a megszakítás okának megfelel! kiszolgáló rutin fut. Megkülönböztetjük az egy és a többszint" megszakítási rendszereket (el!bbi esetben a megszakítást követ!en nem fogad több megszakítási kérést). Utóbbi esetben a maszkregiszter segítségével állítható be, hogy adott interrupt segítségével melyek a fogadható magasabb priorítású megszakítások Az operációs rendszerek esemény-vezérelt rendszerek , azaz tétlen állnak míg nem következik be egy esemény (interrupt) -> a megszakításkezelés a számítógép-architektúrák kiemelt fontosságú részét alkotja. Megszakításkezelés megvalósítása (átalában): Egy rendszertáblában tárolják az ismert, véges számú lehetséges megszakításhoz tartozó kezel!rutin címét. A rutinok egy eljárás keretében végzik el a megszakításkezelés összes szükséges lépését
-- szzs - 2005.11.13.
I/O-struktúra
Szinkron I/O: A folyamat csak a perifériás m"velet végrehajtása után kapja vissza a vezérlést. Aszinkron I/O: A folyamat már a perifériás m"velet megindítása után visszakapja a vezérlést. Ez a hatékonyabb.
Közvetlen memória hozzáférés, DMA
DMA: Nagy sebesség" készülékek nagyobb méret" adatblokkjainak a memória és a készülék között történ! gyors átvitelére dolgozták ki. DMA m"ködése
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatArchitektura?skin=print.pattern
Page 1 of 2
OpreVazlatArchitektura < Infoalap < VIK wiki
2008.04.07. 21:16
Miután a CPU a készülékhez tartozó, megfelel! regisztereket beállította a DMA-vezérl!n, a vezérl! a pufferéb!l közvetlenül a memóriába vagy egy memóraiterületr!l a saját pufferébe tölt egy adatblokkot anélkül, hogy a CPU-t megzavarná a m"ködésben. Legfeljebb buszciklust kell "lopjon" a CPU el!l az átvitelhez. A DMA-átvitel befejez!dése után a perifériavezérl! vagy a külön DMA-vezérl! blokkonként egyetlen megszakítással jelzi a m"velet befejez!dését. -- Andi - 2005.05.05.
Tárak
A Neumann struktúrájú számítógépeknél az adatok és utasítások nincsenek megkülönböztetve, csak a környezetük alapján lehet megkülönböztetni !ket. Az információ állandó tárolására ú.n. háttértárakat kell biztosítanunk (ezek a központi memória kitersjesztésének tekinthet!k) Tárhierarchia Az adattárolókat sebességük, méretük és áruk alapján hierarchia szintekbe sorolhatjuk. Lefelé haladva csökken a bitenkénti költség, de az elérési id! növekszik. Az effektív elérési sebesség növelése céljából gyorsítótárakat (cache) alkalmaznak a f! szintek között, melyeket hardver kezeli. (TK 134/3.2 ábra)
-- Andi - 2005.05.05. -- szzs - 2005.11.13.
Védelem
CPU-védelem Operációs rendszer védelme Felhasználói programok védelme
Többprocesszoros, szorosan csatolt rendszerek Több processzor, az egyes processzorok között a kapcsolat közös er!forrásokon keresztül valósul meg. Általában közös a memória, óra és közös az operációs rendszer. Lehet homogén vagy inhomogén. Lehet szimmetrikus vagy aszimmetrikus (master-slave) A közös rendszersínhez való hozzáférést koordinálni kell. -- SoTi - 2005.05.02. vissza: OpRe
Revision: r1.7 - 2006.05.05 - 11:09 - PrieglRoland Infoalap > OpRe > OpreVazlatArchitektura Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatArchitektura?skin=print.pattern
Page 2 of 2
OpreVazlatLekepezes < Infoalap < VIK wiki
2008.04.07. 21:20
vissza: OpRe / OpreVazlatFolyamatkezeles A folyamatmodell leképezése fizikai eszközökre A m!ködés alapjai Sorállási modell Állapotmodell Egy megvalósítási séma Folyamatleíró (PCB: Process Control Block) Be-/kiviteli leírók (IOCB: Input-Output Control Block) Környzetváltás A be-/kiviteli m!veletek végrehajtása A be-/kiviteli megszakítás végrehajtása Tétlen ciklusok kiküszöbölése Kérdések 7.3 1. Mi a futásra kész állapotú folyamatok közös jellmez"je? 2. Miért lehet szükség egy operációs rendszer felügyelete alatt futó folyamatoknál felfüggesztett állapotra. Mondjon példát a felfüggesztés okára! 3. Sorolja fel, hogy egy operációs rendszerben a rendszerhívások végrehajtása milyen f"bb lépésekben zajlik. Mi a jelent"sége annak, hogy a a felhasználói programok és az operációs rendszer magja a CPU különböz" m!ködési módjában fut? 4. Rajzolja fel a folyamatok állapotátmeneti grafikonját! Mikor milyen okok hatására következhet be a futó állapotból futásra kész állapotba átmenetet? 5. Az operációs rendszerek a megszakítások kiszolgálására milyen alapvet" módszereket alkalmaznak? 6. Ismertesse a hosszú, közép- és rövidtávú ütemezés feladatát! Egy folyamat állapotátmeneti diagramján jelölje be azokat az átmeneteket, amelyek a fenti ütemezéseket jelentik! 7. Milyen szempontok alapján történhet a folyamatok hosszú távú ütemezése? 8. Ismertesse, hogy az operációs rendszer megszakítás kiszolgálása során milyen tevékenységeket hajt végre! Hogyan jelentkezik a megszakítások kiszolgálásánál a preemptív és nem preemptív ütemezés különböz"sége?
A folyamatmodell leképezése fizikai eszközökre (TK 136-147)
A m!ködés alapjai A folyamat létrejöttekor létrejön számára egy logikai memória és egy logikai processzor. A fizikai rendszerben a folyamat megkapja a memória egy részét. A fizikai processzor a folyamatok egy-egy részletének végrehajtása után átkapcsol egy másik folyamatra (Látszolag párhuzamos) A processzor egy I/O m!velet végrehajtása közben más folyamat futtatásával foglalkozhat. A folyamatok a CPU-ért és a perifériákért is versenyeznek. Az er"források jó kihasználásának feltétele, hogy egy adott id"szakban a CPU-intenzív és az I/Ointenzív folyamatok száma kiegyenlített legyen a rendszerben. Az operációs rendszer az elvégzend" feladatok végrehajtását valamilyen szempontból optimalizálni igyekszik.
Sorállási modell Korlátos er"forráskészletért verseng" folyamatok rendszerének elemzésére alkalmas. A modell számításokra is alkalmas változata valószín!ségi változókat és eloszlásfüggvényeket használ a terhelés és kiszolgálás jellemzésére. Hosszú távú ütemez": Új job-ok végrehajtásának megkezdésér"l (új folyamatok indításáról) dönt. Az elvégzésre váró munkák közül a választás szempontja, hogy a CPU-intenzív és az I/O-intenzív jobok aránya optimális legyen. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatLekepezes?skin=print.pattern
Page 1 of 5
OpreVazlatLekepezes < Infoalap < VIK wiki
2008.04.07. 21:20
jobok aránya optimális legyen. Rövid távú ütemez" (CPU-ütemez") Ez biztosan lefut, amikor egy processzorlöket befejez"dik. Középtávú ütemez": A multiprogramozás fokának megváltoztatását (azaz a rendszerben lév" folyamatok számának változtatását) végzi el, amikor a memória válik a rendszer sz!k keresztmetszetévé. A középtávú ütemez" - észlelve a memóriasz!két - egyes folyamatokat
felfüggeszt , memóriaterületüket a háttértárra menti és felszabadítja, átmenetileg kivonja "ket az er"forrásokért folytatott versengésb"l. Értelemszer!en a felfüggesztett folyamatok memóriaterületét a többi folyamat használhatja. Kés"bb, ha a terhelés csökken, a felfüggesztett folyamatok visszatölthet"k. ( ezen ütemezés ábrázolására a diagram nem alkalmas )
-- szzs - 2005.11.13.
Állapotmodell Egy folyamat végrehajtásának dinamikáját írja le egy multiprogramozott rendszerben. Állapotok Futásra kész: a folyamat a CPU-n kívül minden más er"forrást birtokol amire szüksége van. Futó: a folyamat aktuális m!veletét a CPU éppen végrehajtja. Várakozó: a folyamat nem használhatja a CPU-t, mert valamilyen feltétel teljesülésére várakozik. Állapotátmenetek Futásra kész => futó: A CPU ütemez"je kiválasztja a folyamatot végrehajtásra. Futó => futásra kész: Az oprendszer elveszi a CPU-t a folyamattól, vagy a folyamat lemond róla (együttm!köd" folyamatok) Futó => várakozó: A folyamat olyan m!veletet indít amely miatt várakozni kényszerül. Várakozó => futásra kész: A folyamat által várt esemény bekövetkezik.
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatLekepezes?skin=print.pattern
Page 2 of 5
OpreVazlatLekepezes < Infoalap < VIK wiki
2008.04.07. 21:20
-- szzs - 2005.11.13.
Egy megvalósítási séma Folyamatleíró (PCB: Process Control Block) A folyamatok kezeléséhez szükséges információkat tárolja. Tartalma: A folyamat azonosítója; állapota; szül"jének és gyerekeinek azonosítója; a folyamathoz tartozó tárterület leírása; a folyamat által használt egyéb er"források leírása; a regiszterek tartalma; a várt esemény leírása; prioritás; várakozási id"; statisztikák.
Be-/kiviteli leírók (IOCB: Input-Output Control Block) A be-/kiviteli m!veletek paramétereinek tárolására.
Környzetváltás Amikor a rendszer átkapcsol egy másik folyamatra a futó folyamat teljes állapotterét menteni kell, továbbá az új folyamat utoljára elmentett állapotterét kell el"venni.
A be-/kiviteli m!veletek végrehajtása
A folyamat kitölt egy IOCB-t. I/O rendszerhívást hajt végre. Az oprendszer hozzáláncolja az IOCB-t a folyamat PCB-jéhez a folyamat PCB-jét bef!zi a periféria sorába ha a sor üres volt, indítási parancsot ad a perifériának a folyamatot várakozó állapotba helyezi CPU-ütemezést hajt végre visszatér
A be-/kiviteli megszakítás végrehajtása
Az átvitel eredményére utaló jelzést ír a periféria várakozási sorának elején álló PCB-hez láncolt IOCB-be. A sor elején álló PCB-t kif!zi a sorból, átteszi a futásra kész sorba. Ha van még várakozó folyamat a periféria sorában, a következ" IOCB paramétereivel indítási parancsot ad a perifériának. Ha a CPU ütemezés preemptív, CPU ütemezést hajt végre. Visszatér.
Tétlen ciklusok kiküszöbölése
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatLekepezes?skin=print.pattern
Page 3 of 5
OpreVazlatLekepezes < Infoalap < VIK wiki
2008.04.07. 21:20
Kérdések 7.3 1. Mi a futásra kész állapotú folyamatok közös jellmez"je? Futásra kész állapotban vannak azok a folyamatok, amelyeknek a következ" m!veletét a CPU bármikor végrehajthatná. Másszóval a CPU-n kívül minden más er"f"rrást birtokolnak, amire m!ködésük adott szakaszában szükségük van.
2. Miért lehet szükség egy operációs rendszer felügyelete alatt futó folyamatoknál felfüggesztett állapotra. Mondjon példát a felfüggesztés okára! Felfüggesztett állapotra akkor lehet szükség, ha (pl. dinamikus lokális tárgazdálkodásnál) túl sok folyamat fut egyidej!leg és kevés a memória. Ekkor a várakozó vagy futásra kész folyamtoktól elveszi a memóriát, és ezek ett"l a pillanattól kezdve felfüggesztett állapotban vannak.
3. Sorolja fel, hogy egy operációs rendszerben a rendszerhívások végrehajtása milyen f"bb lépésekben zajlik. Mi a jelent"sége annak, hogy a a felhasználói programok és az operációs rendszer magja a CPU különböz" m!ködési módjában fut? hozzáláncolja az IOCB-t a hívó folyamat PCB-jéhez a folyamat PCB-jét bef!zi a periféria sorába ha a sor üres volt, az IOCB paramétereivel indítási parancsot ad a perifériának a folyamatot várakozó állapotba helyezi CPU-ütemezést hajt végre, azaz kiválasztja a következ" futó folyamatot és környezetet vált visszatér (az új folyamatra) Különbözo muködési mód jelent"ssége: az alkalmazói programok csak egy ponton keresztül kapcsolódnak a “hardverhez”, és ehhez rendszerhívást kell végezniük. Ekkor az operációs rendszer felügyelete alatt történik minden, tehát a privilegizált (veszélyes) utasítások csak így hajtódhatnak végre. Ezeket nem a felhasználói folyamat, hanem az operációs rendszer kezeli.
4. Rajzolja fel a folyamatok állapotátmeneti grafikonját! Mikor milyen okok hatására következhet be a futó állapotból futásra kész állapotba átmenetet? lásd kicsit fentebb.
5. Az operációs rendszerek a megszakítások kiszolgálására milyen alapvet" módszereket alkalmaznak? A küls" megszakítás egy számítógéprendszerben olyan eszköz, amelyik lehet"vé teszi, hogy a rendszer gyorsan reagáljon egy el"re nem látható id"pontban bekövetkez" küls" jelzésre. A hardver a rendszerek többségében prioritásos, vektoros megszakításkérést biztosít. Egy küls" megszakítás elfogadásakor a processzor általában m!ködési módot vált (rendszermódba kapcsol), és a megszakítási vektor által meghatározott címen folytatja a programvégrehajtást. Ezen a címen az operációs rendszer megfelel" része helyezkedik el és reagál a megszakításkérésre. Emiatt a módváltás miatt fontos, hogy a teljes megszakítási rendszert – beleértve a vektortáblákat, a megszakítási programok címkiosztását is – az operációs rendszer kezelje, mert ellenkez" esetben kijátszható lenne a védelmi rendszer. Ebb"l következik, hogy a megszakítási programok csak olyan reakciókat tartalmazhatnak, amelyek az operációs rendszer írásakor ismertek. Sok esetben hasznos lehet, ha egyes felhasználói programokat, esetleg programrészleteket megszakítás hatására tudunk végrehajtani. A rendszerek egy része ezért lehet"séget ad ilyen megoldásokra, azonban ezt áttételek beiktatásával teszi úgy, hogy a felhasználói programrészlet ne rendszermódban fusson. -- adamo - 2005.05.30.
6. Ismertesse a hosszú, közép- és rövidtávú ütemezés feladatát! Egy folyamat állapotátmeneti diagramján jelölje be azokat az átmeneteket, amelyek a fenti ütemezéseket jelentik! https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatLekepezes?skin=print.pattern
Page 4 of 5
OpreVazlatLekepezes < Infoalap < VIK wiki
2008.04.07. 21:20
lásd kicsit fentebb. -- szzs - 2005.11.13.
7. Milyen szempontok alapján történhet a folyamatok hosszú távú ütemezése? Az elvégzésre váró munkák közül a választás szempontja, hogy a CPU-intenzív és az I/O-intenzív jobok aránya optimális legyen.
8. Ismertesse, hogy az operációs rendszer megszakítás kiszolgálása során milyen tevékenységeket hajt végre! Hogyan jelentkezik a megszakítások kiszolgálásánál a preemptív és nem preemptív ütemezés különböz"sége? Megszakítás esetén a CPU felfüggeszti az éppen futó tevékenységét, és adott helyre adja a vezérlést. A megszakításkezelés logikai lépései szerint az így elindított megszakításkezel" program szükség esetén elmenti a folyamat környezetét majd a megszakítás okának megfelel" rutin fut. Befejez"dése után visszaadja a vezérlést a korábban futott folyamatnak. -- SoTi - 2005.05.02. vissza: OpRe / OpreVazlatFolyamatkezeles
Attachment
Action
Size
Date
Who
manage
24.4 K
2005.05.31 - 18:38
SomodiTibor
a
manage
23.5 K
2005.11.13 - 20:48
SzzS
Sorállási diagram (TK 139/3.4)
manage
23.3 K
2005.11.13 - 21:23
SzzS
Állapotátmeneti diagram + ütemezés (TK 143/3.6 ábra)
allapotatmeneti_diagram.jpg sorallasi_diagram.JPG
allapotatmeneti_diagram_v2.jpg
Comment
Revision: r1.14 - 2006.05.05 - 10:59 - GruberKristof Infoalap > OpRe > OpreVazlatFolyamatkezeles > OpreVazlatLekepezes Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatLekepezes?skin=print.pattern
Page 5 of 5
OpreVazlatUtemezes < Infoalap < VIK wiki
2008.04.07. 21:20
vissza: OpRe / OpreVazlatFolyamatkezeles
Processzorütemezés Ütemezési algoritmusok összehasonlítása Ütemezési algoritmusok Egyszer! ütemezési algoritmusok Prioritásos ütemezési algoritmusok Többszint! algoritmusok Kérdések 7.3 9. Mit jelent a CPU-ütemezési algoritmusok paraméterei között a CPU-kihasználtság? 10. Mi a kapcsolat a CPU-ütemezési algoritmusok jellemzésére használt körülfordulási id" és várakozási id" között? 11. Mikor nevezünk egy ütemez"t preemptívnek? 12. Milyen paraméterek alapján lehet különböz" CPU ütemezési algoritmusokat értékelni? Definiálja a különböz" paraméterek jelentését! Hasonlítsa össze valamely fenti paraméter alapján a legrégebben várakozó (FCFS) és a legrövidebb löketidej! (SJF) algoritmusokat. 13. Ismertesse a legrövidebb löketidej! (SJF) és a legrövidebb hátralév" löketidej! (SRTF) ütemezési algoritmusokat, kiemelve a közöttük lév" lényeges különbségeket. 14. Definiálja a preemptív és a nem preemptív ütemez" közötti különbséget! Rajzoljon fel egy felfüggesztett állapotokat nem tartalmazó folyamat állapotátmeneti diagramot, és illusztrálja ezen is a preemptív és a nem preemptív ütemezo közötti különbséget! 15.Milyen szempontok alapján lehet osztályozni a folyamatok ütemezésénél megismert visszacsatolt többszint! sorokat (Multilevel Feedback Queues)? 16. Hogyan lehet a CPU-löketid"n (burst time) alapuló ütemezési algoritmusoknál a futásra kész folyamatok következ" löketidejét meghatározni? (16+1). Hogyan kerülhetö el az éhezés prioritásos ütemezés esetén? 17. Egy operációs rendszerben a következ" ... NULL 18. Melyik ütemezési algoritmus esetén a legkisebb a válaszid" szórása? 19. Mely állítások igazak a CPU-ütemezésnél használt körbeforgó algoritmusra? 20. Mely állítások igazak a preemtív ütemez" algoritmusra? 21. Mely állítások igazak a prioritásos ütemez" algoritmusokra?
Processzorütemezés (TK 147-155) A multiprogramozott operációs rendszerek alapja a CPU-ütemezés. A rövid távú ütemez" gyakran fut, tehát gyorsnak kell lennie, ezért része a kernelnek és állandóan a memóriában van. Preemptív ütemezés: Az oprendszer elveheti a futás jogát az éppen futó folyamattól, és "futásra kész" állapotúvá teheti. Közben egy másik folyamatot indíthat el. Nem preemptív ütemezés: Az operációs rendszer nem veheti el a futás jogát a folyamattól. A folyamat addig fut, amíg az általa kiadott utasítás hatására állapotot nem vált, azaz csak maga a folyamat válthatja ki az új ütemezést. (Befejez"dik, er"forrásra vagy eseményre vár, lemond a futásról) Ütemezés következhet be: a futó folyamat befejez"dik (biztosan környezetváltással jár) egy folyamat felébred (lehet környezetváltás) a futó folyamat várakozni kényszerül (biztosan környezetváltással jár) a futó folyamat önként lemond a futás jogáról (lehet környezetváltás) https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUtemezes?skin=print.pattern
Page 1 of 5
OpreVazlatUtemezes < Infoalap < VIK wiki
2008.04.07. 21:20
Maga az ütemezés úgy történik, hogy az ütemez" valamilyen algoritmus szerint kiválaszt egy futásra kész folyamatot a futásra kész sorból.
Ütemezési algoritmusok összehasonlítása A központi egység kihasználtság (CPU utilization): A CPU id" hány százaléka fordítódik ténylegesen a folyamatok utasításainak végrehajtására. A kihasználtságot csökkenti amikor a CPU henyél (idle) vagy a rendszeradminisztráció. Átbocsátó képesség: Az id"egység alatt elvégzett munkák száma. (Elvégzett munkák száma/id") Körülfordulási id!: Egy-egy munkára vonatkozóan a rendszerbe helyezést"l a munka befejez"déséig eltelt id". (Végrehajtási id"+Várakozási id") Várakozási id!: Egy munka összesen mennyi id"t tölt várakozással Válaszid!: Az az id", amely az operációs rendszer kezel"i felületének - esetleg egy felhasználóval kommunikáló folyamatnak- adott kezel"i parancs után a rendszer els" látható reakciójáig eltelik, vagyis amennyi id" alatt a rendszer válaszolni képes.
Ütemezési algoritmusok Egyszer" ütemezési algoritmusok
Legrégebben várakozó (FCFS: First Come First Served): Nem preemptív. A legrégebben várakozó folyamatot választja ki futásra. A futásra kész folyamatok egy várakozási sor végére kerülnek, az ütemez" pedig a sor elején álló folyamatot kezdi futtatni. Hátránya: Nagy lehet az átlagos várakozási id", mert egy hosszú CPU löket! folyamat feltarja a mögötte lev"ket és a perifériák is tétlenek. (konvoj hatás). Körbenforgó (RR: Round Robin): Preemptív algoritmus, az id"osztásos rendszerek alapja. Minden folyamat, amikor futni kezd kap egy id"szeletet. Ha a CPU lökete ennél nagyobb, az id"szelet végén az ütemez" elveszi a folyamattól a CPU-t és a futásra kész várakozási sor végére rakja. Ha a CPU löket rövidebb az id"szeletnél, akkor a folyamatokat újraütemezzük, és a futó folyamat id"szelete újraindul. Hátránya: Nehéz az id"szelet megfelel" méretének a meghatározása. Túl hosszú esetén átmegy FCFS algoritmusba, túl rövid esetén sok a környezetváltás.
Prioritásos ütemezési algoritmusok
Legrövidebb (löket)idej" (SJF: Shortest Job First): Nem preemptív. A legrövidebb becsült löketidej! folyamatot választja ki futásra. Ennél az algoritmusnál optimális az átlagos várakozási és körülfordulási id". A felhasználó által megadott és az el"zmények alapján becsült löketid"t veszi alapul. Legrövidebb hátralev! idej" (SRTF: Shortest Remaining Time First): Az SJF preemptív változata. Ha új folyamat válik futásra készzé akkor megvizsgálja hogy a futó folyamat hátralev" löketideje vagy az új folyamat löketideje a kisebb. A környezetváltás idejét is figyelembe veszi. Legjobb válaszarány(HRR: Highest Reponse Ratio): A folyamat kiválasztásánál a löketid"t és a várakozási id"t is figyelembe veszi. Öregítést alakalmaz (aging), azaz a régóta várakozó folyamatok prioritását növeli.
Többszint" algoritmusok https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUtemezes?skin=print.pattern
Page 2 of 5
OpreVazlatUtemezes < Infoalap < VIK wiki
2008.04.07. 21:20
Többszint" algoritmusok A futásra kész folyamatok több, különböz" prioritású sorban várakoznak. Az egyes sorokban belül különböz" kiválasztási algoritmusok is lehetnek. Statikus többszint" sorok (SMQ: Static Multilevel Queues): A folyamatok prioritása statikus, a folyamattípus alapján (pl.: rendszerfolyamatok, interaktív folyamatok, interaktív szövegszerkeszt"k, kötegelt feldolgozás, rendszerstatisztika). Hátrány: kiéheztetés léphet fel. Visszacsatolt többszint" sorok (MFQ: Multilevel Feedback Queues): A folyamatokhoz dinamikus prioritás rendel"dik. Az algoritmus a folyamatokat futásuk alapján különböz" maximális CPU löketidej! osztályokba sorolja és a rövid löketidej! folyamatokat részesíti el"nyben. Ha egy folyamat túllépi a kapott id"korlátot, akkor az oprendszer csökkenti a folyamat prioritását. A régóta várakozó folyamatok prioritását az oprendszer megnövelheti (aging).
Kérdések 7.3 9. Mit jelent a CPU-ütemezési algoritmusok paraméterei között a CPUkihasználtság? Azt mutatja, hogy a CPU-id" hány százaléka fordítódik a folyamatok utasításainak végrehajtására.
10. Mi a kapcsolat a CPU-ütemezési algoritmusok jellemzésére használt körülfordulási id! és várakozási id! között? körülfordulási id" = szumma(végrehajtási id" + várakozási id")
11. Mikor nevezünk egy ütemez!t preemptívnek? Preemptív ütemezésr"l beszélünk, ha az operációs rendszer elveheti a futás jogát az éppen futó folyamattól, "futásra kész" állapotúvá teheti, és a CPU-t egy másik folyamatnak adhatja, azaz egy másik folyamatot indíthat el.
12. Milyen paraméterek alapján lehet különböz! CPU ütemezési algoritmusokat értékelni? Definiálja a különböz! paraméterek jelentését! Hasonlítsa össze valamely fenti paraméter alapján a legrégebben várakozó (FCFS) és a legrövidebb löketidej" (SJF) algoritmusokat. CPU kihasználtság:100*(szumma(CPU id") - szumma(henyeles + adminisztráció))/szumma(CPU ido) [%] Átbocsátó képesség: elvégzett munkák száma/id" Körülfordulási id": szumma(végrehajtási id" + várakozási id") Várakozási id": szumma(várakozó + futásra kész + felfüggesztett + hosszú távú ütemezésig eltelt) id" Válaszid": adott kezel"i parancs után a rendszer els" látható reakciójáig eltelt id" Várakozási id" szempontjából az SJF algoritmus jobb, mint az FCFS.
13. Ismertesse a legrövidebb löketidej" (SJF) és a legrövidebb hátralév! löketidej" (SRTF) ütemezési algoritmusokat, kiemelve a közöttük lév! lényeges különbségeket. Az SRTF algoritmus az SJF algoritmus preemptív változata. Míg az SJF, ha már elkezdett feldolgozni egy folyamatot, akkor azt be is fejezi, az SRTF, amennyiben felébredt vagy elindult olyan folyamat, amelynek kisebb a (maradék) löketideje, mint az éppen feldolgozottnak, akkor a jelenlegit várakoztatja, és a legrövidebb hátralév" löketidej!t választja ki feldolgozásra. Edit : -- PappIstvanPeter - 2005.05.31.
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUtemezes?skin=print.pattern
Page 3 of 5
OpreVazlatUtemezes < Infoalap < VIK wiki
2008.04.07. 21:20
14. Definiálja a preemptív és a nem preemptív ütemez! közötti különbséget! Rajzoljon fel egy felfüggesztett állapotokat nem tartalmazó folyamat állapotátmeneti diagramot, és illusztrálja ezen is a preemptív és a nem preemptív ütemezo közötti különbséget! lásd. el"bbi kérdések. Rajz u.a. felfüggesztett állapotok kivételével. Preemptív ütemezés esetén futó folyamatot az operációs rendszer futásra kész állapotba tehet (elvéve t"le a CPU-t).
15.Milyen szempontok alapján lehet osztályozni a folyamatok ütemezésénél megismert visszacsatolt többszint" sorokat (Multilevel Feedback Queues)? Hány sorban várakoznak a futásra kész folyamatok Milyen ütemezési algoritmusokat hsználunk az egyes sorokon belül Hogyan kaphat nagyobb prioritást egy folyamat Mikor csökken egy folyamat prioritása Hová lépnek be az elindított folyamatok
16. Hogyan lehet a CPU-löketid!n (burst time) alapuló ütemezési algoritmusoknál a futásra kész folyamatok következ! löketidejét meghatározni? Az operációs rendszer becslésekb"l indul ki, vagy a folyamatot elindító felhasználó “bevallását” tekinti kiindulópontnak. El"bbi esetben a folyamat el"z" viselkedése alapján, a korábbi löketid"k általában exponenciális - átlaga szolgál a prioritás alapjául.
(16+1). Hogyan kerülhetö el az éhezés prioritásos ütemezés esetén? aging: a régóta várakozó folyamatok prioritását a operációs rendszer megnövelheti, és nagyobb prioritású sorba sorolhatja át.
17. Egy operációs rendszerben a következ! ... NULL 18. Melyik ütemezési algoritmus esetén a legkisebb a válaszid! szórása? Legrégebben várakozó (FCFS) Körbeforgó (Round Robin) ?? Legrövidebb löketidej! (SJF)
19. Mely állítások igazak a CPU-ütemezésnél használt körbeforgó algoritmusra? Biztosítja a legkisebb átlagos várakozási id"t. Használata esetén nem lép fel a folyamatok kiéheztetése. Használatával lehet valósidej! operációs rendszert készíteni.
20. Mely állítások igazak a preemtív ütemez! algoritmusra? Mindig prioritásos ütemezési algoritmusokat használ annal eldöntésére, hogy mikor és melyik folyamatot kezdje el futtatni. Alkalmazása esetén egy éppen futó folyamatot bármelyik id"pillanatban megszakíthat és futásra kész állapotúvá tehet az operációs rendszer. ?? (Szerintem igaz. Akkor történik ilyen, ha egy nagyobb prioritású folyamat feébred. -- zslevi ) Használatával az operációs rendszer átlagos válaszideje csökkenthet!.
21. Mely állítások igazak a prioritásos ütemez! algoritmusokra? Jobban kihasználják a CPU-t. Használata holtpont kialakulásához vezethet. ?? Használata kiéheztetéshez vezethet. (Megjegyzés: A nagyobb prioritású folyamat kiéhezteti a kisebb prioritásút, s"t, ha nem preemptív er"forrást használnak, a kisebb prioritású is kiéhezteti a nagyobb prioritásút, de a kiéheztetés nem deadlock. Deadlock kialakulása a folyamatok együttm!ködésének algoritmusától függ. -- zslevi https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUtemezes?skin=print.pattern
Page 4 of 5
OpreVazlatUtemezes < Infoalap < VIK wiki
2008.04.07. 21:20
deadlock. Deadlock kialakulása a folyamatok együttm!ködésének algoritmusától függ. -- zslevi 2005.06.18.) vissza: OpRe / OpreVazlatFolyamatkezeles
Revision: r1.17 - 2006.05.21 - 10:28 - SzilagyiPeter Infoalap > OpRe > OpreVazlatFolyamatkezeles > OpreVazlatUtemezes Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUtemezes?skin=print.pattern
Page 5 of 5
OpreVazlatUtemezesTobbproc < Infoalap < VIK wiki
2008.04.07. 21:20
vissza: OpRe / OpreVazlatFolyamatkezeles
Ütemezés többprocesszoros rendszerekben Közös várakozási sorok ütemezése Kérdések 7.3 22. Milyen ütemezési algoritmusokat alkalmaznak szimmetrikus, illetve aszimmetrikus multiprocesszoros rendszerekben?
Ütemezés többprocesszoros rendszerekben (TK 156-157) Heterogén rendszer: A rendszerbe épített CPU-k különböz!ek lehetnek (méretben, sebességben, felépítésben, utasításkészletben). Ilyenkor a lefordított folyamatok csak a nekik megfelel! utasításkészlet" CPU-kon futhatnak. Homogén rendszer: A rendszerbe épített CPU-k funkcionalitás szempontjából egyformák. A futásra kész folyamatok a rendszer bármelyik CPU-ján futhatnak. Ilyenkor célszer" közös várakozási sort létrehozni.
Közös várakozási sorok ütemezése Szimmetrikus multiprocesszoros rendszerekben: Minden egyes CPU saját ütemez! algoritmust futtat, amely közös sorból választ. Ilyenkor biztosítani kell a kölcsönös kizárást. Aszimmetrikus multiprocesszoros rendszerekben: Egyetlen ütemez! fut egy kiválasztott CPU-n, és ez osztja szét a feladatokat a szabad CPU-k között (master-slave). Ez sokkal egyszer"bb adathozzáférést eredményez.
Kérdések 7.3 22. Milyen ütemezési algoritmusokat alkalmaznak szimmetrikus, illetve aszimmetrikus multiprocesszoros rendszerekben? Szimmetrikus rendszerekben minden CPU saját ütemez! algoritmust futtat, amely a közös sorból választ. Aszimmetrikus multiprocesszoros rendszerekben egy ütemez! fut egy kiválasztott processzoron, és ez az egy ütemez! osztja szét a feladatokat a szabad CPU-k között. -- SoTi - 2005.05.03. vissza: OpRe / OpreVazlatFolyamatkezeles
Revision: r1.4 - 2005.06.02 - 14:24 - SomodiTibor Infoalap > OpRe > OpreVazlatFolyamatkezeles > OpreVazlatUtemezesTobbproc Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUtemezesTobbproc?skin=print.pattern
Page 1 of 1
OpreVazlatTarkezeles < Infoalap < VIK wiki
2008.04.07. 21:20
vissza: OpRe
Tárkezelés A f! tár megosztása a folyamatok között. A program címeinek kötése Statikus logikai-fizikai címleképzés Dinamikus logikai-fizikai címleképzés Késleltetett betöltés Társzervezési módszerek Egypartíciós rendszer Többpartíciós rendszer Multiprogramozás rögzített partíciókkal Multiprogramozás változó méret" partíciókkal Tárcsere (swapping) Logikai címeken alapuló társzervezési módszerek Szegmensszervezés Lapszervezés Kombinált szegmens és lapszervezés Virtuális tárkezelés A m"ködés alapjai Betöltend! lap kiválasztása (Fetch Strategy) Lapcsere stratégia (Replacement Strategy) Gazdálkodás a fizikai tárral A folyamatok lapigénye Munkahalmaz Lokalitás Dinamikus lokális tárgazdálkodás Egyéb tényez!k Lapméret Program struktúra Fájlrendszerek (NAGYON VÁZLATOSAN!) Az állományok tárolása a lemezen A fájlok szerkezete Könyvtárak M"veletek Osztott fájlkezelés Hozzáférés szabályozása Kérdések 7.3 23. Definiálja a küls! (External) és a bels! tördel!dés (internal fragmentation) fogalmát! Mondjon konkrét példát minkét jelenségre! 24. Mit jelent a pozíciófüggetlen (position independent) programrészlet? 25. Mi a kapcsolatszerkeszt! (linker) program feladata? 26. Mit jelent változó méret" partíciós rendszerekben használt algoritmusoknál a tárkihasználtság 1/3-os szabálya? 27. Mit jelent az átfed! programrészekkel (overlay) történ! tárkezelés? 28. Mi a tömörítés (garbage collection) szerepe a többpartíciós társzervezésben? 29. A programfejlesztés illetve -futtatás mely fázisaiban történhet a program memóriacímeinek kötése? 30. Magyarázza el a változó méret" partíciók lefoglalásánál használt (a) legjobban megfelel! (best fit) (b) els! megfelel! (first fit) (c) legrosszabban illeszked! (worst fit) algoritmusokat. Egy rendszerben adott pillanatban 100K, 600K, 200K, 300K és 500K méret" szabad területek vannak. Hogyan foglal helyet a fenti 3 algoritmus sorrendben 417K, 212K, 112K és 426K méret" partícióknak? 31. Ismertesse a kombinált szegmens- és lapszervezést tartalmazó tárkezel! hardver esetén a logikai-fizikai címtranszformáció módját! Melyek a kombinált társzervezés el!nyei? 32. Ismertesse az igény szerinti lapozáson (demand paging) alapuló virtuális tárkezelésnél a legrégebben nem használt (LRU) és az újabb esély (Second chance) https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatTarkezeles?skin=print.pattern
Page 1 of 13
OpreVazlatTarkezeles < Infoalap < VIK wiki
2008.04.07. 21:20
lapcsere algoritmusokat! Hogyan lehet(ne) az LRU algoritmust implementálni? Milyen hardvertámogatás szükséges az újabb esély algoritmushoz? 33. Definiálja a következ! fogalmakat: verg!dés (trashing), munkahalmaz (working set), térbeli és id!beli lokalitás! Hogyan lehet a folyamatok munkahalmaz méretét figyelembe venni a verg!dés elkerüléséhez? 34. Milyen összefüggés van a virtuális tárkezelésnél a munkahalmaz nagysága és a folyamat által okozott laphibák gyakorisága között? Hogyan lehet a laphiba gyakoriságot felhasználni a folyamatok számára allokált lapok számának meghatározásakor? 35. Ismertesse és hasonlítsa össze a virtuális tárkezelésnél használt FIFO és újabb esély algoritmusokat! Milyen hardvertámogatást igényelnek ezek? 36. Mit nevezünk Bélády-anomáliának? 37. Milyen részid!kb!l áll össze a háttértáron lév! lapokhoz való hozzáférési id!? Kis vagy nagy lapok használata esetén kapunk jobb transzferid!t? 38. Az igény szerinti lapozást alkalmazó rendszerben 4 fizikai memórialap található, és sorban a következ! virtuális lapokra történik hivatkozás: 1,2,3,4,2,1,5,6,2,1,3,7,6,3. Számítsa ki a rendszerben bekövetkez! laphibák számát a következ! algoritmusok alkalmazása esetén: 39. Mi a translation lookaside buffer, és mi a szerepe a fizikai cím kiszámításánál? 40. Melyek igaz állítások? 41. Melyek igaz állítások? 42. Melyek igaz állítások? 43. Hogyan lehet szegmensszervezés" tárkezel! rendszerben túlcímzés ellen védekezni? 44. Melyik állománytárolási módszer esetén jelent gondot az állomány blokkjaihoz való direkt hozzáférés megvalósítása? 45. Ismertesse az állományokhoz tartozó blokkok tárolásához használt láncolt listás, az ún. FAT-es és az indextáblás módszereket! Milyen el!nyös tulajdonsággal rendelkezik a FAT-es módszer? 46. Sorolja fel, milyen módszereket ismer a lemezegységen a szabad helyek, illetve az egyes állományokhoz tartozó blokkok nyilvántartására!
Tárkezelés (TK 157-197) A multiprogramozott rendszerekben a CPU-t több folyamat megosztottan használja. A megfelel! m"ködési sebességhez egyszerre több folyamatot a központi tárban kell tartani, mert a háttértárról való környezetváltás sebessége nagyon lassú lenne. A központi tár kezelése az operációs rendszer teljesítményét befolyásoló tényez!.
A f! tár megosztása a folyamatok között. A program címeinek kötése A CPU közvetlenül csak a központi tárhoz fér hozzá, tehát a folyamatok aktuális utasításainak és az operandusoknak a f! tárban kell lenniük. Ezért végrehajtás el!tt be kell tölteni a háttértárakról. Egy program megírásakor logikai címtartományokban gondolkodunk, a végrehajtás azonban fizikai címtartományban történik. A logikai és a fizikai címtartomány közötti leképzés (mapping) a program el!készítésének bármelyik fázisában megtörténhet.
Statikus logikai-fizikai címleképzés A címleképzés történhet fordítás közben ha ismertek a program fizikai címei. Ha a kés!bbiekben a kezd!cím megváltozik, újra kell fordítani. Csak speciális esetekben, ROM-ba kerül! programoknál. Szerkesztés közben is történhet a leképzés. Akkor van szükség szerkesztésre, ha a program több független lefordított modulból áll amelyek egymás logikai címeire hivatkoznak. Általában csak a logikai címtartomány egyesítése történik meg a linker segítségével. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatTarkezeles?skin=print.pattern
Page 2 of 13
OpreVazlatTarkezeles < Infoalap < VIK wiki
2008.04.07. 21:20
logikai címtartomány egyesítése történik meg a linker segítségével. Betöltés közben: A korábban kapott áthelyezhet! kód címhivatkozásait az aktuális címkiosztás szerint módosítja a loader.
Dinamikus logikai-fizikai címleképzés El!nyös, ha a program helye végrahajtás közben is változtatható. Dinamikus címleképzésnél a konkrét fizikai cím hozárendelés csak utasítás-végrehajtás során van. Bázisrelatív címzés: A program valamennyi címe bázisrelatív címzési módú, a bázisregisztert a betöltés kezd!címére állítva a program végrehajtható. Megszakítás után a teljes programot új helyre átmásolva a végrehajtás folytatható. Fizikai cím=bázisregiszter cím+ logikai cím Utasításszámláló-relatív címzés: a bázisrelatívhoz hasonló
Késleltetett betöltés Indításkor csak a programok egy része tölt!dik be, a többi csak szükség esetén Dinamikus betöltés: Egyes eljárások a háttértáron vannak. Futás indításakor a f!program kerül a memóriába. Az eljárásokat meghíváskor egy speciális programrész betölti a memóriába ha nincs benn. Ilyenkor a memóriában a tényleges méretnél kisebb helyet foglal a program és a nem használt részek nem tölt!dnek be. A programozó feladata ennek megszervezése. Dinamikus könyvtárbetöltés: A programban a használt rendszerkönyvtárak eljárásai helyett csak hivatkozás van rájuk. Els! meghíváskor rendeli az eljárás kezd!címét a hivatkozáshoz. Átfed! programrészek (overlay): Csak azok a programrészek vannak állandóan a memóriában, amelyekre a teljes futási id! alatt szükség van. A többi program szétvágható úgy hogy egyid!ben csak egy része dolgozzon. Ezeket egyesével töltjük be szükség esetén. Bonyolult, manapság ritkán használják.
Társzervezési módszerek Egypartíciós rendszer Az egypartíciós rendszereknél egyid!ben egyszerre egyetlen folyamat használhatja a központi tárat, így az operációs rendszeren felüli folytonos címtartományon teljes egészében ez a folyamat futhat. A folyamatok váltása a swapping segítségével történhet.
Többpartíciós rendszer Multiprogramozás rögzített partíciókkal A felhasználói tárterületet olyan különböz! méret" partíciókra osztották, melyek mérete a rendszer m"ködése során nem változhatott. Minden partícióban egyetlen folyamat tartózkodhat. A multiprogramozás fokát a partíciók száma korlátozza. Bels! tördel!dés: kihasználatlan memóriaterület (a partíciókon belül).
Multiprogramozás változó méret" partíciókkal Változó méret" partíciók. Nincs bels! tördel!dés, viszont van küls! tördel!dés: memória felszabadítása után lyuk marad a partíció helyén (amikor kivesszük a progit a memóriából). Ezen segíthet a szabad helyek tömörítése: (garbage collection) a tár egyik végére rendezzük a szabad területet (rossz hatásfokú). Más stratégiák küls! tördel!dés feloldására: els! megfelel!: (First Fit) tár elejét!l indulva els! elegend!en nagy területet foglalja le. 70%-os kihasználtság következ! megfelel!: (Next Fit) utoljára lefoglalt tartomány végét!l kezdi a keresést. 70%-os kihasználtság, várhatóan gyorsabban talál https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatTarkezeles?skin=print.pattern
Page 3 of 13
OpreVazlatTarkezeles < Infoalap < VIK wiki
2008.04.07. 21:20
legjobban megfelel!: (Best Fit) legkisebb még elegend! méret"t. Látszólag nem pazarol, gyakorlatban csak 50%-os kihasználtság legrosszabban illeszked!: (Worst Fit) a legnagyobb szabad partícióból szakít. Best-fit anomáliáján felbuzdulva, de ez is 50%-os kihasználtság
Tárcsere (swapping) Teljes foylamatokat mozgatunk a memória és a háttértár közt. Id!igényes, lehet!leg minimalizálni kell a tárcserék számát. Átlapolt tárcsere: egy futó folyamattal párhuzamosan folyik egy másik folyamat kivitele illetve egy harmadik behozatala.
Logikai címeken alapuló társzervezési módszerek Szegmensszervezés A programozó a programot általában több logikai egységb!l építi fel. A szegmensszervezés ezt a látásmódot tükrözi, címtranszformációnál a logikai szegmenseket felelteti meg egy-egy blokknak. Blokktáblás séma.(TK 169.o. ábra) A blokkok különböz! hosszúak és folytonosak, ezért bels! tördel!dés nincs. A blokktábla tárolja a blokk hosszát, a szegmensb!l való kicímzés megszakítást generál. A residency bit mutatja hogy az adott blokk a memóriában van-e. A folyamatok különböz! hozzáférést kaphatnak a blokkokhoz (read, write, execute) Címtranszformáció szegmensszervezés esetén:
Lapszervezés Szegmensszervezésnél van küls! tördel!dés. Erre megoldás az azonos, rögzített méret" blokkok használata. Itt viszont bels! tördel!dés van. A folyamatok utolsó lapja átlagosan csak félig lesz tele. Fontos a lapméret helyes megválasztása (gyakorlatban 2 hatványa). Közvetlen leképzés: A folyamatokhoz tartozó minden lap fizikai címe egy laptáblában van. A laptába méretének csökkentésére a többszint" laptábla alkalmazása a megoldás. Mivel a folyamatok általában a címtartománynak csak egy részét használják egyszerre, ezért a laptábla megfelel! felosztásával elég néhány rész-laptáblát a memóriában tartani. Asszociatív leképzés: Egy gyors asszociatív tárban tartjuk a közeljöv!ben várhatóan használt lapok logikai és fizikai címeit. Mivel mérete kicsi, tartalmát valamilyen stratégiával frissíteni kell. A valid bit azt mutatja, hogy az adott lap a memóriában van-e. Osztott laphasználat lehetséges az https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatTarkezeles?skin=print.pattern
Page 4 of 13
OpreVazlatTarkezeles < Infoalap < VIK wiki
2008.04.07. 21:20
egyes folyamatok közt. A közös lapok csak olvashatók. Címtranszformáció Lapszervezés esetén:
Kombinált szegmens és lapszervezés Hasonlít a szegmensszervezéshez és a kétszint" lapszervezéshez: A memóriában szegmensek vannak ugyan, de ezek lapokból épülnek föl. Van szegmenstábla, és minden bejegyzéséhez tartozik egy laptábla is. Küls! töredez!dés nincs, bels! töredez!dés minimális (szegmensenként átlag fél lap); ez a kombinált módszer egyesíti a két módszer el!nyeit. -- PappIstvanPeter - 2005.05.31.
Virtuális tárkezelés A m"ködés alapjai A virtuális tárkezelés megengedi és biztosítja, hogy a rendszer folyamataihoz tartozó logikai címtartományoknak csak egy - a folyamat futásához éppen szükséges - része legyen a központi tárban, de ennek ellenére bármelyik folyamat szabadon hivatkozhasson bármilyen, tartományban szerepl! logikai címre. Ha egy folyamat nem a memóriában lév! címre hivatkozik, megszakítást okoz. A blokk háttértárról való behozatala lassú, ezért ezalatt az oprendszer egy másik folyamatot indít, a futót pedig várakozó állapotba helyezi amíg a blokk átvitele megtöténik. A virtuális tárkezelést támogató rendszerek lap- vagy kombinált szervezés"ek. A sebességet dönt!en a tárhoz való hozzáférés ideje és az algoritmustól függ! laphiba gyakoriság határozza meg. Effektív hozzáférési id! = (1-p)*Memória hozzáférési id! + p*Laphiba id!. (p a laphiba el!fordulás valószín"sége)
Betöltend! lap kiválasztása (Fetch Strategy)
Igény szerinti lapozás: csak a hivatkozott lapot hozzuk be a tárba.
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatTarkezeles?skin=print.pattern
Page 5 of 13
OpreVazlatTarkezeles < Infoalap < VIK wiki
2008.04.07. 21:20
El!retekint! lapozás: Az oprendszer megpróbálja kitalálni, hogy a folyamatoknak a közeljöv!ben milyen lapokra lesz szüksége és azokat is betölti.
Lapcsere stratégia (Replacement Strategy)
Optimális (OPT) algoritmus: Az algoritmus el!re néz és a lapok következ! használatának idejét veszi figyelembe. A laphibák száma ennél a legkevesebb. Csak közelít! megoldása létezik. Legrégebbi lap (FIFO): Azt a lapot cseréli le amelyik legrégebben a tárban van. Hibája hogy a gyakran használt lapokat is lecseréli. Bélády-anomália: Bizonyos esetekben ha növeljük a folyamatokhoz tartozó fizikai memóriakeretek számát, akkor nem csökken, hanem éppen növekszik a laphiba gyakoriság. Újabb esély (Second Chance): Egy R (referenced - hivatkozva) bitet is nyilvántartunk (egy lap használatkor 1-be állítjuk az ehhez tartozó R bitet, id!közönként mindet nullázzuk). Ha R=1, akkor R-et törli, a lapot pedig a lista végére teszi. Óra algoritmus: Ugyanaz, mint a Second Chance, csak egy ciklikus listával van megvalósítva (innen jön az Óra szó). Legrégebben nem használt (LRU: Least Recently Used): Rögzítjük, hogy mikor használtuk (id!bélyeggel/számláló nullázásával/stack tetejére helyezésével), majd ez alapján kiválasztjuk a legrégebben használtat. Mindegyik megvalósítás nagyon költséges. Legkevésbé használt (LFU: Least Frequently Used , NFU: Not Frequently Used): Egy SHR van minden laphoz, a MSB-be betoljuk az R bitet a törlése el!tt. Azt a lapot dobjuk ki, aminek a shiftregiszterében a legkisebb szám van. (Tehát a régebbi használatokat is figyelembe vesszük, egyre kisebb súllyal -> ez az öregítés .) Másik probléma: a frissen behozott lapok SHR-je kicsi lesz, ezért !ket befagyasztjuk a tárba ( page locking). Utóbbi id!ben nem használt (NRU: Not Recenty Used): R bitet, és D bitet (dirty: írtunk rá, így nem egyezik meg a háttértáron lév!vel, drága kiírni) tárolunk minden laphoz, és az alapján választunk áldozatot.
Az algoritmusok m"ködhetnek úgy, hogy: szükség esetén mindig a folyamat saját munkaterületén belül választ ki lapot kivitelre lokális lapcsere algoritmus vagy egész memórián belül keresnek - globális lapcsere algoritmus -- szzs - 2005.11.24. (pár finomítás az algoritmusok leírásában)
Gazdálkodás a fizikai tárral A folyamatok lapigénye Hány lapot adjunk az egyes folyamatoknak (mekkora legyen a munkahalmaz mérete)? Ha sok lapot adunk egy folyamatnak, akkor kevesebb folyamatot tudunk a tárban tartani. Ez csökkenti a CPU kihasználtságot. nagy valószín"séggel kevesebb lesz a laphiba. Ha kevés lapot adunk egy folyamatnak, akkor állandó laphiba lépne fel. Aminek következtében a CPU-nak nem lesz futtatható folyamata, CPU-tétlenség alakul ki. A rendszer akkor lesz egyensúlyban, ha egy laphiba kezelése közben nem következik be újabb laphiba. A gyakori laphibák által okozott teljesítménycsökkenést verg!désnek (thrashing) nevezzük.
Munkahalmaz Munkahalmaznak nevezzük egy folyamat azon lapjainak halmazát, amelyre egy adott id!intervallumban hivatkozik. A munkahalmaz dinamikus, id!ben változó fogalom.
Lokalitás Id!beni lokalitás: egy hivatkozott címet a folyamat várhatóan a közeljöv!ben újra használni fog. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatTarkezeles?skin=print.pattern
Page 6 of 13
OpreVazlatTarkezeles < Infoalap < VIK wiki
2008.04.07. 21:20
Térbeli lokalitás: az id!ben egymáshoz közel álló hivatkozások nagy valószín"séggel egymáshoz közeli címekre történnek.
Dinamikus lokális tárgazdálkodás Az optimális rendszerm"ködéshez el kell kerülni a verg!dést, és törekedni kell a folyamatok hivatkozásainak lokalitásának kihasználására. A dinamikus tárgazdálkodás a laphiba gyakoriságát méri. Ha ez meghalad egy fels! határértéket akkor az oprendszer a folyamathoz újabb lapot rendel, vagy ha nincs szabad memória, akkor csökkenti a multiprogramozás fokát. Ha a laphiba gyakoriság egy alsó határ alá csökken, akkor elvesz a folyamattól egy lapot.
Egyéb tényez!k Lapméret Többnyire hardver határozza meg. Ha a lapméret nagy, akkor kisebb a laptábla mérete (kevesebb lap van), de nagyobb a bels! tördel!dés. Ha kicsi a lapméret, akkor ezek ellenkez!je teljesül.
Program struktúra A programozó is sokat tehet a rendszer jó teljesítményéért, ha kihasználja a tárkezelés sajátságait (pl. lokalitás).
Fájlrendszerek (NAGYON VÁZLATOSAN!) Az állományok tárolása a lemezen Az operációs rendszer a lemezterületet blokkokban kezeli. A blokkok méretét meghatározza a címek számára fenntartott hely és a lemezterület méretének aránya. A szabad blokkok nyilvántartására használt adatszerkezetek: Bittérképes ábrázolás: A lemez mindegyik logikai blokkjához egy bitben tárolható, hogy szabad-e. Összefügg! szabad blokkok keresése gyors. Hatékony, ha a teljes vektort a központi tárban tudjuk tartani. Láncolt listás ábrázolás: Minden szabad blokkból lecsípünk néhány bájtot, itt egy másik szabad blokk címét tároljuk. A láncolt listás bejárás miatt lassú. Szabad helyek csoportjainak listája: Hasonló az elöbbihez, de a fennmaradó szabad bájtokon további szabad blokkok címét tároljuk. Egybefügg! szabad területek nyilvántartás: Egy táblázatban az egymás mellett lév! szabad blokkokról az els! sorszámát és a terület hosszát tároljuk. Hatékony, ha a szabad területek átlagos hossza nagy. Az egyes állományokhoz tartozó blokkok tárolásának, lefoglalásának módszerei: Folytonos terület lefoglalása: A fájlhoz tartozó információt egymás melletti szabad blokkokban tároljuk. A rendszernek csak az els! blokk sorszámát, valamit a blokkok számát kell tárolni. Dinamikus méret" fájlok tárolása küls! tördel!déshez vezethet. (Segít, ha üresebb lemezen worst-fit, majd first-fit/next-fit és végül nagy telítettség esetén best-fit stratégiát használunk.) Mind soros, mind közvetlen elérése gyors, ezért pl. virtuális tárcsere (swapping) esetén alkalmazzák. Láncolt tárolás: A szükséges blokkokat egyesével allokáljuk, minden blokkban fenntartva egy helyet a következ! blokk sorszámának. Egy állományleíróban csak az els! blokk sorszámát tárolja a rendszer. El!ny: határ csak a szabad blokkok száma, küls! töredezettségt!l mentesség. Hátrány: nincs véletlenszer" hozzáférés, mindig az elejét!l be kell járni a listát. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatTarkezeles?skin=print.pattern
Page 7 of 13
OpreVazlatTarkezeles < Infoalap < VIK wiki
2008.04.07. 21:20
FAT (file allocation table): A láncokat az állományoktól elkülönülten tároljuk benne. Csak az els! blokk sorszámát kell tárolni a fájlleíróban, a többit ebb!l olvassuk ki. Mivel ezt (jelent!s részét) a tárban tároljuk -> gyorsabb m"ködéshez vezet. A FAT sérülése elleni védelem pld kett!zött tárolás. Indexelt tárolás: Alapötlete, hogy az állományhoz tartozó blokkokat leíró címeket külön adatterületre, az indextáblába gy"jtjük. Az állományleíróban az indextáblát tartalmazó blokk(ok) címét kell tárolni El!ny: közvetlen hozzáférés egyszer"; "lyukas" állományok tárolása Hátrány: kis méret" állományoknál is le kell foglalni egy egész indexblokkot a nyilvántartáshoz (pazarlás) Megoldás: dinamikusan növekedhet! indextábla (pld indexblokkok összef"zése) vagy többszint" indextábla Kombinált módszerek: Egyes rendszerek az állomány hozzáférési módja, vagy mérete függvényében más és más módszert alkalmazhatnak az el!bbiekb!l kombinálva. Redundáns adatszerkezetek kialakításával növeljük az adatbiztonságot, viszont csökken az értékes tárolókapacitás. -- szzs - 2005.11.24.
A fájlok szerkezete Könyvtárak M"veletek
Fájl attribútumainak módosítása Új könyvtár létrehozása Könyvtár törlése Keresés
Osztott fájlkezelés Hozzáférés szabályozása A hozzáférési jogokat az állomány létrehozója vagy az állomány felett speciális jogokkal rendelkez! felhasználó definiálhatja. Az állományokat a folyamatok hozzák létre vagy a felhasználó, aki a folyamatot elindította. Az egyedi hozzáférési jogok a fájlokhoz és könyvtárakhoz tartoznak. A jogosultságok azt szabályozzák, hogy a rendszer egyes felhasználói milyen m"veletek elvégzésére jogosultak. Ha túl sok felhasználó van, célszer" a jogosultságokat csoportokhoz kötni. Tipikus fájl jogosultságok: írás, olvasás, hozzáírás, végrehajtás, törlés. Könyvtárakra: módosítás, törlés, listázás, keresés, új állomány létrehozása.
Kérdések 7.3 7.3/23-46
23. Definiálja a küls! (External) és a bels! tördel!dés (internal fragmentation) fogalmát! Mondjon konkrét példát minkét jelenségre! Bels! tördel!dés: A folyamatok nem használják ki teljesen a partícióban rendelkezésükre álló tárterületet, minden partícióban a benne futó folyamathoz rendelt, ám kihasználatlan memóriaterület, "lyuk" marad. (rögzített partíciók esetén, lapszervezés" viruális tárkezelés) Küls! tördel!dés: változó méret" partíciók esetén a probléma akkor kezd!dik, amikor a folyamatok befejezik futásukat és az operációs rendszer felszabadítja az általuk foglalt területet. Ekkor lyukak keletkeznek az allokált memóriarészek között. Ezek ugyan hozzárendelhet!k más folyamatokhoz, de szinte biztos, hogy el!bb-utóbb a folyamatokhoz rendelt tárterületek között akkora szabad területek https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatTarkezeles?skin=print.pattern
Page 8 of 13
OpreVazlatTarkezeles < Infoalap < VIK wiki
2008.04.07. 21:20
szinte biztos, hogy el!bb-utóbb a folyamatokhoz rendelt tárterületek között akkora szabad területek maradnak, amelyek egyenként túl kicsik a foyamatok számára, így kihasználatlanok maradnak. (szegmensszervezés" virtuális tárkezelés)
24. Mit jelent a pozíciófüggetlen (position independent) programrészlet? Bázisrelatív címzéshez hasonló, utasításszámláló-relatív címzés, tetsz!leges címre töltve végrehajtható kódot kapunk.
25. Mi a kapcsolatszerkeszt! (linker) program feladata? Szerkesztésre akkor van szükség, ha egy program több, egymástól függetlenül fordított modulból áll, amelyek hivatkoznak más modulban definiált logikai címekre. A linker program feladata a modulok közötti kereszthivatkozások feloldása, és a modulok egymás mögé helyezése.
26. Mit jelent változó méret" partíciós rendszerekben használt algoritmusoknál a tárkihasználtság 1/3-os szabálya? Azt, hogy a folyamatok által lefoglalt memória területek összegének mintegy 1/3-a marad kihasználatlan.
27. Mit jelent az átfed! programrészekkel (overlay) történ! tárkezelés? A programoknak csak egy részét teszik ki azok a programrészek illetve adatok, amelyekre a teljes futási id! alatt szükség van. Így elegend! ezeket állandóan a memóriában tartani. A programok fennmaradó része pedig "szétvágható" olyan részekre, amelyek id!ben elkülönülten dolgoznak. Ezeket szükség esetén egyesével töltjük be, majd használatuk után újra a háttértárra mentjük !ket. Így a felszabaduló részekre újabb overlay részt tölthetünk.
28. Mi a tömörítés (garbage collection) szerepe a többpartíciós társzervezésben? Küls! tördel!dés esetén alkalmazzák, lényege, hogy a szabad területeket a lemez végére rendezi, így megint összefügg! szabad terület jön létre.
29. A programfejlesztés illetve -futtatás mely fázisaiban történhet a program memóriacímeinek kötése? compile time (fordítás), link time (szerkesztés), load time (betöltés)
30. Magyarázza el a változó méret" partíciók lefoglalásánál használt (a) legjobban megfelel! (best fit) (b) els! megfelel! (first fit) (c) legrosszabban illeszked! (worst fit) algoritmusokat. Egy rendszerben adott pillanatban 100K, 600K, 200K, 300K és 500K méret" szabad területek vannak. Hogyan foglal helyet a fenti 3 algoritmus sorrendben 417K, 212K, 112K és 426K méret" partícióknak? (a) azt foglalja, ami elég, és minimális a feleslegesen lefoglalt terület: 500-ból, 300-ból, 200ból, 600-ból (b) az els! megfelel!t lefoglalja: 600-ból, 300-ból, 183-ból, 500-ból (c) amelyikkel a legnagyobb az eltérés (+ belefér): 600-ból, 500-ból, 300-ból, SEMMI (nincs elég szabad memória)
31. Ismertesse a kombinált szegmens- és lapszervezést tartalmazó tárkezel! hardver esetén a logikai-fizikai címtranszformáció módját! Melyek a kombinált társzervezés el!nyei? Változó méret" szegmensek fix méret" lapokat tartalmaznak. Kicsi mind a bels!, mind a küls! tördel!dés. A cím felépítése: (szegmens szám, lapszám, lapon belüli eltolás)
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatTarkezeles?skin=print.pattern
Page 9 of 13
OpreVazlatTarkezeles < Infoalap < VIK wiki
2008.04.07. 21:20
32. Ismertesse az igény szerinti lapozáson (demand paging) alapuló virtuális tárkezelésnél a legrégebben nem használt (LRU) és az újabb esély (Second chance) lapcsere algoritmusokat! Hogyan lehet(ne) az LRU algoritmust implementálni? Milyen hardvertámogatás szükséges az újabb esély algoritmushoz? LRU: azt a lapot cseréli le, amelyre a legrégebben hivatkoztak (lokalitás miatt általában jó), implementációja: óra, láncolt lista, kétdimenziós tömb, hardware támogatás: órajelre csökken! számláló Second chance: a FIFO egy kiterjesztése, az áldozat – ha hivatkoznak rá – kap még egy esélyt, visszakerül a sor végére, de a hivatkozás bitet törlik.
33. Definiálja a következ! fogalmakat: verg!dés (trashing), munkahalmaz (working set), térbeli és id!beli lokalitás! Hogyan lehet a folyamatok munkahalmaz méretét figyelembe venni a verg!dés elkerüléséhez? trashing: a gyakori laphibák által okozott teljesítmény-csökkenés munkahalmaz: m"köd! lapkészlet, azaz azok a lapok, amelyre a folyamat (az adott id!intervallumban) hivatkozik id!beli lokalitás: egy hivatkozott címet a folyamat valószín"leg a közeljöv!ben újra használni fog térbeli lokalitás: az id!ben közel álló hivatkozások valószín"leg egymáshoz közeli címekre történnek Trashing elkerülésére meg kell becsülni, hogy mekkora laphiba gyakoriság mellet marad a rendszer még egyensúlyban, és a munkahalmaz méretét ez alapján kell meghatározni
34. Milyen összefüggés van a virtuális tárkezelésnél a munkahalmaz nagysága és a folyamat által okozott laphibák gyakorisága között? Hogyan lehet a laphiba gyakoriságot felhasználni a folyamatok számára allokált lapok számának meghatározásakor? Ha a munkahalmaz túl kicsi, folyamatosan laphibák lépnek fel, és verg!dés alakul ki. (viszont ha túl nagy a munkahalmaz, romlik a multiprogramozás foka). Meg kell becsülni, hogy a rendszer mekkora laphiba gyakoriság mellett marad még egyensúlyban, és ez alapján lehet kiszámolni a munkahalmaz méretét.
35. Ismertesse és hasonlítsa össze a virtuális tárkezelésnél használt FIFO és újabb esély algoritmusokat! Milyen hardvertámogatást igényelnek ezek? Az újabb esély algoritmus a FIFO kiterjesztése. El!nye, hogy a gyakran hivatkozott lapokat a tárban tartja (így nincs Bélády anomália). Implementációja: FIFO listával, nem igényel speciális hardware támogatást.
36. Mit nevezünk Bélády-anomáliának? FIFO algoritmusnál egyes esetekben, ha a munkahalmaz méretét növeljük, a várakozásokkal ellentétben a laphibák száma is n!.
37. Milyen részid!kb!l áll össze a háttértáron lév! lapokhoz való hozzáférési id!? Kis vagy nagy lapok használata esetén kapunk jobb transzferid!t? effektívhozzáférési id! = (1-p) * mem. hozzáf.id!+ p * laphiba id!, p: laphiba el!fordulás valószín"sége
38. Az igény szerinti lapozást alkalmazó rendszerben 4 fizikai memórialap található, és sorban a következ! virtuális lapokra történik hivatkozás: 1,2,3,4,2,1,5,6,2,1,3,7,6,3. Számítsa ki a rendszerben bekövetkez! laphibák számát a következ! algoritmusok alkalmazása esetén: https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatTarkezeles?skin=print.pattern
Page 10 of 13
OpreVazlatTarkezeles < Infoalap < VIK wiki
2008.04.07. 21:20
(a) legrégebbi lap (FIFO) (b) újabb esély (Second Chance) (c) legrégebben nem használt (LRU) (d) optimális A négy fizikai lap kezdetben „üres”, nem tartalmazza egyik virtuális lapot sem. Megoldás: a - 11 1 2 3 4 2 1 5 6 2 1 3 7 6 3 1 2 3 4 4 4 5 6 2 1 3 7 6 6 1 2 3 3 3 4 5 6 2 1 3 7 7 1 2 2 2 3 4 5 6 2 1 3 3 1 1 1 2 3 4 5 6 2 1 1 * * * *
* * * * * * *
b-9 1 2 3 4 2
1
1 2 3 4 4
4
1 2 3 3
3
5
6 2
1
1
2 5 6 6
6
1
2 3 7 6 6
4
1 2 5 5
5
6
1 2 3 7 7
1 2 2* 2* 3 1 1 p p p p
4 1 2 2* 2* 5
1* 2* 3 4 1 1 p
3
7 6 3
6 1 2 3 3*
1* 2* 5 6 1 2 2
p
p
p p
(feltéve hogy behozatalkor nem kap *-ot (referenced), és * csak akkor t"nik el, ha az adott lap lenne a következ! áltozat) -- blaq (a rosszakat kitöröltem by Captain) c-9 1 2 3 4 2 1 5 6 2 1 3 7 6 3 1 2 3 4 2 1 5 6 2 1 3 7 6 3 1 2 3 4 2 1 5 6 2 1 3 7 6 1 2 3 4 2 1 5 6 2 1 3 7 1 1 3 4 2 1 5 6 2 1 1 * * * *
* *
* * *
d-7 1 2 3 4 2 1 5 6 2 1 3 7 6 3 1 2 3 4 4 4 5 6 6 6 6 6 6 6 1 2 3 3 3 3 3 3 3 3 3 3 3 https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatTarkezeles?skin=print.pattern
Page 11 of 13
OpreVazlatTarkezeles < Infoalap < VIK wiki
2008.04.07. 21:20
1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 7 7 7 * * * *
* *
*
39. Mi a translation lookaside buffer, és mi a szerepe a fizikai cím kiszámításánál? A mostanában visszafejtett logikai címekre a hozzá tartozó fizikai cím (–> nem kell újra visszafejteni, ha hivatkoznak rá)
40. Melyek igaz állítások? A lapokat tartalmazó virtuális tárkezelésnél el!forduló bels! tördel!dést csökkenteni lehet (a) az egyes lapok méretének növelésével (b) az egyes lapok méretének csökkentésével (c) megfelel!en kiválasztott lap elhelyezési (placement) stratégia alkalmazásával Megoldás: a-H, b–I, c–I
41. Melyek igaz állítások? A virtuális tárkezelésnél egyes lapokat ideiglenesen a tárba kell „fagyasztani” (page locking), azaz megakadályozni, hogy a lapcsere algoritmus cserére kijelölje, ha (a) azokat több folyamat is használja (b) az adott lapon valamely folyamat verme található (c) az adott lapra folyamatban van perifériás m"velet Megoldás: a–H, b–H, c-I
42. Melyek igaz állítások? Igény szerinti lapozást (demand paging) használó rendszerekben egy folyamat verg!dik, ha (a) a folyamatnak túl kicsi a prioritása (b) a folyamat munkahalmaza (working set) több lapból áll, mint ahány lapot a rendszer a folyamathoz rendel (c) a folyamat munkahalmaza nagyobb, mint a rendszer generálásakor megadott konstans (d) a folyamat futását gyakran szakítják meg nála nagyobb prioritású folyamatok Megoldás: a–H, b–I, c–I, d–H
43. Hogyan lehet szegmensszervezés" tárkezel! rendszerben túlcímzés ellen védekezni? Címképz! hardware figyeli a túlcímzést.
44. Melyik állománytárolási módszer esetén jelent gondot az állomány blokkjaihoz való direkt hozzáférés megvalósítása? (a) láncolt listás (b) indexelt (c) FAT-et használó Megoldás: a–I, b–H, c–H
45. Ismertesse az állományokhoz tartozó blokkok tárolásához használt láncolt listás, az ún. FAT-es és az indextáblás módszereket! Milyen el!nyös tulajdonsággal rendelkezik a FAT-es módszer? láncolt lista: a blokkokat egyesével allokálja, a blokk végén pointer van a következ!re FAT: mint a láncolt lista, csak a pointerek ki vannak gy"jtve egy táblázatba (FAT tábla), így https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatTarkezeles?skin=print.pattern
Page 12 of 13
OpreVazlatTarkezeles < Infoalap < VIK wiki
2008.04.07. 21:20
nem kell a háttértáron nagy utakat megtenni, hogy elérjük a file egy távoli blokkját indextábla: az állományok blokkjait egy táblázatban (index tábla) tartjuk nyilván A FAT rendszer el!nyei: viszonylag gyors, nem „pazarló”
46. Sorolja fel, milyen módszereket ismer a lemezegységen a szabad helyek, illetve az egyes állományokhoz tartozó blokkok nyilvántartására! szabadhelyek nyilvántartása: bittérkép (minden blokk egy bit jelzi, hogy szabad-e) láncolt listás (blokkok listája) csoportok listája (szabad blokk-csoportok listája) egybefügg! szabad területek nyilvántartása (kezdete és hossza) vissza: OpRe
Revision: r1.32 - 2007.01.25 - 10:40 - KissAnett Infoalap > OpRe > OpreVazlatTarkezeles Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatTarkezeles?skin=print.pattern
Page 13 of 13
OpreVazlatKeszulekkezeles < Infoalap < VIK wiki
2008.04.07. 21:20
Vissza: OpRe
Készülékkezelés Az oprendszer feladatai az I/O-kezelésben: Rendszerstruktúra (lásd TK 198. oldal, ábra): A Kernel B/K alrendszere Háttértárak kezelése A lemezegység fizikai szervezése Mágneslemezegység felépítése (TK202 ábra): Az átvitel kiszolgálási idejének összetev!i: Szektorok címzése A lemezm"veletek ütemezése A fejmozgás optimalizálása Az elfordulási id! optimalizálása Egyéb szervezési elvek a teljesítmény növelésére Az adattárolás megbízhatósága Kérdések 7.3 47. Mit jelent az adattárolás biztonságának növelésére használt inkrementális mentés (incremental backup)? 48. Rajzolja fel egy mágneslemezes háttértár tipikus felépítését, valamint adja meg az egydimenziós blokkcímek meghatározási módját! 49.Mi a RAID (Redundant Array of Inexpensive Disks) technika lényege? 50. Egy 200 sávos (0..199) mágneslemez-egységen a fej jelenleg a 143-as sáv felett áll, ezt megel!z!en a 125-ös sávon szolgált ki egy átviteli kérelmet. Jelenleg a következ! sávokra várakozik – a megadott érkezési sorrendben – egy-egy átviteli kérelem: 88, 147, 91, 177, 94, 150, 102, 175, 130. Adja meg, hogy a kérésekre az 51. Melyik a lemezm"veleteknél használt algoritmusnál nem lép fel a kiéheztetés veszélye? 52.Melyek igaz állítások?
Készülékkezelés (TK 197-206. oldal)
Az oprendszer feladatai az I/O-kezelésben:
Egységes alkalmazói felület kialakítása (application interface): Részletek eltakarása, logikai perifériakezelés lehet!vé tétele. Egységes csatlakozó felület kialakítása a készülékek számára (device interface) A készülékek hatékony m!ködtetése: Perifériák ütemezése; az átvitelek szimultán lebonyolításában a programozottan végrehajtandó feladatok (megszakításkezelés, hibakezelés stb.) megoldása.
Rendszerstruktúra (lásd TK 198. oldal, ábra): Alkalmazói felület Kernel Kernek B/K alrendszer
SW
Kezel!programok Készülékvezérl!k Készülékek
HW
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatKeszulekkezeles?skin=print.pattern
Page 1 of 4
OpreVazlatKeszulekkezeles < Infoalap < VIK wiki
2008.04.07. 21:20
A Kernel B/K alrendszere Jellegzetes feladatai: Perifériák ütemezése: annak a végrehajtási sorrendnek a meghatározása, amelyet a perifériára várakozó átviteli kérelmek végrehajtására alkalmaz a renszer. Átmeneti tár (PUFFER) m!ködtetés: Két eltér! sebesség" adatfolyam összekapcsolásakor Ha a periféria számára blokkosítás szükséges, és az alkalmazás nem blokkokkal dolgozik. Az adatküld! m"velet szemantikája csak átmeneti tárolással biztosítható. Gyorsítótár m!ködtetés Perifériahasználat koordinálása: Kizárolagos perifériahasználat megvalósítása (pl nyomtató, mágnesszalag esetén) Hibakezelés: Tranziensnek vélt hibák kiküszöbölése a m"velet ismétlésével; A hiba jelzése a hívónak.
Háttértárak kezelése A számítógéprendszerekben azért alkalmazunk háttértárat, mert: A központi tár egy bitre jutó ára magas, ezért kapacitása kicsi. A központi tár a tápfeszültség kikapcsolásával elveszti az adatokat. Minél nagyobb a tárolási kapacitás annál nagyobbnak kell lennie az egyedileg megcímezhet! információegység méretének. Háttértártípusok: mágnesszalag; mágnesdob; mágneslemez; optikai adatrögzítés; egyéb kísérleti jelleg" megoldások (mágnesbuborék tár, félvezet! tár, holografikus tárolás). Az operációs rendszer háttértár-kezel! egysége az operációs rendszer többi komponense felé a háttértárakat függetlenül elérhet! adattároló blokkok sorozataként mutatja.
A lemezegység fizikai szervezése Mágneslemezegység felépítése (TK202 ábra): Sáv (track): egy-egy lemezfelület azon része, amelyet a fej elmozdulás nélkül, a lemez egyetlen körülfordulása mentén elér. Cilinder (cylinder): a fejtartó szerkezet egy adott pozíciójában leolvasható sávok összesége. Szektor (sector): Egy-egy sávot azonos méret" szektorok alkotnak.
Az átvitel kiszolgálási idejének összetev"i: Fejmozgási id! (seek time) – a leghosszabb Elfordulási id! (latency time) Az információ átvitelének ideje (transfer time)
Szektorok címzése Az oprendszer lineárisan címez, a lemezilleszt! többdimenziósan. A kett! közti összefüggés: b= s*(i*t + j) + k , ahol b=lineáris cím, s=sávon lev! szektorok száma, t=cilinderen lev! sávok száma, i=kijelölt cilinder, j=fej száma, k=szektor száma a sávon belüli (offszet).
A lemezm!veletek ütemezése Az algoritmusok értékelésének szempontjai: átbocsátó képesség átlagos válaszid! válaszid! szórása
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatKeszulekkezeles?skin=print.pattern
Page 2 of 4
OpreVazlatKeszulekkezeles < Infoalap < VIK wiki
2008.04.07. 21:20
A fejmozgás optimalizálása Sorrendi kiszolgálás(FCFS): Kicsi az átbocsátóképessegé, nagy az átlagos válaszid!, de kicsi a szórása. Legrövidebb fejmozgási id" (SSTF): Következ!nek az aktuálishoz legközelebbi cilinderre hivatkozó kérést szolgálja ki. A válaszid!k szórása nagy és fennáll a kiéheztetés veszélye is. Pásztázó (SCAN): Következ!nek mindig olyan kérést szolgál ki, amelyikhez szükséges fejmozgás az aktuális mozgási iránynak megfelel!. Jobb mint az SSTF, de a középs! cilindereket gyakrabban látogatja mint a széls!ket. N lépéses pásztázó (N-SCAN): Egy irányba mozogva csak N olyan kérést szolgál ki, ami a pásztázás elején már megvolt. A pásztázás közben érkez!k kiszolgálása irányváltás után történik. Teljesítménye jobb mint a SCAN teljesítménye. Egyirányú (körforgó) pásztázó (C-SCAN): A kérések kiszolgálása mindig csak egyik irányú fejmozgásnál történik. Elkerüli a küls! sávoknak a bels!khöz viszonyított alacsonyabb fokú kiszolgálását. El"renéz" (LOOK): Egy irányba mozogva addig megy, amíg már abban az irányban nincs több kérés, ekkor megfordul a fej. Kis terhelésnél SCAN, nagyobb terhelésnél C-SCAN szokott a leghatékonyabb lenni.
Az elfordulási id" optimalizálása Egy cilinderen belüli kérdések kiszolgálás el!tt sorbaállíthatók.
Egyéb szervezési elvek a teljesítmény növelésére
Lemezterület tömörítése (disk compaction, defragmentation) A gyakran szükséges adatokat több példányban tároljuk (nem mindig hasznos) Több blokk egyidej" átvitele Blokkok átmeneti tárolása (disk cache) Adattömörítési eljárások használata (data compression)
Az adattárolás megbízhatósága
Adatok mentése (backup) Átmeneti tár és a háttértár tartalmanák szinkronizálása Lemezegységek többszörözése (disk shadowing, mirroring, RAID)
Kérdések 7.3 47. Mit jelent az adattárolás biztonságának növelésére használt inkrementális mentés (incremental backup)? A file legutolsó mentése óta megváltozott tartalmát menti a háttértárra, így az adatok szükség esetén visszaállíthatóak.
48. Rajzolja fel egy mágneslemezes háttértár tipikus felépítését, valamint adja meg az egydimenziós blokkcímek meghatározási módját! 202. oldal ábra b= s*(i*t + j) + k, azaz lineáris cím = sáv kijelölése + eltolás b=lineáris cím, s=sávon lev! szektorok száma, t=cilinderen lev! sávok száma, i=kijelölt cilinder, https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatKeszulekkezeles?skin=print.pattern
Page 3 of 4
OpreVazlatKeszulekkezeles < Infoalap < VIK wiki
2008.04.07. 21:20
b=lineáris cím, s=sávon lev! szektorok száma, t=cilinderen lev! sávok száma, i=kijelölt cilinder, j=fej száma, k=sávon belüli szektorok száma
49.Mi a RAID (Redundant Array of Inexpensive Disks) technika lényege? Az információt több külön diszken, redundánsan tárolják (->biztonságosabb).
50. Egy 200 sávos (0..199) mágneslemez-egységen a fej jelenleg a 143-as sáv felett áll, ezt megel"z"en a 125-ös sávon szolgált ki egy átviteli kérelmet. Jelenleg a következ" sávokra várakozik – a megadott érkezési sorrendben – egy-egy átviteli kérelem: 88, 147, 91, 177, 94, 150, 102, 175, 130. Adja meg, hogy a kérésekre az (a) id!rendi kiszolgálás (FCFS) (b) legkisebb fejmozgás (SSTF) (c) pásztázó (SCAN) (d) körkörös (Circular SCAN) algoritmus milyen sorrendben szolgálja ki, illetve közben a fej mekkora utat (hány sávnyit) tett meg! (a) 88 147 91 177 94 150 102 175 130 (b) 147 150 130 102 94 91 88 175 177 (c) 147 150 175 177 130 102 94 91 88 (d) 147 150 175 177 88 91 94 102 130
51. Melyik a lemezm!veleteknél használt algoritmusnál nem lép fel a kiéheztetés veszélye? (a) pásztázó (b) N lépéses pásztázó (c) legrövidebb fejmozgási idej" a, b
52.Melyek igaz állítások? A lemezm"veletek ütemezésénél használt algoritmusok közül a következ!nek a legkisebb az átlagos kiszolgálási id! szórása: (a) legrövidebb fejmozgási id! (Shortest Seek Time First) (b) pásztázó (SCAN) (c) egyirányú pásztázó (Circular SCAN) c -- SoTi - 2005.05.03. vissza: OpRe
Revision: r1.14 - 2007.01.24 - 03:32 - KissAnett Infoalap > OpRe > OpreVazlatKeszulekkezeles Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatKeszulekkezeles?skin=print.pattern
Page 4 of 4
OpreVazlatKezeloiFelulet < Infoalap < VIK wiki
2008.04.07. 21:20
vissza: OpRe
Operációs rendszerek kezel!i felülete A kezel!i felület feladatai A felhasználók által használható parancsok típusai A kezd!, tapasztalatlan felhasználó igényei A tapasztalt felhasználó igényei Az oprendszer és a felhasználó közötti kommunikáció eszközei Az X window rendszer Az X protokoll Az X window-rendszer koncepciója Ablakkezelés Bemeneti eszközök kezelése Megjelenít! eszköz kezelése A kezel!i felület elemei Kérdések 7.3 53.Melyek az ún. bels!, illetve küls! parancsok? 54. A felhasználónak milyen igényei lehetnek egy felhasználói felülettel szemben?
Operációs rendszerek kezel!i felülete (TK 206-211)
A kezel!i felület feladatai Felhasználói parancsok bevitele, értelmezése. Parancsok végrehajtása. Eredmények, hibák közvetítése, megjelenítése.
A felhasználók által használható parancsok típusai Bels! parancsok: Közvetlenül az oprendszer kezel!i felülete hajtja végre a parancsot. Tárolt (küls!) parancsok: Az oprendszer kezel!i felülete egy önálló programként megvalósított parancsot hív meg (ez lehet rendszerparancs vagy felhasználói parancs).
A kezd!, tapasztalatlan felhasználó igényei
kis számú egyszer" parancsok biztonságos parancsok részletes és környezetfügg! segítség minden szituációban
A tapasztalt felhasználó igényei
hatékony parancsok konfigurálható parancsok a felhasználó által b!víthet! parancskészlet
Az oprendszer és a felhasználó közötti kommunikáció eszközei Nem interaktív rendszerek: Job Control Card Interaktív, karakteres interfészt biztosító rendszerek: billenty"zet karakteres terminál Grafikus be-/kimenetet kezel! rendszerek: egér, fényceruza, érint!képerny! grafikus terminál
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatKezeloiFelulet?skin=print.pattern
Page 1 of 3
OpreVazlatKezeloiFelulet < Infoalap < VIK wiki
2008.04.07. 21:20
Hang be-/kimenet
Az X window rendszer Cél: azonos kommunikációs felület biztosítása hálózattal összekötött különböz! oprendszerekkel rendelkez! gépek között. Lehet!séget nyújt az alkalmazás és a kezel!i felület szétválasztására. M"ködésének jellemz!je a kliens-szerver modell használata.
Az X protokoll Definiálja a kliens és a szerver együttm"ködésének módját (kétirányú aszinkron kommunikáció) A hálózati kommunikáció mérséklésére törekszik.
Az X window-rendszer koncepciója X munkahely = X display + (1 vagy több) X screen + bemeneti eszközök.
Ablakkezelés Bemeneti eszközök kezelése A bemeneti eszközöket az X szerver figyeli, állapotváltozásukkor a szerver esemény üzenettel értesíti a klienst.
Megjelenít! eszköz kezelése Az X window raszteres (pixelekb!l álló) grafikus terminált tud kezelni. A színek használatát palettázással támogatja.
A kezel!i felület elemei Windowing system: a rendszer magja. Window manager: Az ablakok felhasználó által történ! manipulálását intézi. Session manager: A felhasználó beléptetését intézi grafikus képerny!n.
Kérdések 7.3 53.Melyek az ún. bels!, illetve küls! parancsok? bels! parancs: közvetlenül az operációs rendszer hajtja végre küls! parancs: önálló programban van megvalósítva
54. A felhasználónak milyen igényei lehetnek egy felhasználói felülettel szemben? kezd! felhasználó: kevés, egyszer" parancs, biztonságos parancsok (visszaállíthatóság), részletes segítség tapasztalt felhasználó: hatékony, széleskör" parancsok, konfigurálható parancsok, b!víthet! parancskészlet -- SoTi - 2005.05.03. vissza: OpRe
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatKezeloiFelulet?skin=print.pattern
Page 2 of 3
OpreVazlatKezeloiFelulet < Infoalap < VIK wiki
2008.04.07. 21:20
Revision: r1.7 - 2006.05.21 - 11:34 - SzilagyiPeter Infoalap > OpRe > OpreVazlatKezeloiFelulet Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatKezeloiFelulet?skin=print.pattern
Page 3 of 3
OpreVazlatUnixSzerkezet < Infoalap < VIK wiki
2008.04.07. 21:22
vissza: OpRe \ OpreVazlatUnixFelepites
Szerkezet A hagyományos UNIX-kernel felépítése A hagyományos Unix- rendszerek bels! szerkezete:
Moduláris felépítés! Rugalmas: A rugalmasságot a blokkos és karakteres berendezés kapcsolók biztosították. Réteges szervezés!: Az egymásra épül! rétegek a közvetlen felettük lév! réteg szolgátatásait egy jól definiált interfészen keresztül vehették igénybe.
A modern UNIX-kernel felépítése
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixSzerkezet?skin=print.pattern
Page 1 of 3
OpreVazlatUnixSzerkezet < Infoalap < VIK wiki
2008.04.07. 21:22
A modern UNIX-kernel felépítése
Az ábra alján, közpen, jobbra a.out van, ugye? -- SzaMa - 2005.06.01. Javítva -- SoTi - 2005.06.02. Megtisztítottam a képet, és áttettem png-be (veszteségmentes és még kisebb is, ajánlom figyelmetekbe...) -- Fishi - 2007.05.30.
Új követelmények és következményeik Elosztott állományrendszerek; osztott könyvtárak => rugalmasabb fájlrendszerkezelés Multimédiás alkalmazások => fejlettebb ütemezés
Jellemz"k Az egyes f!bb funkciókhoz tartozik egy-egy interfész, amelyeken keresztül az adott funkciók többféle megvalósítását el lehet érni.
Kérdések 1.Milyen el"nyöket biztosít a UNIX-rendszerek réteges bels" szervezése? A hagyományos unix rendszerekben a rugalmasságot a blokkos és a karakteres berendezés kapcsolók biztosították, elfedve a meghajtók sajátosságait. a rendszerben eltér! típusú berendezések egy egységes interfészen keresztül érhet!k el az egymásra épül! rétegek a közvetlenül felettük elhelyezked! réteg szolgáltatásait egy jól meghatározott interfészen keresztül vehetik igénybe.
2.Milyen alapvet" fejlesztéseket hajtódtak végre a modern UNIX-rendszerek felépítésében? TK 283. oldal. Többfajta állományrendszerre volt szükség (kezdetben csak egy volt, az s5fs(?)), így bevezették a virtuális vnode és vfs interfész, amellyel absztrakt szinten lehet elérni. Ezekkel már a hálózati meghajtókat is el lehet érni. Többfajta futtatható állomány támogatására is szükség volt, így beépítették az exec kapcsolót is. Az ütemezést is b!víteni kellett, hogy a multimédiás alkalmazások fussanak (soft realtime)
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixSzerkezet?skin=print.pattern
Page 2 of 3
OpreVazlatUnixSzerkezet < Infoalap < VIK wiki
2008.04.07. 21:22
-- SoTi - 2005.05.03.
Attachment modernunixszerkezet.jpg
Action
Size
manage
43.6 K
2005.06.02 18:35
SomodiTibor
modern unix
manage
36.7 K
2007.05.30 02:12
HalaszIstvan
modern unix
modern_unix_szerkezet.png
Date
Who
Comment
Revision: r1.10 - 2007.05.30 - 02:13 - HalaszIstvan Infoalap > OpRe > OpreVazlatUnixFelepites > OpreVazlatUnixSzerkezet Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixSzerkezet?skin=print.pattern
Page 3 of 3
OpreVazlatUnixFolyamatok < Infoalap < VIK wiki
2008.04.07. 21:23
vissza: OpRe \ OpreVazlatUnixFelepites Folyamatkezelés A UNIX folyamatkezelésének alapvet! jellemz!i Végrehajtási módok és környezetek A folyamatabsztrakció - folyamatok állapotai és az állapotátmeneti gráf (TK288 ábra) Folyamatok környezete Folyamatok létrehozása Folyamatok befejezése Kérdések
Folyamatkezelés (TK 284-292)
A UNIX folyamatkezelésének alapvet! jellemz!i A UNIX multiprogramozott, egyszerre párhuzamosan több folyamat is aktív. A folyamatok virtuális gépen futnak. Minden folyamat úgy érzékeli, mintha egyedül ! futna a gépen. A sok aktív folyamat közül egynek a regiszterkészlete van a hardverregiszterekben. A kernel közvetlenül a hardveren fut. A kernel valósítja meg a folyamat modellt.
Végrehajtási módok és környezetek u terület (u area): a kernel számára fontos információkat tárol a folyamatról (megnyitott állományok, regiszterek tartalma). A folyamat címterében található, de csak kernel módban lehet hozzáférni. kernelverem (kernel stack) Minden folyamathoz tartozik egy u terület és egy kernelverem. Végrehajtási módok: felhasználói (user) mód és kernel mód. Végrehajtási környezetek: folyamatkörnyezet, kernelkörnyezet. user mód folyamat Alkalmazás kód, csak a folyamat körny. kernel körny.
címteréhez lehet hozzáférni. Nem megengedett
kernel mód Rendszerhívások, kivételek, a folyamat és a rendszer címteréhez is hozzá lehet férni. Megszakítások, rendszerfeladatok, csak a rendszer címteréhez lehet hozzáférni.
A folyamatabsztrakció - folyamatok állapotai és az állapotátmeneti gráf (TK288 ábra)
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixFolyamatok?skin=print.pattern
Page 1 of 6
OpreVazlatUnixFolyamatok < Infoalap < VIK wiki
2008.04.07. 21:23
gráf (TK288 ábra)
A folyamatok jellemz!i A folyamat egy olyan entitás, ami futtat egy programot és biztosítja a futáshoz szükséges végrehajtási környezetet. Minden folyamatnak van egy szül!je és lehet egy vagy több gyermekfolyamata. Minden felhasználói folyamat az init folyamat leszármazottja. Pl a swapper és pagedeamon rendszerfolyamatok nem az init leszármazottjai, ezek a bootoláskor jönnek létre. Ha egy folyamat meghal, a gyerekei árvák (orphan) lesznek, az init fogadja !ket örökbe
A folyamatok állapotai Kinduló: végrehajtódnak a fontos inicializálások, majd futásra kész lesz. Futásra kész innen ütemezéskor környezetváltással (context switch) kerül át a Kernel fut állapotba. Kernel fut ide valamilyen rendszerhívás vagy megszakítás miatt került a folyamat, a m"velet befejeztével visszatérhet https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixFolyamatok?skin=print.pattern
Page 2 of 6
OpreVazlatUnixFolyamatok < Infoalap < VIK wiki
2008.04.07. 21:23
user fut állapotba zombi állapotba, ha exit rendszerhívás volt alszik állapotba, ha sleep rendszerhívás volt futásra kész állapotba, ha az ütemezés más folyamatot hívott be helyette User fut Alszik Ha valamilyen er!forrásra, vagy eseményre kényszerül várakozni, akkor a sleep rendszerhívással jut ide. A várt esemény bekövetkezte (wakeup hívás) után Futásra kész állapotba kerül. Zombi: a folyamat már felszabadította a foglalt memóriát, lezárta az állományokat, minden er!forrását visszaadta a rendszernek, csak a proc struktúráját tartja fogva, amiben visszatérési és statisztikai információt tárol a szül! számára. A folyamat szül! wait hívása után sz"nik meg. A 4BSD és SVR4 rendszerben +2 állapot Felfüggesztve alszik Egy alvó folyamat Stop jelzés hatására lép bele. Continue hatására visszalép alvó állapotba. Wakeup hatására Felfüggesztve futásra kész állapotba lép. Felfüggesztve futásra kész Continue és Stop hátására váltunk ezen állapot és a futásra kész állapot között.
Folyamatok környezete Felhasználói címtér Az u-terület és a proc struktúra A folyamatokhoz kapcsolódó vezérlési információkat tárolják, folyamatonként külön struktúrában. Mindkett!t kizárólag a kernel kezeli (kernel módban). A kett! közti lényeges különbség, hogy az uterület a folyamat címterének része, míg a proc struktúra a rendszerterületen található. A kernel az u területek közül csak az épp futó folyamatét tudja direktben elérni. Az u területen tárolt információk: PCB (Process Control Block) -> hardverkörnyezet Mutató a proc struktúrájára. Valós és effektív UID, GUID Argumentumok, visszaadott értékek, hibaértékek az aktuális rendszerhívásból Folyamatonkénti állományleíró tábla (megnyitott fájlok) CPU-használati (és egyéb) statisztikák A folyamat kernelverme. A proc struktúrában tárol információk: PID, PGID (process group IDs), SID Kernel címleképezési térkép az u-területhez Az aktuális folyamatállapot Mutatók az ütemezési sorokba Ütemezési prioritás és információk Jelzéssel kapcsolatos információk Memóriakezelési információk Hierarchiainformációk
Hitelesít!k Felhasználók azonosítói: UID: felhasználóazonosító. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixFolyamatok?skin=print.pattern
Page 3 of 6
OpreVazlatUnixFolyamatok < Infoalap < VIK wiki
2008.04.07. 21:23
Superuser: Minden rendszerben van egy kitüntetett felhasználó, aki kitüntetetett jogosultságokkal rendelkezik. GID: csoportazonosító. Folyamatok azonosítói: Minden folyamat egy azonosító-párral rendelkezik: egy valódi és egy effektív azonosítóval.
Környezetváltozók Hardverkontextus
Folyamatok létrehozása Új folyamat létehozására a fork rendszerhívás szolgál. Ekkor gyakorlatilag pontos mása keletkezik a folyamatnak (lásd lejjebb). A klón a hardverleírókat is megkapja, azaz úgy látja, hogy ! klónozott épp. Azt, hogy ki a klón, a fork visszatérési értéke mondja meg: a gyermek (klón) 0-s visszatérési értéket kap, a szül! pedig a gyermek PID-jét. A fork f!bb feladatai: háttértár (swap) foglalás PID generálás proc struktúra inicializálás u-terület frissítés Az egyel!re megosztott memória felkészítése a szétválásra. A folyamat futásra késszé tétele.
Folyamatok befejezése A folyamat befejezésére az exit függvény szolgál. F!bb feladatai: jelzések kikapcsolása nyitott állományok lezárása statisztikai napló mentése a proc adatszerkezetbe Gyerekeket az init örökbe fogadja átlépés zombi állapotba már minden felhasznált er!forrás felszabadul, csak a proc adatszerkezet van meg A szül! SIGCHLD jelzést kap A szül! kiolvassa a procból a neki szükséges információkat, és wait rendszerhívással felszabadítja ezt is, ezzel véglegesen törölve a folyamatot.
Kérdések 3.Miért növeli a hatékonyságot UNIX-rendszerekben a szálak használata? TK285. Modern unixokban egy folyamaton belül is több szálon futhat a végrehajtás, ezt hívjuk szálaknak, vagy könny"súlyú folyamatoknak. Ez pl. kliens-szerver architektúránál el!nyös: a szerver párhuzamosan tud foglalkozni a kliensek kéréseivel.
4.Rajzolja fel a UNIX operációs rendszer folyamatainak teljes állapotátmeneti diagramját! Mi a zombie állapot szerepe, mikor kerül egy folyamat ebbe az állapotba, és mikor hagyja azt el? TK 288. oldal ábra egy futását befejezett folyamat az exit rendszerhívás segítségével lép át zombie állapotba már felszabadult a memória, az állományok lezárultak, az er!források visszakerültek a rendszerhez, egyedül a proc struktúráját tartja fogva a folyamat https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixFolyamatok?skin=print.pattern
Page 4 of 6
OpreVazlatUnixFolyamatok < Infoalap < VIK wiki
2008.04.07. 21:23
a proc struktúrában a szül! számára tárolt visszatérési és statisztikai információk találhatók a zombie állapotból a szül! wait rendszerhívásának hatására lép ki a folyamat és megsz"nik létezni
5.Ismertesse a UNIX-rendszerben a folyamatok létrehozásának mechanizmusát! Térjen ki a kernel által elvégzend! feladatokra, és a folyamatok közötti leszármazási hierarchiára! Új folyamatot a fork() rendszerhívással lehet létrehozni, amelynek hatására a folyamat kezdeti állapotba kerül. Itt végrehajtódnak a legfontosabb incializálások, majd a rendszerhívás lefutása után a folyamat készen áll a futásra, már csak a processzrra van szüksége. swap területfoglalás PID generálás proc sturuktúra foglalás és inicializálás címleképzés táblák allokálása A Unix folyamatai hierarchiát alkotnak. Minden folyamatnak pontosan egy szül!je (parent) van, és egy vagy több gyermek folyamata (child prcess). A hierarchia csúcsán az init folyamat helyezkedik el, ez a folyamat ez els!nek létrehozott felhasználói
6.Ismertesse a UNIX-rendszerben a folyamatok leállításának mechanizmusát, a kernel által elvégzett feladatokat, és a folyamat szül!jének küldött jelzés jelent!ségét! 7.Mikor tér vissza hibával a UNIX operációs rendszerben a fork rendszerhívás? i)Ha nincs a központi tárban elegend! szabad tárterület ii)Ha az operációs rendszer folyamat táblájában (process table) nincs üres hely iii)Ha a felfüggesztett folyamatok száma átlépett egy, a rendszer generálásakor megadott értéket
8.Mely állítások igazak? A UNIX operációs rendszerben egy folyamat megsz"ntekor zombie állapotú marad amíg HAMIS vannak még él! gyerekei – HAMIS az általa írt pipe-okat olvasó folyamatok még nem sz"ntek meg – IGAZ a szül! – vagy annak halála esetén az init – el nem vette a folyamat visszatérési értékét –
9.Sorolja fel, hogy a UNIX-folyamatok esetén mi tartozik egy folyamat környezetéhez (context)! TK289. felhasználói címtér vezérlési információk u-terület proc struktúra hitelesít!k (pl felhasználó és csoporazonosító) környezetváltozók hardverkontextus (programszámláló, veremmutató, processszor állapota, memóriakezel!, regiszterek, lebeg!pontos egység regiszterei stb.) Ezt az oprendszer környezetváltáskor elmenti az u-területre, ill onnan olvassa be.
10.Jelölje be azon információkat, melyeket a UNIX-kernel a folyamatok uarea területén tart! HAMIS folyamat prioritása – (ennek muszáj a procban lennie, mert a kernel minden folyamat prioritását ellen!rzi ütemezéskor) IGAZ folyamat futása alatt érvényes aktuális könyvtár – https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixFolyamatok?skin=print.pattern
Page 5 of 6
OpreVazlatUnixFolyamatok < Infoalap < VIK wiki
2008.04.07. 21:23
IGAZ folyamat adatterületének nagysága és címe – IGAZ folyamat által eddig felhasznált összes CPU-id! – ? (pl. lsd. cpu használati stat. -- adamo - 2005.05.30.) IGAZ a nyitott állományok aktuális pozíciója – vi)a folyamat zombie állapotú gyermekeinek visszatérési értéke IGAZ az aktuálisan végrehajtódó rendszerhívások paraméterei HAMIS a folyamat állapota (ugyancsak procban kell lennie, hogy ütemezéskor fel lehessen használni) HAMIS a folyamat várakozásának (sleep) oka (erre akkor van szükség, amikor nem épp ! fut => proc) IGAZ a folyamat által lekezelt jelzések (signal) kezelésére szolgáló függvények címe – ? (Vigyázat, a jelzések maszkja - azaz, hogy melyikre van egyáltalán kezel! - a procban van )
11.Mit jelent a UNIX operációs rendszerben, ha egy program setuid jogosultsággal rendelkezik? a setuid rendszerhívással megváltoztatható egy adott felhasználó felhasználóazonosítója (UID) a user a setuiddel az effektív azonosítót valódira állíthatja vissza a superuser a setuiddel az effektív és a valós azonosítókat is megváltoztathatja (ugyanezek vonatkoznak a setgidre is)
12.Mire szolgálnak a hitelesít!k (kredeciálisok) a UNIX-rendszerben? (289. o.) UID: felhasználó-azonosító GID: csoportazonosító; minden felhasználó egy vagy több csoportba tartozik superuser UID = 0; GID = 1 az azonosítókból minden folyamat egy párral rendelkezik: valódi és effektív azonosítókkal az effektív azonosítók az állománykezelésben, a valódi azonosítók a jelzések kezelésében meghatározók
13.Mire szolgál a UNIX operációs renszerben a wait rendszerhívás? a zombi gyerekek információinak kiolvasására. (Ezáltal a zombi el is t"nik) -- SoTi - 2005.05.03. vissza: OpRe \ OpreVazlatUnixFelepites
Attachment processzek_unix.jpg
Action
Size
manage
40.3 K
Date 2005.05.25 21:13
Who NemethAdam
Comment Unix folyamatkezelés
Revision: r1.13 - 2005.12.08 - 16:26 - BotzAttila Infoalap > OpRe > OpreVazlatUnixFelepites > OpreVazlatUnixFolyamatok Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixFolyamatok?skin=print.pattern
Page 6 of 6
OpreVazlatUnixUtemezes < Infoalap < VIK wiki
2008.04.07. 21:23
vissza: OpRe \ OpreVazlatUnixFelepites
Unix ütemezés TK292-303
Az ütemezési algoritmussal szemben támasztott követelmények Általánosan: Alacsony válaszid! biztosítása az intaraktív folyamatok támogatása érdekében. Nagy átbocsátóképesség biztosítása Az alacsony prioritású, háttérben futó folyamatok éhezésének elkerülése A fentiek kiegészíhet!k még az alábbiakkal: A rendszer terhelését figyelembe vev! ütemezés, mely nem hirtelen omlik össze nagy terhelés esetén, hanem lehet!séget ad a beavatkozásra A felhasználóknak legyen lehet!sége a folyamatok futási esélyeinek befolyásolására.
A Unix ütemezés rövid jellemzése Prioritásos ütemezés, a prioritások id!ben változhatnak. User módban preemptív, id!osztásos. Az azonos prioritású folyamatok esetén Round Robint használ. Kernel módban nem preemptív, a prioritások rögzítettek.
A prioritások meghatározása Prioritás: 0-127, a kisebb szám a nagyobb prioritás. Kernel módban 0-49, felhasználói módban 50-127. Kernel módú folyamatoknál nem preemtív, így csak akkor van újraütemezés, ha sleep-pel vár valamire. A prioritás attól függ hogy milyen sleep utasítással ment át alvó állapotba. User módú folyamatoknál attól függ a prioritás, hogy a felhasználó milyen módosítóértéket adott a folyamatnak(nice) és attól, hogy mennyi volt a korábbi CPU használat. Az erre vonatkozó értékek: p_pri aktuális ütemezési prioritás p_usrpri A felhasználói mód prioritása (!rzi az értéket, amíg a folyamat kernel módban van) p_cpu a CPU használat értékére vonatkozó szám p_nice a felhasználó állítja be, a "fontosság" jelzésére Az értékek az óramegszakításkor változnak: Id!pont
Futó
Minden folyamat
folyamat
Minden óra p_cpu ++
Ha van magasabb prioritású folyamat (most ébredt), újraütemez
Minden 10. Ha a legmagasabb prioritási szinten több folyamat van, akkor azok között Round óra
Robin módon újra választ
Minden
Korrekciós faktor kiszámítása; p_cpu korrekciója; p_usrpri
100.
újraszámolása
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixUtemezes?skin=print.pattern
Page 1 of 5
OpreVazlatUnixUtemezes < Infoalap < VIK wiki
2008.04.07. 21:23
Korrekciós faktor(KF) kiszámítása , ahol f a futásra kész folyamatok száma. A korrekciós faktor a folyamatok számának növekedésével egyhez közelít. Egyes Unix rendszerekben konstans 1. Jelentése: mennyire gyorsan fejeltjük el, hogy a folyamat mennyit futott. Pl: 3 folyamat van a rendszerben 1 db mindig fut, 2 futásra kész, KF=4/5 p_cpu korrekciója
p_usrpri számítása
Adatszerkezet A 0-127 prioritást 4-esével 32 prioritási szintbe soroljuk. A 32 szinthez 32 láncolt listát tárolunk. (Ezen belül fut 10 óránként a roundrobin) Egy 32 bites szóban (whichqs) tároljuk egy-egy bittel, hogy melyik szinteken vannak folyamatok. (ezt ellen!rizzük minden órámegszakításnál).
Hátrányok
Nem méretezhet!, a korrekciós faktor nem elégséges Real-time megkötések nem lehetségesek Kernel nem preemptív nice szám nem túl hatékony
Feladatok TK301 oldal példája. A példákban a nice szint 0, a KF konstans, pl 1/2 szokott lenni. A megoldáshoz a fenti táblában lév! utasításokat kell precízen betartani.
A call-out A call-out mechanizmus arra szolgál,hogy egy adott tevékenységet egy kés!bbi id!pontra lehesen id!zíteni. A call-outok tárolására két elterjedt módszer létezik: láncolt listás Az egyes végrehajtand! tevékenységek láncolt listába vannak f"zve, és egymáshoz viszonyíotott relatív idejük van tárolva. id!kerekes A láncolt lista fel van bontva pl. 10 részre, ekkor az 0. lista tárolja azokat az elemeket, melyek abszolút végrehajtási idejé 10-el osztható, az els! azokat, melyek ideje 1 maradékot ad 10-el osztva, stb. Ilyen módon egy órajelnél átlagosan az összes calloutnak csak egytizedét kell megvizsgálni. Az id!t mindenütt órajelben (tikk) számoljuk -- Merlin - 2005.05.04.
Kérdések (7.5/14-26)
Milyen ütemezést valósít meg a UNIX SVR3? (Gondoljon a kernel, user módra!)
user módban : preemptív ütemezés, id!osztásos, id!ben változó prioritású folyamatok azonos prioritású folyamatok esetén round-robin , FCFS kernel módban : szigorúan nem preemptív ütemezés rögzített prioritású folyamatok
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixUtemezes?skin=print.pattern
Page 2 of 5
OpreVazlatUnixUtemezes < Infoalap < VIK wiki
2008.04.07. 21:23
Mi a különbség a megszakítható és a nem megszakítható alvás között? Mit jelent, hogy a kernel mód reentrens? (294. o.)
a kernel mód újrahívható, vagyis egyszerre több példányban is végrehajtódhat (pl. ha egy kernel módban futó folyamat sleep rendszerhívást hajt végre, ugyanaz a kernel eljárás egy másik folyamat hívására újraindulhat)
Miért nem preemptív kernel módban a UNIX ütemezése? (294. o.)
A kernel módot végrehajtó folyamatot (pl. rendszerhívás, megszakítás-kezelés) nem lehet kényszeríteni, hogy a CPU használatáról lemondjon egy nagyobb prioritású folyamat javára újraütemezés csak akkor következik be, ha egy folyamat önként lemond a CPU-ról és sleep rendszerhívást hajt végre, vagy a folyamat kernel módból visszatér user módba
Ide szerintem azt kell leírni, hogy mi az oka, nem az hogy mit jelent, hogy nem preemptív. A könyv alapján az ok egyszer"en az, hogy az op. rendszer sok olyan adatszerkezetet használ, amit nem lehet egy lépésben megváltoztatni, például láncolt listából való elem kif"zése. Ha a két mutató közül még csak az egyik változott meg miközben végrehajtódna egy újraütemezés, inkonzisztens állapotba kerülne az adatszerkezet, vagy pedig sok szinkronizációs plusz m"veletre lenne szükség a kölcsönös kizáráshoz. (294. old ábra)
A UNIX op.rendszer futásra kész folyamatainak prioritása annál nagyobb, 1. minél kevesebb folyamatot futtat az adott felhasználó 2. minél kisebb tárterületet használ 3. minél régebben nem használta a CPU-t
Miért van a UNIX kerneljében a várakozó állapotba átmenetet kiváltó sleep hívás mindig egy while ciklus belsejében? Jelölje be valamennyi olyan eseményt, amikor a UNIXban biztosan környezetváltás (context switch) történik! (298. o.) 1. egy futásra kész folyamat olyan jelzést kap, amit nem kezel le és nem is hanyagol el 2. a futónál nagyobb prioritású folyamat futásra késszé válik –C (preemptív esetben, a 100-adik óraciklusban) 3. a read rendszerhívás végrehajtásához szükséges diszk blokk nincs bent a gyorsító tárban 4. 5. 6. 7.
(buffer cache) a futó folyamat exit rendszerhívást hajt végre –C minden óramegszakítás bekövetkezésekor a futó folyamat laphiba megszakítást okozott és a szükséges lap nincs a fizikai tárban egy várakozó állapotban lév! folyamat által nem lekezelt jelzést (signal) kap
UNIX kernelben hol preemptív a folyamatok ütemezése? A UNIX kernel szigorúan nem preemptív ütemezés".
Mire szolgálnak a callout-ok , hogyan biztosítható minél hamarabbi végrehajtásuk? A call-out mechanizmus arra szolgál, hogy egy adott tevékenységet (függvényt) a kernel egy kés!bbi id!pontban hajtson végre (hívjon meg). A call-out függvények adott id!ben történ! meghívását a https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixUtemezes?skin=print.pattern
Page 3 of 5
OpreVazlatUnixUtemezes < Infoalap < VIK wiki
2008.04.07. 21:23
id!pontban hajtson végre (hívjon meg). A call-out függvények adott id!ben történ! meghívását a
timeout rendszerhívással lehet megadni és az untimeout rendszerhívással törölni. Call-out felhasználási lehet!ségei : hálózati csomagok ismételt elküldése ütemezési és memóriakezel! függvények hívása készülékek monotorozása nem IRQ-val m"köd! device lekérdezése A megszakításkezel! nem hívja meg közvetlenül a call-out függvényeket, csak ellen!rzi, hogy elérkezett-e az ideje valamely függvény meghívásának. Ha igen, beállít egy bitet, ami a kernelnek fogja jelezni, hogy a call-out-ot végre kell hajtani. Így a megszakítások kiszolgálása után a lehet! leghamarabb végrehajtódik a kért call-out.
A UNIX folyamatainak ütemezésénél megkülönböztet rendszer- és felhasználói prioritásokat. Mikor kap egy folyamat rendszer prioritást és mit!l függ ennek értéke? Milyen paraméterek befolyásolják a felhasználói prioritás értékét? Egy folyamat akkor kap rendszer prioritást, amikor kernel módban van es elalszik. A rendszer prioritás értéke az elalvás okátol függ. A felhasználói prioritás értéke a rendszerben lév!, futásra kész folyamatok számátol, az adott folyamat korábbi CPU-használatának mértéket!l, illetve a felhasználó által megadott nice értékt!l függ.
Mire szolgál a whichqs ? Az id!ben változó prioritások tárolására a rendszer dinamikus adatszerkezetet használ. Az azonos prioritású, futásra kész folyamatok láncolt listán tárolódnak. A keresés megkönnyítése érdekében a listafejek egy hashtáblában helyezkednek el. Egy listafejhez négy egymás után következ! prioritásértékkel rendelkez! folyamat tartozik. A rendszer minden sorhoz egy jelz!bitet rendel, ami mutatja, hogy az adott sorban van-e futásra kész folyamat. A biteket minden listam"veletnél frissíti a rendszer. A négy prioritási szint egyetlen hashtábla-bejegyzésbe történ! összevonásával pontosan 32 jelz!bit lesz. A jelz!biteket tartalmazó változó neve whichqs.
Mutassa be a hagyományos UNIX-ütemez! m"ködését a köv. példán: nice nincs, prioritás = CPU/2+60, csillapítás = CPU/2, az óra 60-at üt másodpercenként. Melyek a hagyományos UNIX-rendszerekben megvalósított ütemezési algoritmus hiányosságai?
Nem méretezhet! megfelel!en. Az algoritmus nem képes rugalmasan alkalmazkodni a folyamatok számának növekedése esetén. A korrekciós faktor nem elég hatékony eszköz. A CPU-t adott esetben nem lehet „kiosztani” adott folyamat számára. Nem garantálható fix válaszid!. Nagy rendszerterhelés esetén a válaszid! megn!het. A UNIX ütemezés épp ezért nem alkalmazható real-time rendszerekben. A kernel nem preemptív, ezért az egész rendszert feltarthatja. A felhasználó nem tudja megfelel! módon befolyásolni folyamatai prioritását, a nice szám nem megfelel! eszköz erre a célra.
vissza: OpRe \ OpreVazlatUnixFelepites
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixUtemezes?skin=print.pattern
Page 4 of 5
OpreVazlatUnixUtemezes < Infoalap < VIK wiki
2008.04.07. 21:23
Revision: r1.16 - 2006.01.16 - 03:42 - MolnarPeter Infoalap > OpRe > OpreVazlatUnixFelepites > OpreVazlatUnixUtemezes Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixUtemezes?skin=print.pattern
Page 5 of 5
OpreVazlatUnixSzinkronizacio < Infoalap < VIK wiki
2008.04.07. 21:23
vissza: OpRe \ OpreVazlatUnixFelepites
Szinkronizáció (TK 304-312) A szinkronizáció egy folyamat végrehajtásának olyan id!beli korlátozása, ahol ez egy másik folyamat futásától, esetleg egy küls! esemény bekövetkezését!l függ.
UNIX-jelzések A jelzések célja, hogy a folyamatok különböz! események bekövetkezésér!l értesüljenek. Az események egy meghatározott halmazának bekövetkezéseesetén a futó folyamat egy eljárásának meghívására ad módot. A mai modern UNIX rendszerek a POSIX.1 szabványnak megfelel! jelzéskezel! rendszert tartalmaznak.
Jelzések keltése, a jelzések forrása
Kivételek Pl. illegális utasítás Más folyamatok kill() vagy sigsend() rendszerhívással Terminálmegszakítások Pl. ctrl-c Munkamenet-kezelés el!térben/háttérben futó folyamat maipulálása. Gyerek halála Kvótajelzések Korlátozott CPU vagy lemezhasználat Értesítések Pl. periféria készen áll Riasztások Pl. a folyamat beállít egy id!zít!t, aminek a lejártakor riasztást kap
Jelzések kezelése Minden jelzéshez tartozik egy alapértelmezett akció , amit a kernel hajt végre: Megszakítás (abort) (core dump - futási lenyomat keletkezik) Kilépés Figyelmen kívül hagyás (ignore) Felfüggesztés Folytatás A jelzést fogadó folyamat tudomására akkor jut egy jelzés érkezése, ha a kernel meghívja az erre a célra szolgáló issig() rendszerhívást. Ez a következ! esetekben fordul el!: Visszatéréskor felhasználói futási szintre egy rendszerhívásból vagy megszakításból. Egy megszakítható eseményre történ! várakozás el!tt. Közvetlenül egy nem megszakítható eseményre történ! várakozás után. Ha issig() igazat ad vissza, akkor a psig() hívás lekezeli a folyamatot: vagy az alapértelmezett kezel!t hívja meg, vagy sendsig() hívással a folyamat által beállított kezel!t.
Problémák és megoldásaik (POSIX.1 szabvány szerint) a System V https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixSzinkronizacio?skin=print.pattern
Page 1 of 4
OpreVazlatUnixSzinkronizacio < Infoalap < VIK wiki
2008.04.07. 21:23
Problémák és megoldásaik (POSIX.1 szabvány szerint) a System V jelzésrendszerében
Kezel!k A kernel a jelzés észlelésekor minden alkalommal visszaállította az alapértelmezett akciót, így a folyamat jelzéskezel! eljárásának gondoskodnia kellett az egyedi kezelés ismételt beállításáról. Versenyhelyzetet teremtett, és könnyen az alapértelmezett akció végrehajtását eredményezhette. A probléma megoldása perzisztens kezel!kkel történik, ahol jelzéskezel! eljárás végrehajtásának beállítása a jelzéskezelés után is megmarad. Jelzésekkel kapcsolatos információk A jelzéseket leíró táblát (maszkok, van-e hozzá saját kezel!) a kernel az u-területen tárolta (ami a folyamat címterében van), így csak a futó folyamatéhoz fért hozzá (fel kellett ébreszteni). Megoldás: a proc területre tették át, így minden folyamat infóit tudja olvasni a kernel. Blokkolás Hiányzik a jelzések kézbesítésének átmeneti blokkolása, illetve a folyamatok csoportos kezelésének lehet!sége. Ennek megoldása a maszkolás (ezeket a jelzéseket a kernel megjegyzi, de nem adja tovább). A megoldásokat fokozatosan vezették be, az SVR3 például még nem volt képes több jelzést egyszerre blokkolni. Felszabadítás és várakozás: Képes megoldani, hogy a folyamat felszabadítsa a blokolt jelzést, majd azonnal várakozó állapotba kerüljön a jelzés megérkezéséig. sigpause() hívás
Az SVR3 implementáció Legf!bb hiányosságai, hogy nem képes egyszerre több jelzést blokkolni illetve nincs benne munkafolyamat-kezelés.
4.2BSD jelzésmenedzsment Az els! megbízható jelzésrendszer. Lehet egyszerre több jelzést blokkolni. Egy jelzés második példányát a rendszer nem fogja kezelni addig, míg az els! kezelését be nem fejezte. A jelzéseket külön vermet használva is kezelheti a folyamat. Fejletteb munkafolyamat-kezelés. Képes a jelzések által félbeszakított, hosszú ideig futó rendszerhívások automatikus újrahívására. Hátránya: nem kompatibilis az eredeti SVR3 interfésszel.
Az SVR4 jelzések
Az SVR4 jelzéskezel! interfész kompatibilis a BSD és a korábbi SVR3 jelzéskezeléssel, ill. a nem megbízható jelzésekkel is. A kernel a folyamatok felébresztése nélkül képes ellen!rizni, hogy azok foglalkoznak-e a jelzéssel.
Kivételkezelés Kivétel: a program egy nem megszokott szituációval, tipikusan valamilyen hibával találja magát szemben.
A UNIX kivételkezelés hátrányai A kivételkezelés a kivétellel megegyez! kontextusban fut. (a bekövetkezéskor aktuális kontextusból csak bizonyos részeket ad át, impementációtól függ!en) A jelzéseket alapvet!en egyszálú folyamatok számára találták ki.
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixSzinkronizacio?skin=print.pattern
Page 2 of 4
OpreVazlatUnixSzinkronizacio < Infoalap < VIK wiki
2008.04.07. 21:23
Folyamatcsoportok és terminálkezelés A UNIX a folyamatcsoportokat használja a terminálhozzáférés és a felhasználói viszony kezelésére. Minden folyamathoz tartozik egy folyamatcsoport azonosító (process group ID). Munkamenet-kezelés: az a mechanizmus, mely egy folyamatcsoport futását felfüggesztheti, vagy továbbengedheti és meghatározza a csoport kapcsolatát a terminálhoz. Viszony objektum (session object): az újabb UNIX-ok ennek segítéségével írják le a felhasználói kapcsolatot a folyamatokhoz. A viszonyok leírására az SID (session ID) azonosítót használják. A viszony objektum a felhasználóhoz és a vezérl! terminálhoz rögzített. El!térben futó csoport: kizárólagos hozzáféréssel rendelkezik a terminálhoz.
Kérdések 27.Ismertesse a UNIX jelzéseinek (signal) fogalmát, az ezeket kezel! rendszerhívásokat, fontosabb paramétereit! Hogyan reagálhat egy folyamat a neki küldött jelzésekre? Els!dleges céljuk, hogy a folyamatok a különböz! események bekövetkezésér!l értesüljenek. Az események egy meghatározott halmazának bekövetkezése esetén a futó folyamat egy eljárásának meghívására ad módot. Jelzések keltése: kivétel (exception) más folyamat. terminálmegszakítás munkamenet-kezelés (job-control) kvótajelzések értesítések riasztások. Jelzések kezelése: megszakítás (abort) kilépés figyelmen kívül hagyás (ignore) felfüggesztés folytatás.
28.Hol tárolja a UNIX az egyes folyamatok által lekezelt jelzéseket (signal) kezel! eljárások kezd!címeit? Nem megbízható jelzéseknél a jelzéseket leíró táblát a kernel az u-területen tárolja, csak az éppen futó folyamatéhoz fér hozzá. A megbízható jelzéseknél (POSIX) áthelyezték a proc területre, hogy ne kelljen a folyamatot felébreszteni emiatt.
29.Milyen célokat szolgálnak, és milyen hatásuk lehet a jelzéseknek (signal) a UNIX-rendszerekben? Els!dleges céljuk, hogy a folyamatok a különböz! események bekövetkezésér!l értesüljenek. Az események egy meghatározott halmazának bekövetkezése esetén a futó folyamat egy eljárásának meghívására ad módot. A folyamat által lekezelt jelzések (signal) kezelésére szolgáló függvények címe a proc struktúrában található (megbízható jelzések). https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixSzinkronizacio?skin=print.pattern
Page 3 of 4
OpreVazlatUnixSzinkronizacio < Infoalap < VIK wiki
2008.04.07. 21:23
30.Mutassa meg, hogy az SVR2-beli signalkezelés miért nem volt megbízható! Az egyik tipikus probléma, hogy a kernel a jelzés észlelésekor minden alkalommal visszaállítja az alapértelmezett akciót, így a folyamat jelzéskezel! eljárásának gondoskodnia kell az egyedi kezelés ismételt beállításáról. Ez versenyhelyzetet teremt, és könnyen az alapértelmezett akció végrehajtását eredményezheti. Másik probl.: a jelzéseket leíró táblát a kernel az u-területen tárolja, amihez csak az aktuális folyamat fér hozzá. Így a kernel egy nem megszakítható várakozásban lév! folyamat esetében nem tudja eldönteni, hogy a folyamat kezeli-e a jelzést, vagy az alapértelmezett akció hajtódjon végre. Harmadik: a hiányzik a jelzések kézbesítésének átmeneti blokkolása.
31.Ismertesse az SVR4 és a BSD verziókban alkalmazott jelzésmenedzsmentet! 32.Ismertesse a UNIX signaljainak kezelésére szolgáló legfontosabb rendszerhívások feladatát! Mikor, milyen állapot-átmeneteknél juthatnak érvényre a jelzések? Mondjon konkrét példát, eseményt, mikor az op.rendszer küld jelzést egy folyamatnak! A jelzést fogadó folyamat tudomására akkor jut egy jelzés érkezése, ha a kernel meghívja az erre a célra szolgáló issig() rendszerhívást. Ez abban az esetben fordulhat el!, ha a folyamat visszatér felhasználói futási szintre egy rendszerhívásból, vagy egy megszakításból, vagy egy megszakítható eseményre történ! várakozás el!tt, vagy közvetlenül egy nem megszakítható eseményre történ! várakozás el!tt. PÉLDA: Egy folyamat beállíthat riasztást egy adott id!hosszra, amely letelte után a kernel jelzést küld a folyamat számára.
33.Milyen kapcsolat van a folyamatcsoportok és a terminálkezelés között? A UNIX a folyamatcsoportokat használja a terminál hozzáférés és a felhasználói viszony kezelésére.
34.Mi a viszony-objektum (session object) feladata? Az SVR4-ben bevezetett viszony objektum írja le a felhasználói kapcsolatot a folyamatokhoz. A folyamatok viszonyhoz és folyamatcsoporthoz egyaránt tartozhatnak. A viszonyok leírására a session id-t (SID) használja a rendszer. A viszony objektum a felhasználóhoz és a vezérl! terminálhoz rögzített. A viszony kapcsolatban lév! folyamatok vezet!je (session leader) jogosult egyedül a vezérl! terminál lefoglalására vagy felszabadítására. vissza: OpRe \ OpreVazlatUnixFelepites
Revision: r1.8 - 2005.06.02 - 22:50 - SzaMa Infoalap > OpRe > OpreVazlatUnixFelepites > OpreVazlatUnixSzinkronizacio Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixSzinkronizacio?skin=print.pattern
Page 4 of 4
OpreVazlatUnixKommunikacio < Infoalap < VIK wiki
2008.04.07. 21:23
vissza: OpRe \ OpreVazlatUnixFelepites
Folyamatok közötti kommunikáció Jelzések Cs!vezetékek Folyamat-nyomkövetés System V IPC (Inter Process Communication) Szemaforok Üzenetsorok Osztott memória Hálózati kommunikáció Kérdések 35.Milyen célokat szolgálhat a folyamatok közötti kommunikáció? 36. Milyen fizikai tulajdonságai vannak a kommunikációs csatornának? 37. Milyen módszereket használnak a folyamatok megnevezésére (naming)? 38. Milyen típusú szinkronizáció történik tárolás nélküli átvitel, véges kapacitású tároló, ill. végtelen kapacitású tároló típusú átviteli csatornák esetén? 39. Mi történik, ha a kommunikáció folyamán az egyik folyamat leáll? 40. Hogyan kezelhet!ek a hibás, ill. elveszett üzenetek? 41. Sorolja fel a UNIX-rendszerekben a folyamatok közötti kommunikációra szolgáló módszereket! Melyek alkalmazhatók közülük csak szül!-leszármazottai viszonyban? 42. Ismertesse, hogyan történik adatok átvitele a UNIX-cs!vezetékek (pipe) használatával! Térjen ki a széls!séges esetekre (túltöltés, olvasás üres cs!vezetékb!l) is! 43. Ismertesse a UNIX System V IPC mechanizmusainak közös vonásait! 44. Mi a különbség az elnevezett (named) és az anonim (unnamed) pipe-ok között? (Létrehozás, használat, megsz"nés.) Unnamed Named 45. Milyen problémák merülnek fel a System V által megvalósított szemaforokkal kapcsolatban? 46. Mikor érdemes kommunikációra üzenetsorokat, ill. osztott memóriaterületet használni? 47. Melyik igaz?
Folyamatok közötti kommunikáció (TK 312-323)
Jelzések Céljuk: a folyamatok értesítése aszinkron módon bekövetkez! eseményekr!l. A modern UNIX rendszerek 31 jelzést alkalmaznak, ebb!l 2 az alkalmazások számára fenntartott.
Cs!vezetékek Egyirányú, FIFO jelleg", nem strukturált, változó méret" adatokat közvetít! adatfolyam. Általában két folyamat közötti egyirányú kommunikációra használják. Hátrányai: A vev!nek nincs tudomása arról, hogy hol vannak az adatok határai. Több olvasó esetén az író nem tudja kiválasztani melyiküknek küldje az üzenetet. Nincs lehet!ség több címzetthez is eljuttatni az adatot (mert az kiolvasáskor törl!dik). Elnevezett cs!vezeték: System V rendszerekben. A FIFO a folyamatoktól függetlenül létezik a fájlrendszerben, az írók és olvasók megsz"nésével nem törl!dik. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixKommunikacio?skin=print.pattern
Page 1 of 5
OpreVazlatUnixKommunikacio < Infoalap < VIK wiki
2008.04.07. 21:23
Kétirányú cs!vezeték: SVR4-ben. Kétirányú kommunikáció megvalósítására. Mindkét „végén” lehet olvasni és írni is.
Folyamat-nyomkövetés Els!sorban nyomkövet! programok használják. Segítségével egy folyamat befolyásolhatja gyermeke futását (írás és olvasás a gyermek címtartományában, a gyermek regisztereinek írása olvasása stb.) Hártányai: A nyomkövet! csak közvetlen gyermekét tudja nyomon követni. Nem hatékony. Már futó folyamatokat nem nyomkövethet. setuid jelzéssel ellátott programok nyomkövetése tiltott.
System V IPC (Inter Process Communication) Ide tartoznak a szemaforok, üzenetsorok, és az osztott memória. Minden IPC er!forrás rendelkezik a következ! azonosítókkal: kulcs (key): azonosító. létrehozó (creator): az er!forrás létrehozójának UID-ja és GID-je. tulajdonos (owner): az er!forrás tulajdonosának UID-ja és GID-je. hozzáférési jogok (permissions): olvasási/írási/végrehajtási jogok. Minden er!forrásnak van létrehozó és vezérl! rendszerhívása. A kernel egészen addig fenntartja ezeket az er!forrásokat, amíg meg nem szüntetik !ket.
Szemaforok A SYSV IPC szemaforok az általános szemafor mechanizmusát és operációit (P() és V()) valósítják meg. A szemafor m"veletek kizárólagosságát a kernel biztosítja. Rendszerhívásai: semget(key,count,flag) - létrehozza a szemafort (count db-ot) semop(semid,semops,nsemops) - használhatjuk a szemafort Hátrányok: A szemafor létrehozása és inicializása nem atomi m"velet. A szemaforok törlésük nélkül a hozzájuk tartozó folyamatok megsz"nése után is létezni fognak.
Üzenetsorok Az üzenetsor egy olyan leíró, mely üzenetek láncolt listájára mutat. Minden egyes üzenet egy típusjelz! után egy adatterületet tartalmaz. FIFO m"ködés". Jól használható kisméret" adatcsomagok küldésére. Rendszerhívásai: msgget() - létrehoz egy üzenetsort msgsnd() - írja az üzenetsort msgrcv() - olvassa az üzenetsort Különbségek a cs!vezetékhez képest: Az üzenetek típusjelz!je felhasználható sz"r!ként. Az adatokat nem formázatlan folyamként, hanem elkülön"l! üzenetekben továbbítja. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixKommunikacio?skin=print.pattern
Page 2 of 5
OpreVazlatUnixKommunikacio < Infoalap < VIK wiki
2008.04.07. 21:23
Hátrányai: Nem alkalmas nagy mennyiség" adat átvitelére. Nem nevezhet! meg címzett az üzenetekhez.
Osztott memória Az osztott memória a központi tár egy olyan régiója, melyet egyszerre több folyamat is használhat. Ez a leggyorsabb kommunikációs forma azonos gépen futó folyamatok között. Rendszerhívásai: shmget() - osztott memória létrehozása shmat() - memóriaterülethez virtuális címet rendel shmdt() - megszünteti a hozzárendelést Hátrányai: Semmilyen szinkronizációs mechanizmus nem kapcsolódik hozzá, így az adatok módosítása konkurens lehet.
Hálózati kommunikáció A UNIX operációs rendszerben alapvet!en a TCP/IP protokollcsaládra alapuló kommunikációs eszközöket fejlesztettek ki a különböz! gépeken futó folyamatok közötti kommunikáció megoldására. A hálózati kommunikációs csatorna leírója a socket , egy absztrakt objektum, ami felhasználható üzenetek küldésére és fogadására. A socket típusai: folyam (stream): megbízható, sorrendhelyes, kétirányú kapcsolat. üzenetszórás (datagram): kapcsolatmentes csomagküldés, ahol a sorrend és a megérkezés nem garantált. A socket létrehozása: socket rendszerhívással. A socket kötése a lokális gépen egy porthoz: bind rendszerhívással. A kötött portra kapcsolódás: connect rendszerhívással. A socket használata: várakozási sor hosszának konfigurálása: listen rendszerhívással. a sor elején álló kérés fogadása: accept rendszerhívással. A socket lezárása: shutdown vagy close rendszerhívással. (shutdown-nak megadható, hogy melyik irányt zárja le.)
Kérdések 35.Milyen célokat szolgálhat a folyamatok közötti kommunikáció? A folyamatok közt információáramlásra van szükség.
36. Milyen fizikai tulajdonságai vannak a kommunikációs csatornának? 37. Milyen módszereket használnak a folyamatok megnevezésére (naming)? https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixKommunikacio?skin=print.pattern
Page 3 of 5
OpreVazlatUnixKommunikacio < Infoalap < VIK wiki
2008.04.07. 21:23
38. Milyen típusú szinkronizáció történik tárolás nélküli átvitel, véges kapacitású tároló, ill. végtelen kapacitású tároló típusú átviteli csatornák esetén? 39. Mi történik, ha a kommunikáció folyamán az egyik folyamat leáll? 40. Hogyan kezelhet!ek a hibás, ill. elveszett üzenetek? 41. Sorolja fel a UNIX-rendszerekben a folyamatok közötti kommunikációra szolgáló módszereket! Melyek alkalmazhatók közülük csak szül!leszármazottai viszonyban? jelzések (signal) cs!vezetékek (pipe) folyamat-nyomkövetés (process tracing) osztott memória (shared memory) szemaforok (semaphore) üzenetsorok (message queue)
42. Ismertesse, hogyan történik adatok átvitele a UNIX-cs!vezetékek (pipe) használatával! Térjen ki a széls!séges esetekre (túltöltés, olvasás üres cs!vezetékb!l) is! A cs!vezeték írói adatokat helyeznek a cs!be, olvasói kiolvassák azokat. A kiolvasott adatok elt"nnek a cs!b!l. Üres cs!b!l olvasni kívánó folyamat megáll addig, amíg adat nem érkezik a cs!be - ugyanígy: egy tele cs!be írni akaró folyamat megáll, amíg a cs!b!l egy adat nem távozik.
43. Ismertesse a UNIX System V IPC mechanizmusainak közös vonásait! Minden IPC er!forrás rendelkezik a következ! azonosítókkal: kulcs (key) létrehozó (creator) tulajdonos (owner) hozzáférési jogok (permissions)
44. Mi a különbség az elnevezett (named) és az anonim (unnamed) pipe-ok között? (Létrehozás, használat, megsz"nés.) Unnamed Létrehozás: pipe() rendszerhívással - ez visszaad egy-egy írásra és olvasásra vonatkozó file-leírót, melyeket a gyermekek örökölhetnek. Írás, olvasás: write(), read(). Általában két folyamat közti kommunikációra használják. Ilyen pipe a parancsértelmez!ben is létrehozható a "|" cs!vezeték jel segítségével. <író folyamat> | .
Named Speciális, FIFO elv" file-t hoz létre a mknod parancs segítségével. A FIFO-t a folyamatok file-okhoz hasonlóan használhatják. Viselkedését tekintve nem különbözik az unnamed pipe-tól. Azonban a FIFO a folyamatoktól függetlenül létezik, nem törl!dik az írók és olvasók megsemmisülésével. Így tehát a FIFO-t független folyamatok is használhatják, azonban ha senki nem törli, akkor feleslegesen foglalhat er!forrásokat.
45. Milyen problémák merülnek fel a System V által megvalósított szemaforokkal kapcsolatban? A szemaforok létrehozása és inicializálása nem atomi m"velet. A semget() és semctl() rendszerhívások között más folyamatok is nekikezdhetnek ugyanazon szemafor létrehozásának. Másik probléma: a szemaforok a hozzájuk tartozó folyamatok megsz"nése után is tovább léteznek, ezzel feleslegesen foglalva az er!forrásokat. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixKommunikacio?skin=print.pattern
Page 4 of 5
OpreVazlatUnixKommunikacio < Infoalap < VIK wiki
2008.04.07. 21:23
ezzel feleslegesen foglalva az er!forrásokat.
46. Mikor érdemes kommunikációra üzenetsorokat, ill. osztott memóriaterületet használni? Üzenetsorok. Kis méret" adatcsomagok küldésére érdemes használni. Osztott memóriaterület. Rendkívül gyors és egyszer"en megvalósítható módszer az azonos gépen futó folyamatok közötti adatcserére.
47. Melyik igaz? A UNIX pipe-ot használva i) az író (write) folyamatnak soha nem kell várakozni - NEM (pl. cs!vezeték tele van) ii) az olvasó (read) eljárás csak akkor tér vissza, ha a cs!vezetékb!l beolvasta a megkívánt számú Byte-ot - IGEN iii) minden cs!vezetékhez külön tárbeli inode tartozik - NEM (unnamed pipe-hoz nem tartozik inode, csak file descriptor a kernelben) -- MP - 2006.01.16. -- SoTi - 2005.05.05. vissza: OpRe \ OpreVazlatUnixFelepites
Revision: r1.9 - 2006.01.16 - 04:25 - MolnarPeter Infoalap > OpRe > OpreVazlatUnixFelepites > OpreVazlatUnixKommunikacio Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixKommunikacio?skin=print.pattern
Page 5 of 5
OpreVazlatUnixAllomanyrendszer < Infoalap < VIK wiki
2008.04.07. 21:23
Vissza: OpRe / OpreVazlatUnixFelepites
Állományrendszer implementációk (TK 323-345) Az s5fs és az FFS általános célú lokális állományrendszerek.
A System V állományrendszer (s5fs) Az eredeti UNIX állományrendszer. Logikai szinten kezeli az állományrendszert. 512*2 k méret! logikai blokkokra osztja az állományrendszert (ált k 0 és 5 között van) Az indexelt allokáció egy speciális formáját alkalmazza a fájlokhoz tartozó adatblokkok lefoglalásakor. A fájlhoz tartozó adatok elhelyezkedését az inode-ban található címtábla írja le.
Felépítése Boot blokk A rendszer elindulásához szükséges információkat tartalmazza. Szuperblokk Az állományrendszerr"l tartalmaz a rendszer m!ködéséhez szükséges metaadatokat: az állományrendszer mérete a szabad blokkok száma a szabad blokkok listája a szabad lemezblokkok adminisztrálására szolgál. rögzített méret! lista. Az els" eleme (amit utoljára fog felhasználni) egy olyan blokk sorszáma, ami szintén szabad blokkok sorszámait tartalmazza. Ha szabad blokkra van szükség, ha már csak egy sorszám van a listában, akkor a sorszám által mutatott lista tartalmát másolja a szabad blokkok listájára, és az így felszabadult blokk sorszámát adja vissza. különben a kernel visszaadja az els" szabad blokk sorszámát. Ha egy blokk felszabadul, ha van szabad hely, akkor beírja a blokk sorszámát oda ha nincs, akkor a lista tartalmát bemásolja a felszabadult blokkba, és a lista sorszámát beírja az eddigi lista helyére. (a szabad blokkok listája egy újabb blokknyi index hellyel b"vül) következ" szabad blokk indexe inode lista mérete a szabad inode-ok száma szabad inode-ok listája Egy fix méret! tömb, amelyet gyorsítótárként használ a szabad inode-ok sorszámainak tárolására. Ha a rendszernek szabad inode-ra van szüksége (pl fájl létrehozáskor) keresés helyett kiveszi a tömbben tárolt utolsó elemet. Egy index jelzi a tömb utolsó felhasználható elemét Ha a lista kiürül, a kernel végiglépked az (igazi) inode listán és hátulról kezdeve feltölti a (szuperblokkon belüli) szabad inode-listát a szabad inode-ok sorszámaival. Az utolsó megtalált inode a lista elejére kerül, ez a https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixAllomanyrendszer?skin=print.pattern
Page 1 of 9
OpreVazlatUnixAllomanyrendszer < Infoalap < VIK wiki
2008.04.07. 21:23
megjegyzett inode. A következ" feltöltéskor innen kezdi el keresni a szabad inode-okat. Egy inode felszabadulásakor ha van szabad hely a tömbben, akkor odateszi az inode sorszámát, és növeli az indexet, ha nincs szabad hely: ha a megjegyzett inode sorszáma kisebb, akkor nincs teend" különben annak helyére írja, így ez lesz a megjegyzett inode. (így garantáljuk, hogy a megjegyzett inode-nál kisebb sorszámú szabad inode nem lehet.) a következ" szabad inode indexe lock mez"k módosítás jelz"bit Inode lista Inode Minden állományhoz pontosan egy inode tartozik. Ezek alapján lehet az állományokra hivatkozni. Az inode-ok diszken találhatók, azonban a kernel cache-eli "ket. A benne tárolt információk: UID, GID állomány típusa állományhozzáférési jogosultságok id"cimkék (hozzáférés, módosítás, attribútum módosítás) hivatkozásszámláló (amikor ez 0, akkor az inode inaktívvá válik - szabad) címtábla (13 db 4 bájtos mutató) (feltesszük, hogy a rendszer diszk blokkjai 1K-sak) az els" 10 db: direkt elérés! blokk, 10 K adat 1 db egyszeres indirekt blokk (egy blokkra mutat, ami 256 mutatót tárol), 256 K adat 1 db kétszeres indirekt blokk (egy blokkra mutat, ami 256 blokkokra mutató mutatót tárol), 64 M adat 1 db háromszoros indirekt blokk, 16 G adat Valójában csak 4 G-t lehet megcímezni, mert az inode állományhossz mez"je is 4 byte. A címzéshez a leírt sorrendben használjuk fel a mutatókat, azaz egy nagy fájl els" 10K-ját direkten érjük el, a 10-266K-t egyszeres indirekcióval, stb. állományméret A cache-elt inode listában ezek mellett még tárolva van: státusz (zárolt, várakoznak-e rá, változott-e) az állomány mount pont-e az állományt tartalmazó állományrendszer logikai berendezés azonosítójae az inode sorszáma Adat blokkok Ezek szolgálnak a fizikai adattárolásra.
Logikai séma A folyamatoknak csak megnyitáskor kell névvel hivatkozniuk a fájlra. Egy folyamat többször is megnyithat egy fájlt. Több folyamat megnyithatja és használhatja ugyanazt a fájlt. A gyermek folyamatok öröklik a szül"k logikai perifériáit.
Adatszerkezetetek Folyamatonkénti állományleíró tábla Minden, a folyamat által elérhet", megnyitott állományhoz legalább egy mutató tartozik. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixAllomanyrendszer?skin=print.pattern
Page 2 of 9
OpreVazlatUnixAllomanyrendszer < Infoalap < VIK wiki
2008.04.07. 21:23
A mutató a globális állománytábla megfelel" elemére mutat. Globális állománytábla Minden egyes open rendszerhívás hatására létrejön egy bejegyzés a globális állománytáblában, amely az adott állománynévhez rendel"dik. Tárolja a megnyitás módját, jogosultságokat, egy fájlmutatót, és egy hivatkozásszámlálót. Lehet"vé teszi az állományok osztott használatát. Munkameneteket reprezentál. Inode tábla Minden megnyitott állományhoz tartozik egy inode. Tartalmaz egy hivatkozásszámlálót. Magukat az állományokat reprezentálja.
Állományok és könyvtárak Állomány Logikailag egy adattároló egység. Az adatot szekvenciálisan és címzetten (véletlen) is el lehet érni. A kernel nem értelmezi az állományban tárolt adatokat. Az állományneveket egy hierarchikus fa struktúrájú névtérbe rendezi. Egy könyvtáron belül nem lehet két azonos nev! állomány, de különböz" könyvtárakban lehet. Egy állományhoz tartozó könyvtárbejegyzést hard link nek nevezünk. Egy állományra több link is mutathat. Egy állomány addig létezik, amíg a link számlálója nagyobb nullánál. Könyvtár A könyvtárak speciális szerkezet! állományok: Minden könyvtár tartalmaz egy . és egy .. speciális bejegyzést A többi bejegyzés felépítése: egy 2 byte-os inode szám egy 14 karakterb"l álló állománynév
Az s5fs értékelése El"nyök Egyszer! felépítés -> érthet", áttekinthet", könnyen megvalósítható. Hátrányok Nem megbízható: Ha a szuperblokk megsérül a teljes állományrendszer használhatatlanná válik. Teljesítmény-problémák: Az inode-ok az állományrendszer elején vannak, után jönnek az adatblokkok. Ez jelent"s fejmozgatást igényelhet -> lassítja az adathozzáférést Az inode-ok kiosztása véletlenszer! (pl azonos könyvtárban lév" elemek egymástól távol lehetnek) Az adatblokkok kiosztása is véletlenszer! (egy állomány egyes adatblokkjai egymástól távol lehetnek) Funkcionalitásbeli problémák: Az állománynevek max 14 karakter hosszúak lehetnek. Az állományrendszerben max 65 535 inode (állomány) lehet.
A Berkeley FFS állományrendszer A 4.2-es BSD vezette be. Jobb hatékonyságú, robosztusabb és több funkcionalitást biztosít. Az s5fs minden funkcionalitását megtartotta. Teljesítménye jelent"sen túlszárnyalja a s5fs teljesítményét. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixAllomanyrendszer?skin=print.pattern
Page 3 of 9
OpreVazlatUnixAllomanyrendszer < Infoalap < VIK wiki
2008.04.07. 21:23
Változások a lemez használatában A partíció csoportosítás mellett bevezették a cilinder csoportokat. Ezzel lehet"vé vált, hogy az egymáshoz tartozó adatok egy cilindercsoportban legyenek, azaz minimalizálni lehet a fejmozgást. A szuperblokkról minden egyes cilindercsoport tartalmaz egy másolatot. Töredékek (fragment) alkalmazása Egy állomány minden blokkja azonos méret! (min. 4K), de az utolsó blokk tartalmazhat egy vagy több külön címezhet" és allokálható folyamatos töredékblokkot. A nagyobb blokkméret miatt nincs szükség a háromszoros indirekt blokkokra.
Lemezblokk allokációs politika Cél: az egymáshoz kapcsolódó információk egy helyen tárolása, és az allokáció szekvenciális hozzáférésre optimalizálása. A szabad blokkok és inode-ok tárolása cilindercsoportok alapján történik. Az egy könyvtárban lév" állományok inode-ját megkísérli ugyanarra a cilindercsoportra helyezni. Minden új könyvtárat más cilindercsoportba helyez, hogy az adatokat egyenletesen terítse szét a lemezen. Egy állomány Inode-ját és adatblokkját egy cilindercsoportba próbálja tenni. A nagy állományokat „szétkeni” a cilindercsoportokon. Az egymást követ" blokkokat lemezelfordulás szerint allokálja.
Funkcionális b!vítések Hosszú állománynevek – új könyvtárszerkezet: Könyvtárbejegyzések követik egymást, melyek egy rögzített és egy változó részb"l állnak. A rögzített rész tartalmazza az inode számát, a könyvtárbejegyzés hosszát, és hogy hány karakter az állománynév. A változó hosszúságú rész a null karakterrel lezárt állománynevet tartalmazza, négy bájtos margóra igazítva (azaz extra 0-k vannak a végén, hogy a hossza néggyel osztható legyen). A törölt bejegyzéseket 0-val tölti fel, és hozzácsapja az el"z" bejegyzés változó részéhez. Szimbolikus link egy olyan speciális állomány, ami egy célállományra mutat. Kvóta mechanizmus korlátozni lehet az egyes felhasználók rendelkezésére álló állományrendszer er"forrásokat.
Az állományrendszerek megvalósításának újabb megközelítése F"bb jellemz"k: Virtuális csomópont (vnode), és virtuális állományrendszer (vfs) segítségével lehet"vé vált több állományrendszer kezesése egy rendszerben. Különböz" diszk partíciók tartalmazhatnak különböz" állományrendszert, viszont csatlakoztatás esetén egységes képet kell hogy mutassanak. Lehet"vé vált az állományok hálózaton keresztül történ" osztott használata. Modulásrisan b"víthet". Vnode: Adatmez"k Az adatmez"k egyes elemei töltik be az inode megfelel" funkcióinak szerepét. Itt található: https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixAllomanyrendszer?skin=print.pattern
Page 4 of 9
OpreVazlatUnixAllomanyrendszer < Infoalap < VIK wiki
2008.04.07. 21:23
típusmez" hivatkozásszámláló mount információ v_data: valódi, a virtuális csomópon által elfedett szerkezetre mutat. v_op: az absztrakt állománym!veleteket konkrétan végrehajtó függvények címei. Virtuális függvények Általános m!veletek (megynyitás, olvasás, írás), amit minden konkrét állományrendszerimplementációban meg kell valósítani. Segédrutinok Vfs: Van egy root állományrendszer, amire a többi állományrendszert csatlakoztatni lehet. A rendszer minden egyes állományrendszer-típushoz tartalmaz egy vfs struktúrát. Minden egyes állományrendszere gyökércsomópontjában (vnode) a VROOT jelz"bit be van billentve.
Speciális állományrendszerek Távoli állományrendszerek (Lásd: Elosztott fájlrendszerek fejezetben)
Ideiglenes állományrendszer Ideiglenes állományok tárolására. Jellemz"k Az alkalmazás befejez"dése után az állományokra nincs szükség. Létrehozásuknak, a hozzáférésnek és a törlésnek gyorsnak kell lennie Megvalósítások Korai rendszerekben az ideiglenes állományokat blokk buffer cache -be írták RAM-diszkek : gyors, de pazarlóan bánik a memóriával. Memória Állományrendszer : az állományrendszere a folyamat virtuális címtartományában van. tmpfs : teljesen kernelben megvalósított, elkerüli a felesleges környezetváltozásokat
A /proc állományrendszer Elegáns és hatékony interfészt biztosít minden folyamat címteréhez. Egy általános interfésszé n"tte ki magát a folyamat modellhez. Minden egyes folyamathoz egy-egy könyvtár tartozik a /proc könyvtáron belül. Ezen belül a logikailag eltér" funkciókhoz egy-egy külön állomány jelenik meg.
A Processzor állományrendszer Interfészt biztosít egy többprocesszoros számítógép egyes processzoraihoz.
Modern állományrendszerek A ’80-as években: kis memória, lassú processzor, gyors lemezegységek. Mára: A memória mérete és a CPU sebessége jelent"sen megn"tt, még a lemezegység sebessége nem n"tt olyan nagy mértékben.
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixAllomanyrendszer?skin=print.pattern
Page 5 of 9
OpreVazlatUnixAllomanyrendszer < Infoalap < VIK wiki
2008.04.07. 21:23
Ezért számos korábbi tervez"i döntés elvesztette létjogosultságát. A hagyományos állományrendszerek használatával I/O korlátozott rendszerek jönnek létre. Megoldás: naplózási technika Minden állományrendszer változást a rendszer egy hozzáf!zhet" állományba naplóz. A naplót a rendszer szekvenciálisan írja. Szükséges tervez"i döntések naplózó állományrendszer tervezésekor: m!veleteket vagy értékeket írjunk a napló állományba? kiegészít" állományrendszerként alkalmazzuk, vagy cseréljük le a korábbi állományrendszert? a változásokat újra lejátszva, vagy a legutóbbi változásokaz visszavonva állítsuk vissza a korábbi értékeket? milyen szemétgy!jtési stratégiát alkalmazzunk? hogyan keressük vissza az adatokat? El"nyök: Az írás mindig szekvenciális, kevés a fejmozgatás. Egy m!velet minden adat összetev"jét össze lehet fogni egyetlen automatikusan végrehajtott írásba. Probéma: az adatvisszakerés -- SoTi - 2005.05.27.
Kérdések 7.5/48-60
Milyen információkat tárol a UNIX a memóriában lév! inode adatszerkezetben? - UID, GID -állomány típusa (reguláris, directory, FIFO, karakteres vagy blokkos) -hozzáférési jogosultságok (owner, group, others, read, write, execute) -id"címkék: -utolsó állományhozzáférés ideje -utolsó állománymódosítás -utolsó attribútum-módosítás ( inode módosítás) -linkek száma -címtábla (10 direkt, 1 1-szeres, 1 2-szeres, 3 3-szoros indirekt) -állományméret Az in-core-inode plusz információi: -in-core inode státusa (zárolt; folyamat vár rá; eltér a diszken lév" változattól; attribútum írás következtében; adat írás következtében) -mount point-e az állomány -az állományt tartalmazó állományrendszer logikai berendezés azonosítója -inode sorszáma -pointerek más in-core-inode-okra -hivatkozásszámláló (hány példányban van nyitva az állomány)
Milyen információk találhatók meg egy UNIX-kötet szuperblokkjában? -állományrendszer mérete -szabad blokkok száma -szabad blokkok listája -következ" szabad blokk indexe https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixAllomanyrendszer?skin=print.pattern
Page 6 of 9
OpreVazlatUnixAllomanyrendszer < Infoalap < VIK wiki
2008.04.07. 21:23
-következ" szabad blokk indexe - inode lista mérete -szabad inode-ok száma -inode lista (tömb) -következ" szabad inode indexe -lock mez"k (inode, blokklista) -módosítás jelz"bit.
Hol és hogyan tárolja a UNIX a lemezen lév! állományokhoz tartozó blokkokat? Az s5fs-ben 4-féle alapvet" részre oszlik a diszk: -boot blokk -szuperblokk -inode lista -adat blokk
43. Berkeley FFS esetén 8 kbyte méret" blokk és egyszeres indirekció esetén mekkora a maximális fájlméret? 1x indirekció => egy teljes blokk fog címeket tartalmazni (ennek a címét tároljuk) 8K-s blokkba 2000 db 4 bájtos cím fér el 2000*8K a max fáljméret 16M
Háromszoros indirekt blokkal hány tárolóegységet lehet megcímezni? (1 blokk 1K, egy cím 4 byte – a számolás menetét kell megadni) Háromszoros indirekt blokkal 16G adat címezhet" meg. Az inode címtáblájának els" 10, direkt mutatója egy-egy 1K-s diszk blokkra mutat. A következ", egyszeresen indirekt mutató egy adatokra mutató pointereket tároló blokkra mutat, és mivel 1 blokkba 256 pointer fér el, így ezzel az egyszeresen indirekt címzéssel 256K további adat címezhet" meg. A következ" – kétszeresen indirekt – pointer 256, egyenként további 256 egyszeresen indirekt mutatót tartalmazó blokkra mutat, ezzel a módszerrel 64M címezhet". Végül a háromszoros indirekt blokk 256 olyan blokkra mutat, melyek kétszeresen indirekt pointereket tartalmaznak, ezzel pedig 256*256*256 = 16G adat címezhet" meg.
Hogyan néz ki UNIX alatt egy könyvtár bejegyzés? (s5fs-nél) Speciális szerkezettel bíró állomány. „.” és „..” bejegyzések: aktuális könyvtár, szül" könyvtár. Tartalmaz egy 2 byte-os inode-számot , és egy 14 karakteres állománynevet. Így minden egyes bejegyzés mérete 16 byte.
Egy UNIX folyamat az open (”/path/filename”, O_RDWR, O_CREAT) rendszerhívással sikeresen létrehoz egy új állományt. Írja le, hogy ennek során milyen változások történnek a köteten tárolt adatszerkezetekben! A UNIX hierarchikus könyvtárszerkezetében milyen adatszerkezettel ábrázolják az egyes állomány-nyilvántartásokat? Mi a különbség a symbolic és a hard link között, ezeket hogyan ábrázolja a UNIX? Mikor nem hozható létre hard link? Hogyan változik az állományleíró i-node tartalma, ha létrehozunk az állományra egy szimbolikus ill. egy hard linket? Egy állományhoz tartozó könyvtár bejegyzést az állományra mutató hard link nek vagy egyszer!en csak linknek nevezzük. Minden állományra több link mutathat, akár más-más könyvtárakból is. Ebb"l következik, hogy a UNIX-ban egy állomány nem egyetlen névhez köt"dik, nincs egyedi neve. A https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixAllomanyrendszer?skin=print.pattern
Page 7 of 9
OpreVazlatUnixAllomanyrendszer < Infoalap < VIK wiki
2008.04.07. 21:23
név nem attribútuma az állománynak. Egy link számláló megadja, hogy az állományra hány néven lehet hivatkozni (megmutatja, hány könyvtári bejegyzés mutat a file-ra). symbolic link: a BerkeleyFFS állományrendszerben bevezetett fogalom. A hard link ek számos korlátját kiküszöböli. Egy olyan spec. állomány, mely egy másik, ún. céllállományra mutat. A szimbolikus linket az inode típus mez"je alapján lehet felismerni, és tulajdonképpen csak a célállomány elérési útját tartalmazza.
A UNIX-ban használt diszk gyorsítótár ( buffer cache) megvalósításánál mikor szerepel egy blokk egyidej"leg a szabad blokkok listáján és a diszk blokkok hash listáján? Mikor kerül egy módosult blokk kiírásra? Sorolja fel a gyorsítótár hátrányait! Mi a szerepe a szabad helyek nyilvántartásánál a kötet szuperblokkjának? Sajnos a lemezblokkok (adatblokkok) esetében pusztán tartalmi vizsgálattal nem dönthet" el, hogy azok szabadok vagy sem, ezért a szabad lemezblokkokat adminisztrálni kell, külön kell "ket kezelni. Ennek érdekében a szuperblokk tartalmaz egy szabad blokklistát, mely a következ"képpen épül fel: -a lista rögzített méret!, a szabad lemezblokkok sorszámait tartalmazza -az els" (a felhasználás sorrendjében utolsó) elem egy olyan blokk sorszáma, mely szintén szabad blokkok sorszámait tartalmazza A szabad blokkok sorszámának keresése mindig a szuperblokkban történik. Ha a szuperblokkban már csak egy hivatkozás található, a kernel bemásolja a hivatkozott blokkban található sorszámokat a szuperblokkba.
Milyen problémák adódnak az s5fs állományrendszer esetén és hogyan oldották meg ezeket a Berkeley FFS esetén? Az s5fs teljesítmény és funkcionalitás terén hagy kívánnivalókat maga után. Szuperblokk- kezelési
problémák : minden egyes állományrendszer csak egyetlen példányban tartalmazza a szuperblokkot, így a rendszer szempontjából életbevágóan fontos információk – pl. a szabad blokkok listája vagy a szabad inode-ok száma – csak egy példányban tárolódnak, így a szuperblokk megsérülése esetén akár az egész állományrendszer használhatatlanná válhat. Teljesítmény problémák : az inode-okat az állományrendszer elején tárolja, utána következnek az adatblokkok – így többször jelent"s fejmozgások szükségesek, mert állomány-hozzáféréskor az inode-ot is be kell olvasni. Az inode-ok és az adatblokkok kiosztása véletlenszer! – tördel"dés . Funkcionalitásbeli problémák : az állománynevek maximális hossza 14 karakter . A Berkeley-FFS megoldásai. Partíció csoportosítás. Cilinder csoportok : valahány folytonos cilindert tartalmaz, az egymáshoz tartozó adatok így egy cilinderen tárolhatók, a fejmozgás minimalizálható . A szuperblokk ról minden egyes cilinder csoportnak van egy másolata. A másolatok elhelyezkedése, kell"képpeni szétosztottsága a mechanikai sérülésekkel szemben is védelmet biztosít. Töredékek (fragmentek): egy állomány minden blokkja azonos méret! (min. 4K), de az utolsó blokk tartalmazhat egy vagy több, külön címezhet" és allokálható folytonos töredékblokkot. A töredékblokkok használatára érvényes néhány korlátozás (lásd TK 337.)
Mi a virtuális állományrendszer? Új absztrakció: annak felismerése, hogy több állományrendszernek számos el"nye van, szükségessé vette a virtuális csomópont (vnode) és a virtuális állományrendszer (vfs) leíró adatszerkezetek bevezetését. Követelmények, elvárások az állományrendszerrel kapcsolatban: -egyszerre támogasson több – UNIX, nem UNIX – állományrendszert -különböz" diszk partíciók különböz" állományrendszereket is tartalmazhatnak, de mount olás esetén egységet képet kell, hogy mutassanak -támogassa a hálózati állományok osztott használatát -modulárisan b"víthet" legyen. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixAllomanyrendszer?skin=print.pattern
Page 8 of 9
OpreVazlatUnixAllomanyrendszer < Infoalap < VIK wiki
2008.04.07. 21:23
-modulárisan b"víthet" legyen. További leírás: lásd TK 340-341.
Milyen speciális állományrendszerek találhatóak UNIX-rendszerekben? - ideiglenes állományrendszer: a közbüls" eredmények, állapotok tárolására felhasznált ideiglenes állományok állományrendszere. Korai rendszerekben a memóriában lév" blokk buffer cache volt használatos az ideiglenes állományok helyett. A RAM-diszkek a blokk buffer cache lassúságát próbálták orvosolni – ez a fizikai memóriában tárolja az adatokat. Ez a megoldás azonban pazarlóan bánik az er"forrásokkal – a RAM-diszk számára fenntartott memória más célra már nem használható. - /proc állományrendszer - processzor állományrendszer
Milyen szempontokat kell figyelembe venni egy naplózó állományrendszer tervezése esetén? Vissza: OpRe / OpreVazlatUnixFelepites
Revision: r1.10 - 2006.01.16 - 04:44 - MolnarPeter Infoalap > OpRe > OpreVazlatUnixFelepites > OpreVazlatUnixAllomanyrendszer Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixAllomanyrendszer?skin=print.pattern
Page 9 of 9
OpreVazlatUnixSwapping < Infoalap < VIK wiki
2008.04.07. 21:23
vissza OpRe / OpreVazlatUnixFelepites
Teljes folyamatok háttértárra írása (swapping) Háttértár szervezése swapping-hez A háttértár-foglalási és felszabadítási algoritmus Folyamatok háttértárra írása Háttértárra írás fork rendszerhívás esetén Háttértárra írás tartománynövelés miatt Folyamatok betöltése Szabályok A háttértárra írandó folyamat kiválasztásával kapcsolatos problémák Kérdések 61.Mit nevezünk tartománynak? 62. Milyen algoritmus szerint allokál helyet a swapper a háttértáron? 63. Milyen esetben csökken a map bejegyzések száma? 64. Miért nem ír ki háttértárra zombie folyamatot a swapper? 65. Milyen feltételeknek kell teljesülni, hogy a swapper egy folyamatot háttértárra írjon, ill. onnan beolvasson? 66. Ismertesse a háttértár kezelését fork, ill. memória növelés esetén!
Teljes folyamatok háttértárra írása (swapping) (TK345-352) Régen: virtuális memória-kezelésként használták (egy folyamat kevés memóriát használ) Ma: Az er!forrás sz"ke okozta problémák gyors orvoslására használják.
Háttértár szervezése swapping-hez A háttértár (swap device) egy blokkos eszköz. Háttértárra íráskor a rendszer a folyamatoknak összefügg! blokkcsoportot foglal. Ez tördel!déshez vezet, de mivel a folyamatok csak ideiglenesen tartózkodnak háttértáron, ez nem probléma. Kritikus probléma viszont a háttértárra írás sebessége. A rendszer a szabad területeket a memóriában tárolt map -pal tartja nyílván. Ez (cím, szabad blokkok száma) alakú párokból áll. A táblát a rendszer mindig a lehet! legtömörebben tartja. A foglalási stratégia: first fit.
A háttértár-foglalási és felszabadítási algoritmus Foglaláskor a kernel törli a bejegyzést Felszabadításkor Ha a felszabadított terület pontosan beilleszkedik két map bejegyzés közé: A nagyobb index" bejegyzést törli, a kisebb index"t úgy változtatja, hogy az lefedje a két régi és az új bejegyzést is. Ha a felszabadított terület illeszkedik valamelyik korábbi bejegyzéshez (alulról vagy felülr!l): Módosítja a már létez! bejegyzést. Különben új bejegyzést hoz létre.
Folyamatok háttértárra írása https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixSwapping?skin=print.pattern
Page 1 of 3
OpreVazlatUnixSwapping < Infoalap < VIK wiki
2008.04.07. 21:23
Tárcserénél a kernel zárolja az érintett folyamatokat, hogy a swapper ki ne írja Amikor a kernel egy tartományt kiír a háttértárra, akkor a tartomány háttértáron elfoglalt címét beírja a tartománytáblába (region table). A kernel a folyamatoknak csak a valóban használt (fizikai címmel rendelkez!) címtartományát menti el, nem a teljes virtuális címtartományt (mert az hézagos)
Háttértárra írás fork rendszerhívás esetén Ha fork rendszerhíváskor van memória a gyermek folyamat létrehozásához, akkor nem kell semmit csinálni. nincs elég memória a gyermek folyamat létrehozásához a swapper kimásolja a szül! memóriaképét a háttértárra, ez lesz a gyermek memóriaképe. majd futásra késszé teszi a gyermeket a háttértáron.
Háttértárra írás tartománynövelés miatt Egy memóriában lév! folyamat valamelyik tartományának méretét szeretné növelni, de nem áll rendelkezésre fizikai memória. Ekkor a kernel a virtuális címtartományban elvégzi a címleképzést, de nem foglal az új memóriaterülethez fizikai memóriát, hanem a folyamatot kiírja a háttértárra és futásra késszé teszi. Amikor legközelebb a swapper betölti a folyamatot, a kernel az új virtuális címtartományhoz is allokál memóriát.
Folyamatok betöltése A swapper folyamat egy magas prioritású, kernel módban futó folyamat. M"ködése: ha nincs a háttértáron futásra kész folyamat, a swapper alszik. ha van, de a rendszerben nincs memória, megpróbál folyamat(okat) háttértárra írni, és kezdi el!lr!l a futásra kész folyamatokat a háttértáron. A swapper zombi folyamatok sohasem ír ki a háttértárra, mert azok nem foglalnak fizikai memóriát.
Szabályok Egy folyamat memóriába tölthet!, ha már legalább x másodpercet háttértáron töltött. A folyamat háttértárra írható, ha már legalább x másodpercet a memóriában töltött. (x egy rendszerspecifikus konstans)
A háttértárra írandó folyamat kiválasztásával kapcsolatos problémák Lehet, hogy a kiírt folyamat kicsi, továbbra sem lesz elég hely a memóriában egy másik folyamat betöltéséhez. A swapper alvás után mindig el!lr!l kezdi az algoritmus, így alacsony prioritású várakozó folyamat lehet hogy nem jut memóriába. Egy futásra kész folyamat esetén el!fordulhat, hogy a folyamat még nem is futott. Szerencsétlen körülmények között holtpont is kialakulhat, ám ennek kicsi a valószín"sége. -- SoTi - 2005.05.27.
Kérdések https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixSwapping?skin=print.pattern
Page 2 of 3
OpreVazlatUnixSwapping < Infoalap < VIK wiki
2008.04.07. 21:23
7.5/61-66
61.Mit nevezünk tartománynak? 62. Milyen algoritmus szerint allokál helyet a swapper a háttértáron? A kernel a map lehet! legtömörebben tartására törekszik. Foglaláskor, ha egy teljes map bejegyzést foglalunk, a kernel törli a bejegyzést (nem hagy meg 0 méret"t). Felszabadításkor akernel megvizsgálja, hogy a felszabadított terület beilleszkedik-e két map bejegyzés közé. Ha igen , a nagyobb index" bejegyzést törli, és az alacsonyabb index" bejegyzés által megadott szabad blokkok számát úgy módosítja, hogy lefedje mindhárom bejegyzés szabad blokkjait . Ha nem illeszthet! be, akkor megvizsgálja, illeszkedik-e valamely korábbi bejegyzéshez. Ha igen, a meglév! bejegyzést módosítja, ha nem, új bejegyzést hoz létreszámára akernel. Korai UNIXoknál csak egy háttértár volt, manapság már több swap berendezés is használható – ezeket a rendszerkonfigurációnál a rendszergazda adja meg. Több swap berendezést a kernel round-robin stratégiával használ.
63. Milyen esetben csökken a map bejegyzések száma? A map bejegyzések száma akkor csökken, ha a felszabadítás során a felszabadított map terület beilleszthet! két korábbi blokk közé. ( lásd: el!z! – 62. –kérdés )
64. Miért nem ír ki háttértárra zombie folyamatot a swapper? Zombie folyamat csak folyamattábla bejegyzést foglal, fizikai memóriát nem, így nem írható ki háttértárra.
65. Milyen feltételeknek kell teljesülni, hogy a swapper egy folyamatot háttértárra írjon, ill. onnan beolvasson? -a folyamat a memóriába tölthet!, ha már legalább 2 másodpercet (rendszerspec. konstans) a háttértáron töltött -a folyamat háttértárra írható, ha már legalább 2 másodpercet (szintén rendszerspec.) a memóriában töltött Az óra minden másodpercben felébreszti a swappert, és mivel a swapper nagy prioritású folyamat, minden másodpercben fut is.
66. Ismertesse a háttértár kezelését fork, ill. memória növelés esetén! fork hívás esetén: két helyzet lehetséges: -van memória a child folyamat létrehozásához -nincs elég memória a child létrehozásához Utóbbi esetben a swapper kiírja a háttértárra a szül! memóriaképét (ami a gyermek memóriaképe lesz), a hozzá tartozó fizikai memóriát azonban nem szabadítja fel, a szül! bennmarad a memóriában. A swapper futásra kész állapotba hozza a gyermeket a háttértáron – most már csak id! kérdése és a swapper betölti a futásra kész gyermeket a memóriába. Az ütemez! majd * valamikor_ futásra ütemezi, ekkor a gyermekben befejez!dik a fork hívás és a gyermek user módba vált át. memória növelés : vissza OpRe / OpreVazlatUnixFelepites
Revision: r1.4 - 2005.06.02 - 01:38 - AdamO Infoalap > OpRe > OpreVazlatUnixFelepites > OpreVazlatUnixSwapping Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixSwapping?skin=print.pattern
Page 3 of 3
OpreVazlatUnixLapozas < Infoalap < VIK wiki
2008.04.07. 21:23
vissza OpRe / OpreVazlatUnixFelepites
Igény szerinti lapozás A memóriakezel! rendszerrel szembeni elvárások A virtuális tárkezelést támogató adatszerkezetek (SVR3-ban) Pfdata (page frame data table) Laptábla (page table) Diszkblokk leíró (disk block descriptor) Háttértár használati tábla (swap use table) A virtuális tárkezelést támogató adatszerkezetek használata (SVR3-ban) A virtuális tárkezelést támogató adatszerkezetek közötti kapcsolat A „laplopó folyamat” (pagedaemon) Laphibák A copy-on-write technika és használata A 4.3 BSD virtuális memóriakezelése Kérdések 67. Mi a legfontosabb különbség a tárcsere (swap) és az igény szerinti lapozás (demand paging) között? Mit jelent a virtuális tárkezelésnél alkalmazott copy-on-write módszer? 68. Ismertesse az igény szerinti lapozáshoz használt adatszerkezeteket és azok szerepét UNIX alatt! 69. Ismertesse a „laplopó” folyamatot, annak m"ködését lapok háttértárra írásakor, ill. onnan történ! olvasásakor! 70. Milyen hardvertámogatásra van szükség igény szerinti lapozás megvalósításához? 71. Milyen állapotokban lehet egy laphibát okozó lap? 72. Mi teszi lehet!vé az igény szerinti lapozás elvi alkalmazását? 73. Mit jelent a munkahalmaz ablakszélessége? 74. Mire szolgál UNIX-ban a pfdata ? 75. Milyen f!bb adatszerkezeteket használnak UNIX-ban memóriakezeléshez? 76.Milyen eltérés tapasztalható a BSD virtuális memóriakezelésében a System V implementációhoz képest?
Igény szerinti lapozás (TK 352-364)
A memóriakezel! rendszerrel szembeni elvárások A fizikai memória méreténél nagyobb programok futtatása. A csak részben memóriában lév! programok is futtathatóak legyenek. Lehessen egyszerre több program a memóriában. Támogassa az áthelyezhet! programok kezelését. A memóriakezelés legyen gépfüggetlen. Vegye le a programozó válláról a memória allokációs és menedzselési terheket. Tegye lehet!vé az osztott memória használatot.
A virtuális tárkezelést támogató adatszerkezetek (SVR3-ban) Pfdata (page frame data table) Ez az adatszerkezet a fizikai lapok állapotát írja le. A rendszer induláskor foglal helyet számára, statikus adatszerkezet. Tartalma: https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixLapozas?skin=print.pattern
Page 1 of 5
OpreVazlatUnixLapozas < Infoalap < VIK wiki
2008.04.07. 21:23
a lap állapota hivatkozásszámláló a lapra éppen melyik háttértár blokk van betöltve mutatók pfdata bejegyzésekre (szabad lista, hash tábla) Hash tábla: Tárolja a pfdata bejegyéseket háttértár blokk cím szerint. Segítségével egy háttértárblokkhoz tartozó lapot gyorsan meg lehet találni a memóriában. Szabad lista: A szabad memórialapok listája. Egy új lap kiválasztásakor a régen használt (not recently used) stratégiát alkalmazzák, ami egy bit kezelésével megvalósítható.
Laptábla (page table) Minden folyamathoz tartozik legalább egy laptábla. Ennek bejegyzései tartalmazzák a virtuálisfizikai címleképzést és a jelz!biteket (érvényesség, hivatkozás, módosítás, öregítés, védelem, copy on write) a memóriakezel! funkciók megvalósításához.
Diszkblokk leíró (disk block descriptor) Az egyes lapok háttértáron tárolt másolatának a helyét tartalmazza. Egy lap lehet háttértáron (swap) memóriában fill-on-demand típúsú fill from text: a betöltend!, tárolt másolat egy végrehajtható állományban található. zero-fill: A kernel a lapot nullávan tölti fel (pl: váltózók kezdeti értéke)
Háttértár használati tábla (swap use table) A háttértár használatát adminisztrálja.
A virtuális tárkezelést támogató adatszerkezetek használata (SVR3ban) Az SVR3 a memóriakezeléshez a tartomány (region) modellt alkalmazta. Ennek lényege, hogy a lapszervezés" memóriát nagyobb logikai egységenként, tartományonként kezelte. Egy-egy tartományt rendeltek a folyamatok kód, adat és verem területéhez, illetve egyéb logikai egységeihez. A m"ködés megértéséhez hasznos példák találhatók a TK359-360. oldalán.
A virtuális tárkezelést támogató adatszerkezetek közötti kapcsolat lásd TK 356-357, ábra+magyarázat! A lényeg: A virtuális címhez tartozik egy laptábla-bejegyzés és egy diszkblokk leíró. A laptábla-bejegyzés megmutatja hol van a keresett lap és hívatkozik a laphoz tartozó pfdata bejegyzésre. A diszkblokk leíró hivatkozik arra a háttértár blokkra, ami a lap tartalmát tárolja. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixLapozas?skin=print.pattern
Page 2 of 5
OpreVazlatUnixLapozas < Infoalap < VIK wiki
2008.04.07. 21:23
A „laplopó folyamat” (pagedaemon) Akkor aktivizálódik, amikor a rendelkezésre álló szabad lapok száma egy alsó határ alá csökken, és addig fut, amíg a szabad lapok száma újra egy fels! határ fölé nem ér. Erre a két határra azért van szükség, hogy a rendszer elkerülje a verg!dést. A laplopó használatban lév! lapot nem lop el. M"ködése: Ha nincs másolat a háttértáron, akkor a lapot kiírásra ütemezi. Ha van másolat, de nincs módosítás, akkor a laptábla bejegyzés érvényességi bitjét törli, csökkenti eggyel a pfdata hivatkozásszámlálóját, és a lapot szabad listára teszi. Ha van másolat és a memóriakép módosult, akkor kiírásra ütemezi a lapot, és az éppen használt háttértár helyet felszabadítja.
Laphibák Túlcímzés hiba (bounds error): a kiadott cím kívül esik az adott folyamat által megcímezhet! címtartományon. Érvényességi hiba (validity fault): a laphoz tartozó érvényességi bit törölve van, azaz a laphoz nem tartozik fizikai memórialap. Védelmi hiba (protection fault): a lap nem engedi meg a kiadott m"velelt igényelte hozzáférést. A hibák minden esetben kivételt okoznak, amit egy kivételkezel! rutin kezel le. A kivételkezel! a hiba tipusától függ!en megpróbálja a megfelel! lapot behozni a memóriába, vagy egy jelzés elküldésével értesíteni a folyamatot.
A copy-on-write technika és használata Gyakran el!fordul, hogy egy gyermek folyamat ugyanazt a kódot futtatja, mint a szül!je, és a gyermek folyamat memóriamódosítás nélkül fejez!dik be. Ilyenkor felesleges külön memóriát allokálni a gyermek számára. Erre megoldása a copy-on-write technika: Gyermek folyamat létrehozásakor a kernel el!ször csak a beállítja a gyermek folyamat mutatóit a szül! folyamat mutatóira. A folyamatok laptábla-bejegyzéseiben a hozzáférési jogosultságot csak olvashatóra állítja és bebillenti a C/W (copy-on-write) bitet. Ha a szül! vagy a gyermek megpróbálja írni a lapot, akkor az védelmi hibát fog okozni, ami után a kernel lefoglal egy új lapot a hibát kiváltó folyamatnak.
A 4.3 BSD virtuális memóriakezelése A fizikai memóriát egy memória térkép (core map), a virtuális memóriát laptáblák, míg a háttértárat a diszk térképek (diszk map) írják le. A fizikai memória három részre oszlik: nem lapozott memória pool lapozott memória pool hiba buffer Kihasználja, hogy a hardver a védelmi és érvényességi biteken kívül mást nem vizsgál, ha az érvényességi bit nincs beállítva: a többi mez!n más, a lapok helyére vonatkozó információkat tárol. A legújabb UNIX-rendszerek memóriba ágyazott állományokon alapuló virtuális memóriakezel! alrendszert alkalmaznak. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixLapozas?skin=print.pattern
Page 3 of 5
OpreVazlatUnixLapozas < Infoalap < VIK wiki
2008.04.07. 21:23
alrendszert alkalmaznak. -- SoTi - 2005.05.29.
Kérdések 7.5/67-77
67. Mi a legfontosabb különbség a tárcsere (swap) és az igény szerinti lapozás (demand paging) között? Mit jelent a virtuális tárkezelésnél alkalmazott copy-on-write módszer? Ha egy folyamat gyermek folyamatot hoz létre, a kernel el!ször csak a mutatókat kezeli. El!ször csak az osztottan kezelt tartományok hivatkozásszámlálóját növeli . A privát tartományokra új tartománytábla bejegyzés készül, ill. a kernel új laptáblákat foglal . Ezután a kernel végigmegy a szül! lapjain. Ha a lap érvényes , megnöveli eggyel a pfdata hivatkozásszámlálóját. Ha a lap a
háttértáron van , akkor a háttértár használat tábla hivatkozásszámlálója fog eggyel n!ni. Ezen kívül a folyamatok laptábla bejegyzéseiben a hozzáférést csak olvasás i jogosultságra változtatja (W: 0), majd bebillenti a C/W bitet, jelezvén, hogy copy-on-write technikát használ. Ha a szül! vagy annak gyermeke megpróbálja írni a közös lapok valamelyikét , védelmi hiba keletkezik. Amennyiben a C/W bit be volt állítva, a kernelnek muszáj lesz fizikai memóriát, új lapot foglalni a laphibát okozó folyamatnak, a foglalást bejegyezni a laptáblába , valamint a hivatkozásszámlálót csökkenteni a korábbi leképzésben lév! fizikai lapra.
68. Ismertesse az igény szerinti lapozáshoz használt adatszerkezeteket és azok szerepét UNIX alatt! 69. Ismertesse a „laplopó” folyamatot, annak m"ködését lapok háttértárra írásakor, ill. onnan történ! olvasásakor! Más néven: pagedaemon. Kernel szint" folyamat, inicializáláskor jön létre. Aktivizálódik, ha a rendelkezésre álló lapok száma egy alsó határ alá esik , addig fut, amíg a szabad lapok száma egy fels! határ fölé emelkedik. A határokra a verg!dés ( thrashing ) elkerülése végett van szükség. A lapok két állapotban lehetnek: -nem írható ki a háttértárra, a lap öregszik; a laplopó minden vizsgálatnál törli a referenciabitet és öregít -kiírható, újra kiadható. A lapok folyamatok közti eloszlása nem feltétlenül arányos . Fontos: a laplopó használatban lév! lapot nem lop el. Lap kiírásánál 3 eset lehetséges: -nincs másolat a háttértáron –> a lapot kiírásra ütemezi -van másolat, nincs módosítás -> törli a laptábla bejegyzés érvényességi bitjét, a pfdata hivatkozásszámlálót eggyel csökkenti, a lapot a szabad listára teszi -van másolat, módosított -> kiírásra ütemezi a lapot, az éppen használt háttértár helyet felszabadítja (blokkos kiírás). Jelent!sen tördel!dhet a háttértár, mert a felszabadítás laponkénti (igaz, hogy a kiírás blokkos). Ha a pfdata hivatkozásszámlálója 0 lett, a lap a szabad lista végére kerül.
70. Milyen hardvertámogatásra van szükség igény szerinti lapozás megvalósításához? 71. Milyen állapotokban lehet egy laphibát okozó lap? 72. Mi teszi lehet!vé az igény szerinti lapozás elvi alkalmazását? 73. Mit jelent a munkahalmaz ablakszélessége? https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixLapozas?skin=print.pattern
Page 4 of 5
OpreVazlatUnixLapozas < Infoalap < VIK wiki
2008.04.07. 21:23
74. Mire szolgál UNIX-ban a pfdata ? 75. Milyen f!bb adatszerkezeteket használnak UNIX-ban memóriakezeléshez? 76.Milyen eltérés tapasztalható a BSD virtuális memóriakezelésében a System V implementációhoz képest? vissza OpRe / OpreVazlatUnixFelepites
Revision: r1.5 - 2005.06.02 - 01:39 - AdamO Infoalap > OpRe > OpreVazlatUnixFelepites > OpreVazlatUnixLapozas Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixLapozas?skin=print.pattern
Page 5 of 5
OpreVazlatUnixHalozat < Infoalap < VIK wiki
2008.04.07. 21:24
vissza: OpRe
Hálózati és elosztott szolgáltatások a UNIX-ban A TCP/IP protokoll család IP protokoll TCP (Transport Control Protocol) UDP (User Datagram Protocol) A SUN network file system (NFS) A SUN NFS jellemz! tulajdonságai A SUN NFS részei A SUN NFS m"ködése Kérdések 78.Jellemezze az IP protokollt! 79. Mi a különbség az UDP és a TCP protokollok között? 80. Milyen lehet!ségeket biztosít a SUN NFS a felhasználó számára? 81. Az NFS (Network File System) rendszerben a szerver oldalon az exportált könyvtáraknál a könyvtár nevén (elérési útján) kívül milyen paramétereket lehet megadni? 82. SUN NFS esetén mi a különbség a soft ill. a hard mount között? 83. Milyen célokat t"ztek ki a SUN NFS tervez!i, és milyen típusú megvalósítást választottak? 84. Milyen protokollokat használ a SUN NFS? Adja meg ezek funkcióját! 85. Adja meg a SUN NFS szoftver komponenseit és azok feladatát! 86. Milyen információkat tartalmaz egy RPC-kérés-, ill. válasz-üzenet? 87. Mi a szerepe a virtuális file-rendszernek az NFS esetében? 88. Hogyan hajtódik végre egy write m"velet távoli állomány esetén?
Hálózati és elosztott szolgáltatások a UNIXban (TK 364-373)
A TCP/IP protokoll család A fizikai átvitel fölé épülnek. A csomópontok címzési módját, illetve a hálózaton továbbított adatcsomagok méretét és formátumát rögzítik.
IP protokoll
A család legalacsonyabb szint" protokollja. Nem biztosít megbízható átvitelt.
TCP (Transport Control Protocol) Az IP protokollra épülve megbízható hálózati átvitelt garantál. TCP-t használó legismertebb szolgáltatások: FTP, telnet, SMTP, rwho (távoli gépeken dolgozó felhasználók azonosítójának lekérdezése) , TFTP (fájlok hordozása)
UDP (User Datagram Protocol) Az IP-re épülve csak üzenetek továbbítását biztosítja.
A SUN network file system (NFS) https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixHalozat?skin=print.pattern
Page 1 of 5
OpreVazlatUnixHalozat < Infoalap < VIK wiki
2008.04.07. 21:24
A SUN cég által kifejlesztett elosztott állományrendszer.
A SUN NFS jellemz! tulajdonságai A kliens-szerver modellre és a távoli eljáráshívásra (RPC) épül. A felhasználói felület lehet!ségei: Egy vagy több fájlrendszer teljes vagy részleges exportálása egy adott csomópontról. Konfigurációs fájl segítségével felhasználói azonosítók alapján szabályozhatjuk az egyes fájlrendszerek elérését. Távoli fájlrendszerek csatlakoztatásának lehet!sége. Szoros (hard) illetve laza (soft) csatlakoztatás: szoros: addig próbálkozik, amíg sikerrel nem jár laza: néhány sikertelen próbálkozás után hibaüzenetet küld. A távoli fájloknak a lokális fájlokkal azonos módon történ! elérését biztosítja. Tervez!i célkit"zések: A protokoll legyen megvalósítható minden oprendszer alatt. Hardverfüggetlen legyen. Létezzen egyszer" újraindítási lehet!ség. A kliens kezelje az oprendszert!l függ! fájlelérési metodikát. A teljesítménye a helyi fájlrendszer teljesítményével összemérhet! legyen. A hálózati összeköttetést!l független, b!víthet! kapacitású implementációt tegyen lehet!vé. A specifikáció következménye az állapotmentes megvalósítás.
A SUN NFS részei A használt protokollok: NFS protokoll : a fájlelérés magasszint" protokollja. RPC (Remote Process Call) A távoli eljáráshívás protokollja. Megbízható üzenettovábbítást valósít meg a kommunikáló partnerek között. (addig ismétli a küldend! üzenetet, míg annak vételér!l nyugtázás nem érkezik) El!írják az üzenet formátumát, az üzenetközvetítés módját és a partnerazonosítás (címzés) módját. A SUN NFS rendszerben a kliens és szerver közti kérés ill. válasz üzenetek RPC csomagok formájában vándorolnak. A SUN NFS szinkron RPC protokollt használ. Egy RPC kérés felépítése: XID: az üzenet egyedi azonosítója. IRÁNY: kérés vagy válasz RPC-verzió PRG-azonosító: a kért szolgáltatást nyújtó alkalmazás azonosítója PRG-verzió: az adott szolgáltatás verziója Azonosítási információ: a küld! folyamat azonosítója. Adat XDR (Extended Data Representation) A rendszerfüggetlen adatábrázolást rögzít! protokoll. Definiálja az adatelemek méretét, azok sorrendjét átvitel esetén, valamint az adatelemek formátumát. Az alap-adattípusok halmazát a felhasználó b!vítheti, az új adattípusok leírására szabályrendszert ad. Mount protokoll: a távoli fájlrendszerek összekapcsolását leíró protokoll.
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixHalozat?skin=print.pattern
Page 2 of 5
OpreVazlatUnixHalozat < Infoalap < VIK wiki
2008.04.07. 21:24
A protokollokat megvalósító szoftverkomponensek: NFS-szerver: az a szoftver egység, ami megvalósítja a protokollban definiált szolgáltatásokat, illetve a rendszer m"ködéséhez szükséges egyéb funkciókat. NFS-kliens: a kliens oldali funkciókat megvalósító szoftver. Daemon folyamatok: az NFS-szerver állandóan elérhet! szolgáltatásait megvalósító folyamatok. biod: blokkos átvitelt kezel! daemon mountd: csatlakoztatással kapcsolatos kéréseket elégíti ki nfsd: a fájlok elérésével kapcsolatos kéréseket intézi. NLM (Network Lock Manager): kizárólagos fájlm"veletek kezelését végz! opcionális komponens. NSM (Network Status Manager): A fájlok állapotának lekérdezésére szolgáló opcionális komponones.
A SUN NFS m"ködése lásd TK 372-373. oldal ábra A fájlok elérését kezdeményez! kéréseket, rendszerhívásokat a virtuális fájlrendszer (VFS) kezeli. Ha a folyamat lokális fájlt szeretne, a VFS a kérést a helyi lemezt kezel! Unix-fájlrendszer (UFS) felé továbbítja. Ha a folyamat távoli fájlt szeretne elérni, a VFS a kérést az NFS-klienshez továbbítja, aki hálózaton keresztül eléri a kért fájlt tároló csomóponton m"köd! NFS-szervert. A távoli NFSszerver az ottani VFS-en keresztül kérést küld a helyi UFS-nek, majd az UFS-t!l kapott adatokat továbbítja az NFS-kliensnek, aki a VFS-en keresztül visszaadja azokat az fájlt kér! folyamatnak. -- SoTi - 2005.05.29.
Kérdések 7.5/78-88
78.Jellemezze az IP protokollt! A TCP/IP család legalacsonyabb szint" protokollja. Nem biztosít megbízható átvitelt, a csomagok késhetnek, sérülhetnek, duplikálódhatnak, elveszhetnek, de csak abban az esetben , ha az IP által használt hálózat hibázik – tehát az IP használata nem garantálja a fenti hibák kisz"rését. Az IP adatcsomagok formátuma nem bonyolult , méretük max. 64 kbyte. Mindig egy header rel kezd!dnek, ami a küld! és a címzett csomópont IP-címét tartalmazza – ez az üzenet egyetlen redundáns része , megteremtve a lehet!séget az IP-t használó szoftver számára a hiba felismerésére. Egy IP-adatcsomag vázlatos felépítése: Vezérl! info Küld! IP-címe Címzett IP-címe Ellen!rz! adat Adat A protokollt használó szoftver feladata , hogy az IP-címét a helyi hálózatban használatos címmé alakítsa, és az adatcsomagot továbbküldje, miután elvégezte az alacsonyabb szint" protokoll által megkívánt átalakításokat az adatrészben. Az IP protokoll igen népszer" a hálózati rendszerekben, több megvalósítása létezik különböz!, alacsony szint" hálózati protokollok fölé.
79. Mi a különbség az UDP és a TCP protokollok között? Mindkett! az IP protokollra épül. A TCP (Transport Control Protocol) az IP protokollra épülve megbízható hálózati átvitelt garantál. Az UDP (User Datagram Protocol) ugyancsak az IP-re épülve csak az üzenetek továbbítását biztosítja. Mindkét protokoll lehet!séget ad a csomópontokon fut https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixHalozat?skin=print.pattern
Page 3 of 5
OpreVazlatUnixHalozat < Infoalap < VIK wiki
2008.04.07. 21:24
csak az üzenetek továbbítását biztosítja. Mindkét protokoll lehet!séget ad a csomópontokon fut folyamatok közvetlen elérésére (címzésére) ún. process portokon keresztül. A TCP-t használó leismertebb szolgáltatások: FTP, telnet, SMTP-protokoll. UPD használói: távoli gépek usereinek adatainak lekérdezése (rwho) , file-ok hordozása (TFTP).
80. Milyen lehet!ségeket biztosít a SUN NFS a felhasználó számára? -Egy vagy több file-rendszer teljes vagy részleges exportálása (láthatóvá tétele) lehetséges egy adott csomópontról. -Konfigurációs file készíthet! az exportált filerendszert elér! kliensek definiálására. Távoli rendszer mount olásának lehet!sége a helyi fileredszerhez a jogok beállításával. -Szoros
(hard) és laza (soft) mount. Hard mount esetén addig próbálkozik a file elérésével, amíg végre sikerrel nem jár. Soft mount esetében néhány sikertelen próbálkozás után hibaüzenetet küld. Távoli file-ok lokális file-okkal azonos módon történ! elérési lehet!sége. -A rekurzió elkerülése végett csak a saját, lokális file-rendszer exportálható.
81. Az NFS (Network File System) rendszerben a szerver oldalon az exportált könyvtáraknál a könyvtár nevén (elérési útján) kívül milyen paramétereket lehet megadni? 82. SUN NFS esetén mi a különbség a soft ill. a hard mount között? lásd: 80. kérdés
83. Milyen célokat t"ztek ki a SUN NFS tervez!i, és milyen típusú megvalósítást választottak? Tervez!i célok: -A protokoll legyen megvalósítható minden op.rendszer alatt . -A protokoll legyen hardverfüggetlen . -Létezzen egyszer" újraindítási lehet!ség a kliens ill. a szerver számára. -A kliens kezelje az op.rendszert!l függ! file-elérési metodikát . -Az NFS teljesítménye a helyi filerendszer teljesítményével összemérhet! legyen. -A hálózati összeköttetést!l független, ill. a forgalomnövekedéssel b!víthet! kapacitású implementációt tegyen lehet!vé. Állapotmentes megvalósítás. El!nye, hogy a kliensek kérései egymástól függetlenek , önállóan értelmezhet!k.
84. Milyen protokollokat használ a SUN NFS? Adja meg ezek funkcióját! 85. Adja meg a SUN NFS szoftver komponenseit és azok feladatát! - NFS-szerver. Megvalósítja a protokollban definiált szolgáltatásokat - NFS-kliens. Kliens oldali funciokat valositja meg - Daemon folyamatok. Allandoan felmerulo szolgaltatasokat vegrehajto komponensek (biod, mountd, nfsd)
86. Milyen információkat tartalmaz egy RPC-kérés-, ill. válasz-üzenet? RPC-kérés felépítése. XID – egyedi üzenet azonosító ; minden üzenetnél egyedileg generálódik Irány – a kliens-szerver kommunikációban az üzenet kérés vagy válasz -e RPC verzió – fontos megadni, mivel az üzenet formája, tartalma függhet az RPC-protokoll verziójától PRG-azonosító – az RPC-t, mint kommunikációs eszközt, több, párhuzamosan futó applikáció is használhatja. A PRGazonosító a kért szolgáltatást nyújtó alkalmazás azonosítóját tartalmazza. PRG-verzió – az adott szolgáltatás verziója (NFS-nél pl. 2-es és 3-as lehet) Azonosító információ – a küld! folyamat azonosítója. UNIX esetén pl. a process_ID (PID). Adat – az üzenet adatrésze, mely az RPC-t használó alkalmazástól függ RPC-válasz felépítése.
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixHalozat?skin=print.pattern
Page 4 of 5
OpreVazlatUnixHalozat < Infoalap < VIK wiki
2008.04.07. 21:24
XID, Irány, Státus, Azonosító információ, Státus 2, Adat.A válasz elemei megegyeznek a kérés adat elemeivel. Itt azonban szerepel a kért szolgáltatás sáttusa is, amely megadja, hogy a kért szolgáltatás sikeresen hajtódott-e végre, történt-e hiba, stb.
87. Mi a szerepe a virtuális file-rendszernek az NFS esetében? Ez a hagyományos UNIX filerendszert továbbfejleszt! filerendszer, ami lehet!vé teszi különböz! típusú filerendszerek kezelését UNIXban. Ha a kliens lokális file-t szeretne elérni, a kérést a helyi lemezt kezel! filerendszer (UFS) felé továbbítja, ez a file-t közvetlenül elérve visszaadja az adatokat. Távoli file-kérés esetén az NFS-kliensnek adja a virtuális file-rendszer a kérést. Az NFS-kliens a hálózaton keresztül eléri a kívánt file csomópontján m"köd! NFS szervert. A távoli NFS-szerver lokális file kérést hajt végre , ami a fenti módon m"ködik. Végül az UFS által a távoli NFSszervernek visszaadott adatok a kliens folyamathoz továbbítódnak.
88. Hogyan hajtódik végre egy write m"velet távoli állomány esetén? A kliens folyamat a hagyományos interfész használatával kezdeményez egy filem"veletet, vagyis végrehajt egy rendszerhívást . A paraméterenkénti file-leíró sorszám alapján a rendszer kikeresi a folyamatonkénti ill. a globális filetábla megfelel! bejegyzését. A v_data megmutatja, hogy milyen filerendszer tagja az elérend! file, ill. hogy ott mik az azonosító adatai. A v_ops megmutatja az adott filerendszer kezel!rutinjainak címét – a rendszer a m"veleti táblában a használni kívánt m"veletre ugrik. A rutinok (mivel távoli file-ról beszélünk) az NFS klienskódjában vannak implementálva. Az NFS-kliens egy RPC-kérés csomagot küld a fileszerver gépén m"köd! RPCszervernek. Az RPC-szerver, észlelvén, hogy NFS-csomagot kapott, továbbítja azt az NFSszervernek. Az NFS-szerver a helyi VFS-rendszeren keresztül kezdeményezi a file írását . A távoli gépen (amelyiken a szerver fut) a VFS által használt globális file-tábla-bejegyzésen már a lokális file-ok elérésére szolgáló adatelemek lesznek . Tehát: a v_data az adott inode- ra mutat, ill. a
v_ops az UFS kódjára. Miután az UFS befejezte a write m"veletet, az NFS-szerver RPC-választ küld nyugtaként az NFS-kliensnek, és ez felébreszti a várakozó kliens folyamatot. vissza OpRe
Revision: r1.6 - 2005.06.15 - 12:15 - CsapoAdamBalazs Infoalap > OpreVazlatUnixHalozat Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixHalozat?skin=print.pattern
Page 5 of 5
OpreVazlatUnixPosix < Infoalap < VIK wiki
2008.04.07. 21:24
vissza OpRe
A POSIX szabvány (Portable Operating System Interface) TK(374-383) Az alkalmazói programok szempontjából egy általános felületet kíván definiálni, hordozhatóvá téve ezzel a szabványt betartó alkalmazásokat. Ez a szabvány C nyelven definiál egy operációs rendszer interfészt, ami az alkalmazások szempontjából ír le egy szabványos rendszerfelületet. Az alap szabvány a POSIX.1, további erre épül! szabványok a POSIX.x szabványok. Itt POSIX.1-r!l lesz szó.
Alapfogalmak, felépítés A szabvány csupán rendszerfelületet definiál, és nem írja el! annak megvalósítási módját. Az operációs rendszer implementációjára vonatkozó el!írások tipusai: Implementáció által definiált (implementation-defined): az implementáció dokumentumában pontosan meg kell adni az értéket, vagy le kell írni a m"ködést. Nem specifikált (unspecified): Nem kell dokumentálni. Nem definiált (undefined): Olyan m"ködést, vagy értéket jelent, mellyel szemben egy hibátlan program nem támaszthat követelményeket. Kell (shall): Az implementáció pontosan el!írja a m"ködést, vagy a kérdésés értéket. Kellene (should): Csak javaslatot ír el!. Lehet (may): Opciót jelöl. Egy alkalmazás megfelel!ségének szintjei: Szigorúan megfelelel!: szigorúan POSIX-re épül. ISO/IEC megfelel!: POSIX mellett felhasznál más ISO/IEC szabványokat. Nemzeti szabványokat is felhasználó: POSIX mellett nemzeti szabványokat is használ. Egyéb nem szabványos kiterjesztéseket is felhasználó alkalmazás .
POSIX környezet Többfelhasználós, több folyamat konkurens futtatására alkalmas környezet, melyben a folyamatoknak és a felhasználóknak egyedi azonosítójuk van. Hierarchikus, nem tisztán fa szerkezet" állományrendszer. A felhasználók adatainak elérését védelmi rendszer szabályozza, amely hasonlít a UNIX rendszeréhez, de lehet attól szigorúbb is.
Hordozható alkalmazások A hordozhatóság érdekében az alkalmazásokat úgy kell elkészíteni, hogy az implementáció által definált lehet!ségeket ne használják ki, vagy rugalmasan alkalmazkodjanak az adott implementációhoz. Utóbbi történhet: Fordítási id!ben, megfelel! fordítási opciókkal, konstansokkal. Futási idej" lekérdezéssel. Egy alkalmazás új környezetbe való telepítéséhez a következ! információkat kell egy hordozható csomagba becsomagolni: https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixPosix?skin=print.pattern
Page 1 of 4
OpreVazlatUnixPosix < Infoalap < VIK wiki
2008.04.07. 21:24
Az alkalmazás programkódját, forráskódban vagy bináris változatban. Az alkalmazás adatait: online dokumentáció. Az installációs utasításokat és scripteket. Az állományok csomagolására a cpio és a tar segédprogramokat javasolja a szabvány. Emelett külön oda kell figyelni az állományok neveinek hordozhatóságára.
Folyamatkezelés A szabvány a System V és a BSD irányvonalat ötvözi, a terminálhoz rendelt szekciókkal. Ennek lényege, hogy minden folyamat tagja egy szekciónak és egy folyamatcsoportnak is. Egy szekcióhoz egyszerre több folyamatcsoport is tartozhat. A folyamatok legfontosabb tulajdonságai: Folyamatazonosító (PID) Szül! folyamat azonosítója (PPID) Folyamat csoportazonosító (PGID) Login név Valós felhasználói azonosító (UID) Effektív felhasználói azonosító Valós felhasználói csoportazonosító Effektív felhasználói azonosító Kiegészító csoportazonosítók Munkakatalógus Állományok létrehozási maszkja Jelzés maszk Terminál azonosító Szekció azonosító Futási id!k.
Állománykezelés Állománytípusok: normál állomány (regular file) katalógus (directory) FIFO blokkos elérés" eszköz karakteres elérés" eszköz A szabvány javasolja, hogy az állományok nevei hordozhatóak legyenek. Az állományok legfontosabb tulajdonságai: Az állomány tipusa Hozzáférés védelmi kódja Egyedi azonosítószám Hivatkozás számláló Tulajdonos azonosítója és csoportazonosítója Állomány hossza byte-ban Utolsó módosítási id! Utosló hozzáférési id! Utolsó státuszmódosítási id!
Jelzéskezelés Ez az a terület, ahol a POSIX teljesen eltér a korábbi UNIX-irányvonaltól. Ennek oka, hogy mind a System V, mind a BSD jelzéskezelése megoldhatatlan problémákat vet fel. A f! gondot az a dilemma https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixPosix?skin=print.pattern
Page 2 of 4
OpreVazlatUnixPosix < Infoalap < VIK wiki
2008.04.07. 21:24
System V, mind a BSD jelzéskezelése megoldhatatlan problémákat vet fel. A f! gondot az a dilemma jelenti, hogy mi történjen ha egy jelzés érvényre jut, hatására elindul a kezel! rutin, és közben újból bejön ugyanaz a jelzés. System V filozófia: a jelzés érvényrejutásakor az adott jelzéshez tartozó kezelési mód kijelölése visszaáll alapértékre. BSD filozófia: a jelzéshez rendelt kijelölés nem áll vissza alaphelyzetbe. POSIX filozófia: A POSIX folyamatokhoz hozzárendel egy jelzésmaszkot, amely el!írja, hogy egy adott pillanatban mely jelzések nem juthatnak érvényre.
Terminálkezelés Alapjában a terminál kezelését befolyásoló paraméterek és m"ködési módok változatlanul maradtak, de a kezelést végz! függvények teljesen megváltoztak. Megsz"nt az ioctl() függvény, helyét a tcgetattr() és a tcsetattr() vették át. -- SoTi - 2005.05.30.
Kérdések 7.5/89-96
Mit és hogyan definiál a POSIX-szabvány? A Portable Operating System Interface szabvány az alkalmazói programok szempontjából egy általános felületet kíván definiálni, hordozhatóvá téve ezzel aszabványtbetartó alkalmazásokat. A szabvány C nyelven definiál egy operációs rendszer interfészt, ami az alkalmazások szempontjából ír le egy szabványos rendszerfelületet.
Milyen kategóriákat definiál a POSIX-szabvány az egyes el!írások megvalósításának besorolására? Az alkalmazás oldaláról milyen megfelel!ségi kategóriákat különböztet meg a POSIX? Hogy definiálja a felhasználási környezetet a POSIX? Hogyan támogatja a POSIX a hordozhatóságot? Milyen eltéréseket mutat a POSIX a könyvtárak kezelésében a hagyományos UNIX megvalósításokhoz képest? Mi a POSIX által a folyamatkezelésnél definiált session funkciója? Mi a hasonlóság és különbség a System V, a BSD, ill. a POSIX szignálkezelésében? vissza OpRe
Revision: r1.4 - 2005.06.02 - 17:26 - SzaMa https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixPosix?skin=print.pattern
Page 3 of 4
OpreVazlatUnixPosix < Infoalap < VIK wiki
2008.04.07. 21:24
Infoalap > OpRe > OpreVazlatUnixPosix Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixPosix?skin=print.pattern
Page 4 of 4
OpreVazlatUnixLinux < Infoalap < VIK wiki
2008.04.07. 21:24
vissza OpRe
A Linux rendszer (TK 384-388) A UNIX önálló, szabadon hozzáférhet! változata.
A linux fejl!désének állomásai 0.verzió Linus Torvalds által készített önálló kernel 1991-ben. Nincs hálózati támogatás, kevés perifériát támogat 1.0 verzió (1994) TCP/IP protokoll használja fejlett fájlkezelés virtuális memóriakezel! alrendszer 2.0 verzió (1996) többfajta architektúra használatát enged meg alkalmas többprocesszoros m"ködésre
A Linux felépítése és m"ködése Általános tervezési szempontból a Linux hasonlít bármelyik hagyományos UNIX-implementációhoz. A Linux-rendszer kódja három f! részb!l áll: Kernel az operációs rendszer fontos bels! funkcióit látja el a processzor privilegizált végrehajtási módjában hajtódik végre, így szabadon eléri a számítógép összes fizikai er!forrását. Rendszerkönyvtárak egyrészt azon standard funkciókat valósítják meg, amelyeken keresztül az alkalmazások együtt tudnak m"ködni a kernellel. másrészt azokat a tevékenységeket, amelyek nem igénylik a kernel felügyeletét. Segédprogramok olyan programok, amelyek egyedi, speciális feladatokat látnak el. A Linux-rendszer komponensei: Rendszerkezel!
Felhasználói
Felhasználói
programok
folyamatok
segédprogramok
Fordítóprogramok
Rendszerkönyvtárak LINUX-KERNEL + BETÖLTHET# KERNELMODULOK -- SoTi - 2005.05.30. Vissza OpRe
Revision: r1.2 - 2005.10.26 - 11:32 - NemethAdam Infoalap > OpRe > OpreVazlatUnixLinux Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatUnixLinux?skin=print.pattern
Page 1 of 1
OpreVazlatWindowsKovetelmenyek < Infoalap < VIK wiki
2008.04.07. 21:24
vissza OpRe
Windows NT "New Technology" 32 bites, OS2 alapú, fejlesztése 1988-ban kezd!dik meg. 1993-ban adták ki els! verzióját.
A Windows NT-t!l elvárt követelmények: Az els! csoportba azok a tulajdonságok tartoznak, melyek a piaci igényeket tükrözik: 32 bit preemtív reentráns (újrahívható) hardware független (hordozható - a piaci követelménynek megfelel!en) multiprocesszoron futatható - szimmetrikus ??? dos, win3.1 alkalmazásai futathatóak legyenek POSIX szabványnak megfeleljen USA biztonsági szabványok el!írásait is elégítse ki UNICODE (16bites karakter kezelés) A UNICODE a karakterek gépi ábrázolásának szabványa 16 biten gyakorlatilag minden nyelv ábécéjének karakterkészletét lehetéséges ábrázolni.
Tervez!i célkit"zések A rendszer átláthatóságát, karbantarthatóságát, valamint kés!bbi továbbfejleszthet!ségét szolgálják: könnyen felépíthet! - modularitás hordozható megbízható és robosztus ( a függetlenül futó programok ne befolyásolhassák egymást) maximálisan kompatibilis legyen a m"köd! rendszerekkel akár Microsoft akár Unix/Linux/OS2 teljesítmény maximalizálás -- adamo - 2005.05.27. vissza OpRe
Revision: r1.3 - 2005.06.01 - 19:13 - AdamO Infoalap > OpRe > OpreVazlatWindowsKovetelmenyek Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatWindowsKovetelmenyek?skin=print.pattern
Page 1 of 1
OpreVazlatWindowsFelepites < Infoalap < VIK wiki
2008.04.07. 21:25
vissza OpRe
Felépítése (TK393-400) kliens szerver architektúra rétegszerkezet! - interface kommunikáció ojjektum orientáltság Van: adatrejtés, interface használat Nincs: polimorfizmus, örökl"dés és a dinamikus adattípuskötés
Magyarázatok: "HAL" - Hardware Abstraction Layer Az aktuális HW-hez (minden processzorhoz saját HAL) virtuális gépet valósít meg. lényegében processzor független szolgáltatások nyújtása - azonban ez architektúra függ". Kernel A rendszer álllandóan memóriában lév" védett módban futó része. Az NT egyetlen HW függ" része, szerepe a HW elfedése a felette található eszközök el"l, ezáltal a felette lév" részek már teljesen HW függetlenek. Megvalósítja a szálütemezést, multiprocesszor ütemezést és a TRAP kezelést.
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatWindowsFelepites?skin=print.pattern
Page 1 of 3
OpreVazlatWindowsFelepites < Infoalap < VIK wiki
2008.04.07. 21:25
Device Driver - Készülékkezel"k I/O rendszer a HW-ek közti kapcsolat fenttartása HW driver Fájlrendszer driver - a fáljrendszer kéréseit transzformálja I/O kérésekké. Sz!r! típusú driver - speciális többlet funkció a magas és alacsony szint! driverek közé ékel"dnek Hálózati driver - hálózati kérések továbbítása Executive (EXE API - Application Programming Interface) Ez a réteg tartalmazza az NTDLL.DLL által definiált függvények hívásainak megvalósítását, valamint a rendszer küls" objektumai közti kommunikáció. Legfontosabb szolgáltató funkciója a lokális eljárás hívás - LPC (Local Procedura Call) megvalósítása. NT DLL.dll Az a dinamikusan kapcsolódó könyvtár (Dinamically Linked Library), amin keresztül a felhasználói folyamatok elérik az NT-t. Hívás érkezésekor a paraméterek ellen"rzését követ"en user-kernel váltás után meghívja az NT megfelel" függvényét. Rendszer folyamatok Habár végig felhasználói módban futnak olyannyira alapvet" részei az operációs rendszernek, hogy futásuk nélkül az NT m!ködésképtelen. Session Manager: alkalmazás indítása, kapcsolat tartás (Debugger), környezetváltások kezelése Logon: username/password , környezet indításáért felel"s Szolgáltatások Többletszolgáltatásokat nyújtó folyamatok együttes neve szolgáltatás (nélkülük is megvan az NT) RPC (Remote Procedure Call) Event Logger Hálózati protokoll A szolgáltatások a Service Manager segítségével elindíthatók és leállíthatók Alrendszerek Különböz" típusú alkalmazások megvalósítása: Win32, POSIX, OS/2. Els"dleges feladata a hozzájuk tartozó alkalmazások futásához szükséges szolgáltatások nyújtása. A Win 32 természetesen nélkülözhetetlen. Minden egyes alrendszerhez tartozik egy un. alrendszer dll. Win 32 A 32 bites alkalmazások futtatása, nélküle az NT üzemképtelen, alrendeszere valósítja meg a grafikus képerny" kezelési funkciókat. Posix szabvány szerinti szolgáltatások megvalósítása: hardlink: fájlokt öbb néven történ" elérése fork(): új folyamtatok létrehozása IPC folyamok közti kommunikácó karakteres I/O kezelés -- adamo - 2005.05.27. vissza OpRe
Attachment NTfelepitese.jpg
Action
Size
manage
46.1 K
Date 2005.06.01 12:29
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatWindowsFelepites?skin=print.pattern
Who SomodiTibor
Comment A windows NT felépítése Page 2 of 3
OpreVazlatWindowsFelepites < Infoalap < VIK wiki
2008.04.07. 21:25
Revision: r1.5 - 2005.06.02 - 18:11 - SzaMa Infoalap > OpRe > OpreVazlatWindowsFelepites Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatWindowsFelepites?skin=print.pattern
Page 3 of 3
OpreVazlatWindowsMechanizmusok < Infoalap < VIK wiki
2008.04.07. 21:25
vissza OpRe
A Windows NT bels! mechanizmusai Megszakítás- és kivételkezelés A megszakítások típusa és prioritása Kivételkezelés Objektumkezelés Szinkronizáció Kernel szinkronizáció Executive szinkronizáció Lokális eljáráshívás (LPC)
A Windows NT bels! mechanizmusai (TK 401-407) Az NT számos kernel módú komponenssel rendelkezik (rendszermechanizmusok): Megszakítás- és kivételkezelés Executive objektumkezelés Szinkronizáció Lokális eljáráshívás (LPC Local Procedure Call)
Megszakítás- és kivételkezelés A megszakítások (IT) és a kivételek (exception) olyan események az operációs rendszerben, amelyek a CPU-t eltérítik az utasítások normál végrehajtási sorrendjét!l. A trap (csapda) a prcesszor azon mechanizmusát jelöli, amelynek segítségével az egy végrehajtás alatt lév! szálat állít meg egy megszakítás, vagy egy kivétel hatására. A trap a processzort kernel módra kapcsolja át, majd a átadja a vezérlést a trapkezel! rutinnak. A trapkezel! eldönti, hogy a megszakítás kezelhet!-e egyáltalán, és ha igen, akkor a rendszer melyik komponense a felel!s. A rendszerhívások végrehajtásakor is a trapkezel! aktiválódik.
A megszakítások típusa és prioritása A megszakításokhoz prioritási szinteket (IRQL) rendel az operációs rendszer. A párhuzamosan érkez! megszakítások kezelése prioritásuknak megfelel!en történik, a magasabb prioritású IT megszakítja az alacsonyabb prioritású kiszolgálását. IRQL (Interrupt Request Level Table) - Intel x86 31. Fels! szint 30. Tápfeszültség kimaradása 29. Processzor INT 28. órajel 27. I/O eszköz (n) .
...
.
...
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatWindowsMechanizmusok?skin=print.pattern
Page 1 of 3
OpreVazlatWindowsMechanizmusok < Infoalap < VIK wiki
.
...
3.
I/O eszköz (1)
2.
késleltetett eljárás hívás -> SW megszakítás
1.
asszinkron eljárás hívás -> SW megszakítás
0.
Alsó szint -> normál szál végrehajtás
2008.04.07. 21:25
A megszakítások fels! szintjei a hardver-megszakításokra vannak fenntartva, a legalsó, nullás szint a normál szoftvervégrehajtás, ezen a szinten minden IT engedélyezett. Kölcsönös kizárás biztosítása: Egy processzor esetén: megemeli a legmagasabb int szintre a futást Több processzor esetén: adott rész teljes blokkolása
Kivételkezelés Kivételek: Olyan feltételek, amelyek egy futásban lév! program végrehajtása következtében jönnek lére, kezelésükre egy speciális kernelmodul, a kivétel-felügyel! (exception dispatcher) szolgál, melynek els!dleges feladata az aktuális kivétel azonosítása.
Objektumkezelés Az executive egyik komponense az objektumkezel!, mely az objektumok el!állítására, törlésére, védelmére és kezelésére szolgál, összefogja az er!forráskezel! m"veleteket. Az objektumkezel!t a következ! célokra tervezték: Egységes mechanizmus biztosítása a rendszer er!forrásainak elérésére Az objektumok védelmét megvalósító kód egy helyre legyen összegy"jtve Egységes módon kezelje az objektumok életben tartását A Windows NT alapvet!en kétfajta objektummal rendelkezik: Executive objektum Az executive réteg különböz! objektumai hozzák létre Kernel objektum Alapvet! funkciókat valósítanak meg (pl. szinkronizáció)
Szinkronizáció A kölcsönös kizárás megvalósítása alapvet! fontosságú. A Windows NT-ben a kernel feladata a több szál által is használt adatstruktúrák használatának összehangolása. A kernel ennek megoldására kölcsönös kizárást megvalósító primitíveket (alapmodulokat) tartalmaz.
Kernel szinkronizáció A kernel kód végrehajtásának különböz! fázisaiban garantálnia kell hogy egy kritikus szakaszt csak egyetlen processzor hajt végre egy adott pillanatban. A kritikus szakaszban lev! adatstruktúrák módosítják a globális adatstruktúrákat. A szinkronizáció során a legnagyobb gondot a megszakítások jelentik, melyek kezelésére a lezárás (locking) módszer használatos a Windows NT rendszerben. A kizárással használandó er!forrásokat az adott szálnak használat el!tt le kell zárnia (meg kell szereznie a spinlock-ot), majd használat után felszabadítani. Ha nem tudja lezárni az er!forrást, várakoznia kell és bekerül egy várakozási sorba. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatWindowsMechanizmusok?skin=print.pattern
Page 2 of 3
OpreVazlatWindowsMechanizmusok < Infoalap < VIK wiki
2008.04.07. 21:25
sorba.
Executive szinkronizáció Multiprocesszoros környezetben az executive réteg komponenseinek is szinkronizálnia kell a globális adatstruktúrákhoz való hozzáférést. A kernel funkciók hívásakor az executive is használhatja a lezárás módszerét. Diszpécser objektumok: speciális szinkronizációs objektumok.
Lokális eljáráshívás (LPC) Az LPC a folyamatok közötti kommunikációra ad lehet!séget, nagysebesség" üzenettovábbítás formájában. Csak a rendszer bels! komponensei számára áll rendelkezésre (a Win32 API-n keresztül nem érhet! el). Leggyakrabban a szolgáltatásokat megvalósító szerver folyamatok használják a kliens folyamatokkal történ! kapcsolattartásra. Az üzenetváltás három formáját teszi lehet!vé: 256 bájtnál rövidebb üzenet puffer segítségével: híváskor a rendszer saját címtartományába másolja, majd onnan a hívott folyamat címtartományába. 256 bájtnál hosszabb üzenet küldésekor osztott memóriát kell használni. Ide a küld! bemásolja az üzenetet, majd egy rövid üzenetben elküld a fogadónak egy pointert az üzenet kezd!pontjára. Nagyon hosszú üzenet estén a szever elérheti a kliens címterületét (ha megszerezte a megfelel! biztonsági tokeneket), és ott olvashat, írhat. Az üzenetváltás szinkronizációjára rövid üzeneteket használnak. -- adamo - 2005.06.01. -- LatoBalazs - 2005.06.09. vissza OpRe
Revision: r1.5 - 2005.06.09 - 01:07 - LatoBalazs Infoalap > OpRe > OpreVazlatWindowsMechanizmusok Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatWindowsMechanizmusok?skin=print.pattern
Page 3 of 3
OpreVazlatWindowsFolyamatok < Infoalap < VIK wiki
2008.04.07. 21:25
vissza OpRe
Folyamtok kezelése és ütemezése A Win NT folyamatmodellje A folyamatok az NT-ben egy adott program kódját végrehajtó szál(ak)ból, valamint a szálak által lefoglalt er!forrásokból állnak. végrehajtott program kódja és adatai saját virtuális memória címtartománya rendszer er!források (szemafor, fájl stb.) folyamatok egyedi azonosítója (PID) minimálisan egy végrehajtandó szál A szál az NT azon egysége (entitása) amit az ütemez! kezel és végrehajtásra ütemez a CPU-hoz regiszterek - processzorállapot 2db stack (ti. kernel+user) kizárólagosan használt címtartomány kizárólagosan használható tárterület a DLL-nek. egyedi azonosító ThreadID
Folyamatok kezelése a Win NT-ben Na ez az a pont amit a 2004/2005 tavaszi félévében már nem adott le senki sem. -- adamo - 2005.06.01. vissza OpRe
Revision: r1.4 - 2005.06.02 - 18:33 - SzaMa Infoalap > OpRe > OpreVazlatWindowsFolyamatok Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatWindowsFolyamatok?skin=print.pattern
Page 1 of 1
OpreVazlatWindowsKerdesek < Infoalap < VIK wiki
2008.04.07. 21:25
vissza OpRe
Kérdések 7.6 1. Melyik az az alrendszere az NT-nek, ami nélkül nem tud futni? 2. Ismertesse az NT objektumainak általános jellemz!it! 3. Sorolja fel az NT hardware-függ! rétegeit! 4. Mi volt a f! oka annak, hogy a 4.0-s NT-ben a képerny!kezel! és grafikus funkciókat megvalósító függvények kernel módba kerültek? 5. Mi az NTDLL.DLL f! funkciója és milyen m"veleteket hajt végre? 6. Nevezzen meg egy kilens-szerver-modell alapján m"köd! kompenenst az NT-ben! 7. Mi a f! különbség egy Win32-es alkalmazás és egy szolgáltatást megvalósító folyamat futása között? 8. Milyen operációs rendszer megvalósítási ideológiát tükröz az NT felépítése? 9. Sorolja fel az NT Executive rétegének f! funkcióit! 10. Mondjon legalább 3 példát, hogy milyen többletszolgáltatást érhet el egy Win32-es programozói interface-t (felületet) használó alkalmazás egy POSIX alkalmazáshoz képest? 11. Miért van 2 változata a string paramétert is használó Win32-es API hívásoknak? 12. Miért kerültek a Win32-es alrendszer egyes részei (pl. ablakkezelés) kernel módban megvalósításra? 13. Melyik az a tulajdonsága a Windows95/98-nak, amit az NT-s rendszerek sohasem fognak megvalósítani? 14. Milyen el!nyei vannak az UNICODE használatának? 15. Ismertesse az NT alrendszereinek szerepét! Hogyan m"ködnek együtt az alrendszerek a hozzájuk tartozó alkalmazásokkal? Példaként ismertesse, hogy egy Win32-es API hívás az NT mely komponensében lehet megvalósítva? 16. Mutassa be részletesen az NT felépítését! Milyen szerepe és funkciója van a rendszerben a Kernel és a HAL részeknek? 17. Sorolja fel, milyen interface-eket ismer az NT-ben! Részletesen ismertesse az interfaceek szerepét és a köztük lev! különbségeket! 18. (1) Ismertesse, hogy milyen szolgáltatásokat és folyamatokat ismer az NT-ben, és mi az egyes részek funkciója! (2) Milyen operációs rendszer felépítési elvet tükröz az NT ezen részeinek megvalósítása? (3) Rajzolja fel, hogyan épül fel az NT szolgáltatásokat és rendszerfolyamatokat megvalósító része. 19. Mit jelent az NT file rendszerének (NTFS) megvalósításakor használt "Mindent vagy semmit" elv? 20. Mi a különbség egy file attribútum rezidens és nem rezidens tárolása között az NT-ben? 21. Ismertesse az NT file rendszere elé állított legfontosabb követelményeket! Részletesen ismertesse, hogyan kerültek megvalósításra az egyes követelmények! 22. Mutassa be, hogy az NT hogyan tárolja a file-okat, illetve a könyvtárakat lemezen! Definiálja az NTFS metadata és a Master File Table fogalmát! Rajzolja fel, hogyan tárolja az NT az adatokat a file rekordban! 23. Sorolja fel az NT memória kezelésének legfontosabb jellemz!it! 24. Hogyan történik a memória foglalása az NT-ben? 25. Hogyan valósítja meg az NT a memóriaterületek osztott elérését? 26. Milyen szinteken történik a memóriavédelem implementálása az NT-ben? 28. Hogyan optimalizálja a copy-on-write módszer a memóriahasználatot? 29. Hogyan kezeli a memórialapokat az NT? 30. Milyen a folyamatok logikai címterének felépítése az NT-ben? 31. Adja meg az NT által használt logikai cím felépítését! 32. Milyen adatszerkezeteket használ a logikai-fizikai címtranszformáció során az NT x86-os processzorok esetén? 33. Milyen biztonsági szolgáltatásokat nyújt az NT? 34. Sorolja fel az NT biztonsági alrendszerének részeit! 35. Ismertesse, hogyan történik az objektumok védelme az NT-ben? 36. Ismertesse a logon menetét az NT-ben! 37. Hogyan kezeli az NT az interruptokat? Adjon néhány példát arra, milyen interruptokat kezel a rendszer x86-os processzor esetén! 38. Ismertesse a trap kezel! m"ködését! 39. Mutassa be az NT objektumkezelésének alapjait! 40. Milyen szinkronizációs lehet!ségeket kínál az NT a folyamatok számára? 41. Hogyan történik a Kernel és az Executive réteg folyamatainak szinkronizálása? 42. Mi a lokális eljáráshívás szolgáltatás m"ködésének lényege, és az NT mely részei használnak LPC-t? 43. Milyen típusai léteznek az LPC hívásoknak? 44. Ismertesse az NT folyamatmodelljét! 45. Milyen adatstruktúrákat használ az NT a folyamatok leírására? 46. Mutassa be, hogyan történik a folyamatok létrehozása az NT-ben! 47. Milyen adatstruktúrát használ az NT a szálak leírására? 48. Ismertesse egy szál létrehozásának lépéseit az NT-ben! https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatWindowsKerdesek?skin=print.pattern
Page 1 of 9
OpreVazlatWindowsKerdesek < Infoalap < VIK wiki
2008.04.07. 21:25
49.Milyen elvek alapján történik a szálak ütemezése az NT-ben? 50. Mit nevezünk kvantumnak és mi alapján számolja ki az NT a kvantum hosszát? 51. Milyen prioritási szintek vannak az NT-ben? 52. Mutassa be a szálak állapot-átmenet diagramját! 53. Mit nevezünk processzor affinitásnak és mi a szerepe ütemezéskor? 54. Hogyan választja ki az NT egy szál ütemezésekor, hogy melyik processzoron fog futni?
Kérdések 7.6 1-54
1. Melyik az az alrendszere az NT-nek, ami nélkül nem tud futni? Win32 alrendszer.
2. Ismertesse az NT objektumainak általános jellemz!it! Megvalósításra került az objektumokban az adatrejtés (az op rendszer objektumai csak saját adataikat érhetik el) interface használat (az objektumok egymást formális interface-eken keresztül érik el) Nem került megvalósításra: polimorfizmus (azonos néven különböz! objektumokat érhetünk le) örökl!dés (az objektumoknak hierarchikus származási rendszerük van, a gyermek örökli a szül! megfelel!en definiált adatelemeit és függvényeit) dinamikus adattípus kötés (definiálhatóak adattípussal paraméterezett objektumok)
3. Sorolja fel az NT hardware-függ! rétegeit! HAL (Hardware Abstraction Level) Kernel
4. Mi volt a f! oka annak, hogy a 4.0-s NT-ben a képerny!kezel! és grafikus funkciókat megvalósító függvények kernel módba kerültek? Mert ezek a folyamatok intenzíven használják a hardware-t, és futásuk gyorsaságára az egész rendszer teljesítménye érzékeny. A user módban történ! megvalósítás a rendszert nagyon lelassítaná a gyakori környezetváltás miatt.
5. Mi az NTDLL.DLL f! funkciója és milyen m"veleteket hajt végre? Az NTDLL.DLL az a dinamikusan kapcsolódó könyvtár (dinamic linking library), amelyek keresztül a felhasználói módú folyamatok elérhetik az NT-t. Mivel az egyes objektumok közti kapcsolattartás LPC-kel történik, minden felhasználói objektum az NTDLL.DLL-en keresztül éri el környezetét. M"ködése: átveszi az érkez! hívás paramétereit, megvalósítja a user-kernel módváltást, meghívja az NT kért funkciót megvalósító függvényét.
6. Nevezzen meg egy kilens-szerver-modell alapján m"köd! kompenenst az NT-ben! a szolgáltatások
7. Mi a f! különbség egy Win32-es alkalmazás és egy szolgáltatást megvalósító folyamat futása között? ??? adamo: ez a kérdésre válaszol ??? A szolgáltatások együttm"ködnek a Service Controller (SERVICES.EXE) folyamattal, ez regisztrálja !ket, így lehet !ket indítani, leállítani, szüneteltetni, stb. Ha egy futó szolgáltatást leállítunk, kés!bb nem indítható újra.
8. Milyen operációs rendszer megvalósítási ideológiát tükröz az NT felépítése? https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatWindowsKerdesek?skin=print.pattern
Page 2 of 9
OpreVazlatWindowsKerdesek < Infoalap < VIK wiki
2008.04.07. 21:25
jól definiált rétegekre bomlik a rétegek szigorúan interface-eken át érintkeznek, alrendszereket tartalmaz, a szolgáltatások nem feltétlenül user módban futnak
9. Sorolja fel az NT Executive rétegének f! funkcióit! folyamat- és szálkezel!, virtuális memória-kezel!, monitor (biztonsági alrendszer), cache kezel!, I/O kezel!. A 2 f! funkciója: az NTDLL.DLL által hívott függvények megvalósítása, IPC (Inter Process Communication) megvalósítása
10. Mondjon legalább 3 példát, hogy milyen többletszolgáltatást érhet el egy Win32-es programozói interface-t (felületet) használó alkalmazás egy POSIX alkalmazáshoz képest? thread létrehozása, ablakkezelés, RPC (Remote Process Call), socket-használat.
11. Miért van 2 változata a string paramétert is használó Win32-es API hívásoknak? Az NT bels! karakterábrázolásában UNICODE-ot használ. De mivel az alkalmazások egy része még nem használ UNICODE-ot, minden stringeket paraméterként kapó függvénynek van egy "keskeny”" változata, amely el!bb átkódolja a karaktereket 16 bitessé, majd meghívja a függvény "széles" változatát.
12. Miért kerültek a Win32-es alrendszer egyes részei (pl. ablakkezelés) kernel módban megvalósításra? lásd 4.
13. Melyik az a tulajdonsága a Windows95/98-nak, amit az NT-s rendszerek sohasem fognak megvalósítani? nem lesz képes az összes Windows 3.1-es alkalmazást futtatni.
14. Milyen el!nyei vannak az UNICODE használatának? 16 biten ábrázol, így szinte minden nyel abc-jének karaktereit lehetséges azonos kódolást használva ábrázolni. Így lehet!ség nyílik az alkalmazások nyelvterülett!l független változatának elkészítésére.
15. Ismertesse az NT alrendszereinek szerepét! Hogyan m"ködnek együtt az alrendszerek a hozzájuk tartozó alkalmazásokkal? Példaként ismertesse, hogy egy Win32-es API hívás az NT mely komponensében lehet megvalósítva? Az alrendszerek segítségével nyílik lehet!ség különböz! típusú alkalmazások futtatására. Az NTben 3 alrendszer van: Win32, POSIX és OS/2 alrendszer. Minden alrendszerhez tartozik egy alrendser DLL (ez az alrendszer által nyújtott API), ezen keresztül érhetik el az alkalmazások az NT szolgáltatásait. A Win32 API hívások 3 helyen lehetnek megvalósítva: alrendszer DLL-ben, az alrendszerben, az NT más, kernel módban futó rétegében.
16. Mutassa be részletesen az NT felépítését! Milyen szerepe és funkciója https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatWindowsKerdesek?skin=print.pattern
Page 3 of 9
OpreVazlatWindowsKerdesek < Infoalap < VIK wiki
2008.04.07. 21:25
16. Mutassa be részletesen az NT felépítését! Milyen szerepe és funkciója van a rendszerben a Kernel és a HAL részeknek? HAL, Kernel, Device Driverek, Executive, rendszerfolyamatok, szolgáltatások, NTDLL.DLL, alrendszerek HAL: Hardware Abstraction Layer elrejti a hardware konkrét tulajdonságait a többi réteg el!l, egységes kapcsolódási felületet biztosít (ugyanazok a funkciók érthet!k el, a processzor típusától függetlenül) Kernel: a rendszer állandóan a memóriában lev!, védett módban futó része, feladatai: a további részek hardware-t!l való teljes elhatárolása thread ütemezés, multiprocesszor ütemezés, trap- és kivételkezelés, IT-kezelés kernel objektumkezelés.
17. Sorolja fel, milyen interface-eket ismer az NT-ben! Részletesen ismertesse az interface-ek szerepét és a köztük lev! különbségeket! ??? POSIX API (400. oldal), GDI (401. oldal), Win32 API
18. (1) Ismertesse, hogy milyen szolgáltatásokat és folyamatokat ismer az NT-ben, és mi az egyes részek funkciója! (2) Milyen operációs rendszer felépítési elvet tükröz az NT ezen részeinek megvalósítása? (3) Rajzolja fel, hogyan épül fel az NT szolgáltatásokat és rendszerfolyamatokat megvalósító része. 1. RPC és egyéb protokollok (ezeket valósítja meg), hálózati kapcsolat megvalósítása (szintén), event logger (események naplózása) 2. a szolgáltatások a kliens-szerver modell szerint szervereként futnak nem elengedhetetlen részei a rendszernek, futásuk a Service Manager segítségével befolyásolható 3. TK 395.old 6.3. ábra bal fels! részlege lsd. wikin
19. Mit jelent az NT file rendszerének (NTFS) megvalósításakor használt "Mindent vagy semmit" elv? Egy lemezm"velet vagy teljesen végrehajtódik, vagy ha valami miatt megszakadna, a rendszer visszaállítja az eredeti állapotot. Így mindig konzisztens filerendszer lesz a lemezen.
20. Mi a különbség egy file attribútum rezidens és nem rezidens tárolása között az NT-ben? Rezidens tárolás esetén az attribútum értéke közvetlenül az attribútum header után található. Nem rezidens tárolás esetén a header után csak egy utalás van az érték helyére.
21. Ismertesse az NT file rendszere elé állított legfontosabb követelményeket! Részletesen ismertesse, hogyan kerültek megvalósításra az egyes követelmények! megbízható file rendszer (recoverability), állományok védelme illetéktelenek el!l (security), hibat"rés (fault tolerance), nagy diskek és file-ok tárolásának lehet!sége ??? részletesen...???
22. Mutassa be, hogy az NT hogyan tárolja a file-okat, illetve a könyvtárakat lemezen! Definiálja az NTFS metadata és a Master File Table fogalmát! Rajzolja fel, hogyan tárolja az NT az adatokat a file rekordban! A file rekord tartalmazza a file-hoz tartozó összes információt, attribútumok formájában tárolva (a tartalom is egy attribútum). Az attribútumok tárolódhatnak rezidens ill. nem rezidens módon (azaz https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatWindowsKerdesek?skin=print.pattern
Page 4 of 9
OpreVazlatWindowsKerdesek < Infoalap < VIK wiki
2008.04.07. 21:25
tartalom is egy attribútum). Az attribútumok tárolódhatnak rezidens ill. nem rezidens módon (azaz az értékek közvetlenül az attribútum header után helyezkednek el, vagy csak egy utalás van a tényleges helyükre). Tipikus file rekord felépítése: strandard info (readonly, timestamp, …), filename (DOS név, 32 bites név), security info, data.
23. Sorolja fel az NT memória kezelésének legfontosabb jellemz!it! Az NT memóriakezel!je alapvet!en 2 dolgot végez: a logikai-fizikai címtranszformációt és a virtuális memóriakezelést. A memóriát laponként kezeli, mindig teljes lapokat mozgat. Lehet!ség van többletszolgáltatásokra is: memory mapped files (osztott elérés), copy-on-write.
24. Hogyan történik a memória foglalása az NT-ben? 2 lépésben: reserve (virt. címtartomány foglalása) és commit (virt. mem. foglalása). Így lehet!ség van nagyobb egybefügg! tartományokat lefoglalni úgy, hogy azok ne foglalják a tényleges lapokat, amíg nincs rájuk szükség.
25. Hogyan valósítja meg az NT a memóriaterületek osztott elérését? Section object-ek segítségével.
26. Milyen szinteken történik a memóriavédelem implementálása az NT-ben? kernel szint" komponensek user módban nem elérhet!, a folyamatok külön virtuális címtartományt használnak, melyek kívülr!l (más folyamat) nem elérhet!ek. hardware védelem, pl. readonly flag, osztott elérésnél a section object-ekhez ACL (Access Control List) definiálja, hogy ki jogosult az adott section object elérésére
28. Hogyan optimalizálja a copy-on-write módszer a memóriahasználatot? Ha egyszerre több folyamat is használja (köztük egyesek írási joggal), a rendszer nem készít minden írási joggal rendelkez! használónak külön másolatot, csak átbillent a copy-on-write flaget, hogy ténylegesen írás esetén másolni kell. Így csak a valóban szükséges számú másolat jön létre a rendszerben.
29. Hogyan kezeli a memórialapokat az NT? Kevés fizikai memória esetén háttértárra mentheti az egyes lapokat (lapozás /pageing/). A folyamatok 2 helyr!l foglalhatnak lapokat: paged memory pool (szükség esetén háttértárra menthet!), non-paged memory pool (soha nem menthet! háttértárra, mindig a mem-ben van).
30. Milyen a folyamatok logikai címterének felépítése az NT-ben? 32 bit = 20 bit lap kijelölésére + 12 bit lapon belüli eltolás 20 bit lap kijelölésére = folyamat laptábla könyvtár index (PDI) + laptábla index (PTI) Minden folyamatnak van saját PTI-je, max 1024 bejegyzéssel. A bejegyzések kijelölik a PTI-ket, mely kijelöli a lapot->+eltolás = fizikai cím.
31. Adja meg az NT által használt logikai cím felépítését! lásd 30. 32 bit log. cím = 20 bit (PDI+PTI) + 12 bit (Byte index /BI/)
32. Milyen adatszerkezeteket használ a logikai-fizikai címtranszformáció során az NT x86-os processzorok esetén? KPROCESS – a folyamathoz tartozó PDI kezd!címe PDI – laptábla könyvtár index, 10 bit PTI – laptábla index, 10 bit BI – byte index, 12 bit
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatWindowsKerdesek?skin=print.pattern
Page 5 of 9
OpreVazlatWindowsKerdesek < Infoalap < VIK wiki
2008.04.07. 21:25
(lásd 425. oldal ábra)
33. Milyen biztonsági szolgáltatásokat nyújt az NT? biztonságos logon, tetsz!leges elérési konfiguráció minden er!forráshoz, biztonsági auditálás, memóriavédelem
34. Sorolja fel az NT biztonsági alrendszerének részeit! SMR (Secure Reference Monitor) – objektumok elérési jogosultságainak ellen!rzése LSA (Local Security Authority) – logon ellen!rzése LSA adatbázis SAM (Security Account Manager) – felhasználó azonosítása (LSA környezetben fut) SAM adatbázis Logon processz – a felhasználót LSA-val leellen!rizteti (pl. nem zárolt fiók-e), majd létrehozza a kezdeti folyamatot hálózati logon
35. Ismertesse, hogyan történik az objektumok védelme az NT-ben? Az objektumok biztonsági adatokkal rendelkeznek (security descriptors), ezek: tulajdonos azonosítója, elérési lista (kinek milyen joga van), rendszerelérési lista (mely m"veletet kell naplózni). Minden folyamatnak van egy elérési tokenja, ez alapján érhet el objektumokat. Az els!dleges elérési tokent a folyamat mindig a szül!jét!l örökli (kezdetben a Logon hozza létre).
36. Ismertesse a logon menetét az NT-ben! A WinLogon processz logon kérést fogad, majd továbbítja az LSA-nak. Az LSA a SAM segítségével azonosítja a felhasználót és jogosultságait. Ha a felhasználó jogosult bejelentkezni, a logon elindítja a számára kijelölt shellt. A WinLogon 3 desktopot inicializál: egy biztonsági desktopot, melyek kizárólag a WinLogon process érhet el, egy alkalmazási dektopot és egy képerny!mentési desktopot.
37. Hogyan kezeli az NT az interruptokat? Adjon néhány példát arra, milyen interruptokat kezel a rendszer x86-os processzor esetén! Trap: egy végrehajtás alatt lev! szálat IT vagy kivétel megállít Trap esetén elindul a trapkezel!, mely lekezeli a trap-et kiváltó eseményt. Az IT-k közt prioritási szintek vannak: 0..31, 0 a legkisebb prioritás. Pl.: tápfeszültség-kimaradás, órajel, BK-eszköz, aszinkron eljáráshívás, …
38. Ismertesse a trap kezel! m"ködését! A trapkezel! azonosítja a trapet kiváltó eseményt, majd elkezeli azt: IT
IT-diszpécser
Rendszerszolgáltatás
rendszerszolgáltatás
hívás Kivételek (HW/HS) Virtuális memória kivételek
IT rutinok diszpécser
---> --->
rendszer-szolgáltatások kivétel diszpécser
kivételkezel! rutinok
virtuális memória lapkezel!je
39. Mutassa be az NT objektumkezelésének alapjait! https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatWindowsKerdesek?skin=print.pattern
Page 6 of 9
OpreVazlatWindowsKerdesek < Infoalap < VIK wiki
2008.04.07. 21:25
Kétfajta objektum van: kernel objektum (egyszer"bb, alapvet! funkciókat valósít meg) és executive objektum (tetsz!leges). Amikor egy folyamat létrehoz és megnyit egy objektumot, egy handle-t kap hozzá, ezzel érheti el. Minden objektumra igazak a következ!k: az objektumok egységesen érhet!k el, a védelmet megvalósító kód egy helyen van összegy"jtve lehet!ség van az objektumhasználat figyelésére könnyen megkülönböztethet! objektumcsoportok az alrendszerek elvárásainak megfeleljenek egy objektum mindaddig maradjon életben, amíg van rá hivatkozás
40. Milyen szinkronizációs lehet!ségeket kínál az NT a folyamatok számára? kernel szinten: kölcsönös kizárásra: primitívek egyedi lezárás (locking) executive szinten: kernel-hívások dispatcher object-ek (pl. mutex /kölcsönös kizárást valósít meg/, timer, egyidej"ség, el!idej"ség)
41. Hogyan történik a Kernel és az Executive réteg folyamatainak szinkronizálása? lásd 40. ??? biztosan ???
42. Mi a lokális eljáráshívás szolgáltatás m"ködésének lényege, és az NT mely részei használnak LPC-t? Lényege: folyamatok közötti gyors üzenetváltás. Csak az operációsrendszer részi használhatják, Win32 API-ne keresztül nem érhet!ek el. Példa a használatára: szolgáltatások, WinLogon ? LPC-vel kommunikál az LSASS-sel.
43. Milyen típusai léteznek az LPC hívásoknak? 256 byte-nál rövidebb üzenet: az LPC tartalmazza az üzenetet >256 byte üzenet: a kliens és a szerver osztott elérés" memóriát nyit, a küld! itt elhelyezi az üzenetet, majd az LPC-ben elküldi a pointert ha nem fér el az üzenet az osztott memóriában, a szerver közvetlenül elérheti a kliens címtartományát
44. Ismertesse az NT folyamatmodelljét! A folyamatot a következ! adatok jellemzik: a program kódja és adatai saját virtuális címtér hozzárendelt rendszerer!források PID (process ID) legalább 1 végrehajtható szál
45. Milyen adatstruktúrákat használ az NT a folyamatok leírására? lásd 44. + 409. oldal ábra
46. Mutassa be, hogyan történik a folyamatok létrehozása az NT-ben! .exe file megnyitása NT executive process objektum létrehozása kezdeti szál létrehozása Win32 értesítése az új processzr!l kezdeti szál végrehajtásának elindítása címtér inicializálás (pl. DLL betöltés), végrehajtás megkezdése
47. Milyen adatstruktúrát használ az NT a szálak leírására? a szálat végrehajtó processzor regiszterei 2 verem (egy a kernel módú és egy a user módú végrehajtáshoz) kizárólagosan használható terület a DLL-ek és run-time könyvtárak számára threadID, ugyanabból a névtérb!l, mint a PID
48. Ismertesse egy szál létrehozásának lépéseit az NT-ben! felhasználói módú stack létrehozása
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatWindowsKerdesek?skin=print.pattern
Page 7 of 9
OpreVazlatWindowsKerdesek < Infoalap < VIK wiki
2008.04.07. 21:25
kezdeti értéket beállítása a hardware-kapcsolatokhoz executive szál objektum létrehozása Win32 értesítése az új szálról handle visszaadása a hívónak a szál ütemezésre kész állapotba kerül
49.Milyen elvek alapján történik a szálak ütemezése az NT-ben? prioritásos, preemptív ütemezés, multiprocesszoros esetben a processzor kiválasztása a processzor-affinitás alapján történik
50. Mit nevezünk kvantumnak és mi alapján számolja ki az NT a kvantum hosszát? kvantum: a futásra kiválasztott szálhoz rendelt el!re megszabott id!szelet, ennyit futhat a szál (a szál futása alatt a kvantum változhat) A kvantum kiszámítása a következ!k alapján történik: minden szálnak van egy kvantumértéke (egész szám), határozatlan esetben ez 6 (Serveren 36) órajel-megszakításra ebb!l 3 levonódik, a szál addig fut, míg az érték pozitív
51. Milyen prioritási szintek vannak az NT-ben? 32 prioritási szint: 0 - zero page szálnak 1..15 - változószintek 16..31 - valósidej" szintek
52. Mutassa be a szálak állapot-átmenet diagramját! 415. oldal ábra Egy szál állapotai a Windows NT-ben:
53. Mit nevezünk processzor affinitásnak és mi a szerepe ütemezéskor? processzoraffinitás: minden szál rendelkezik egy maszkkal, amely kijelöli, hogy a szál mely processzorokon képes futni szerepe: ez alapján d!l el, hogy a szál mely processzoron fog futni
54. Hogyan választja ki az NT egy szál ütemezésekor, hogy melyik processzoron fog futni? Minden szálhoz nyilvántart egy ideális processzort és egy következ! processzort. Ha lehetséges, a szál az ideális processzoron fog futni. Ha nem lehetséges, a következ! processzoron, ha ez sem https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatWindowsKerdesek?skin=print.pattern
Page 8 of 9
OpreVazlatWindowsKerdesek < Infoalap < VIK wiki
2008.04.07. 21:25
lehetséges, az els! olyanon, amelyen futni tud. -- SoTi - 2005.06.01. -- edited: adamo - 2005.06.02. vissza OpRe
Revision: r1.2 - 2005.06.02 - 00:12 - AdamO Infoalap > OpRe > OpreVazlatWindowsKerdesek Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatWindowsKerdesek?skin=print.pattern
Page 9 of 9
OpreVazlatHalozatArchitektura < Infoalap < VIK wiki
2008.04.07. 21:26
vissza: OpRe
Hálózati architektúra Alapfogalmak A hálózatok topológiája A hálózatok típusai A hálózati kommunikáció rétegei Címzés és forgalomirányítás
Hálózati architektúra (TK 214-221)
Alapfogalmak Számítógép hálózat: Számítógépek és perifériák egy adott halmazának valamilyen eszközzel történ! összekötését takarja. Csomópontok: A hálózatba kapcsolt komponensek. Kommunikációs hálózatok: vonalak (csatorna, vonal, trönk) és kapcsolóelemek. Hálózati topológia: A csomópontok összekapcsolási rendje. Protokoll: Az azonos rétegek közötti kommunikációban használt adatformátumok és párbeszéd szabályok összessége.
A hálózatok topológiája Hálózati topológia: A csomópontok összekapcsolási rendje. Kategóriák a kapcsolat kiépítettsége szerint: Teljesen összekapcsolt (fully connected) Részleges összekapcsolt (partially connected) Alap topológiák Hierarchikus Csillag (star) Gy"r" (ring) Vezérjeles gy"r" (token ring) Sín (bus) Kapcsolt (switched) Komplex topológiák
A hálózatok típusai Helyi hálózat (local area network, LAN) Nagy terület" hálózat (wide area network, WAN)
A hálózati kommunikáció rétegei Rétegek (layers): A kommunikációs rendszer egymástól jól elkülönül!, független részei, melyek szabványos interfészekkel kapcsolódnak egymáshoz. Az OSI (Open System Interconnection) referenciamodell hét rétege: Fizikai (physical) Mechanikai, elektromos és egyéb jellemz!ket leíró modul. Meghatározza az id!zítéseket, a kapcsolat irányát, a felépítés és lebontás módját. Többféle fizikai https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatArchitektura?skin=print.pattern
Page 1 of 3
OpreVazlatHalozatArchitektura < Infoalap < VIK wiki
2008.04.07. 21:26
hordozó közeget használhat. Adatkapcsolati (data link) Az adatok megbízgható átküldését végzi el. Az átviend! adatokat keretekbe (bájtcsoportokba) szervezi, kiegészít! adatokkal látja el !ket és elküldi a vev! felé. Hálózati (network) Az adatok fizikai útját határozza meg, kiválasztja a legmegfelel!bbet. Szállítási (transport) Transzparens adatátvitel megvalósítása. Virtuális pont-pont összeköttetést biztosít. Gondoskodik, hogy a fogadott adat pontosan megegyezzen az elküldött adattal. Viszony (session) Feladata a párbeszéd megszervezése, a szinkronizáció megteremtése. Megjelenítési (presentation) Az adatok alkalmazásfüggetlen, egységes kezeléséért felel!s. Ez a réteg tömörít, titkosít. Alkalmazási (application) Kapcsolódik a felhasználói alkalmazásokhoz. Feladata a hálózaton keresztül érkez! információ megjelenítése. A TCP/IP csak öt réteget használ, a Viszony és Megjelenítési rétegek szolgáltatásait az Alkalkamazási réteg látja el. A Hálózati réteg protokollja az IP (Internet Protokol), a Szállítási rétegé a TCP és az UDP.
Címzés és forgalomirányítás Forgalomirányítás: Feladata annak meghatározása, hogy két állomás közötti üzenetek milyen csomópontokon keresztül haladjanak. Ezt a csomópontok olyan táblázatok alapján végzik, melyek tartalmazzák a lehetséges útvonalakat. Forgalomirányítási módszerek: Fix útvonal: rögzített útvonal Virtuális áramkör (virtual circuit): egy kapcsolati Viszony (session) elején kialakult útvonalon halad az összes csomag Dinamikus forgalomirányítás (dynamic routing): Minden csomaghoz külön útvonal tartozik Állomások kapcsolódásának módjai: Áramkörkapcsolás (circuit switching) Két folyamat kommunikációjához egyetlen csatorna tartozik, melyet más folyamatok nem használhatnak a kapcsolat id!tartama alatt. Üzenetkapcsolás (message switching) Minden üzenet továbbításához ideiglenesen egy fizikai csatornát rendelnek. A közbüls! csomópontoknak a teljes üzenetet venni, tárolni és továbbítani kell. Csomagkapcsolás (packet switching) Az üzenetet a küld! kis csomagokra bontja, és ezek önállóan haladnak a cél felé, csak a fogadó állítja össze bel!lük újra a teljes üzenetet. Ez a megoldás jól hasznosítja a csatornák átviteli kapacitását. -- LatoBalazs - 2005.05.25. vissza: OpRe
Revision: r1.4 - 2005.06.01 - 12:34 - SomodiTibor https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatArchitektura?skin=print.pattern
Page 2 of 3
OpreVazlatHalozatArchitektura < Infoalap < VIK wiki
2008.04.07. 21:26
Infoalap > OpRe > OpreVazlatHalozatArchitektura Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatArchitektura?skin=print.pattern
Page 3 of 3
OpreVazlatHalozatSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:26
vissza OpRe
Hálózati jelleg! szolgáltatások Telnet: távoli terminál A Telnet kapcsolat Szerver- és kliensprogramok A Telnet parancsértelmez" FTP: fájlátvitel FTP kapcsolat FTP kliens- és szerverprogramok Az FTP parancsértelmez"
Hálózati jelleg! szolgáltatások (TK 221-228) A felhasználó számára a helyi és a távoli objektumok kezelése nem homogén.
Telnet: távoli terminál A távoli terminál célja: A hálózaton keresztül távoli belépési lehet"ség és virtuális terminál biztosítása. A távoli terminál lényege: Két hálózati gép közötti karakteralapú kommunikáció megvalósítása. Legelterjedtebb implementációja a Telnet protokoll, mely a TCP/IP protokollcsalád része.
A Telnet kapcsolat A Telnet a szerver és a kliens között egy hálózati virtuális terminált hoz létre, a két végponton logikai billenty!zetet és képerny"t definiálva. A Telnet kliens- és szerveroldali programjai felel"sek a virtuális és valóságos eszközök megfeleltetéséért. A kapcsolat kiépítése során a Telnet meghatározza a kapcsolatra érvényes terminál- és kommunikációs jellemz"ket.
Szerver- és kliensprogramok A Telnet a szerveren általában egy állandóan futó folyamattal rendelkezik, amelyik fogadja a kliensekt"l beérkez" kéréseket. A Telnet saját, dedikált portszámmal (23) rendelkezik.
A Telnet parancsértelmez" A Telnet parancsértelmez" része a kliens oldali parancsok kiadására, beállítások megváltoztatására szolgál.
FTP: fájlátvitel FTP: Fájlátviteli protokoll (File Transfer Protocol). Lehet"vé teszi a fájlok mozgatását a kliens és a szerver között mindkét irányban, de nem képes távoli programok futtatására.
FTP kapcsolat Az FTP két párhuzamos kapcsolatot épít ki: Egyet az FTP-parancsok és egyet az adatok átvitelére. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatSzolgaltatasok?skin=print.pattern
Page 1 of 2
OpreVazlatHalozatSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:26
átvitelére. Nincs szükség virtuális terminálok beállítására. Szerver oldalon a kiszolgáló folyamat két részre bontható: Protokoll értelemz" Adatátvitel végrehajtó A fájlátvitelnek két módja van: Bináris A fájlok változtatás nélkül, bájthelyesen kerülnek átvitelre Szöveges (ez a default!) Eltér" szöveges fájlformátumok átalakítása
FTP kliens- és szerverprogramok Az FTP-kliens elindításához a felhasználónak meg kell adnia az FTP szerver címét, a kapcsolat kiépítése után pedig a felhasználónevét és a jelszavát. Általában anonim belépés is lehetséges.
Az FTP parancsértelmez" A felhasználó alapértelmezésben a parancsértelmez"t használja helyi és távoli feladatok megoldására. A parancsokat alapvet"en három kategóriába lehet sorolni: helyi (kliens) távoli (szerver) adatátviteli -- LatoBalazs - 2005.05.25. vissza OpRe
Revision: r1.4 - 2005.06.01 - 12:47 - SomodiTibor Infoalap > OpRe > OpreVazlatHalozatSzolgaltatasok Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatSzolgaltatasok?skin=print.pattern
Page 2 of 2
OpreVazlatHalozatElosztottSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:27
vissza OpRe Elosztott szolgáltatások Jellemz!k Az elosztott rendszerek legfontosabb jellemz!i (a) Er!forrás-megosztás (b) Nyitottság (c) Konkurencia (d) Skálázhatóság (e) Hibat"rés (f) Átlátszóság (fizikai széttagoltság elrejtése) Elosztott rendszerek tervezési szempontjai (a) Megnevezés (b) Kommunikáció (i) Kliens-szerver séma (ii) Csoportos multicast (iii) Függvényszállítás (c) Programstruktúra (d) Terhelés szétosztás (e) Konzisztencia karbantartás (i) Frissítés konzisztencia (ii) Másolat konzisztencia (iii) Cache konzisztencia (iv) Hiba konzisztencia (v) Óra konzisztencia (vi) Felhasználói interfész konzisztencia Elosztott fájlrendszerek Az elosztott fájlrendszer szolgáltatás Állományok azonosítása Elnevezési módszerek Az ügyfelek kéréseinek kielégítése A szolgáltató implementációja A fájlok többszörözése Folyamatkezelés Kliens-szerver folyamatok Távoli eljáráshívás - RPC Szálak alkalmazásának el!nye Id!kezelés és koordináció elosztott rendszerekben Id!kezelés Koordinált Univerzális Id! (KUI) A valós, fizikai id! kezelése Órarendszerek Óracsúszás kompenzálása Óraszinkronizációs módszerek Logikai id! és logikai órák Elosztott koordináció Elosztott kölcsönös kizárás Választási algoritmusok Elosztott rendszerek biztonsági kérdései Mi a biztonság? Kik a támadók és mik a fenyegetések? A támadás módszerei Az elosztott biztonsági rendszer tervezése Titkosítás Hozzáférés-szabályozás Azonosítás Azonosítás és kulcs szétosztás Kerberos: hitelesítési protokoll nyílt hálózati rendszerekre
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottSzolgaltatasok?skin=print.pattern
Page 1 of 16
OpreVazlatHalozatElosztottSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:27
Elosztott szolgáltatások (TK 228-278)
Jellemz!k Elosztott rendszer (distributed system): hálózattal összekötött, elosztott szoftverrel rendelkez! autonóm számítógépek összessége. Az elosztott szoftver két f! feladatot lát el: aktivitások koordinálása, er!források megosztása. A felhasználó számára az elosztottság rejtve marad.
Az elosztott rendszerek legfontosabb jellemz!i Az elosztott rendszerekkel szemben felmerül! legfontosabb követelmények: (a) Er!forrás-megosztás (b) Nyitottság (c) Konkurencia (d) Skálázhatóság (e) Hibat"rés (f) Átlátszóság (fizikai széttagoltság elrejtése)
(a) Er!forrás-megosztás '60 évek: id!osztásos rendszerek, hangsúly a CPU osztott használatán. '70 évek: többfelhasználós rendszerek, hangsúly a perifériák, adatok osztott használatán. Napjainkban: Komplex szoftverrendszerek osztott adat- és programhasználattal, számítógéppel támogatott együttm"köd! munkavégzés (CSCW, groupware) - egy nagy komplexitású feladaton párhuzamosan többen is dolgoznak. Er!forrás-menedzser: feladata, hogy biztosítsa egy adott er!forrás optimális és igazságos használatát. Az alkalmazások az er!forrás-menedzserrel kommunikálnak, kliens-szerver modellt vagy objektum modellt használva. Kliens-szerver modell A szerver egy adott er!forrás menedzsere, a kliensek kérések segítségével próbálják az er!forrást használni. A modell mindig egy adott feladatra vonatkozik! . Bizonyos er!forrásoknak lokálisnak kell maradni: CPU, memória, lokális hálózat interfész. Objektum modell Minden osztott er!forrást egy obejktumként modellezünk, az er!forrást bezárjuk az objektumba, egyedi azonosítóval látjuk el, így mozgathatóak lesznek. A szolgáltatáskérést az objektumnak küldött üzeneteken keresztül valósítjuk meg. El!nye, hogy az osztott er!forrásokat azonos módon lehet kezelni.
(b) Nyitottság A b!víthet!séggel foglalkozik. A feladat, hogy a rendszer rejtett, átlátszó módon legyen b!víthet!, architektúrális változtatások nélkül. A b!vítés egyaránt vonatkozik hardver- és szoftverelemekre. A megvalósításhoz elengedhetetlen feltétel, hogy a f!bb szoftverinterfészeket nyilvánosságra kell hozni, publikálni kell. Tehát a nyitott elosztott rendszerek f!bb jellemz!i: f!bb interfészek publikáltak egységes a folyamatok közötti kommunikáció eltér! HW/SW (de igazodva a publikált szabványokhoz)
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottSzolgaltatasok?skin=print.pattern
Page 2 of 16
OpreVazlatHalozatElosztottSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:27
UNIX: Nyitottabb az alkalmazásfejleszt!k, a hardverforgalmazók, a rendszeradminisztrátorok, a szoftverforgalmazók és a felhasználók számára.
(c) Konkurencia A felhasználók egymástól elkülönül! tevékenységeinek szétválasztása lehet!vé teszi a feldolgozás párhuzamosítását. Nagy hangsúlyt kell fektetni a hozzáférés szabályozására, a frissítésre és a szinkronizációs sémák alkalmazására. Egyetlen processzoron ez a virtuális párhuzamossággal valósítható meg. N processzoron N folyamat futhat valóban fizikailag is párhuzamosan.
(d) Skálázhatóság Skálázhatóság: A rendszer méretének növelésekor nem kell a rendszer architektúráját vagy a szoftver alkalmazásokat megváltoztatni. Vigyázni kell azonban, nem szabad irreális követelményekre tervezni.
(e) Hibat"rés A hibat"r! viselkedés megvalósításához hardverredundanciát (hardware redundancy) és szoftverfelépülést (software recovery) alkalmaznak. Hardverredundancia A hardverredundanciát gyakran meleg tartalékkal valósítják meg, vagyis a kritikus szolgáltatást nyújtó berendezést replikálják. A meleg tartalékot ki lehet használni nem kritikus tevékenységekre, amíg nincs rá szükség. Szoftverfelépülés Olyan szoftverkomponenseket kell tervezni, melyek visszagörgethet!k (recovery, rollback) egy ismert, konzisztens állapotba. Az elosztott rendszerek hibák jelenlétében is nagyfokú rendelkezésre állást biztosítanak.
(f) Átlátszóság (fizikai széttagoltság elrejtése) Átlátszóság (transparency): egy elosztott rendszerben a komponensek elosztott természetének elrejtése a felhasználó és az alkalmazásfejleszt! el!l. Eléréséhez hálózati és kommunikációs, explicit menedzsment, és integrációs techinkákra van szükség. Nyolcféle átlátszóság létezik: Hálózati átlátszóság Hozzáférés (access) : helyi és távoli er!források azonos módon történ! kezelése Hely (location) : információs objektumok elérése azok helyének ismerete nélkül Konkurencia (concurrency) : folyamatok konkurens együttm"ködése osztott információs objektumok használatával Másolat (replication) : információs objektumok több példányának rejtett létezése Hiba (failure) : meghibásodások elrejtése Vándorlási (migration) : információs objektumok szabad mozgása a rendszerben Teljesítmény (performance) : rendszer átkonfigurálása Skálázási (scaling) : rendszer b!víthet!sége Ezek közül legfontosabb a Hálózati átlátszóság.
Elosztott rendszerek tervezési szempontjai (a) Megnevezés (b) Kommunikáció https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottSzolgaltatasok?skin=print.pattern
Page 3 of 16
OpreVazlatHalozatElosztottSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:27
(c) Programstruktúra (d) Terhelés szétosztás (e) Konzisztencia karbantartás
(a) Megnevezés Ha egy folyamat olyan er!forráshoz akar hozzáférni, melyet nem ! felügyel, akkor meg kell neveznie. Név: Emberi felhasználók által könnyen értelmezhet! megnevezés Azonosító: Csak programok által értelmezhet! megnevezés Névfeloldás: Az a folyamat, melynek során egy név leképz!dik olyan alakra, ami lehet!vé teszi az er!forrásokon való munkavégzést. A névfeloldás során egy kommunikációs azonosító jön létre. A névfeloldás er!sen befolyásolja az elosztott rendszer hatékonyságát. Mindig valamilyen környezetben történik, ezért mindig meg kell adni a környezetet, amiben a névfeloldást el kell végezni. A névtér lehet egyrészr!l véges potenciálisan végtelen másrészr!l struktúrált lapos (egyszint") Például: Hierarchikus névtér: Potenciálisan végtelen, struktúrált. El!nye, hogy a név minden egyes része eltér! környezetben kerül feloldásra. A névtér kiválasztásánál biztonsági szempontokat is figyelembe lehet venni.
(b) Kommunikáció Az elosztott rendszer logikailag és fizikailag széttagolt komponenseinek együttm"ködéséhez kommunikációra van szükség, melynek során adatátvitel jön létre és szinkronizáció valósul meg. A kommunikáció üzenetküldésen alapszik ( send és receive primitívek), lehet szinkron (blokkolódó) és aszinkron (nem blokkolódó). Szinkron: A küld! folyamat bevárja az üzenet vételét Aszinkron: A küld! folyamat továbbhalad anélkül, hogy megvárná az üzenet fogadását Kommunikációs sémák: (i) Kliens-szerver séma (ii) Csoportos multicast (iii) Függvényszállítás
(i) Kliens-szerver séma Szervizek nyújtására dolgozták ki. Három lépésb!l tev!dik össze: A kliens elküldi a kérést a szervernek A szerver elvégzi a kért m"veletet A szerver elküldi a választ a kliensnek Meg lehet valósítani a send és a receive primitívekkel, vagy távoli eljáráshívásokkal. A kommunikáció során leggyakrabban a Request-Reply protokollt használják.
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottSzolgaltatasok?skin=print.pattern
Page 4 of 16
OpreVazlatHalozatElosztottSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:27
(ii) Csoportos multicast A folyamatok üzenetküldéssel kommunikálnak, az üzenetet egy folyamat csoportnak küldik el. Nem azonos a broadcast (üzenetszórás) -al, mert üzenetszórásnál a lokális hálózat minden tagja megkapja az üzenetet. A csoportos multicast használata az alábbiak miatt célszer": Objektumok megkeresése Hibat"rés (pl. szerver meghibásodása) Többszörös frissítés (pl. id!szolgáltató)
(iii) Függvényszállítás A kliens-szerver modell speciális esete. Utasításblokkok és eljárás definíciók is lehetnek az üzenetekben, így a szerverek képességei dinamikusan b!víthet!k.
(c) Programstruktúra A centralizált számítógép-rendszerek operációs rendszere monilitikus, mert a nyújtott absztrakciókat egy mereven lezárt interfész biztosítja.
könyv 238. oldal / 4.6. ábra Ebben az esetben a rétegstruktúra négy rétegb!l áll: Alkalmazások Programnyelvi támogatás Operációs rendszer Hardver A rétegek csak az alattuk lev! rétegek szolgáltatásain keresztül érhetik el az alsóbb rétegeket. Az operációs rendszer kezeli a legfontosabb er!forrásokat, úgymint: memóriaallokáció és -védelem, folyamatok létrehozása, processzorütemezés, perifériaberendezések kezelése, felhasználói hitelesítés, hozzáférés szabályozás, állománykezelés, óra szolgáltatások stb. Ezzel szemben az elosztott rendszerek operációs rendszereinek feladatai csak az alapvet! er!források kezelésére korlátozódnak.
könyv 239. oldal / 4.7. ábra
(d) Terhelés szétosztás Elosztott rendszerben a munkaállomások képviselik a számítási kapacitást. Ezt nevezzük munkaálomás-szerver modellnek. Processzor pool modell: A rendelkezésre álló számítási kapacitást dinamikusan, az igényeknek megfelel!en osztja szét az elosztott rendszert alkotó munkaállomás rendszer és processzor pool között. A processzor pool elemei alacsony költség" számítógépek, csak CPU-t, memóriát, és hálózati csatolót tartalmaznak.
(e) Konzisztencia karbantartás Az er!források széttagoltsága miatt nagyon fontos a konzisztencia kérdése. Konzisztenciatípusok: (i) Frissítés konzisztencia (ii) Másolat konzisztencia (iii) Cache konzisztencia (iv) Hiba konzisztencia (v) Óra konzisztencia (vi) Felhasználói interfész konzisztencia https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottSzolgaltatasok?skin=print.pattern
Page 5 of 16
OpreVazlatHalozatElosztottSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:27
(i) Frissítés konzisztencia Nem csak az elosztott rendszereknél jelentkezik, hanem mindenhol, ahol osztott adathasználatra van szükség. Biztosítani kell, hogy az összetartozó adatok változását a folyamatok atominak érzékeljék.
(ii) Másolat konzisztencia Másolatokat többek között a redundancia és hatékonyság növelésére használnak. A replikáknak minden pillanatban azonosnak kell lenniük.
(iii) Cache konzisztencia Amikor a globális adat módosul, a cache-ben lev! adat érvénytelenné válik (vagy fordítva), és aktualizálni kell. Tipikus megoldás, hogy a szerver tárolja, hogy mely adatelemet mely csomópontok kérdezték le, és amikor az adatelem módosul, üzenetet küld (csoportos multicastot használva) az érintett csomópontoknak.
(iv) Hiba konzisztencia A centralizált rendszerekben egyetlen hibakód van. Az elosztott rendszereknek többszörös hibamódja van, mert eltér! helyeken és eltér! m"ködési fázisokban jelentkezhetnek újabb hibák, ezért a meghibásodás után felépülési eljárásokkal az adatokat vissza kell görgetni egy konzisztens állapotba.
(v) Óra konzisztencia Az algoritmusok jelent!s része id!bélyegeket alkalmaz. Elosztott rendszerben minden folyamat a saját gépének óráját használja - ezek nem járnak szinkronban, ezért id!r!l id!re szinkronizálni kell !ket. Legtöbb esetben azonban nem az abszolút id! pontos ismeretére van szükség, hanem a kazualitást kell biztosítani logikai órákkal.
(vi) Felhasználói interfész konzisztencia Ez a probléma els!sorban interaktív rendszereknél jelentkezik - ilyen rendszereknél a válaszid!t 0.1 másodperc alatt kell tartani. Interaktív késleltetés = küldés + feldolgozás + válasz + képerny!változás ideje. Ha a hálózati késleltetés jelent!s, akkor a rendszer nem lesz átlátszó.
Elosztott fájlrendszerek Elosztott fájlkezelés: a helyi operációs rendszer fájlkezelési szolgáltatásainak kiterjesztése számítógép hálózaton keresztül kapcsolódó számítógépekre. Egy fájl lehet helyi (local) vagy távoli (remote). Ideális esetben felhasználó úgy használja a fájlokat, hogy azok tényleges elhelyezkedése rejtve van.
Az elosztott fájlrendszer szolgáltatás A fájlt tároló számítógép a szolgáltató, mely az ügyfelek kéréseit szolgálja ki. Az elosztott fájlrendszer a felhasználó számára a helyi hozzáféréssel azonos módon teszi lehet!vé m"veletek végrehajtását távoli állományokon. A legelterjedtebb fájlrendszer a UNIX által használt NFS (network file system).
Állományok azonosítása Két különböz! szintet különböztetünk meg: felhasználó szint" neveket és rendszerszint" fájlazonosítókat.
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottSzolgaltatasok?skin=print.pattern
Page 6 of 16
OpreVazlatHalozatElosztottSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:27
A fájlnevek és a fájlok felhasználó számára átlátszó egymáshoz rendeléséhez két fogalom kapcsolódik: Rejtett elhelyezkedés (location transparency) A fájl neve nem utal a fájl fizikai elhelyezkedésére Statikus leképzési információk Elhelyezkedés-függetlenség (location independence) A fájl tényleges helyének változásakor a fájl neve nem változik Dinamikusan változó leképzési információk El!nyök: A fájl az információtárolás teljesen absztrakt fogalma marad Háttértárak kihasználtságának dinamikus kiegyensúlyozása Elnevezési rendszer független a számítógépek összekapcsolódásának szerekezetét!l
Elnevezési módszerek Az elnevezési rendszer feladata, hogy a fájlneveket leképezze konkrét csomópontra és azon belül fizikai elhelyezkedésre. Leképzési módok (táblázatok segítéségével valósíthatók meg): Csomópont explicit megnevezése A fájlhivatkozás két részre bontható: csomópont megnevezése, csomópont helyi fájlrendszerében a fájl neve A távoli fájlrendszer a helyi könyvtárhierarchia része (mount) A teljes elosztott rednszert lefed! egységes elnevezések Az implementáció lehet!ségei és problémái: Állománycsoportok szerinti leképzés: a fájlokat csoportokba osztjuk Leképzési táblák többszörözése A többszörözés indokai: redundancia, adatbiztonság, gyors elérés. Nem szükséges az egész táblázatot többszörözni, elég meghatározott részeit Kétszint" leképzési táblák Az elosztott fájlkezeléssel nagyobb adminisztrációs teher jelentkezik, mint a helyi fájlkezelésnél. A teljesítmény speciális hardverelemekkel és szoftvermódszerekkel növelhet!
Az ügyfelek kéréseinek kielégítése A kliens m"veleteket akar végezni a szerver fájljain. Ezt két különböz! módon lehet elvégezni: Távoli szolgáltatásokon keresztül A távolis eljáráshívás mechanizmusára implementálják Helyi átmeneti tárak segítségével A helyi gépek a szükséges fájlokat átmenetileg tárolják, a m"veleteket azon végzik és a változásokat visszaírják a távoli gépre
A szolgáltató implementációja Állapotot tároló (stateful) szolgáltató: Az ügyfelek kéréseir!l, kiszolgálásuk folyamatáról saját központi tárában információt tárol. El!neyei: nagyobb teljesítmény (a szolgáltató el!re olvashat), konzisztencia problémákat figyelheti Hátrányai: leálláskor az állapotinformáció elveszik, ekkor újra fel kell építenie azt => bonyolult protokoll Állapot nélküli (stateless) szolgáltató: Nem tárol semmiféle információt, az ügyfelek minden kérése önállóan is keilégíthet!. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottSzolgaltatasok?skin=print.pattern
Page 7 of 16
OpreVazlatHalozatElosztottSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:27
El!nyei: a meghibásodásokat jól tolerálja Hátrányai: lassú, mert kérésenként több információt kell átvinni
A fájlok többszörözése Érdemes lehet a fájlokat megsokszorozni (file replication), mert növeli a rendszer hibat"r! képességét gyorsabb kiszolgálást eredményez Problémák: A fájl megnevezését valamely változathoz kell kötni A többszörözést automatikusan kell kezelni A változásokat az összes másolaton el kell végezni
Folyamatkezelés Az elosztott rendszerek leggyakrabban kliens-szerver modellel és távoli eljáráshívással valósítják meg.
Kliens-szerver folyamatok Kliens-szerver modell: a rendszer olyan partícionálása, amely meghatározza a rendszer által nyújtott szolgáltatásokat (szervizeket) a hozzájuk tartozó algoritmusokkal (szerverekkel). Démon folyamatok (daemon process): A szervereken ún. démon folyamatok várják a kliensekt!l beérkez! kéréseket. Ezek egy adott TCP vagy UDP porthoz kötött, állandóan futó folyamatok, melyek az adott szolgáltatás állandó elérhet!ségét biztosítják, a porton beérkez! kérésekhez kiszolgáló rutint rendelnek. Hálózati számítási modell A kliens alkalmazásoknak tisztában kell lenniük a szerverek pontos címével Elosztott számítási modell A kliensek els!sorban a nyújtott szolgáltatások alapján érik el a szervereket, azok pontos címének ismerete nélkül A kliens-szerver kapcsolat kiépítését egy kommunikációs közbüls! réteg, a middleware biztosítja. Kötés: A kliens és a szerver közötti kapcsolat kiépítése, melynek során a kliens megtalálja a számára szükséges szolgáltatást nyújtó szervert, és kialakul a kommunikációs kapcsolat . Replikáció (replication): Konkurrens, ugyanolyan szolgáltatásokat nyújtó szerverek üzemeltetése. Caching (átmeneti gyorsítótárak alkalmazása): A kliens által gyakran kért információt egy helyi átmeneti tárolóban helyezzük el a klienshez minél közelebb. Ennek egy speciális fajtája a proxy, mely a webszerverek területén elterjedt. A proxy szerverek hierarchikus rendszert alkotnak.
Távoli eljáráshívás - RPC Kliensek és szerverek közötti kommunikáció kialakításának legelterjedtebb módja az RPC (Remote Procedure Call), vagyis távoli eljáráshívás. Az RPC rendszer egy protokoll-leírást és egy programozói interfészt tartalmaz. Egy kliensgép számára lehet!vé teszi, hogy a szerveren egy el!re meghatározott eljárást lefuttasson. A protokoll els!sorban a kommunikáció adatformátumát határozza meg. Foglalkozik még az átvitel mechanizmusával és az azonosítással is. Az RPC garantálja a kérések továbbítását a célig, illetve a válaszok visszajutását. Tipikus RPC kérés-válasz pár: https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottSzolgaltatasok?skin=print.pattern
Page 8 of 16
OpreVazlatHalozatElosztottSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:27
Az RPC egységes, kiterjeszett adatreprezentációt (XDR, Extended Data Representation) használ. Ez egy gépfüggetlen adatábrázolási mód, mely bevezet egy formális nyelvet az adatok leírására. Alapvet! típusai: egész szám változó hosszúságú adatfolyam szöveg tömb struktúra Az RPC által nyújtott programozási eszköz az RPC nyelv, mely az XDR formalizmusát követi és alkalmas a szerver interfészének formális leírására.
Szálak alkalmazásának el!nye A szálak (threads) alkalmazása lehet!vé teszi egy program számára, hogy több feladatot hajtson végre egyid!ben. A többszálú szerverprogramoknál lehet!ség nyílik a kliensek kéréseinek párhuzamos kiszolgálására. A szálak alkalmazása növeli a teljesítményt, megvalósításkor könnyíti a programozók dolgát és segítségével a holpontok rekurzióvá alakíthatóak. Egy távoli eljárás hívása során a kliens és szerver programokban létrejöv! szálakat logikailag egy szállá foghatjuk össez, ez az RPC-szál (RPC thread). A szálak hátrányai közé tarozik, hogy körültekint!bben kell eljárni a tervezés során a kölcsönös kizárásmegvalósítása érdekében. Amennyiben a szálakat felhasználói https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottSzolgaltatasok?skin=print.pattern
Page 9 of 16
OpreVazlatHalozatElosztottSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:27
tervezés során a kölcsönös kizárásmegvalósítása érdekében. Amennyiben a szálakat felhasználói szinten valósítják meg (user-level threads), az egész rendszer futása blokkolódhat. Kernel szinten (kernel-level threads) ez a probléma nem áll fent. Léteznek rendszerhívás szempontjából biztonságos (thread-safe) szálak is.
Id!kezelés és koordináció elosztott rendszerekben Az elosztott rendszerekben az id! és annak konzisztens kezelése központi jelent!ség".
Id!kezelés Az id!kezelés két alapvet! funkciót hivatott támogatni: valós id! pontos ismeretét és a rendszerben bekövetkezett események sorrendezését (event ordering).
Koordinált Univerzális Id! (KUI) Nemzetközi Atomid!: Az atomóra pontosságával méri az id!t. Koordinált Univerzális Id! - KUI (Coordinated Universal Time): Csillagászati id!höz igazítva => szök!másodpercek. Küls! szinkronizálásra használható a rádióadások és "rszondák által sugárzott id!. Pontossága 0.110 milliszekundum.
A valós, fizikai id! kezelése A valós fizikai id! mérésére a rendszer órája szolgál. Bels! szinkronizáció: Biztosítható, hogy a renszer egyes órái adott pontossággal együtt járjanak. Küls! szinkronizáció: Ha a rendszer együttm"ködik más rendszerekkel, akkor küls! szinkronizálással elérhet!, hogy az órák a KUI-hez képest ne csússzanak.
Órarendszerek Pontos központi órával rendelkez! rendszerek Egy pontos óra szolgáltatja az id!t az egész rendszernek A hibat"rés meleg tartalékként jelenik meg Pontos de drága Speciális hardvert igényel Kommunikációs költség alacsony Központilag felügyelt órákkal rendelkez! rendszerek (master-slave) A pontosnak elfogadott master óra lekérdezi a slave-eket Csúszásokat mér, korrekciókat küld Master meghibásodása esetén új mastert kell választani Átviteli id! becslése Elosztott órás rendszerek Minden hely homogén algoritmust futtat Minden hely a többi óra alapján frissíti saját óráját A hibat"rés protokoll alapú Nagy kommunikációs költség
Óracsúszás kompenzálása Az óracsúszás (drift) kétféle lehet: késik vagy siet. Az els! esetet könnyen le lehet kezelni, hiszen az óra átállítása nem mond ellen annak a feltételnek, hogy az id! növekedjen. Bonyolultabb a helyzet a második esetben. Erre az esetre óracsúszás algoritmus a _könyv 260. oldalán_. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottSzolgaltatasok?skin=print.pattern
Page 10 of 16
OpreVazlatHalozatElosztottSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:27
oldalán_.
Óraszinkronizációs módszerek
Cristian algoritmus: könyv 261. oldal Berkeley algoritmus: könyv 261. oldal Network Time Protocol Eltér! hálózatokból összekötött elosztott rendszerben az id! információ terjesztésére használható Hierarchikus struktúra: els!dleges, másodlagos id!szolgáltatók Er!sen hibat"r! Graceful degradation (elegáns letörés) Három típusú szinkronizálás: multicast (LAN), eljáráshívás, szimmetrikus mód Best-effort szolgáltatás, nincs garantált id!korlát
Logikai id! és logikai órák Elosztott rendszerekben a fizikai órát nem lehet az események sorrendezésére használni, a tökéletes szinkronizálhatóság hiánya miatt. Korábban történt (happened before) reláció: könyv 263. oldal Logikai órák: A logikai óra monoton növekv! szoftver számláló, amelynek az értéke nem kell, hogy bármilyen fizikai órához kapcsolódjon. Minden folyamatnak van egy saját logikai órája. További infó: könyv 264. oldal Teljesen rendezett logikai órák: A logikai óra csak részleges sorrendezést biztosít. További infó: könyv 264. oldal
Elosztott koordináció Elosztott kölcsönös kizárás Kölcsönös kizárással szemben támasztott követelmények: Biztonság: Egy id!pillanatban csak egy folyamat tartózkodhat a kritikus szakaszban. Haladás: Minden folyamat véges id!n belül beléphet a kritikus szakaszba. Rendezés: A kritikus szakaszba a folyamatok a korábban-történt rendezés alapján lépnek be. Központi szerver algoritmus Minden egyes osztott er!forráshoz hozzárendelünk egy szervert. Ez a szerver koordinálja a belépést a kritikus szakaszba: ha már tartózkodik folyamat a kritikus szakaszban akkor a további kéréseket várakoztatja. Probléma: a szerver kritikus hibapont. Logikai órákat tartalmazó elosztott algoritmus Ha egy folyamat be akar lépni a kritikus szakaszba, akkor az összes többi folyamatnak elküld egy üzenetet a szándék id!pontját jelz! bélyeggel. Akkor léphet be a kritikus szakaszba, ha minden folyamattól kapott választ. Ha több folyamat akar egyszerre belépni, akkor a kisebb id!bélyeg" folyamat addig nem válaszol az üzenetekre, amíg a kritikus szakaszt el nem hagyta. A gy"r" alapú algoritmus Egy logikai gy"r"t épít a folyamatokból, amelyben egy token kering. Az a folyamat léphet be a kritikus szakaszba, amelyik éppen birtokolja a tokent.
Választási algoritmusok A választási algoritmusok feladata, hogy egy folyamatcsoportból kiválasszanak egy kitüntetett folyamatot. A kiválasztott folyamattal szemben követelmény, hogy egyedi legyen (azaz a csoport minden tagja ugyanazt a folyamatot tartsa megválasztottnak). https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottSzolgaltatasok?skin=print.pattern
Page 11 of 16
OpreVazlatHalozatElosztottSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:27
Bully (er!szakos) algoritmus (pl. Windows network/SaMBa) A résztvev! folyamatok ismerik egymás azonosítóit, azok prioritását és hálózati címeit. Az els! kett! az egyszer"ség és praktikusság miatt gyakran megegyezik. Az algoritmus a folyamatcsoportból kiválasztja a legnagyobb prioritású, még aktív folyamatot, és megválasztja koordinátornak. Az algoritmus kezeli m"ködés közben a meghibásodásokat. Az algoritmus során küldött üzenetek száma Legkedvez!bb esetben (n-2) Legrosszabb esetben O(n^2) Pontos algoritmus: A folyamat azzal kezd!dik, hogy egy folyamat, Pi, észreveszi a koordinátor meghibásodását. Ezután: Minden nála nagyobb prioritásúnak küld egy VÁLASZTÁS(Pi) üzenetet. Ha Tvv ideig nem kap választ, ! a legnagyobb él!, azaz mindenkinek küld egy KOORDINÁTOR(Pi)-t Ha kap választ valamely nagyobb prioritású folyamattól, akkor vár Tvk ideig, hogy kap-e KOORDINÁTOR(Pj)-t, ha nem kap, újabb választást kezdeményez Ha valaki KOORDINÁTOR(Pj)-t kap, elfogadja a küld!t koordinátornak Ha valaki VÁLASZTÁS(Pj)-t kap, visszaküld egy VÁLASZ(Pi)-t, majd maga is kezdeményez választást, ha nem kezdeményezett már korábban Az algoritmus jellemz!je, hogy ha egy nagy prioritású folyamat megjavul, egyb!l visszaveheti a vezérlést. További részletek: könyv 267. oldal
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottSzolgaltatasok?skin=print.pattern
Page 12 of 16
OpreVazlatHalozatElosztottSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:27
Gy"r" algoritmus (vettük SzAr -ból) A folyamatokat egyirányú logikai gy"r"be kell szervezni. A folyamatok a bully algoritmussal szemben NEM ismerik egymás azonosítóit, prioritásait vagy hálózati címeit, csak azt tudják, hogyan kell egyik szomszédjukkal kommunikálni. Az algoritmus célja a legnagyobb prioritású egyedi koordinátor megválasztása. Az algoritmus NEM kezeli m"ködés közben a meghibásodásokat. Az algoritmus során küldött üzenetek száma Legrosszabb esetben 3n-1 Pontos algoritmus: könyv 269-270 oldal
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottSzolgaltatasok?skin=print.pattern
Page 13 of 16
OpreVazlatHalozatElosztottSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:27
Elosztott rendszerek biztonsági kérdései Az elosztott rendszerek fokozottan ki vannak téve a különféle biztonsági fenyegetéseknek, biztonsági módszerek alkalmazásával a rendszer teljes kör" védelmére van szükség, megfelel! biztonságpolitika mellett.
Mi a biztonság? Egy rendszer biztonságossá tételén általában a következ! területeket értjük: Azonosítás (authentication) Felhatanmazás (authorization) Titkosítás (encryption) Rendszer védelem (system protection)
Kik a támadók és mik a fenyegetések? Támadó: Az elosztott rendszerben tárol információt vagy er!forrást illetéktelenül megszerezni próbáló ügynök. A rendszer valamely biztonsági hibáját használja ki a támadás során, mely lehet a biztonsági módszerek vagy a biztonságpolitika hibája.
A támadás módszerei A támadónak hozzá kell férnie a rendszerhez. Ennek legelterjedtebb módjai: Lehallgatás Maszkírozás Üzenetmódosítás Visszajátszás Legegyszer"bb beszivárgási módszer a szisztematikus próbálgatás.
Az elosztott biztonsági rendszer tervezése Elosztott rendszerekben a fenyegettség f! forrása a kommunikációs csatornák nyitottsága. Elengedhetetlen annak feltételezése, hogy minden információ megbízhatatlan forrásból jön, amíg ennek az ellenkez!je be nem bizonyosodik. A bizonyításnak formális alapokon kell nyugodnia. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottSzolgaltatasok?skin=print.pattern
Page 14 of 16
OpreVazlatHalozatElosztottSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:27
ennek az ellenkez!je be nem bizonyosodik. A bizonyításnak formális alapokon kell nyugodnia. Els! aranyszabály: *Tökéletes biztonság nem létezik* Második aranyszabály: A legtöbb biztonsági problémát az emberek viselkedése okozza
Titkosítás A biztonsági rendszerek megvalósításában a titkosítási módszerek kulcsszerepet játszanak. Amikor valamilyen információt titkosítunk, akkor olyan transzformációt végzünk rajta, mely az inverz transzformáció ismerete nélkül praktikusan lehetetlenné teszi az információ visszafejtését. A gyakorlatban használt titkosítási algoritmusok két nagy csoportba oszthatók: Titkos kulcsú A titkosítani kívánt adatot egy el!re megegyezett függvénnyel titkosítják, egy titkos kulcsot használva. Nyilvános kulcsú A kommunikáló feleknek nem kell bízni egymásban. A kommunikációban résztvev! minden egyes résztvev! létrehoz egy kulcspárt, egy kódoló és egy dekódoló kulcsot. A dekódoló kulcsot titokban tartja, a kódoló kulcsot nyilvánosságra hozza. A kodoló kulcs ismeretében nagyon nehéz meghatározni a dekódoló kulcsot (a módszer két nagyon nagy prímszám szorzatának használatán alapul).
Hozzáférés-szabályozás Feladata az er!forrásokhoz való hozzájutás szabályozása és korlátozása az azonosított felhasználók és programok körére.
Azonosítás Az elosztott rendszer résztvev!inek egyértelm" és megbízható hitelesítése. Általában egy kitüntetett szolgáltatás végzi, melyet a többi szolgáltatás felhasználhat a felhasználók és programok azonosítására.
Azonosítás és kulcs szétosztás A titkos kulcsok tárolására és elosztására speciális kulcsszervereket lehet használni, nagy gondot fordítva a hitelesítésre. Nyilvános kulcsú titkosítás esetén a feleknek biztosnak kell lenniük, hogy a kulcsok biztosan hitelesek. Ezt elektronikus aláírás használatával lehet szavatolni. Hitelesít! szerver: Feladata, hogy folyamatpároknak biztonságos módon kulcsot biztosítson a kommunikációhoz. Needham és Schroeder hitelesít! szerveren alapuló algoritmusa. Mindenkinek van egy titkos kulcsa, amit !, és a szerver ismer, más nem. Az A folyamat akar B-vel közös kulcsot kérni S szervert!l. irány
üzenet
A->S
A,B,N
S->A {N,#,{#, A} $} % A->B
{#, A} $
B->A
{M}#
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottSzolgaltatasok?skin=print.pattern
Page 15 of 16
OpreVazlatHalozatElosztottSzolgaltatasok < Infoalap < VIK wiki
2008.04.07. 21:27
{M'}#
A->B
% A titkos kulcsa, $ B kulcsa, # a közös kulcs. Ha fels! indexben van, azt jelenti, hogy el van titkosítva vele. N, M cimkék, azért kellenek, hogy a felek tudják, hogy melyik kérésre melyik válasz jött. M' valamilyen nyilvános, egyszer" m"velettel állítható el! M-b!l. A második üzenet bels! eltitkosított részét jegynek nevezzük: ezt A nem tudja értelmezni, csak továbbküldi B-nek. B viszont ebb!l ki tudja olvasni, hogy A-val kell kommunikálni, és a közös kulcsot is. A rendszer biztonságát növeli, ha a jegyekben id!bélyeget tároluk, így egy ellopott jegyet nem lehet sokáig felhasználni. A jegyeket egyszer használatossá tehetjük, ha egyedi sorszámokat teszünk beléjük.
Kerberos: hitelesítési protokoll nyílt hálózati rendszerekre A Kerberos egy titkos kulcsú titkosításon (DES) alapuló hitelesítési rendszer. A szolgáltatások igényl!it klienseknek, a szolgáltatásokat nyújtó folyamatokat pedig szervereknek nevezzük. A rendszer megbízó leveleket (credentials) alkalmaz a hozzáférés-szabályozás megoldására. A felhasználók kulcsa a jelszava, és egy központi jegyosztótól (Ticket Granting Service) kapnak ennek fejében kulcsokat a különböz! er!forrásokhoz. A kulcsban az azonosítók IP címek, a kulcsok szerepükt!l függ!en id!bélyegesek vagy egyszer használatosak. (Jó tudni, hogy a Windows 5 perc id! eltérést tolerál a gépek között.) További infó a könyv 277-278 oldalán . -- LatoBalazs - 2005.05.25. -- SzaMa - 2005.06.02. vissza OpRe
Attachment
Action
Size
oprerpc.jpg
manage
38.6 K
2005.06.01 14:50
NemethAdam
RPC abra
manage
34.9 K
2005.06.01 14:54
NemethAdam
Bully (Okor) választási algoritmus
manage
13.6 K
2005.06.01 14:55
NemethAdam
Token-gy"r"s választási algoritmus
oprebullshit.jpg opretokenring.jpg
Date
Who
Comment
Revision: r1.13 - 2005.06.10 - 21:51 - LatoBalazs Infoalap > OpRe > OpreVazlatHalozatElosztottSzolgaltatasok Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottSzolgaltatasok?skin=print.pattern
Page 16 of 16
OpreVazlatHalozatElosztottKerdesek < Infoalap < VIK wiki
2008.04.07. 21:27
vissza OpRe Hálózati és elosztott rendszerek kérdések 1. Mit nevezünk elosztott rendszernek? 2. Soroljon fel legalább hármat az elosztott rendszerek alkalmazásával járó el!nyök közül! 3. Elosztott rendszerekben mi a skálázhatóság? 4. Mi a nyitottság elérésének legfontosabb feltétele? 5. Mi a különbség a szinkron illetve az aszinkron üzenetküldés között? 6. Mi a különbség a csoportos multicast és a broadcast között? 7. Mi a függvényszállítás és mire szolgál? 8. Mit nevezünk protokollnak? 9. Milyen el!nyökkel, illetve hátrányokkal jár a részlegesen összekapcsolt topológia a teljesen összekapcsolttal szemben? 10. Milyen részlegesen összekapcsolt hálózati topológiákat ismer? Hasonlítsa !ket össze! 11. Adja meg az ISO OSI-modell rétegeit és azok funkcióját! Mire szolgál a modell? 12. Milyen módszereket alkalmazhatnak a forgalomirányításra (routing)? 13. Mi az alapvet! különbség áramkör-, üzenet-, illetve csomagkapcsolás között? 14. Mi a távoli terminálszolgáltatás feladata? 15. Hogyan hozza létre a telnet program a különféle típusú terminálok közötti kapcsolatot? 16. Hogyan valósul meg a kliens-szerver modell egy telnet kapcsolatban? 17. Mire szolgál a telnet parancsértelmez!? 18. Mi a különbség az FTP bináris és szöveges átviteli módja között? 19. Hogyan valósul meg a kliens-szerver modell egy ftp kapcsolat során? 20. Mire szolgál az anonim belépés egy ftp szerverre, hogyan valósították ezt meg UNIX alatt? 21. Milyen követelmények merülnek fel egy ftp szerverrel kapcsolatban? 22. Mit takar az er!forrás-megosztás? Milyen módszereket alkalmaznak er!forrás-megosztásra? 23. Hogyan biztosítható egy rendszer nyitottsága? 24. Mit jelent a virtuális párhuzamosság? 25. Hogyan biztosítható a skálázhatóság? 26. Hogyan tehet! hibat"r!vé egy rendszer? 27. Mit jelent az átlátszóság fogalma? 28. Egy elosztott rendszerben mire szolgál a név feloldás (name resolution)? 29. Mi az el!nye a hierarchikus névtér alkalmazásának? 30. Mi a különbség a szinkron (azaz blokkoló) és az aszinkron (azaz nem blokkoló) üzenetküldés között? 31. Hasonlítsa össze a kliens-szerver alapú, a csoportos multicast, illetve a függvényszállításon alapuló kommunikációs sémákat! 32. Egy elosztott operációs rendszer esetén mik az ún. nyílt szolgáltatások? 33. Hasonlítsa össze a munkaállomás-szerver és a processzor pool modellt! 34. Elosztott rendszerekben milyen konzisztenciákat kell biztosítani és miért? 35. Mi az el!nye az elosztott file rendszer alkalmazásának a telnet vagy ftp file transzferrel szemben? 36. Miben különbözik az elosztott állománykezelésnél az állományok elhelyezkedését eltakaró (location transparent), illetve az elhelyezkedést!l független (location independent) elnevezés? 37. Milyen elnevezési módszereket alkalmazhatnak elosztott file rendszerekben? 38. Mire szolgál a leképezési táblák többszörözése? 39. Ismertesse az elosztott állományrendszerek implementációjánál használt távoli szolgáltatások (remote services) és helyi átmeneti tárolás (local cache) módszerének egymáshoz viszonyított el!nyeit! 40. Átmeneti tárak használata esetén hogyan biztosítható azok konzisztenciája? 41. Definiálja és hasonlítsa össze az elosztott file rendszereknél alkalmazott állapottároló (steteful) és állapot nélküli (stateless) szolgáltató implementációkat! 42. Mire szolgál elosztott file rendszerekben a file-ok megsokszorozása? 43. Milyen modulokból épül fel egy elosztott állományrendszer szolgáltató? 44. Milyen problémát jelent, ha az NFS elosztott állományrendszer teljesítményének növelésére a kliens oldalon helyi gyorsítótárat (cache) is használ? (IGAZ-HAMIS) 45. Melyek igaz állítások? 46. Mi az ún. daemon feladata? 47. Mi a különbség a hálózati, illetve az elosztott számítási modell között? https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottKerdesek?skin=print.pattern
Page 1 of 14
OpreVazlatHalozatElosztottKerdesek < Infoalap < VIK wiki
2008.04.07. 21:27
48. Mi a middleware? 49. Kliens-szerver rendszereknél mi a kötés feladata és milyen fajtái vannak? 50. Mi a szerver replikáció, illetve az átmeneti tárolás (caching) közötti különbség? 51. Mire szolgálnak a proxy szerverek? 52. Mire szolgál az RCP protokoll? 53. Mit definiál az XDR szabvány, milyen esetben jelenthet hátrányt az alkalmazása? 54. Mi az RPC szál, milyen el!nnyel jár az alkalmazása? 55. Milyen problémákhoz vezethet egy operációs rendszerben a szálak alkalmazása? 56. Mit nevezünk küls!, illetve bels! szinkronizációnak? 57. Mi a Koordinált Univerzális Id! (KUI)? 58. Milyen óra rendszereket ismer? 59. Mit jelent a stratum a Network Time Protokolban? 60. Hogyan m"ködik a Network Time Protokoll? 61. Mire szolgál a logikai óra? 62. Hogyan lehet definiálni a korábban-történt relációt? 63. Mit jelent a teljesen rendezett logikai óra fogalom, és minek segítségével lehet elérni a teljes rendezést? 64. Sorolja fel az elosztott kölcsönös kizárás módszereit! 65. Ismertesse az elosztott rendszerekben a kölcsönös kizárás megvalósításra használható teljesen elosztott algoritmus lényegét! Melyek az algoritmus problémái a központosított algoritmussal összevetve? 66. Ismertesse az id!címkés kölcsönös kizárás algoritmust! 67. Mire szolgálnak a választási algoritmusok? 68. Mit feltételez a gy"r" algoritmus? 69. Mit feltételez a bully-algoritmus? 70. Ismertesse az elosztott rendszerekben alkalmazott ún. er!szakos (bully) választási (election) algoritmust! 71. Mi a feladata a biztonságpolitikának az elosztott rendszerek védelménél? 72. Milyen területekre terjed ki egy rendszer védelme? 73. Milyen céljai lehetnek, illetve ezek elérésére milyen módszereket alkalmazhat egy lehetséges támadó? 74. Miért kellene formális módszerekkel igazolni a biztonsági protokoll helyességét? 75. Mi a biztonsági rendszerek két aranyszabálya? 76. Mi a különbség a nyilvános és a titkos kulcsú titkosítási rendszerek között? 77. Milyen problémát kell megoldani egy titkosító rendszerben a kulcsok szétosztásánál? 78. Mire szolgál a hitelesít! szerver elosztott rendszerekben? 79. Ismertesse a Needham-Schroeder titkos kulcsú titkosítást (mutassa be az egyes lépéseket két folyamat titkos kommunikációjával)! 80. Milyen védelmi szinteket definiál a Kerberos hitelesít! rendszer? 81. Mi a DES? 82. Mit tartalmaz egy Kerberos jegy? 83. Mit tartalmaz egy Kerberos hitelesít! (jegy)? 84. Kliens kérésére hogyan hitelesíti magát egy szerver Kerberos alatt? 85. Hogyan védekeznek a Kerberos rendszerben a felhasználónak kiadott, valamely szolgáltatásra feljogosító jegy (ticket) mások általi felhasználása ellen? 86. Milyen el!nyökkel, illetve hátránnyal jár a Kerberos hitelesít! rendszer alkalmazása? 87. Mi a szerepe a Kerberos rendszerben a hitelesít!nek (authenticator)? (IGAZ-HAMIS) 88. Mely állítások igazak?
Hálózati és elosztott rendszerek kérdések TK 454-459 oldal, 88 kérdés
1. Mit nevezünk elosztott rendszernek? Elosztott rendszer: hálózattal összekötött, elosztott szoftverrel felruházott autonóm számítógépek összessége
2. Soroljon fel legalább hármat az elosztott rendszerek https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottKerdesek?skin=print.pattern
Page 2 of 14
OpreVazlatHalozatElosztottKerdesek < Infoalap < VIK wiki
2008.04.07. 21:27
2. Soroljon fel legalább hármat az elosztott rendszerek alkalmazásával járó el!nyök közül! Sebesség növekedése Funkciók térbeli elosztása (optimálisabb) Megbízhatóság növekedése Fejlesztés lehet!sége Adatok és eszközök megosztása (pl. drága eszközök jobb kihasználása) Flexibilitás
3. Elosztott rendszerekben mi a skálázhatóság? Skálázhatóság: a rendszer b!vítésekor ne kelljen az architektúrát és a software alkalmazásokat megváltoztatni
4. Mi a nyitottság elérésének legfontosabb feltétele? A f!bb szoftver interfészeket publikálni kell.
5. Mi a különbség a szinkron illetve az aszinkron üzenetküldés között? A szinkron üzenetküldés blokkoló, azaz a küld! folyamat bevárja az üzenet vételét. Az aszinkron eset nem blokkolódó, vagyis a küld! folyamat továbbhalad a küldés után anélkül, hogy megvárná az üzenet fogadását.
6. Mi a különbség a csoportos multicast és a broadcast között? Broadcast (üzenetszórás) esetén az üzenetet mindenki megkapja, aki a hálózathoz csatlakozik. A csoportos multicast valamilyen szempont szerint szelektál.
7. Mi a függvényszállítás és mire szolgál? A kliens-szerver modell speciális esete, amikor a kliens nem csak az adatot küldi el a szervernek, hanem a végrehajtandó utasításblokkokat, eljárás definíciókat is. Ezáltal a szerver képességei dinamikusan b!víthet!k. (példa: PS nyomtatók)
8. Mit nevezünk protokollnak? Protokoll: az egy hálózati rétegen belüli kommunikáció során használt adatformátumok és szabályok összessége
9. Milyen el!nyökkel, illetve hátrányokkal jár a részlegesen összekapcsolt topológia a teljesen összekapcsolttal szemben? El!ny: olcsóbb a kiépítés Hátrány: lassabb kommunikáció, kevésbé hibat"r!
10. Milyen részlegesen összekapcsolt hálózati topológiákat ismer? Hasonlítsa !ket össze! hierarchikus (fa-szerkezet) – akár 1 csomópont kiesésével is részekre szakadhat csillag – olcsó kiépítés, gyors kommunikáció, de sérülékeny gy"r" – lassú kommunikáció, elég sérülékeny token ring – olcsó, gyors, elég megbízható sín (bus) – olcsó, gyors, nagyon sérülékeny kapcsolt – a csillag finomítása
11. Adja meg az ISO OSI-modell rétegeit és azok funkcióját! Mire szolgál a modell? https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottKerdesek?skin=print.pattern
Page 3 of 14
OpreVazlatHalozatElosztottKerdesek < Infoalap < VIK wiki
2008.04.07. 21:27
szolgál a modell? 7 réteg: alkalmazási (kapcsolat a felhasználói alkalmazásokkal) megjelenítési (egységes adat-reprezentáció, titkosítás) viszony (párbeszéd megteremtése, szinkronizáció) szállítási (elfedi a hálózat topológiáját) hálózati (routing = küldési út meghatározása) adatkapcsolati (felügyeli a fizikai réteget, megbízható felületet nyújt) fizikai (adatátvitel definiálása) Az ISO OSI Referencia Modell a hálózat kommunikáció rétegeit definiálja.
12. Milyen módszereket alkalmazhatnak a forgalomirányításra (routing)? fix útvonal (mindig ugyanaz az útvonal) virtuális áramkör (a kapcsolat elején alakul ki az útvonal) dinamikus forgalomirányítás (minden üzenethez külön keres útvonalat)
13. Mi az alapvet! különbség áramkör-, üzenet-, illetve csomagkapcsolás között?
Áramkörkacsolás: a két folyamat kommunikációjához külön fizikai csatorna tartozik Üzenetkapcsolás: a fizikai csatornát csak az üzenetváltás idejére kapják meg, de ekkor a teljes üzenet ezen az 1 csatornán át megy Csomagkapcsolás: az üzenetet apró csomagokra bontják, minden csomag külön keres utat a címzetthez
14. Mi a távoli terminálszolgáltatás feladata? Hálózaton keresztül távoli bejelentkezési lehet!séget és virtuális terminált nyújt.
15. Hogyan hozza létre a telnet program a különféle típusú terminálok közötti kapcsolatot? Hálózati virtuális terminál kapcsolatot hoz létre a szerver és a kliens között. A szerver- illetve kliens-oldali programjai felel!sek a virtuális és a fizikai funkciók megfeleltetéséért. (belépéskor a konkrét terminál azonosításra kerül, de a szerver minden esetben ugyanolyan virtuális terminált lát)
16. Hogyan valósul meg a kliens-szerver modell egy telnet kapcsolatban? A szerveren állandóan fut a kliensek kéréseire várakozó Telnet szerveralkalmazás. Ha a kliens elindítja a saját Telnet nev" programját, és a szükséges azonosítás után kiépítik a kapcsolatot.
17. Mire szolgál a telnet parancsértelmez!? Elindíthatjuk a kliens oldali alkalmazásokat, megváltoztathatjuk a paramétereket, környezetet, speciális vezérl! karaktereket küldhetünk.
18. Mi a különbség az FTP bináris és szöveges átviteli módja között? Bináris átvitel esetén a file byte-helyesen, változtatás nélkül érkezik meg. Ascii, vagyis szöveges módban az ftp gondoskodik az eltér! szövegformátumok közti konverzióról (pl. DOS-UNIX).
19. Hogyan valósul meg a kliens-szerver modell egy ftp kapcsolat során? A szerveren folyamatosan fut az ftp program. Ha egy kliens fel!l kérés érkezik, a megfelel! azonosítás után kiépül a kapcsolat.
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottKerdesek?skin=print.pattern
Page 4 of 14
OpreVazlatHalozatElosztottKerdesek < Infoalap < VIK wiki
2008.04.07. 21:27
20. Mire szolgál az anonim belépés egy ftp szerverre, hogyan valósították ezt meg UNIX alatt? Így lehet!ség van olyan szerverre is belépni, ahová nincs valós accountunk – persze korlátozott jogokkal. UNIX alatt a jogok korlátozását a chroot() rendszerhívással oldják meg, mely egyszer"en „levágja” a könyvtárfa adott pont feletti részeit.
21. Milyen követelmények merülnek fel egy ftp szerverrel kapcsolatban? ??? Az elosztottság a felhasználó számára rejtve marad. (A fenti válasznak nem sok értelmét találtam. Az NFS elosztott szolgáltatás, de az FTP nem, mert tudnunk kell, hogy melyik gépen vannak a keresett fájlok és nem ugyanolyan m"veletekkel kezeljük !ket, mint a helyi fájlokat (vagyis nem valósul meg a hely és hozzáférés átlátszóság. ) - zslevi )
22. Mit takar az er!forrás-megosztás? Milyen módszereket alkalmaznak er!forrás-megosztásra? Er!forrás-megosztás: az er!források és adatok osztott használata Módszerek: groupware, kliensszerver modell, objektummodell
23. Hogyan biztosítható egy rendszer nyitottsága? A f!bb interface-ek publikáltak, Egységes folyamatok közti kommunikáció, Igazodás a publikált szabványokhoz
24. Mit jelent a virtuális párhuzamosság? Virtuális párhuzamosság: a processzoron a folyamatok „ összefésülve ” (apró id!intervallumonként felváltva) futnak
25. Hogyan biztosítható a skálázhatóság? A rendszer tervezésénél figyelembe kell venni annak várható életciklusát, az esetlegesen felmerür! b!vítési igényeket, és úgy kell kialakítani, hogy ezek radikális változtatás nélkül megvalósíthatók legyenek.
26. Hogyan tehet! hibat"r!vé egy rendszer?
Hardverredundancia (pl. meleg tartalék, kritikus szerverek replikációja) Software recovery (visszagörgethet!ség)
Mindkett! alkalmazása szükséges, hogy az elosztott rendszer nagyfokú rendelkezésre állást tudjon biztosítani.
27. Mit jelent az átlátszóság fogalma? A felhasználó el!l a rendszer elosztott volta rejtve marad, azaz számára egységes egészként jelenik meg.
28. Egy elosztott rendszerben mire szolgál a név feloldás (name resolution)? A nevet leképezi olyan alakra, ami lehet!vé teszi a tényleges er!forráson való m"veletvégzést. A névfeloldás végeredménye általában egy kommunikációs azonosító (pl internetnél ez egy host azonosítóból és egy portszámból áll). https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottKerdesek?skin=print.pattern
Page 5 of 14
OpreVazlatHalozatElosztottKerdesek < Infoalap < VIK wiki
2008.04.07. 21:27
29. Mi az el!nye a hierarchikus névtér alkalmazásának? A név minden egyes része eltér! környezetben kerül feloldásra, így ugyanaz a komponens többször is felhasználható.
30. Mi a különbség a szinkron (azaz blokkoló) és az aszinkron (azaz nem blokkoló) üzenetküldés között? Lásd 5. kérdés
31. Hasonlítsa össze a kliens-szerver alapú, a csoportos multicast, illetve a függvényszállításon alapuló kommunikációs sémákat! A kliens-szerver sémát alapvet!en szervizek nyújtására dolgozták ki. Három lépésb!l tev!dik össze: A kliens elküldi a kérést a szervernek A szerver elvégzi a kért m"veletet A szerver elküldi a választ a kliensnek Két megvalósítási formája a send és a receive primitívek, illetve a távoli eljáráshívás. A kommunikáció során leggyakrabban a RequestReply protokollt használják. A függvényszállítás a kliens-szerver modell speciális esete. Utasításblokkok és eljárás definíciók is lehetnek az üzenetekben, így a szerverek képességei dinamikusan b!víthet!k. A csoportos multicastnál a folyamatok szintén üzenetekkel kommunikálnak, viszont az üzenetet egy folyamat csoportnak küldik el (és nem egy másik folyamatnak). Nem azonos a broadcasttal (üzenetszórás), mert üzenetszórásnál a lokális hálózat minden tagja megkapja az üzenetet. Lásd még: Elosztott szolgáltatások - Kommunikáció
32. Egy elosztott operációs rendszer esetén mik az ún. nyílt szolgáltatások? Az elosztott rendszert az adott felhasználói kör vagy alkalmazások igényei szerint lehet konfigurálni. A konfiguráció egyaránt vonatkozik hardver- illetve szoftverelemekre. Egy nyílt elosztott rendszerben az elosztott operációs rendszer mikrokernelek é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.
33. Hasonlítsa össze a munkaállomás-szerver és a processzor pool modellt! A munkaállomás-szerver modellben munkaállomások hálózattal vannak összekötve, és a hálózathoz kapcsolódnak különböz! szolgáltató szerverek is. Ebben az esetben a munkaállomások képviselik a számítási kapacitást, a nagy interaktivitást igényl! feladatok a munkaállomáson futnak, ezért ilyen esetekre az architektúra hatékony (mert a hálózati késleltetések kiiktathatók). Azonban nem optimális a rendszer er!forrásainak kihasználása (az egy felhasználó által használt er!források mérete korlátozott). A processzor pool modell ennek kiterjesztése, jobban kihasználja az er!forrásokat, lehet!vé teszi, hogy adott esetben egyetlen felhasználó foglalja le a teljes kapacitást. Gyakori megvalósítás, hogy a munkaállomások kis kapacitású gépek, minden érdemi feladat a processzor pool-on fut, melynek elemei alacsony költség" számítógépek - ezek csak processzort és memóriát tartalmaznak, így ezek összekötésével viszonylag olcsón, nagy számítás kapacitást kapunk.
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottKerdesek?skin=print.pattern
Page 6 of 14
OpreVazlatHalozatElosztottKerdesek < Infoalap < VIK wiki
2008.04.07. 21:27
34. Elosztott rendszerekben milyen konzisztenciákat kell biztosítani és miért? Elosztott rendszerekben az er!források széttagoltsága miatt fontos biztosítani az információk konzisztenciáját. Ezek: Frissítési konzisztencia (osztott adathasználatkor): Biztosítani kell, hogy az összetartozó adatok változását a folyamatok atominak érzékeljék. Másolat konzisztencia: A replikáknak minden pillanatban azonosnak kell lenniük. Cache konzisztencia: Mikor a cache-ben lev! adat érvénytelenné válik, aktualizálni kell. Hiba konzisztencia: Az elosztott rendszerekben eltér! helyeken és eltér! m"ködési fázisokban jelentkezhetnek újabb hibák, ezért a meghibásodás után felépülési eljárásokkal az adatokat vissza kell görgetni egy konzisztens állapotba. Óra konzisztencia: Elosztott rendszerben minden folyamat a saját gépének óráját használja ezek nem járnak szinkronban, ezért id!r!l id!re szinkronizálni kell !ket. Felhasználói felület konzisztencia: Els!sorban interaktív rendszereknél jelentkezik - ilyen rendszereknél a válaszid!t 0.1 másodperc alatt kell tartani.
35. Mi az el!nye az elosztott file rendszer alkalmazásának a telnet vagy ftp file transzferrel szemben? Átlátszóságot biztosít mind a felhasználó, mind az alkalmazások felé, minden állomány helyi hozzáféréssel érhet! el.
36. Miben különbözik az elosztott állománykezelésnél az állományok elhelyezkedését eltakaró (location transparent), illetve az elhelyezkedést!l független (location independent) elnevezés? Rejtett elhelyezkedés (location transparency): a file név nem utal arra, hogy melyik gépen található Elhelyezkedés-függetlenség (location independence): a file név nem változik, ha a file átkerül másik gépre
37. Milyen elnevezési módszereket alkalmazhatnak elosztott file rendszerekben? Csomópont explicit megnevezése Mount (távoli filerendszer helyi könyvtárstruktúrához csatolása) Globális elnevezések (a név a rendszer egészében érvényes)
38. Mire szolgál a leképezési táblák többszörözése? Mivel több példányban tárolódik a leképezési tábla, a rendszer hibat"r!bbé válik a kritikus (táblát tároló) csomópont kiesésével szemben, valamint gyorsul a file-ok elérése. (A leképezési tábla segítségével képezzük le a fileneveket a konkrét fizikai állományra.)
39. Ismertesse az elosztott állományrendszerek implementációjánál használt távoli szolgáltatások (remote services) és helyi átmeneti tárolás (local cache) módszerének egymáshoz viszonyított el!nyeit! Távoli szoláltatások A felhasználói m"veletek – mint kérések – eljutnak a távoli csomóponthoz, az ezeket végrehajtja (daemonok figyelik a portokat, és kiszolgálják a kéréseket), majd az eredményt visszaküldi Pozitívumok: nincs konzisztencia probléma, nem igényel nagy er!forrásokat az ügyfélnél (pl. átmeneti tárolásra) átlátszó, minden helyi m"veletnek t"nik Helyi átmeneti tárolás
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottKerdesek?skin=print.pattern
Page 7 of 14
OpreVazlatHalozatElosztottKerdesek < Infoalap < VIK wiki
2008.04.07. 21:27
A m"velethez szükséges fájlokról a helyi gépre egy másolatot készítenek, a helyi gépen elvégzik a m"veletet, majd az eredményt visszamásolják a távoli gépre Pozitivumok: gyors (kevés hálózati kommunikáció) gazdaságos hálózat jobb kihasználása (kevesebb többletinformáció) szolgáltatót is kevésbé terheli
40. Átmeneti tárak használata esetén hogyan biztosítható azok konzisztenciája? Osztott filehasználat esetén, ha valaki módosítja az állományt, az a többieknél lev! másolat már nem aktuális -> ezt jelezni kell feléjük. Stratégiák: -ügyfél kezdeményezi (lekérdezi, hogy helyes-e a másolata) -minden hozzáférésnél -újra megnyitásnál -id!közönként -szolgáltató jelzi (értesítést küld)
41. Definiálja és hasonlítsa össze az elosztott file rendszereknél alkalmazott állapottároló (steteful) és állapot nélküli (stateless) szolgáltató implementációkat! stateful (a szolgáltató nyomon követi az ügyfelek kiszolgálásának menetét) + : nagyobb teljesítmény, gyorsabb file újra-hozzáférés, a szolgáltató „el!re olvashat” és kezelheti a konzisztencia-problémákat – : újraindításkor az információ elvész -> minden ügyfél terminál, érzékelni kell, ha egy ügyfél „meghal” stateless (a szolgáltató minden kérést külön teljesít) + : hibat"r!, rugalmas – : lassabb
42. Mire szolgál elosztott file rendszerekben a file-ok megsokszorozása? Növeli a megbízhatóságot (ha kiesik a file egyik példányát tároló csomópont, még ott a másolatot tároló), és gyorsabb kiszolgálást biztosít (a legközelebbi példányt keresi meg)
43. Milyen modulokból épül fel egy elosztott állományrendszer szolgáltató? ??? Démonok
44. Milyen problémát jelent, ha az NFS elosztott állományrendszer teljesítményének növelésére a kliens oldalon helyi gyorsítótárat (cache) is használ? (IGAZ-HAMIS)
(a) A gyorsítótár betelése esetén a kliens oldal nem képes addig új állományt megnyitni, amíg valamelyik nyitott állományt le nem zárták. (b) A szerver leállítása és újraindítása után újra meg kell nyitni a korábban megnyitott állományokat. (c) Az egy kliens által a közösen használt állományszerkezetben létrehozott állományokat a többi kliens esetleg csak kés!bb veszi észre.
a-H, b-H, c-I
45. Melyek igaz állítások? Az elosztott állománykezelésnél az állapotmentes (stateless) szolgáltatás el!nyösebb az állapotot tárolónál (stateful), mert (a) az állományok kezelése gyorsabb (b) egyszer"bb a szolgáltató újraindulása után a m"veleteket folytatni (c) könnyebb a kérések jogosultságának ellen!rzése https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottKerdesek?skin=print.pattern
Page 8 of 14
OpreVazlatHalozatElosztottKerdesek < Infoalap < VIK wiki
2008.04.07. 21:27
a-H, b-I, c-H
46. Mi az ún. daemon feladata? A daemon folyamatok folyamatosan figyelik a számukra kijelölt portot, és fogadják a kliensek kéréseit, biztosítják a szerver által nyújtott szolgáltatások elérhet!ségét.
47. Mi a különbség a hálózati, illetve az elosztott számítási modell között? Hálózati számítási modellben a kliens pontosan ismeri a szerver pontos címét (az internet esetében például IP cím és portszám), és ezzel hivatkozik rá. Az elosztott számítási modellben a szerver az általa nyújtott szolgáltatások alapján érhet! el, a kliens nem ismeri a pontos címet (a tényleges kapcsolatot a middleware biztosítja).
48. Mi a middleware? Elosztott számítási modellben (ahol a kliens nem ismeri a szerver címét, csak az általa nyújtott szolgáltatásokat látja) a middleware (egy közbüls! kommunikációs réteg) biztosítja a kapcsolatot a kliens és a szerver között.
49. Kliens-szerver rendszereknél mi a kötés feladata és milyen fajtái vannak? A kötés a kliens és a szerver közötti kapcsolat kiépítése, az a folyamat melynek során a kliens megtalálja a számára szükséges szolgáltatást nyújtó szervert és kialakul a kommunikációs kapcsolat. Fajtái: nagyon sokféle, pl. a webböngész! által nyújtott kapcsolat nem perzisztens, mert a szükséges adat letöltése után a kapcsolat megszakad; a rendszeróra beállításához használhatunk broadcasting üzenetküldést, azaz nem konkrét megnevezéssel szólítjuk meg a címzettet
50. Mi a szerver replikáció, illetve az átmeneti tárolás (caching) közötti különbség? Szerver replikációnál a másik szerver is képes aktívan szolgáltatásokat nyújtani. Cachingnél csak az adatokat lehet gyorsabban elérni, más szolgáltatásokat nem lehet kérni.
51. Mire szolgálnak a proxy szerverek? A proxy az elosztott gyorsítótárak egy speciális fajtája, olyan szerver (általában webszerver), amely egy más szerveren való információt helyileg is meg!riz a kliensek számára, és ezáltal gyorsítja számukra az információ elérését.
52. Mire szolgál az RCP protokoll? A Remote Procedure Call kliensek és szerverek közti kommunikáció legelterjedtebb formája, a szerveren lev! szolgáltatásokat eljárások valósítják meg, a kliens ezeket eljáráshívással éri el. A protokoll garantálja a kérések továbbítását a célig, illetve a válaszok visszajutását. Egy egységes kiterjesztett adatreprezentációt (XDR) használ.
53. Mit definiál az XDR szabvány, milyen esetben jelenthet hátrányt az alkalmazása? Az eXtended Data Representation egy gépfüggetlen adatábrázolási szabványt definiál, az RPC használja. Alapvet! adattípusai: egész szám, változó hosszúságú adatfolyam, szöveg, tömb, struktúra. Hátránya, hogy ha az adat XDR formátuma nagyon eltér az adott architektúrán használttól, akkor a https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottKerdesek?skin=print.pattern
Page 9 of 14
OpreVazlatHalozatElosztottKerdesek < Infoalap < VIK wiki
2008.04.07. 21:27
Hátránya, hogy ha az adat XDR formátuma nagyon eltér az adott architektúrán használttól, akkor a konverzió nagyon er!forrás-igényes lehet.
54. Mi az RPC szál, milyen el!nnyel jár az alkalmazása? Egy távoli eljáráshívás során a szerver és kliens oldalon létrejöv! szálakat logikailag egy szállá foghatjuk össze, ez az RPC szál. A szálak alkalmazásával lehet!ség nyílik a folyamat egyes részeinek párhuzamos elvégzésére - növelve a szerver teljesítményét, ezenkívül a tervezéskor és megvalósításkor könnyíti a programozók dolgát. (Továbbá így szerver oldalon elkerülhet! a körkörös várakozás miatti holtpont, a holtpont feloldódik, átalakul rekurzióvá)
55. Milyen problémákhoz vezethet egy operációs rendszerben a szálak alkalmazása? Konkurencia: a szálak közti kölcsönös kizárás az alkalmazás feladata, egyébként inkonzisztens adat alakulhat ki Blokkolás: ha egy user-level (felhasználói szinten megvalósított) szál blokkolódik a folyamatban, akkor egy blokkolható rendszerhívás kiadásával az egész folyamat futása blokkolódhat
56. Mit nevezünk küls!, illetve bels! szinkronizációnak?
Küls!: a KUI-hoz képest (Koordinált Univerzális Id!) legyenek pontosak az órák a rendszerben Bels!: egymáshoz képest legyenek adott pontosságúak az órák a rendszerben
57. Mi a Koordinált Univerzális Id! (KUI)? A csillagászati id! alapján meghatározott egységes nemzetközi id!.
58. Milyen óra rendszereket ismer?
Logikai Fizikai Pontos központi órával rendelkez! rendszer Központilag felügyelt órával rendelkez! rendszer Elosztott órás rendszer
59. Mit jelent a stratum a Network Time Protokolban? Stratum = szint. A Network Time Protocol hierarchikus struktúrával rendelkezik, a stratum a különböz! szinteket jelenti, azaz az id! pontosságának mértéke (minél alacsonyabb stratumon van egy szerver, annál pontatlanabb a KUI-höz képest).
60. Hogyan m"ködik a Network Time Protokoll? Az eltér! hálózatokból összekötött elosztott rendszerben az id! információ terjesztésére lehet használni. Hierarchia szinteket definiál, minden szint a nála egyel pontosabb szinthez szinkronizál. 1. stratum: els!dleges id!szolgáltatók (KUI-höz szinkronizál) 2. stratum: másodlagos id!szolgáltatók (els!dlegesekhez szinkronizál) 3. stratum: ... és így tovább A szinkronizáció háromféle módon valósulhat meg: Multicast (LAN esetén) Eljáráshívás Szimmetrikus mód Lásd b!vebben: Elosztott szolgáltatások - NTP
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottKerdesek?skin=print.pattern
Page 10 of 14
OpreVazlatHalozatElosztottKerdesek < Infoalap < VIK wiki
2008.04.07. 21:27
61. Mire szolgál a logikai óra? Folyamatok eseményeinek sorrendezésére.
62. Hogyan lehet definiálni a korábban-történt relációt?
ha a és b ugyanazon folyamat eseményei, és a el!bb történt, mint b, akkor a->b ha a egy üzenet elküldése, b ennek vétele, akkor a->b ha a->b és b->c, akkor a->c
63. Mit jelent a teljesen rendezett logikai óra fogalom, és minek segítségével lehet elérni a teljes rendezést? A teljesen rendezett logikai órarendszer lehet!vé teszi az események teljes sorrendezését. Módszere: minden eseményhez egy id!bélyeg-párt rendelünk: (Ta, Pa), ahol a a Pa folyamat egy eseménye, amely Ta helyi id!pillanatban történt. a->b akkor és csak akkor, ha (Ta < Tb) vagy (Ta=Tb és Pa < Pb)
64. Sorolja fel az elosztott kölcsönös kizárás módszereit! Központ szerver algoritmus Logikai órákat alkalmazó elosztott algoritmus Gy"r" alapú algoritmus
65. Ismertesse az elosztott rendszerekben a kölcsönös kizárás megvalósításra használható teljesen elosztott algoritmus lényegét! Melyek az algoritmus problémái a központosított algoritmussal összevetve? ??? Logikai órákat alkalmazó elosztott algoritmus: ha egy folyamat be akar lépni a kritikus szakaszba, küld egy üzenetet err!l az összes folyamatnak, ha mind válaszolt rá, beléphet. Ha épp egy másik folyamat is be akar lépni, az léphet be, amelyiknek kisebb az id!bélyege – ez a folyamat csak a kritikus szakasz befejezése után válaszol a másiknak, tehát kölcsönösen kizárják egymást.
66. Ismertesse az id!címkés kölcsönös kizárás algoritmust! lásd 65.
67. Mire szolgálnak a választási algoritmusok? A választási algoritmusok feladata, hogy egy folyamatcsoportból kiválasszanak egy kitüntetett folyamatot (például kölcsönös kizárást biztosító szervert, token generátort, id!szolgáltatót, stb.). A kiválasztott folyamattal szemben követelmény, hogy egyedi legyen (azaz a csoport minden tagja ugyanazt a folyamatot tartsa megválasztottnak).
68. Mit feltételez a gy"r" algoritmus? Feltételezi, hogy a résztev!k az algoritmus alatt nem hibásodnak meg és elérhet!k maradnak.
69. Mit feltételez a bully-algoritmus? Feltételezi, hogy a kommunikáció megbízható, a folyamatok ismerik egymás azonosítóját, továbbá (az algoritmus egyszer"sítése érdekében) hogy az azonosító egyben a prioritás is.
70. Ismertesse az elosztott rendszerekben alkalmazott ún. er!szakos (bully) választási (election) algoritmust! A folyamat azzal kezd!dik, hogy egy folyamat, Pi, észreveszi a koordinátor meghibásodását. Ezután: Minden nála nagyobb prioritásúnak küld egy VÁLASZTÁS(Pi) üzenetet. https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottKerdesek?skin=print.pattern
Page 11 of 14
OpreVazlatHalozatElosztottKerdesek < Infoalap < VIK wiki
2008.04.07. 21:27
Ha Tvv ideig nem kap választ, ! a legnagyobb él!, azaz mindenkinek küld egy KOORDINÁTOR(Pi)-t Ha kap választ valamely nagyobb prioritású folyamattól, akkor vár Tvk ideig, hogy kap-e KOORDINÁTOR(Pj)-t, ha nem kap, újabb választást kezdeményez Ha valaki KOORDINÁTOR(Pj)-t kap, elfogadja a küld!t koordinátornak Ha valaki VÁLASZTÁS(Pj)-t kap, visszaküld egy VÁLASZ(Pi)-t, majd maga is kezdeményez választást, ha nem kezdeményezett már korábban Ha egy nagy prioritású folyamat megjavult, egyb!l visszaveheti a vezérlést. További részletek a TK 267. oldalon
71. Mi a feladata a biztonságpolitikának az elosztott rendszerek védelménél? A biztonságpolitika szabályozza a biztonsági módszerek alkalmazását.
Más szóval alkalmazza a
biztonsági módszereket (pl. nem engedi, hogy a jelszó az íróasztalon legyen).
72. Milyen területekre terjed ki egy rendszer védelme? ??? Megakadályozni a rendszerhez való illetéktelen hozzáférést. Vírusok, számítógép-kalózok, adatvédelem. Az eszközök: azonosítás, felhatalmazás (jogosultságok nyilvántartása), titkosítás.
73. Milyen céljai lehetnek, illetve ezek elérésére milyen módszereket alkalmazhat egy lehetséges támadó? Célok: információszerzés, információmódosítás, jogosulatlan er!forrás-használat, zavarkeltés Eszközök: lehallgatás, maszkírozás (üzenet küldése hamis azonosítóval), üzenetmódosítás, lehallgatott üzenet visszajátszása
74. Miért kellene formális módszerekkel igazolni a biztonsági protokoll helyességét? Mert a biztonsági protokollnak bizonyíthatóan helyesen kell m"ködnie minden lehetséges esetben.
75. Mi a biztonsági rendszerek két aranyszabálya?
Els! aranyszabály: nem létezik tökéletes biztonság Második aranyszabály: a legtöbb biztonsági problémát az emberek viselkedése okozza
76. Mi a különbség a nyilvános és a titkos kulcsú titkosítási rendszerek között? A titkos kulcsú titkosításnál csak a függvény (kódoló és dekódoló) nyilvános, így biztosítani kell a kulcsok titkosított továbbadását a hálózaton át (a feleknek bízniuk kell egymásban). Nyilvános kulcsú titkosításnál a kódoló kulcs nyilvános, így nem kerül titkos adat a hálózatra.
77. Milyen problémát kell megoldani egy titkosító rendszerben a kulcsok szétosztásánál? A kulcsot megkapónak biztosnak kell lennie, hogy a kapott kulcs hiteles, azaz annak a kulcspárnak a nyilvános része, melyet a címzett birtokol. (megoldás: elektronikus aláírás, hitelesít! szerver)
78. Mire szolgál a hitelesít! szerver elosztott rendszerekben? Biztonságos módon kulcsot szolgáltat a folyamatpároknak a kommunikációhoz.
79. Ismertesse a Needham-Schroeder titkos kulcsú titkosítást https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottKerdesek?skin=print.pattern
Page 12 of 14
OpreVazlatHalozatElosztottKerdesek < Infoalap < VIK wiki
2008.04.07. 21:27
79. Ismertesse a Needham-Schroeder titkos kulcsú titkosítást (mutassa be az egyes lépéseket két folyamat titkos kommunikációjával)! (részletesen: 276. oldal) -A S-t!l kulcsot kér a B-vel való kommunikációhoz -S válaszol A-nak: A kulcsával titkosítva a következ!ket: -KAB-t, ami a kommunikációhoz kell -egy B-nek szóló, B titkos kulcsával titkosított jegyet -A elküldi a jegyet B-nek -B visszaküldi a jegyet A-nak KAB-vel titkosítva -A válaszol
80. Milyen védelmi szinteket definiál a Kerberos hitelesít! rendszer? 3 védelmi szint: Azonosítás a kapcsolat kezdetén Azonosítás minden üzenetváltásnál Az üzenetek is titkosítva vannak
81. Mi a DES? Egyfajta titkos kulcsú titkosítás. DES leírás a FIPS oldalán
82. Mit tartalmaz egy Kerberos jegy? {s, c, addr, timestamp, life, Ks, c} Szerver neve Kliens neve Kliens Internet-címe Id!bélyeg Lejárati id! Viszonykulcs A jegy titkosított a szerver kulcsával.
83. Mit tartalmaz egy Kerberos hitelesít! (jegy)? {c, addr, timestamp} Kliens neve Kliens IP címe Id!bélyeg
84. Kliens kérésére hogyan hitelesíti magát egy szerver Kerberos alatt? A Kerberos szerver által.
85. Hogyan védekeznek a Kerberos rendszerben a felhasználónak kiadott, valamely szolgáltatásra feljogosító jegy (ticket) mások általi felhasználása ellen? A jegy a TGS privát kulcsával titkosítva van.
86. Milyen el!nyökkel, illetve hátránnyal jár a Kerberos hitelesít! rendszer alkalmazása? El!nyök: Titkosítja a rendszerben áramló adatokat Megbízható TCP/IP protokollra implementálták A felhasználói felületen nem változtat Soha nem kerül a hálózatra kódolatlan jelszó
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottKerdesek?skin=print.pattern
Page 13 of 14
OpreVazlatHalozatElosztottKerdesek < Infoalap < VIK wiki
2008.04.07. 21:27
Hátrányok: A Kerberos szerver az érzékeny pont, ett!l függ az egész rendszer biztonsága A Kerberos szerver döntései mindenki számára els!dleges Az összes szoftvert újra kell fordítani
87. Mi a szerepe a Kerberos rendszerben a hitelesít!nek (authenticator)? (IGAZ-HAMIS)
(a) Azonosítja a felhasználót a Kerberos rendszer számára (b) Igazolja, hogy a jegyet (ticket) a jogos tulajdonos nyújtotta be a szervernek (c) Tartalmazza a felhasználó saját titkos kulcsát
a-H, b-I, c-H
88. Mely állítások igazak? A Kerberos rendszerben egy szolgáltatás igénybevételére jogosító jegyet (ticket) (a) az ügyfél és a szerver is dekódolni tudja a kapcsolatuk idejére kiadott titkos kulcs segítségével (b) csak a szerver tudja dekódolni a saját titkos kulcsa segítségével (c) egyik fél sem dekódolja, a szerver is kapott egy a felhasználóéval azonos jegyet, csak a benyújtott és ennek a tárolt jegynek az azonosságát ellen!rzi a-H, b-I, c-H Javítgatta és belekontárkodott: -- LatoBalazs - 2005.06.10. vissza OpRe
Revision: r1.10 - 2005.06.16 - 23:16 - ZsirosLeventeGabor Infoalap > OpRe > OpreVazlatHalozatElosztottKerdesek Copyright © 1999-2008 SCH Ötleted, kérésed, problémád van a VIK wikivel kapcsolatban? Írj!
https://wiki.sch.bme.hu/bin/view/Infoalap/OpreVazlatHalozatElosztottKerdesek?skin=print.pattern
Page 14 of 14