Operációs rendszerek III.

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

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

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

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. A Windows NT memóriakezelése

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

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

Utolsó módosítás:

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

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

Operációs rendszerek. UNIX fájlrendszer

386 processzor címzés

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

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

Utolsó módosítás:

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

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

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

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

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

8. Memória management

Operációs rendszerek. A Windows NT

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.

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

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

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

Utolsó módosítás:

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

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

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

Programok, statikus linkelés

Dr. Illés Zoltán

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

Processzus. Operációs rendszerek MINB240. Memória gazdálkodás. Operációs rendszer néhány célja előadás Memóriakezelés

Memóriakezelés (Memory management)

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

Tartalomjegyzék. Előszó... 10

Utolsó módosítás:

CPU regiszterei. Átmeneti tár / Gyorsító tár / Cache memória (Oprendszer vezérelt) Központi memória

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

Uniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna

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

Az Oracle rendszer komponensei

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

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

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

8. gyakorlat Pointerek, dinamikus memóriakezelés

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

Kérdés Kép Válasz HIBAS Válasz HELYES Válasz HIBAS Válasz HIBAS Kérdés Kép Válasz HIBAS Válasz HELYES Válasz HIBAS Válasz HIBAS Kérdés Kép Válasz

Fájl rendszer (implementáció) Fájl rendszer struktúra Allokációs módszerek Szabad hely kezelése Directory implementáció Helyreállítás

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

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

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

S&T CAD/PLM SuperUser Akadémia 2016

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

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

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

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

Hálózati operációs rendszerek II. Kötetek kezelése

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

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

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

8. témakör. Memóriák 1. Számítógép sematikus felépítése: 2.A memória fogalma: 3.A memóriák csoportosítása:

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

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

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

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

Rootkitek. Előadó: Barta Csaba

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

Memóriakezelés (Memory management) folytatás Virtuális memória és kezelése

10. gyakorlat. Pointerek Tárolási osztályok

Operációs rendszerek. Bemutatkozás

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

Hálózati operációs rendszerek II. OES biztonsági rendszere

ELEKTRONIKUS MUNKABÉRJEGYZÉK MODUL

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

Rendszermodernizációs lehetőségek a HANA-val Poszeidon. Groma István PhD SDA DMS Zrt.

1. A Windows Vista munkakörnyezete 1

OPERÁCIÓS RENDSZEREK. Elmélet

Riak. Pronounced REE-ahk. Elosztott adattároló eszköz. Molnár Péter

Operációs rendszerek. A védelem célja. A fenyegetés forrásai. Védelmi tartományok. Belső biztonság. Tartalom

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

A L I N U X f e l é p í t é s e

Iman 3.0 szoftverdokumentáció

18. témakör. Jogosultságok (Windows és Linux jogosultságok összehasonlítása, helyi és megosztási jogosultságok)

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

Tranzakció-kezelés, alapfogalmak. Vassányi István, 2012.

Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407)

Alkalmazások biztonsága

OOP #14 (referencia-elv)

KnowledgeTree dokumentumkezelő rendszer

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

Párhuzamos programozási platformok

Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407)

Operációs Rendszerek II.

Az operációs rendszer szerkezete, szolgáltatásai

Programozás I gyakorlat

Átírás:

A WINDOWS NT memóriakezelése Az NT memóriakezelése Memóriakezelő feladatai: Logikai-fizikai címtranszformáció: A folyamatok virtuális címterének címeit megfelelteti 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 háttértárra mentése. Hivatkozás a háttértárra mentett memórialapra: a szálat várakoztatja amíg, bemozgatja a kérdéses lapot a fizikai memóriába.

Tulajdonságok 32-bites virtuális memóriakezelés. A memóriát laponként (page) kezeli. Többletszolgáltatások: Cél: rendszer hatékonyság növelése. Copy-on-write mechanizmus. Fájlok memóriaként történő elérése (memory mapped files). Fájlok osztott elérése. A memóriakezelő felhasználói interfésze A memóriakezelő szolgáltatásai a Win32 API-n keresztül érhetők el.

A memóriakezelő szolgáltatásai a felhasználóknak I. memória allokáció, ill. felszabadítás osztott elérésű (shared) memória létrehozása fájlok osztott elérésű memóriához hasonló elérése A memóriakezelő szolgáltatásai a felhasználóknak II. virtuális memória kezelés (információkérés, adatok memóriába rögzítése, kiírása háttértárra, stb.) kernel színtű funkciók (elsősorban a device driver-ek) támogatása (pl. fix fizikai memóriaterület használata)

