Operációs rendszerek. Az NT memóriakezelése

Hasonló dokumentumok
Operációs rendszerek III.

Előadás_#12. Előadás_12-1 -

Operációs rendszerek. Az NT folyamatok kezelése

Operációs rendszerek. Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok:

Operációs rendszerek. UNIX fájlrendszer

Fábián Zoltán Hálózatok elmélet

Utolsó módosítás:

386 processzor címzés

A Windows NT tulajdonságai. Operációs rendszerek. Az NT története. Az NT története. Az NT felépítése. Az NT felépítése

Operációs rendszerek. Elvárások az NTFS-sel szemben

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

Számítógép Architektúrák

Programozás alapjai. 10. előadás

Operációs rendszerek. Folyamatok kezelése a UNIX-ban

Operációs rendszerek Memóriakezelés 1.1

Utolsó módosítás:

Operációs rendszerek. A Windows NT felépítése

Memória és perifériák virtualizációja. Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák

Mutatók és mutató-aritmetika C-ben március 19.

Debreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Operációs Rendszerek II. Első verzió: 2009/2010. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Virtuális memóriakezelés Védelem. Memória védelem. Intel x68. Izsó Tamás október 18. Izsó Tamás Memória védelem/ 1

Az informatika alapjai. 10. elıadás. Operációs rendszer

8. Memória management

Operációs rendszerek. Windows NT. A Windows NT

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Dr. Illés Zoltán

Számítógép felépítése

Az előadás magáncélra szabadon felhasználható. Köz- és felsőoktatásban felhasználható, csak előtte kérlek írj egy t nekem.

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

Operációs rendszerek. UNIX/Linux fájlrendszerek

Problémák. Lehet hogy a program nem fér be a memóriába Mozgatás diszkre és vissza A programok lokalitásának elve

Elosztott rendszerek

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc -

Hatékony memóriakezelési technikák. Smidla József Operációkutatási Laboratórium január 16.

OOP #14 (referencia-elv)

Telepítési útmutató a Solid Edge ST7-es verziójához Solid Edge

Fájl rendszer. Fájl koncepció Elérési módok Könyvtár szerkezet Védelem Konzisztencia szemantika

Alkalmazások architektúrája

9. Állományok kezelése. Operációs rendszerek. Állomány (file) Könyvtár. Az állománykezelő feladatai. Az állományrendszer réteges implementációja

Utolsó módosítás:

Virtualizációs Technológiák Operációs rendszer szintű virtualizáció Konténerek Forrás, BME-VIK Virtualizációs technológiák

Utolsó módosítás:

Operációs rendszerek. A Windows NT

Jelszavak helyes megválasztása, szótáras törés. Pánczél Zoltán

Memóriakezelés (Memory management)

Az Ön kézikönyve SAMSUNG CLP-770ND

Operációs rendszerek. Az X Window rendszer

Élet az IPv4 után. Hbone workshop

Könyvtári szervervirtualizáció Oracle Virtual Machine platformon

A verem (stack) A verem egy olyan struktúra, aminek a tetejéről kivehetünk egy (vagy sorban több) elemet. A verem felhasználása

SQLServer. SQLServer konfigurációk

Alkalmazások biztonsága

Rootkitek. Előadó: Barta Csaba

8. gyakorlat Pointerek, dinamikus memóriakezelés

Számítógép architektúrák

Operációs rendszerek. Bemutatkozás

Telepítési útmutató. 1.1 lépés : Telepítés típusa - ablak :

Virtuális memóriakezelés Védelem. Memória védelem. Intel X86. Izsó Tamás október 1. Izsó Tamás Memória védelem/ 1

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r

Hálózati operációs rendszerek II.

Samsung Universal Print Driver Felhasználói útmutató

Operációs Rendszerek II. 5. előadás

Előadás_#13. Egy lemez írási művelet kiszolgálása

Operációs Rendszerek II.

Dr. Illés Zoltán

Máté: Számítógép architektúrák

SQLServer. Probléma megoldás

Informatikai Rendszerek Intézete Gábor Dénes Foiskola. Operációs rendszerek oldal LINUX

Elosztott rendszer architektúrák

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

