1 / 41

Operációs rendszerek

Operációs rendszerek. Óravázlat Készítette: Kucsera Mihály és Toldi Miklós. A memóriakezelés. A memóriakezelés célja, hogy a memória kihasználása hatékonyan történjen, de mindemellett rugalmasan. Memóriakezelés formái. Valóságos tárkezelés Virtuális tárkezelés. Valóságos tárkezelés.

crevan
Download Presentation

Operációs rendszerek

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Operációs rendszerek Óravázlat Készítette: Kucsera Mihály és Toldi Miklós

  2. A memóriakezelés A memóriakezelés célja, hogy a memória kihasználása hatékonyan történjen, de mindemellett rugalmasan.

  3. Memóriakezelés formái • Valóságos tárkezelés • Virtuális tárkezelés

  4. Valóságos tárkezelés A valóságos tárkezelés a virtuális tárkezelés a tárkezelések régebbi fajtája. (A valóságos szó a virtuálistól való megkülönböztetés miatt lett használva.) Valóságos tárkezelés esetén az éppen végrehajtás esetén a végrehajtandó folyamat teljes egészében a memóriában kell, hogy legyen.

  5. Valóságos tárkezelés fajtái • Rögzített címzés • Áthelyezhető címzés • Átlapolás (overlay) • Tárcsere (swapping) • Partícionálás • Lapozás

  6. Rögzített címzés Rögzített címzés esetében előre ismert, hogy a program a memória melyik részében fog futni. A memória ilyenkor ketté van osztva. Az egyik részében helyezkedik el az operációs rendszer, a másik részében a felhasználói programok. A kettő rész közti határt az un. határregisztet jelzi.

  7. Áthelyezhető címzés – I. Az áthelyezhető címzés a rögzített címzés legfontosabb hibájának, a rögzítésnek kiküszölésére törekekedett. Ilyekor a használni kívánt memóriát úgy címezhetjük meg, hogy egy báziscímhez képest adunk egy logikai értéket, a kettő együtt adja a tényleges címet.

  8. Áthelyezhető címzés – II. Relatív cím: 0518h Fizikai cím: 2518h Báziscím: 2000h

  9. Átlapolás (overlay) – I. Ha a fizikai memória nem elegendő nagyságú egy adott programnak, akkor a programozó az átlapolásos technikához fordulhat. Ebben az esetben a programot olyan méretű modulokra kell osztani, amely biztosan elfér a memóriában. A memóriában állandó jelleggel az operációs rendszer mellett csak a program rezidens része tartózkodik, amely a modulok közti átkapcsolást végzi. Az éppen nem használt modulok a háttértárolón helyezkednek el.

  10. Átlapolás (overlay) – II.

  11. Tárcsere (swapping) – I. A tárcsere az első módszer, amely lehetővé teszi, hogy több felhasználó programja tartózkodjon a memóriában – vagyis multiprogramozott rendszereknél is használható ez a módszer. A tárcsere lényege az, hogy a felhasználó egy adott ideig használhat egy memóriarészt (munkaterületet). Az idő letelte után a teljes (!) munkaterület tartalma a háttértárolóra, egy un. csere (swap) állományba másolódik, ahonnan a következő program bekerül a memóriába.

  12. Tárcsere (swapping) – II. A swappolás csak passzív folyamatokkal hajtható végre. Ezenfelül a swappolás nem végezhető input/output műveletek alatt.

  13. Tárcsere (swapping) – III.

  14. Partícionálás A partícionálás során felhasználói folyamatok részére rendelkezésre álló memóriaterületet egymástól független részekre osztjuk, partíciókra osztjuk. Partícionálás fajtái: - állandó - rugalmas

  15. Állandó partícionálás – I. Az állandó partícionálásnál a legnagyobb probléma a partíciók méretének kiválasztása. Túl kicsi esetében nem férnek el a folyamatok, míg a túl nagy partícióknál a szabad hely kihasználatlan. Ezzel kapcsolatban lép fel egy, erre a tárkezelési modellre jellemző hiba, a belső elaprózódás (internal fragmention).

  16. Állandó partícionálás – II.

  17. Állandó partícionálás – III. A partíciókat tartalmazó operációs rendszer összetettebb feladatokat végez: • Partíciók nyilvántartása (méret, bázisregiszer cím) • Partíciók kijelölése a folyamatok számára • Folyamatkezelés a partícióra váró folyamatok között (FC-FS, SJF)

  18. Rugalmas (dinamikus) partícionálás – I. Az állandó partícionálás hátrányait jórészt ki lehet küszöbölni azzal, ha a használható partíciók számát és méretét nem rögzítjük. A partíció méretét azonban érdemes a 2 valamely hányadosának többszörösére választani, mert eme feltétel nélkül a címszámítás feleslegesen bonyolult lenne.

  19. Rugalmas (dinamikus) partícionálás – II. A rugalmas (dinamikus) partícionálás megszünteti a belső elaprózódást, ellenben megjelenik a külső elaprózódás (external fragmention), amely tömörítéssel megszüntethető, de ez jelentős erőforrásokat igényel.

  20. Rugalmas (dinamikus) partícionálás – III.

  21. Lapozás (paging) – I. Ha feladjuk azt az alapállást, hogy a folyamatok a memóriában folytonosan helyezkedjenek el, akkor a külső elaprózódás megszűnik. Ilyenkor a folyamat által használni kívánt memóriaterületet egyenlő és viszonylag kisméretű (2-4 kB) részekre, lapokra osztjuk fel.

  22. Lapozás (paging) – II. A folyamat ekkor a memóriában nem egy összefüggő részen fog elhelyezkedni, hanem elszórva, a szükséges számú lap lefoglalásával. Hogy egy folyamat milyen lapokat használ, az az un. laptáblában van nyilvántartva.

  23. Lapozás (paging) – III. Fizikai lap sorszám Logikai lap sorszám

  24. Lapozás (paging) – IV.

  25. Lapozás (paging) – V. • A logikai cím részei: • Lapszám (lapcím) - a a laptábla indexe • Lapon belüli eltolás - a lapon belüli relatív cím

  26. Virtuális tárkezelés A virtuális tárkezelés során egy olyan, virtuális vagy logikai címtartomány kerül kialakításra, amely elszakad a fizikai memória korlátaitól. Ennek alapjai: • a processzor által címezhető memória nagysága • a háttértár mérete és bevonása a tárkezelésbe • a programok lokalitásának elve, vagyis egy futó programnak csak viszonylag kis része kell, hogy a memóriában legyen.

  27. A virtuális tárkezelés előnyei • Több folyamat futhat párhuzamosan • Gyorsabb a programok betöltése • A programok mérete jóval nagyobb lehet

  28. A lapszervezésű virtuális tár – I. • Lapokra osztjuk fel a virtuális és az operatív tárat is. • Az operatív memóriában csak az éppen szükséges lapokat tartjuk bent. • Laptábla tartja nyilván, hogy mely lapok vannak bent az operatív tárban. • A processzor által kiadott (logikai) címet át kell alakítani operatív tárbeli (fizikai) címmé.

  29. A lapszervezésű virtuális tár – II.

  30. Címszámítás lapszervezésű virtuális tár esetén

  31. Laphiba (page fault) Laphibának nevezzük azt a helyzetet, ha egy folyamat olyan memóriacímre hivatkozik, ami olyan lapon található, amely nincs betöltve az operatív memóriába. A laphiba nem hibás működés (bár a neve erre utal), hanem a lapszervezésű virtuális tár velejárója !!

  32. Teendők laphiba esetén • Ellenőrizzük, hogy az adott folyamat használhatja-e az adott címet • A lapot behozzuk a háttértárról az operatív tárba (természetesen előtte egy lapot lehet, hogy ki kell menteni) és módosítjuk a laptáblát • Meg kell ismételni annak az utasításnak a végrehajtását, ahol a laphiba fellépett

  33. A laptábla vezérlés mezőjének tartalma • Bent van-e a lap az operatív memóriában (present) • Módosítottuk-e (dirty) • Információ a lapcseréhez (pl. milyen régóta van bent az adott lap) • Védelmi információ

  34. A lapszervezésű virtuális tár működési algoritmusa

  35. Lapkiosztási elvek • Lapkiosztás: az a döntési metódus, amely során meghatározásra kerül, hogy egy folyamat hány lappal gazdálkodhat. Lehetőségek: • Egyenletes elosztás: minden folyamat ugyanannyit használ- sok laphibát okoz • Arányos: Nagyobb virtuális memória- igényhez többet kap • Prioritásos: magasabb prioritású folyamat többet kap, az azonos prioritásúak között egyenletes, vagy arányos elosztás

  36. Vergődés (trashing) Egy adott folyamatnak olyan alacsony az általa használható lapok száma, hogy több időt tölt lapcserével, mint futással.

  37. Lapcsere stratégiák – I. A lapcsere stratégiák arra szolgálnak, hogy eldöntsük, hogy melyik lap maradjon az operatív tárban, és melyik kerüljön a háttértárolóra. A lapcsere egy időigényes folyamat, ezért nagyon fontos, hogy a lehető legoptimálisabban osszuk el a laaapokat.

  38. Lapcsere stratégiák – II. • FIFO (First in First out): Az operációs rendszer azt a lapot cseréli, amely legrégebben van a memóriában. • LRU (Last Recently Used): Az operációs rendszer azt a lapot cseréli, amelyre legrégebben hivatkozott folyamat. • SC (Second Chance): Azokat a lapokat nem cseréli, melyekre hivatkozás van. • NRU (Not Recently Used): Azok a lapok kerülnek kilapozásra, melyeket mostanában nem használnak .

  39. FIFO lapcsere stratégia • A behozott lapok számait egy FIFO sorban tároljuk. • Laphiba esetén a FIFO elején álló lapot cseréljük le. • A behozott lap sorszámát a FIFO végére írjuk. • Előny: egyszerű • Hátrány: sok laphibát okoz

  40. LRU lapcsere stratégia • Az új lapot mindig annak a helyére hozzuk be, amelyre a legrégebben hivatkoztunk (a lokalitási elv alapján erre lesz a legkevésbé valószínűleg szükség a későbbiek során) • Előny: viszonylag jól közelíti az optimálist • Hátrány: kiegészítő hardware -t igényel, lassú

  41. NRU lapcsere stratégia • Az LRU –hoz hasonló stratégia • Az operációs rendszer azok közül a lapok közül választja ki a lecserélendőt, amelyek az előző lapcsere óta • nem módosultak • és/vagy nem hivatkoztak rájuk

More Related