operÁciÓs rendszerek os fogalom, struktúrák

Download OPERÁCIÓS RENDSZEREK OS fogalom, struktúrák

If you can't read please download the document

Upload: regina

Post on 09-Jan-2016

35 views

Category:

Documents


2 download

DESCRIPTION

OPERÁCIÓS RENDSZEREK OS fogalom, struktúrák. 2006/2007. tanév I. félév Dr. Vadász Dénes. Célkitűzések, tárgyfelépítés. Alapfogalmak, koncepciók, struktúrák, működés megismerése OS példák: Unix, Linux, W (a közös kiemelve) Témakörök: OS fogalom, történet, struktúrák, - PowerPoint PPT Presentation

TRANSCRIPT

  • OPERCIS RENDSZEREK

    OS fogalom, struktrk

    2006/2007. tanv I. flvDr. Vadsz Dnes

  • Clkitzsek, trgyfelptsAlapfogalmak, koncepcik, struktrk, mkds megismerseOS pldk: Unix, Linux, W (a kzs kiemelve)Tmakrk: OS fogalom, trtnet, struktrk, Felletek a kernelhez (burok s API)processzek s menedzsmentjk,memriamendzsment,I/O, eszkz s fjlmenedzsment.

  • MdszerekEladsok: lnyegkiemels, sszefoglalsokGyakorlatok: a tanszki laborokban, teljestend feladatok minden gyakorlatonTeljestsalrs felttele: gyakorlatokon aktv rszvtel, legalbb 8 gyakorlat elismertetse. vkzi zrthelyi. Alrs ptls a vizsgaidszakban nincs. Vizsga: rsbeli + szbeli. Vizsgattelek az v vgn. vkzi zrthelyi beszmt.A trgy anyaga szigorlati tananyag is!

  • A gyakorlatok, gyakorlatvezetk IN 104 laborRpsi TiborKedd 8:00 2MMIKedd 9:002InKedd 12:002FPKedd 15:003InSzerda 13:002EP

  • IrodalomTannenbaum: Modern Operating Systems, Prentice Hall, 1992.Silberschach, Galvin: Operating Systems Concepts, Addison-Wesley, 1994.Kczy, Kondorossi szerk: Opercis rendszerek mrnki megkzeltsben, Panem, 2000.Bach: The Unix System, Prentice Hall, 1985.Vahalia: UNIX Internals: the new frontiers, Prentice Hall, 1996Vadsz: Opercis rendszerek, ME, http://www.iit.uni-miskolc.hu/~vadasz/GEIAL202Unix on-line manual lapok, helps stb. Tudni kell angolul olvasni!

  • Az temtervLsd a hirdettbln!

  • Szmtgprendszer f komponenseiA HW f rszei: CPU, memria, eszkzk, buszokA mkdtet rendszer: OSAz alkalmazsok: segdprogramok, fejlesztk, AB rendszer, zleti programok stb.A felhasznl: alkalmazs hasznl, fejleszt stb.

  • Mkdtet rendszerek fejldseDirekt futtats a hardverenMonitor Futtathat rutinok gyjtemnye, ROM. Ismeri a konzoltKonzol terminlon parancsokexamine mem-cellset mem-cellgo mem-celletc.Esetleg primitv fjl-rendszer, load, store parancsokOpercis rendszer

  • Az opercis rendszer fogalmaKiterjesztett gp (Extended Machine). Knyelmess, "felhasznlbart" jellegv teszi a gphasznlatot.Erforrs menedzser. Hatkonny, biztonsgoss, igazsgoss teszi a gphasznlatot.Vlaszol gp (Veszly: burok (kezel, UI) - kernel sszetveszts)

  • TrtnetkKapcsoldik a hardver fejldshez,a szmtgp hasznlk munkamegosztsa trtnethez (hardveresek, rendszerprogramozk, rendszer-menedzserek, opertorok, programozk, felhasznlk.)a programozsi mdszerek fejldshez stb.Tanenbaum 4 genercit emlt

  • I. generci: 1945-55. (Prelingual Stage)Csvek, dugaszol tblk, lyukkrtykNincs munkamegoszts: egybeesik a szmtgppt, mkdtet, programoz, felhasznl szerepkrGpi nyelv programozsNincs opercis rendszer

  • II. generci: 1955-65(Exploiting Machine Power)Tranzisztorok. Ktegelt rendszerek. Karakterorientlt (1401) s szszervezs (7094) gpek. Tervezk s ptk; karbantartk; opertorok; programozk, felhasznlk(Increasing the Expressive Power)FORTRAN nyelv A JOB fogalom: load-translate-load-exec szekvencia, eleinte kzzel, ksbb automatizlva. nem_rezidens loader = monitor jelleg OS. Vgl: temez is.Tipikus a ktegelt (batch) feldolgozs

  • III. generci: 1965-80(Reducing the Machine Dependency)Egysgests a karakter- s szfeldolgozsban (360)Integrlt ramkrkIdosztsos multiprogramozs, memria particionls, spooling (Simultaneuos Peripheral Operation On-Line)Interaktivits igny: kifejldnek a parancsnyelvi rtelmezkKis gpek (PDP-11, VAX 780 stb.)Sok opercis rendszer (OS360, MULTICS, RSX, Unix stb.)Hardveresek; opertorok; rendszerprogramozk; programozk; felhasznlkImperatv, funkcionlis, logikai nyelvek. Szoftverkrzis (Algol, PL1, APL, LISP, PROLOG, C stb.)

  • IV. generci: 1980-90(Reducing the Complexity)LSI, VLSI; Szemlyi szmtgpek, munkallomsok, szuperszmtgpekVisszaess a vdelembenInteraktivits, felhasznlbart kapcsolattarts. GUI is!MS DOS, Unix, VAX/VMS, Novell stb.Hlzati opercis rendszerek, osztott feldolgozsTeljes a munkamegosztsObjektumorientlt programozs, prhuzamos programozs, szoftvertechnolgik, CASE

  • s ma?Szemlyi szmtgpek (kliensek), szerverek, grafikus munkallomsok, klnleges architektrk, az Internet, gridMikrokernelekUnix, MS W, Linux, mach Internet s WEB technolgik, OOP, Java, CORBA, DCOM, SW reengineeringTeljes munkamegoszts, mindenki felhasznl

  • Az utbbi vtizedek 1985 95: olcs processzls 1995 - 02: olcs svszlessgA jv: olcs rzkelk

    Egy msik ttekints Kt lapot mutatok

  • Az utbbi vtizedek a szmtstechnikban

  • Az utbbi vtizedek a szmtstechnikban 2

  • OS osztlyozsi szempontokHardver fggsg szerintSzemlyi, kis, nagy gpek OS-e (?), architektra fggetlenCl szerintltalnos, vagy specilis clProcesszek, processzorok, felhasznlk szma szerintSingle, vagy multi tasking, multi processing, multi threadingSingle, vagy multi userDistributedIdkioszts szerintSzekvencilis, kooperatv, vagy beavatkoz; time sharing, real timeMemriakezels szerintVals cmzs, vagy virtulis cmzsI/O s fjlrendszer megvalsts szerint

  • A szmtgp architektrban az OS Az OS rendszerszoftver, 2 f cllalknyelmet biztost,hatkonysgot, vdelmet biztost.Elvlasztja az alkalmazsokat a hardvertl

    Lehetne-e struktrlni?

    Alkalmazs1Alkalmazs2OS kernelHardver

  • Egy ksbb tovbb rszletezett fogalom: a folyamat (processz)A folyamat (processz) egy (prhuzamos szerkezetet nem tartalmaz) program fut pldnyanll entits, azonosthatMegklnbztetem a programtl Ugyanannak a programnak tbb fut pldnya is lehet A processz kontextus fogalmat is fogjuk trgyalniAz alkalmazs kifejezst itt felhasznli processz rtelemben fogom hasznlni A taszk fonl fogalmat is trgyaljuk majd

  • Kernel struktrkFunkcionlis szerkezetek (szolgltatsok szerinti komponensek)Implementcis szerkezetek (hogyan programozzk az egyes komponenseket).

  • Szolgltatsok szerinti komponensekProcessz (taszk, fonl) menedzsment komponensekCPU temezs, esemnykezels, szignlozs, klcsns kizrs, szinkronizci, processz-kzti kommunikciMemria menedzsel komponensekI/O menedzsmentdevice driver interfaceszabad terlet (blokk) menedzselseblokk allokci, diszk blokk schedulingpufferezsFjl-rendszert megvalst komponensekjegyzk (directory) megvalsts (fjl attribtumok kezelse)fjlkezels, biztonsgi komponensekVdelmi komponens(ek)Hlzatkezel komponensekFelhasznli fellet (nem felttlenl OS komponens)

  • Processz (taszk, fonl) menedzsment komponensekProcesszek krecijt s terminldst biztost funkcikProcessz/taszk/fonl kontroll, temezsllapotok nyilvntartsa,CPU temezs, kioszts; felfggeszts, elvtel,processz szinkronizcis mechanizmusok (belertve a holtpont elkerlst is biztost klcsns kizrsi mechanizmusokat),processzek kzti kommunikcis mechanizmusok.Ad Funkcionlis struktra

  • Memria menedzsel komponensekMemria hasznlatnak nyilvntartsaMemria allokls/felszabadts a processzek szmraCmlekpzs: logikai (virtulis) cmek lekpzse vals (buszra kiadhat) cmekre)kzben ki/be sprs, vagyki/be lapozs.Utbbiakhoz kapcsolat a msodlagos trol menedzsmenttel.Ad Funkcionlis struktra

  • I/O s msodlagos trol menedzsmentEszkzmeghajt szoftverek (device drivers) biztostsa blokkorientlt eszkzkhz (diszkekhez),karakterorientlt eszkzkhz (terminlok, nyomtatk, portok stb.),specilis eszkzkhz (ra, hlzat(?))Szabad blokk menedzsels (diszkeken)Blokk allokls/deallokls (fjlokhoz, virtulis memrihoz)Diszk-blokk buffer cashingAd Funkcionlis struktra

  • Fjl-rendszert megvalst komponensekJegyzk (directory) struktra biztostsaJegyzk implementci, fjl-attribtumok rgztseBlokkhozzrendels mdszereiFjlok krelsa/trlseJegyzkek krelsa/trlseFjlok rsa/olvassaFjlrendszer ltrehozsnak, helyrelltsnak segdprogramjaiMentsek s visszalltsok segdprogramjaiAd Funkcionlis struktra

  • EsettanulmnyokA VAX/VMS,a W NT s a UNIX funkcionlis struktrja.

    6 lapot mutatunk

  • A VAX/VMS struktrjaA VAX CPU ngy futsi mdja: User, Supervisor, Executive, Kernel. ttrs: trap mechanizmussal.Lsd: $ MONITOR MODESU mode: alkalmazsok, segdprogramok, fejlesztkS mode: a DCL (A DCL szoros kapcsolatban a VMS-sel)E mode: RMS rutinok: felelsek a fjl szervezsrt; ACP-k: felelsek az elhelyezkedsrt, mretekrt.K mode: System Services: I/O alrendszerMemria menedzsmentProcessz s idkezels Vegyes szolgltatsok (nincs az brn): logikai nv kezels, lock menedzsment stb.

  • A VMS struktra

  • Az NT struktra, magas szinten

  • Az NT struktraHAL: csatol a HW s a mikrokernel kztt. A HW klnbzsgeket (processzor architektra, processzorok szma stb.) kszbli ki. A HW gyrtk ksztik, szlltjk.Mikrokernel: IT kezels, temezs a szlakra, CPU szinkronizci stb.Szolgltatsok: Objektum menedzser: objektum elnevezsek, biztonsgi tnyezk kezelse. Handle kszts az objektumokhoz.Folyamat menedzser: taszkok ltrehozsa, trlse, szlak ltrehozsa, trlse. Egyttmkdik a biztonsgi rendszerrel, a memria menedzserrel.Helyi elj. hvs: (hasonlt az RPC-hez) egy alkalmazshoz a rendszerkrnyezetet ltrehoz alrendszer (kliens-szerver) ltrehozshoz hvs.

  • Windows NT Kernel

  • Az NT struktra (folyt.)Szolgltatsok (folyt.):I/O menedzser: Cache funkcikat, fjl-rendszereket (FAT, NTFS, CDFS), eszkz meghajtkat (NET+diszkes) biztost.Virtulis memria menedzser (ld. ksbb).Megjelent rendszer: Win32K ablak menedzser: kezeli az ablakokat, kpernyt; a bejv jeleket (eljuttatja az alkalmazsokhoz). GDI (Graphics Device Interface): grafikus csatol: kperny rajzol eszkz (primitvek) gyjtemny. Grafikus eszkzmeghajtk (drivers): vezrlik a HW-t. A konzol (ez felhasznli szint, csak a teljessg kedvrt itt!): szveges ablak tmogatst biztost. Biztonsgi figyel.

  • A Unix funkcionlis felptseHardver, vezrlk Programozi fellet, rendszerhvs diszpcserFjlrendszerBuffer cacheDevice driversFolyamatok kzti kommunikciMemria menedzsertemezFolyamat vezrl alrendszerI/O alrendszer Felhasznli processzFelhasznli mdHardver szintKernel md(trap)

  • Implementcis struktrkHogyan programozzk a komponenseket Funkcikhoz rutinok Call jelleggel hvhat rutinok Argumentumok visszatrsi rtk Megszaktssal hvhat rutinok (IT kezelk)Az IT tpusa IretEsemnykezel rutinok (esemny kezelk) Az esemny jellemzi visszatrsi rtk, ha egyltaln ) Hol lehetnek ezek a rutinok?A betltd kernelbe linkelve Futtathat programba linkelve

  • Lehetsges archeo tpusokMonolitikus rendszerRteges struktrkAz gyfl szolgltat (kliens szerver) modell

    A mdvlts a trap A szolgltat rutinok (sokszor) kernel mdban futnak! Akr a kernelbe vannak linkelve,Akr futtahat program rutinjai.

  • Monolitikus rendszerEgyszer szerkezetA kernel (mag): egy betlthet modulba sszelinkelt, szolgltat rutinok sszessgeA kernel a rendszer indtskor (teljes egszben) betltdikA szolgltat rutinok hvsa: rendszerhvssal (system call), megszaktssal (IT), vagy kivteles esemnyre val reaglssal. Futsi md vlts (user md - kernel md: trap)Tipikus plda: korai Unix-okAd Implementcis struktra

  • Rteges struktraA szolgltat rutinok rtegekbe szervezettek. A rtegezs elnye Egy rtegben jl meghatrozott, sszetartoz funkcikEgy rteg elrejti az alatta lv komponensek rszleteitMagasabb absztrakcis szint szolgltatsokat biztost: virtulis gpetA rtegeket kln-kln betlthet fjlokba linkelikA betlts akr dinamikusan is trtnhet (DLL) Mr a monolitikusban is lehet diszpcser rteg Lehetsges: a rtegekhez egyre privilegizltabb futsi mdok. Tipikus plda: a The OS Ad Implementcis struktra

  • A THE struktrjaDijkstra professzor s hallgati ksztettk, 1968. A rtegezs tervezsi koncepci volt: egyetlen modulba linkeltk.

    Rtegek5OpertorAz opertor indt, lel processzeket4Felhasznli programokFggetlen processzek3I/O menedzsment, eszkzkFelette virtulis (absztrakt) I/O2Opertor-processz kommunikciA processzeknek sajt, virtulis konzolok1Memria-dob menedzsmentVirtulis memria, a processz ltja a teljes cmtartomnyt0Processz allokls, multiprogramozsVirtulis CPU-k, minden processztl elrejtve a tbbi

  • A rteges struktrtl a virtulis gpigEmlkezz: az opercis rendszer virtulis gp: ezt a koncepcit ersti a rtegezettsgA rtegek virtulis (absztrakt, kiterjesztett) gpekAbsztrakt (kiterjesztett, virtulis) instrukciknak foghatk fel a rtegek kztti felletek hvsaiAd Implementcis struktra

  • A kliens-szerver modellIgny a kisebb kernelre: mikrokernel Bizonyos rendszerszolgltatsok kiszolglsra nll processzeket ksztenek.Ezek nllan linkelhetkBetltdhetnek a rendszer egsz letre, vagy idlegesen (daemon processzek)Futhatnak kernel-, vagy akr felhasznli mdbanProcesszek kzti kommunikcival krhetk a szolgltatsok. A kernel szinte csak a kommunikcit s az idosztst biztostja.Ebbl fejldtek ki a hlzati osztott rendszerek.Ad Implementcis struktra

  • A kliens szerver modellAd Implementcis struktra

  • Kis sszefoglals Kt oldalon sszefoglaljuk a programtechnikai megoldsokat, majd trgyaljuka kernelbe val belps s kilps lehetsgeit, forgatknyveit.

  • Programtechnikai megvalstsokSzolgltat eljrs, fggvny kd; call hvssal rhet el (trap)Kivteles esemnyt, megszaktst kiszolgl rutinok; elrsk: IT-vel, kivtellelnll processzek (felhasznli/rendszer processzek) rutinjai; elrhetk processz kzti kommunikcis mechanizmusokkal. Ilyenek pl.:a swapper; a mdostott lapok kszlett kir processz; az ACP-k (Ancillary Control Process), melyek pl. a fjloknak az eszkzkn val elhelyezsrt felelsek (a rekordformtumokrt az RMS felels!); ment/visszallt processzek stb.

  • Programtechnikai megvalstsokStatikusan betltd kernel rutinok (A rutinokat fordtjk, sszelinkelik egyetlen vgrehajthat fjlba; a betlts sorn betltdik s megkapja a vezrlst)Call hvssal elrhetek (gyakran trap-pel)IT-vel elrhetekDinamikusan betltd rutinok (regisztrci -betlts - inicializls - szoksos hvsok [call/IT] - shutdown - regisztrci megszntets szekvencik) nll processzek (felhasznli vagy kernel szinten)

  • Hogyan juthat a vezrls a kernelbe?A felhasznli processzekbl rendszerhvssal (System Call). (Ez a programoznak RTL hvsnak tnik.) Hardverbl megszaktssal (Interrupt). Aszinkron. Hardverbl kivteles esemny (Exeption Condition) bekvetkezsvel. Vratlan, de szinkron. (Nmely esetben ezt nevezik trap-nek.)

  • A kernelbe lps esemnyei (Unix)tkapcsols kernel mdbaPush PC s PSW (mr a kernel verembe!)Hvs kdja a verembelt. cl regiszterek lementse (assembly rutin)Hvdiksyscall() :rendszerhvshoz (ez diszpcser);trap() :kivteles esemnyhez;device driver rutin : IT-hez.A diszpcserellenrzi, msolja a paramtereket,felkszl a megszaktsra,hvja a megfelel szolgltat rutint.Jegyezzk meg: a syscall s kivtel kiszolgls processz kontextusban fut, mg az IT kiszolgls rendszer kontextusban!

  • Visszatrs a kernelblVisszatrs a diszpcserhez (siker/sikertelensg jelezve);Szignl vizsglat, szignl kiszolgls;lt. regiszterek visszavtele (assembly rutin);Hibakd az errno-ba, visszatrsi regiszter belltsa;Return-from-interrupt instrukci (Pop PSW s PC);Visszall a felhasznli md.

  • sszefoglals. Eddig vettk:Az OS fogalmt, OS-ek fejldsi fokozatait,OS struktrkat klnbz nzpontok szerint:funkcionlis struktra,az implementci szerinti struktra.A kernelbe lps, a kernelbl val kilps esemnyeit. Ezeket ksbb mg rszletezzk.

  • OPERCIS RENDSZEREK

    OS fogalom, struktrk,Vge

    The GOTO statement is considered harmful!Az OS-ek fejlesztse, mkdse s mkdtetse sorn felmerl alapfogalmak, koncepcik, filozfik, megfontolsok, megoldsok megismerse.OS-ek bels szerkezetnek, mkdsnek megrtse.Nem cl OS rsa.Sokfle OS ltezik. Mi fleg a Unix s NT koncepciival foglalkozunk: ezek llnak rendelkezsnkre.rintett absztrakcik:a processz fogalom.A virtulis memria fogalom.A fjl rendszer fogalom. Az eszkz fogalom.a felhasznli kapcsolattart fogalma.Eladsokon ismerettads mellett a lnyeg kiemelse.rott jegyzet a szoksos helyen.Mintaprogramok a honlaprl kiindul link segtsgvel elrhetk. A gyakorlatokon eleinte sh programozsi, majd processz kontroll, temezs befolysols, szignlozs, IPC, a klcsns kizrs rendszerhvsait begyakorl programozsi feladatokat kell ksztenik. Lesz fjlkezels is, vgl egyszer rendszermenedzseri feladatok.

    Szmonkrs:Alrs felttele 8 gyakorlat elismertetse.Szbeli vizsga.A trgy szigorlati tananyag is.A 102-es laborban MS W gpek. Putty terminlemulcival ssh bejelentkezs a linuxos, Aix-os, Solaris-os gpekre Emlkezznk a Szmtgp architektrk trgyban tanultakra!Van-e ma mg direkt futtats a hardveren?Hasznlnak-e ma mg monitor mkdtet rendszert?

    Szoftver, rendszerszoftver, amit adnak a gppel, meg sok-sok doksi . Kiterjesztett, extended, virtulis gp . Absztrakt instrukcikat biztost Mr a felhasznlnak is (igaz, nem az OS, hanem a burok ), pl. open a file, copy it, De absztrakt instrukcik a programoz szmra biztostott rendszerhvs kszlet is! Amikkel szolgltatsokat krhet a programoz a processze szmra.

    Erforrs menedzser: kiosztja, vdi, temezi az erforrsokat. Pl. a CPU-t temezi, megvalstva a multiprogramozst.

    Vlaszol is! UI parancsokra a visszatrsi rtk, az stdin kimenet, az eredmny; syscall-ra a szolgltats s annak hibakdja . rthet az elgondols, de nem szeretem. Ezt az anyagrszt a Tannenbaum knyvbl jl megtanulhatjuk. Az OS f feladata ekkor:- menedzseli az I/O eszkzket, ezekbl klnsen rdekes a msodlagos trols menedzselse s a fjlrendszer biztostsAz OS menedzseli mr a memrit is, eleinte single user md. Ksbb time sharing, s multi user md, vdelem s klcsns kizrsi problmk megoldsa. Kialakul a processz koncepci. Ksbb interaktivits, session ltests.Megjelenik a real time: id kritikus processzek, megbzhatsg s rendelkezsre lls igny. Diagramokban a Unix s Winows fejldstrtnete: http://www.levenez.comMit jelent a paradigma kifejezs?A paradigma vlts?Angolul is tanuljk meg a paradigmk neveit!Szeretnk (szeretek) osztlyozni, de ezek a szempontok nem igazn tisztk. Erltetettek nha Figyeljnk a terminolgira! Multi tasking multi processing szhasznlat! Ma mr tbbszlsg is! OS opercis rendszer rvidtse nlam.Elszr merl fel a kernel kifejezs. Az OS magja a kernel Szinonimaknt is fogom hasznlni: OS - kernelEz funkcionlis struktra. Architektra, a legfontosabb funkcikkal, s sokszor, ezek kapcsoldsval. Ha csak felsoroljuk a funkcikat, specifikcis jelleg. Ha a kapcsoldsokat is emltjk, az architektra msik rtelmben beszlnk

    Itt felsoroltuk a legfontosabb szolgltatsokat (funkcikat).Nem rdekes, hogy hogyan implementljk ezeket, s azzal sem foglalkozunk, milyenek az interfszek feljk.

    Persze, ezeket a f funkcikat lehet tovbb rszletezni! Mr most is elgondolkodhatunk azon, vajon mely funkcikat lehet krni (syscall-lal), melyeket nem! Pl. a processzek llapotnak nyilvntartst nem kell krni. Igaz, egy-egy processz llapotrl rdekldhetnk, de az mr ms funkci! Itt is vannak krhet s nem krhet szolgltatsok (funkcik). Krhet nem krhet funkcik itt is Nzhetjk a harmadik struktrlsi szempontot is: vajon hogyan implementlnak (programoznak) egy-egy funkcit? Pl egy device drivert? Vagy az elz din emltett cmlekpz komponenst? A virtulis memriamenedzelst segt ki-besprt? Vagy a mgelbb emltett temezt? gye, ezek ms szempontok! Mg mindig a funkcionlis struktrnl tartunk.

    Itt a restore-backup segdprogramok: nem rutinok a kernelben, hanem nll processzek Most esettanulmnyokat vesznk!Az elz szempontjaink vegyesen lthatk majd! VAX/VMS: Virtual Memory System. 1978-ra. Mirt VAX/VMS? Volt ilyen rendszernk, ma mr nincs. Sajnos, mr nem tudjuk bemutatni, nem gyakorolhatnak rajta! Sajnlhatjk, mert keresettek a VMS szakemberek! Mo-on pl. bankok, a MOL dolgozik VMS-ekkel, nem rossz fizet cgek ezek!

    Az NT (New Technology) trtnethez1988/89 forduljn kezdik, Dave Cutler s csapata a Digital-tl a MS-hoz (hasonlsg az temezsben, a memria menedzselsben, az I/O driver modellekben) Eredetileg az OS/2 lecserlsre, ksbb a W 3.0 cserjre fejlesztikNa, ez hres, rdemes nzni! Itt a HAL: ez egy rteg (rtegezettsg), ha gy tetszik: egy mikrokernel (nem nagy, az biztos). De fltte az igazi mikrokernel rteg is megvan (ez mr az NT rsze!) Feladata: IT kezels, temezs a szlakra, CPU szinkronizci stb. Elg szk feladatokkal. Valban mikro!

    Na, nzzk, persze, funkcionlis szempontbl! A szolgltatsok (nzd a tglalapokat): Objektum menedzser: objektum elnevezsek, biztonsgi tnyezk kezelse. Handle kszts az objektumokhoz. (A handle leginkbb a Unix descriptorhoz hasonlt)Folyamat menedzser: taszkok ltrehozsa, trlse, szlak ltrehozsa, trlse. Egyttmkdik a biztonsgi rendszerrel, a memria menedzserrel.Helyi elj. hvs: (hasonlt az RPC-hez) egy alkalmazshoz a rendszerkrnyezetet ltrehoz alrendszer (kliens-szerver) ltrehozshoz hvs. I/O menedzser: Cache funkcikat, fjl-rendszereket (FAT, NTFS, CDFS), eszkz meghajtkat (NET+diszkes) biztost.Virtulis memria menedzser (ld. ksbb).Megjelent rendszer: Win32K ablak menedzser: kezeli az ablakokat, kpernyt; a bejv jeleket (eljuttatja az alkalmazsokhoz). GDI (Graphics Device Interface): grafikus csatol: kperny rajzol eszkz (primitvek) gyjtemny. Grafikus eszkzmeghajtk (drivers): vezrlik a HW-t. A konzol (ez felhasznli szint, csak a teljessg kedvrt itt!): szveges ablak tmogatst biztost. Biztonsgi figyel.

    Krds: mikrokerneles struktrj-e a Wndows?Vlasz: a klasszikus mikrokernel koncepci szerint nem. A klasszikus koncepci szerint a memriamenedzsels, a I/O s fjlrendszer, s a processz menedzsels j rsze nll processzekben van megoldva, azaz nem rsze a kernelnek. Itt viszont az n. executive rszei ezek a funkcik. Ez a Bach szerinti struktra. Az s Unix funkcionlis szerkezete. Br kevesebb tglalap van, minden fontos funkci megvan azrt (pl. idkioszt a folyamatvezrl alrendszer rszeknt) Mindenesetre, egyszer

    Vesznk elszr nhny alap-szerkezetet. Archeo tpusok. Lssuk be, az egyes alap-szerkezetek keveredni fognak! Elvileg sincs tiszta szerkezet! Aztn visszatrnk, mi is ennek a strukturltsgnak a lnyege! Az OS kernel strukturlatlan, mondjuk. Persze, ez nem egszen igaz: van a rutinokra oszts struktra! Az is belejtszik, hogy hogyan ignyldik (hvdik) egy-egy szolgltats! De az mr a msik strukturlsi szempont! (Lm, keveredik!)

    Ez egy alaptpus. Ez egy msik alaptpus.Az igazi rtegesben a rtegek kln-kln sszelinkelt s betlthet (loadable) rutinok Akr le is cserlhetk. Mirt emltjk a THE-t? Tipikus plda, hres, megrthetjk a mgttes gondolatot. Lthat a rtegezettsg elnye! De azonnal beugrik a virtulis gp koncepci is! Egy-egy rteg absztrakt gpet (virtulis gpet) biztost a felette lv rtegnek Ersti bennnk azt, hogy maga az OS virtulis gp Ez csak egy plda! Nem a The a lnyeg!Amit jegyezzenek meg: a rteges struktra egy fontos alaptpus az OS implementcikban. s tvezets a virtulis gp koncepcihoz, struktrhoz ..Kliens-szerver modellnek nevezik, de lehetne mikrokerneles modell neve is. rtsk meg az alap gondolatot: igny a kis kernelre, a szolgltatsok tbbsgt nll processzek adjk Ne vezessen flre a kliens-szerver elnevezs: ktsgtelen, a monolitikus rendszerben is rtelmezhet a kliens: az alkalmazs processz, a szolgltat: kernel rutin. Itt kliens az alkalmazs. s szolgltat egy processz. Az nll (szolgltat) processzek futhatnak kernel mdban, de akr felhasznli mdban is! Mirt mikrokernel modell is ez? Mert a kernel kicsi leht, vgs soron csak az temezst (scheduling) s a processz kzti kommunikcit (IPC) biztostja Mirt olyan fontos ez a struktra? Mert ha a szolgltatsokat processzek biztostjk, akkor azok akr ms-ms CPU-kon futhatnak, a hlzat msik gpn De ha valaki akarja, nevezheti mikrokerneles struktrnak is! De akkor figyeljen a kvetkezkre: ha az OS mikrokerneles (mindjrt ltni fogjuk az NT HAL mikrokerneljt), a mikrokernel fltt lehetnek mg akr rtegekben szolgltat rutinok Ekkor mg nem kliens-szerver struktra!

    Eddig az esettanulmnyok Ismteljk t a lnyeget! Most mr tudjuk, milyen is a kernel, ismerjk legfontosabb funkciit, implementcis lehetsgeit. Tudjuk, hogy szolgltat! Vagy maga egy kernel rutin, vagy egy nll processz.Tudjuk (rezzk), a kernel szolgltatsaihoz a kernel md futs tartozik Trjnk vissza a felletekhez! A kernel felletekhez. Ahhoz, hogy a kernel szolgltasson, a vezrls menetnek be kell jutni a kernelbe! Hogyan jut be a vezrls? Hrom mdon A system call: szinkron Ahol hvdik, arrl a pontrl jut be a vezrls Termszetesen, mdvltssal Az IT vratlan s aszinkron. Nem lehet megmondani, hogy mely ponton Az exeption vratlan, de szinkron. Nem lehet megmondani, bekvetkezik-e, de ha bekvetkezik, csakis adott ponton kvetkezhet (pl. tlcsorduls hiba csakis aritmetikai instrukcin, de hogy lesz-e, nem tudhat) Az RTL-ben minden syscallhoz van egy wrapper rutin, ez hvdik. Ez a syscall kdjt leteszi a user verembe Ezutn hvja a trap instrukcit (instrukcisor: HW fgg!): ez kapcsol t kernel mdba. Leteszik a PSLW-t (kernel verembe mr)tmsoljk a syscall kdot is lementik az ltalnos regisztereket A vezrls egy dispatch tbla szerint ugrik a megfelel szolgltat rutinra A processz kontextusban rendszer kontextusban futs fogalmakat lsd ksbb!

    A trap: x86-os processzoron ltalban INT 2E hajtdik vgre. Egyes x86-on van gyorsabb SYSENTER instrukci, akkor ez. AMD-n van SYCALL instrukci, akkor az. (CRK/UnitOS-02OperatingSystemPrinciples/2.3_Win-Personalites.ppt pp12-tl j lapok a kernelbe lpsrl!)Visszatrs egy kernel rutinbl Elszr a szolgltat rutinbl persze