Szegmentálás. Memória kezelési stratégia mely a felhasználó nézőpontját támogatja Például:

Tartalom. Történeti áttekintés. Történeti áttekintés Architektúra DCOM vs CORBA. Szoftvertechnológia

1. A Windows Vista munkakörnyezete 1

OPERÁCIÓS RENDSZEREK. Célkitűzések, tárgyfelépítés. Módszerek. OS fogalom, struktúrák. 2005/2006. tanév II. félév Dr. Vadász Dénes

Melyek a Windows Server 2008 R2 tiszta telepítésének (Clean Install) legfontosabb lépései?

Programok, statikus linkelés

Operációs rendszerek. A Windows NT file-rendszere (NTFS) NTFS: Windows NT File System

Virtualizáció. egy hardveren több virtuális rendszer működik egyszerre, virtuális gépekben futó önálló vendég (guest) operációs rendszerek formájában

Tartalomjegyzék. 1. fejezet A Windows 2000 választása 19

A processzor hajtja végre a műveleteket. összeadás, szorzás, logikai műveletek (és, vagy, nem)

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

C memóriakezelés. Mutató típusú változót egy típus és a változó neve elé írt csillag karakterrel hozhatjuk létre.

RIEL Elektronikai Kft v1.0

Operációs rendszerek II. Tárkezelés

Könyvtári címkéző munkahely

Az Oracle rendszer komponensei

Térinformatika. Térinformatika. GIS alkalmazói szintek. Rendszer. GIS funkcionális vázlata. vezetői szintek

C++ Gyakorlat jegyzet 5. óra. A C++ szabvány több memóriatípust különít el. Ezek közül elsősorban a stack-et használtuk eddig.

Selling Platform Telepítési útmutató Gyakori hibák és megoldások

Nem biztos, hogy mindenhol helytáll, helyenként hiányos, de az eddigi kérdések össze vannak gyűjtve őszi félév első zhval bezárólag.

Léteznek nagyon jó integrált szoftver termékek a feladatra. Ezek többnyire drágák, és az üzemeltetésük sem túl egyszerű.

Hálózati operációs rendszerek II. Novell Netware 5.1 Netware fájlrendszer

Hardver és szoftver követelmények

Bevezetés a C++ programozási nyelvbe

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása

Operációs rendszerek

Arduino bevezető Szenzorhálózatok és alkalmazásaik

Átírás:

Operációs rendszerek MS Windows NT (2000) memóriakezelés Az NT memóriakezelése 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. 2

A memóriakezel! szolgáltatásai 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) 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). 3 Folyamat címtere 4

A virtuális címek felépítése 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. 5 A címtranszformáció menete x86-os processzorok esetén KPROCESS PDI PTI BI page megcímzett byte PD entry PT entry 1 page Laptábla könyvtár Laptábla Fizikai memória 6

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 7 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ényhívásban történ! végrehajtására. 8

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. 9 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. 10

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. 11 A szálak user stack foglalása 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. 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á. 12

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). 13 Section object használata Egy folyatban egy szál létrehoz egy section objectet Más folyamatok szálai megnyithatják, és handle-kön keresztül elérhetik egy szál a section-t (vagy részeit) leképezheti a címterére view 14

Section object és egy section használata 15 Memória védelem Folyamatonkénti diszjunkt 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. Lap szint" memória védelem csak olvasható írható/olvasható végrehajtható (HW támogatás kell) guard page copy-on-write Section: objectként (security reference monitor) 16

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. 17 A copy-on-write mechanizmus (folyt.) 18

Kernel komponensek memória foglalása 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. 19 Az I/O alrendszer Réteges kialakítás Driverek dinamikus hozzáadása és eltávolítása Magas szint" nyelven való megírás lehet!sége Multi processzoros m"ködés miatt konkurencia kezelés szinkronizálás: pl. kölcsönos kizárás a közös puffer területekre Csomag alapú I/O request packet (IRP) I/O manager 20

Több réteg" driver 21 File absztrakció I/O m"veletek virtuális fájlokon I/O források és célok fájlként reprezentálva Aszinkron és szinkron I/O aszinkron esetben szinkronizálás lehet szükséges (wait a file objecten) 22

Aszinkron I/O 23 File object 24