Fizikai memória optimális kihasználása: Kétfázisú memóriafoglalás 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.

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

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ás bejegyzés OR 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 folyamatok futtatásához használt fizikai memóriaigénye csökken lehetőséges előre lefoglalni egybefüggő címtartományokat a rendszer terhelése nélkül 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, két lapnyi (x86-os rendszerekben kétszer 4KB) memóriát foglal commit művelettel. Első lap a stack teteje. A második lap szerepe: rendszer érzékelje, ha a stack megtelt, és automatikusan foglaljon commit művelettel új oldalakat.

A szálak user stack-jének foglalása II. 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á. Osztott elérésű memória

Osztott elérésű memória 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 NT-ben: section object section object NT objektum Jellemzői: neve általa reprezentált file back storage osztott elérésű memória adat file memóriába leképzett (mapped) fájl ACL elérését szabályozó védelmi lista mely folyamatok érhetik el mely (virtuális) memóriatartományban látható

Osztott elérésű memória C fordító (1 lap) C fordító (1 lap) C fordító (1 lap) C fordító (2 lap) C fordító (2 lap) C fordító (2 lap) C fordító (3 lap) C fordító (3 lap) C fordító (3 lap) I. process címtartománya (logikai memóriakép) Fizikai memória II. process címtartománya (logikai memóriakép) Fizikai memória optimális kihasználása: Copy-on-write mechanizmus

Copy-on-write memórialapok írást megelőzően 1 lap (eredeti adat) 1 lap (C-o-W) 1 lap (eredeti adat) 2 lap (eredeti adat) 2 lap (C-o-W) 2 lap (eredeti adat) 3 lap (eredeti adat) 3 lap (C-o-W) 3 lap (eredeti adat) I. process címtartománya Fizikai memória II. process címtartománya Copy-on-write memórialapok írást követően 1 lap (eredeti adat) 1 lap (C-O-W) 1 lap (eredeti adat) 2 lap (eredeti adat) 2 lap (C-O-W) 2 lap (módosított) 3 lap (eredeti adat) 3 lap (C-O-W) 3 lap (eredeti adat) 2 lap (másolat) I. process címtartománya Fizikai memória II. process címtartománya

Memóriavédelem Memóriavédelem Cél: robosztus operációs rendszer.

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.) Diszjunkt logikai címtartományok. (Elérés memóriakezelőn keresztül.) Processzorfüggő memória védelmi attribútumok (r, w, x). Section object: ACL (access control list) Kernel komponensek memóriafoglalása

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 Kernel komponensek memória foglalása: lapozott memória tárból (paged memory pool) nem lapozott memória tárból (nonpaged memory pool). Címtranszformáció, virtuális címtartomány

A logikai címtér felépítése 00000000 7FFFFFFF 80000000 C0000000 C0800000 FFFFFFFF alkalmazás kódja globális változók szálak stack területe DLL kernel, executive HAL processz lap tábla rendszer cache paged pool nonpaged pool felhasználói címtartomány rendszer címtartomány A logikai címtér alkalmazás kód nem minden cím használható (legalsók nem) OR: kernel, HAL, executive processz lap tábla: memória címtranszformációs táblázatok legfelső címtartomány a rendszer dinamikusan foglalt elemei

Címtranszformáció Kétszintű indexelés HW támogatás: DEC Alpha Intel x86 A virtuális cím felépítése (x86) 31 0 (LSB) laptábla könyvtár index (PDI) x86: 10 bit Alpha: 8 bit laptábla index (PTI) x86: 10 bit Alpha: 11 bit byte index (BI) x86: 12 bit Alpha: 13 bit virtuális memórialap szám eltolás

A címtranszformáció menete x86-os processzorok esetén KPROCESS PDI logikai cím PTI BI page megcímzett byte PD entry PT entry 1 page Lap tábla könyvtár Lap tábla Fizikai memória Adatszerkezetek címtranszformációhoz Lap könyvtár (page directory): max. 1024 bejegyzés, kezdőcím a KPROCESS-ben. Laptábla: max. 1024 bejegyzés, max. 512 db. (egy processzben, ill. a rendszerben).

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

A fizikai memória mérete különböző memóriamodellek esetén méret kategória x86 Alpha kicsi 19 MB 31 MB közepes 20-32 MB nem használt nagy 32 MB (NT Workstation) 64 MB (NT Server) 32 MB (NT Workstation) 64 MB (NT Server) 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 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

Előretekitő lapozás Laphiba esetén a hibát okozó lapon felül betöltendő lapok száma kicsi közepes nagy Adat szegmens 0 1 3 Kód szegmens 1 3 7 working set mérete Folyamatokhoz rendelt fizikai memórialapok száma (working set mérete) minimális maximális kicsi közepes nagy 20 30 50 45 145 345