1 Operációs rendszerek A Windows NT memóriakezelése.

Slides:



Advertisements
Hasonló előadás
Kamarai prezentáció sablon
Advertisements

„Esélyteremtés és értékalakulás” Konferencia Megyeháza Kaposvár, 2009
Készítette: Boros Erzsi
64 bites architektúra, csapdák és átjárók Tóth Sándor Terméktámogatási tanácsadó.
1 Számítógépek felépítése 9. előadás I/O rendszerek.
Weblap szerkesztés HTML oldal felépítése Nyitó tag Záró tag Nyitó tag Záró tag oldalfej tözs.
A számítógép felépítése
Erőállóképesség mérése Találjanak teszteket az irodalomban
Hálózati architektúrák
Humánkineziológia szak
MFG-Pro váll-ir. rendszer bemutatása
Műveletek logaritmussal
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Micskei Zoltán Előadások:
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék dr. Micskei Zoltán Operációs.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Memória és perifériák virtualizációja Micskei Zoltán, Tóth.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Memória és perifériák virtualizációja Tóth Dániel Virtualizációs.
A számítógép alapegységei
Operációs rendszerek / II. félév. MEMÓRIAGAZDÁLKODÁS A memória hierarchikus szerveződése: –cache memória –központi memória (RAM) –lemezes tároló.
OSI Modell.
Virtuális méréstechnika 12. Óra Karakterisztikák mérése November 21. Mingesz Róbert v
Mérés és adatgyűjtés laboratóriumi gyakorlat levelező 4. Óra Karakterisztikák mérése November 23. Kincses Zoltán, Mellár János v
Ember László XUBUNTU Linux (ami majdnem UBUNTU) Ötödik nekifutás 192 MB RAM és 3 GB HDD erőforrásokkal.
Microsoft Windows A Windows fejlődése, általános jellemzése – 2. dia
A memória.
1 Operációs rendszerek Folyamatok kezelése a UNIX-ban.
LDinamikus tömbök, kétdimenziós tömbök Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 21./0. lVektorok létrehozása futásidőben, dinamikusan.
Utasítás végrehajtás lépései
Darupályák tervezésének alapjai
Memória hierarchia Tárolókezelő egység
DRAGON BALL GT dbzgtlink féle változat! Illesztett, ráégetett, sárga felirattal! Japan és Angol Navigáláshoz használd a bal oldali léptető elemeket ! Verzio.
1 Operációs rendszerek Az NT folyamatok kezelése.
1 Operációs rendszerek Az ütemezés megvalósítása.
A Windows NT felépítése
Operációs rendszerek.
1 Operációs rendszerek A UNIX védelmi rendszere. 2 Illetéktelen hozzáférés megakadályozása: az egyes felhasználók adataihoz, az operációs rendszer adataihoz,
Lineáris egyenletrendszerek (Az evolúciótól a megoldáshalmaz szerkezetéig) dr. Szalkai István Pannon Egyetem, Veszprém /' /
Demo/teszt környezetek Szerver konszolidáció Adatközpontok alapja.
Programrendszer 2. Erőforrás – erőforrás elosztás 3. Indítja és ütemezi a programokat 4. kommunikáció 2 Takács Béla.
Számítógép architektúra
szakmérnök hallgatók számára
A számítógép alapegységei. A számítógép a belsőleg tárolt program segítségével automatikusan hajtja végre a programokat. A memória utasítások és adatok.
Operációs rendszer.
A Memória.
Számítógép architektúrák
4. Feladat (1) Foci VB 2006 Különböző országok taktikái.
PIO és DMA Zeke Éva Anita Készült a Számítógép rendszerek és perifériák tantárgyhoz.
Hernyák Zoltán Programozási Nyelvek II.
A pneumatika alapjai A pneumatikában alkalmazott építőelemek és működésük vezérlő elemek (szelepek)
A klinikai transzfúziós tevékenység Ápolás szakmai ellenőrzése
Prímrekord, 2005 Csajbók Tímea, Farkas Gábor, Kasza János.
Magas rendelkezésre állású Hyper-V rendszer építése
Egy második generációs gép (az IBM 7094) felépítése
1. Melyik jármű haladhat tovább elsőként az ábrán látható forgalmi helyzetben? a) A "V" jelű villamos. b) Az "M" jelű munkagép. c) Az "R" jelű rendőrségi.
Virtuális Méréstechnika Sub-VI és grafikonok 1 Makan Gergely, Vadai Gergely v
Mérés és adatgyűjtés laboratóriumi gyakorlat - levelező Sub-VI és grafikonok 1 Mingesz Róbert V
CUDA C/C++ programozás
CUDA C/C++ programozás CUDA C bevezetés A segédanyag készítése a TÁMOP A/ Nemzeti Kiválóság Program című kiemelt projekt keretében.
Írja fel a tizes számrendszerbeli
A KÖVETKEZŐKBEN SZÁMOZOTT KÉRDÉSEKET VAGY KÉPEKET LÁT SZÁMOZOTT KÉPLETEKKEL. ÍRJA A SZÁMOZOTT KÉRDÉSRE ADOTT VÁLASZT, VAGY A SZÁMOZOTT KÉPLET NEVÉT A VÁLASZÍV.
Mikroprocesszorok (Microprocessors, CPU-s)
Memória példák Feladat Egy számítógép rendszermemóriája egycsatornás, 64 bites adategységekkel rendelkező DDR1-DRAM-ra épül, melyben a burst.
A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. Számítógép- hálózatok dr. Herdon Miklós dr. Kovács György Magó Zsolt.
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
Memóriakezelés feladatok. 1.Feladat Legyenek a virtuális címek 16 bitesek, a fizikai címek 15 bitesek, a lapméret legyen 2 12 bájt = 4 kB méretű, a laptábla.
IT ALAPFOGALMAK OPERÁCIÓS RENDSZEREK.
Hálózati architektúrák
Számítógép architektúrák
Memória példák 2019.
Cache példák 2019 (IMSC).
Előadás másolata:

1 Operációs rendszerek A Windows NT memóriakezelése

2 Az NT memóriakezelése Memóriakezelő feladatai:  Logikai-fizikai címtranszformáció:  a folyamatok virtuális címterének címeit megfelelteti a fizikai címeknek.  A virtuális memóriakezelés megvalósítása:  túlterheltség esetén: a régen nem használt memóriaterületek (lapok) háttértárra mentése.  hivatkozás a háttértárra mentett memórialapra:  a szálat várakoztatja addig,  amíg a kérdéses lapot be nem mozgatta a fizikai memóriába.

3 Tulajdonságok 32-bites virtuális memóriakezelés: –4 GB-os címtartomány, alapesetben: a felső 2 GB az alkalmazásoké, az alsó 2 GB az OPR-é. –nem alapesetben: boot.ini file-ban ”/3G”. A memóriát laponként (page) kezeli. Többletszolgáltatások a rendszer hatékonyságának növelése érdekében, pl.: –copy-on-write mechanizmus, –a file-ok memóriaként történő elérése (memory mapped files), így az osztott file használat megvalósulhat.

4 A boot.ini file [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS= "Microsoft Windows XP Professional - magyar" /3G

5 A memóriakezelő felhasználói interface-e A memóriakezelő szolgáltatásai a Win32 API-n keresztül érhetők el.

6 A memóriakezelő szolgáltatásai a felhasználóknak I. Virtuális memória allokáció, ill. felszabadítás. Osztott elérésű (shared) memória létrehozása. A file-ok osztott elérésű memóriához hasonló elérése. Virtuális memória kezelés (pl.: információkérés, adatok memóriába rögzítése, kiírása háttértárra)

7 A memóriakezelő szolgáltatásai a felhasználóknak II. Memória védelmi funkciók. Kernel szintű funkciók (elsősorban a device driver-ek) támogatása (pl.: fix fizikai memóriaterület használata).

8 Fizikai memória optimális kihasználása, kétfázisú memóriafoglalás

9 Memóriafoglalás az NT-ben A memóriafoglalás két lépésben történik a Windows NT-ben: –reserve virtuális címtartomány lefoglalása, –commit virtuális memória lefoglalása. Lehetőség a két lépés egy függvény- hívásban történő végrehajtására.

10 A reserve művelet  Nem jelent tényleges fizikai memóriafoglalást.  A folyamat csak deklarálja az operációs rendszer számára, hogy mennyi memóriára lesz, vagy lehet szüksége.  Mindig lapok foglalása történik:  x86-os rendszerekben ez 4 KB,  esetleges belső tördelődés fellépése.  A memórialapok mindig 64 KB memóriaegységek határán kezdődnek, az esetleges lapszám növelés miatt.

11 A commit művelet  Tényleges tárterület foglalás a rendszerben.  Csak a korábban a reserve művelettel már lefoglalt memórián hajtható végre.  Csak a commit művelet után tudja a folyamat a memóriát használni.  A csak reserve-elt memóriacímre történő hivatkozás hibát okoz.

12 A két lépcsőben történő memóriafoglalás előnyei Hatékonyabb működés: –reserve csak címtartomány foglalást végez, bejegyzés az OPR belső táblázatában, –tényleges erőforrás-használat (memória, ill. ún. backing store foglalás) csak a commit után, –a folyamatok futtatásához használt fizikai memóriaigény csökken, –lehetséges előre lefoglalni egybefüggő címtartományokat a rendszer terhelése nélkül.

13 A szálak user stack-jének foglalása I. –A stack-nek folyamatos címtartománynak kell lennie. –Alapértelmezés: 1 MB memóriát foglal reserve művelettel, de csak 2 lapnyi (2 x 4 KB) memóriát foglal a commit művelettel. Az első lap a stack teteje. A második lap szerepe, hogy a rendszer érzékelje, ha a stack megtelt, és automatikusan foglaljon commit művelettel új oldalakat.

14 A szálak user stack-jének foglalása II. A kétlépéses memóriafoglalás nélkül: –minden szál indulásakor a rendszermemóriából ténylegesen le kellene foglalni 1 MB-nyi területet, melynek valószínűleg jelentős részét a szálak többsége nem is használná.

15 Osztott elérésű memória

16 Osztott elérésű memória Folyamatok közötti információ csere. Ugyanazon utasításhalmaz, program (pl. C fordító) használata. Két folyamat adott virtuális címtartományában azonos tartalom. A folyamatok adott virtuális címtartományához azonos fizikai memórialapokat rendel. Megvalósítása az NT-ben: –a section object-tel (szekció objektum).

17 Section object NT objektum. Jellemzői: –a neve, –és az általa reprezentált file: back storage (pagefile)  osztott elérésű memória, adat file  memóriába leképzett (mapped) file, azaz file-részlet (hiszen a file mérete nagyobb lehet, mint az adott folyamat címtartománya. Pl.: DLL-ek kezelése), –ACL (Access Control List) – konfigurálható elérést szabályozó védelmi lista: mely folyamatok érhetik el, –mely (virtuális) memóriatartományban látható, –standard output átirányítások kezelése, –a cache manager kiszolgálása file-okkal.

18 Osztott elérésű memória

19 Fizikai memória optimális kihasználása, copy-on-write mechanizmus

20 A copy-on-write mechanizmus Memórialap takarékossági elv. ”Másolás írás esetén”. C-o-W jelzőbit bebillentése az adott memória lapon, ha egy folyamat egy olyan section object-et kezd használni amely már használatban van. Az új folyamat csak akkor kap önálló memórialap másolatot az eredetiről, ha memória írási műveletet kezdeményez.

21 Copy-on-write memórialapok az írást megelőzően

22 Copy-on-write memórialapok az írást követően

23 Memóriavédelem

24 Memóriavédelem A cél: – a megbízhatóan működő, robosztus operációs rendszer azaz, – hogy egyik folyamat se módosíthassa egy másik folyamat címtartományába tartozó memóriaterületeket, (kivéve az osztottan használt részeket).

25 Memóriavédelem megvalósítás szintjei Kernel modulok adatstruktúrái a felhasználói módú folyamatok számára elérhetetlenek (HW megszakítás). Folyamatonkénti diszjunkt (elkülönült) logikai címtartományok (az osztott kivételével). Elérés memóriakezelőn keresztül: –HW-rel támogatott logikai-fizikai transzformáció, –adott memórialap hozzáférésének szabályozása. Processzorfüggő memória védelmi attribútumok: –r, w, x, –pl.: a kódszegmensek memóriaterületei ”r”-t kapnak.

26 Memóriavédelem megvalósítás szintjei Section object, ACL (Access Control List): – szekció objektum elérési lista, – csak az itt felsorolt folyamatok érhetik el, – az NT védelmi rendszeréhez tartozik.

27 Kernel komponensek memóriafoglalása

28 Memória foglalás Kernel komponensek esetén nem mindig megengedett a lapozás, pl.: –kernel szinten megvalósított kölcsönös kizárás, –driver-ek által használt memóriaterületek. Így a kernel komponensek memória foglalása:  lapozott memória tárból (paged memory pool) vagy,  nem lapozott memória tárból (nonpaged memory pool) történhet.

29 Címtranszformáció, virtuális címtartomány

30 A logikai címtér felépítése

31 A logikai címtér Alkalmazás kód: –legfelső címtartomány a rendszer dinamikusan foglalt elemei, –nem minden cím használható (legalsók nem). OPR: –kernel, HAL, executive, –processz lap tábla: memória címtranszformációs táblázatok.

32 Címtranszformáció Kétszintű indexelés. HW támogatással: –DEC Alpha, –Intel x86.

33 A virtuális cím felépítése (x86) Processzorfüggő. A PDI ( Page Directory Index ) és PTI ( Page Table Index ) kijelöli az elérendő memórialapot. A BI ( Byte Index ) a lapon belüli eltolást határozza meg.

34 A címtranszformáció menete x86-os processzorok esetén page Fizikai memória KPROCESS PDIBIPTI Laptábla könyvtár Laptábla PD entryPT entry megcímzett byte 1 page logikai cím

35 Adatszerkezetek címtranszformációhoz Folyamatonkénti lap könyvtár (page directory): –maximum 1024 laptábla kezdőcím-bejegyzés, –kezdőcíme a KPROCESS-ben. Laptábla (page table): –a logikai-fizikai címtranszformáció helye, –maximum 1024 hozzárendelési bejegyzés, –maximum 512 db lehet egy processzben, illetve a rendszerben,

36 Az NT méretezhető memóriakezelése, NT memória modelljei

37 Az NT memória modelljei ”Méretezhető” operációs rendszer. Három memória méretkategória: –kicsi (small), –közepes (medium), –nagy (large).

38 A fizikai memória mérete különböző memóriamodellek esetén

39 Memória modellek használata Virtuális memóriakezelés méretezése: –laphiba esetén memóriába bemozgatandó lapok száma: demand paging (megkívánt lapszám) előretekintő lapozás, kód és adat tároló lapok megkülönböztetése, –folyamatokhoz rendelt fizikai memórialapok (working set) számának meghatározása.

40 Előretekintő lapozás Adat szegmensKód szegmens kicsi01 közepes13 nagy37 Laphiba esetén a hibát okozó lapon felül betöltendő lapok száma:

41 A ”working set” mérete minimálismaximális kicsi2045 közepes30145 nagy50345 Folyamatokhoz rendelt fizikai memórialapok száma (working set mérete):