Érettségi Portál 2014

Érettségi tételek, érettségi feladatok, érettségi tesztek



Érettségi feladatok
Érettségi tételek
A META-Don Bosco OKJ képzései
A Számalk-Szalézi Szakközépiskola tanfolyamai

Memória

Beküldő: adminszamalk
Informatika tételek

Memóriakezelés

A memória az egyik legfontosabb (és gyakran a legszűkösebb) erőforrás, amivel egy operációs rendszernek gazdálkodnia kell; főleg a több felhasználós rendszerekben, ahol gyakran olyan sok és nagy folyamat fut, hogy együtt nem férnek be egyszerre a memóriába. A memóriakezelésről nem lesz szó a későbbi fejezetekben, ezért itt ismertetem a fontosabb fogalmakat.

Amíg a multiprogramozás nem jelent meg, addig az operációs rendszerben nem volt olyan nagy szükség a memóriakezelő részekre. A multiprogramozás megjelenésével azonban szükségessé vált a memóriának a futó folyamatok közötti valamilyen "igazságos" elosztására. A megoldást a virtuális memóriakezelés jelentette. Ez úgy működik, hogy az operációs rendszer minden egyes folyamatnak ad a központi memóriából egy akkora részt, amelyben a folyamat még úgy ahogy működik, és a folyamatnak csak azt a részét tartja a központi memóriában, amely éppen működik. A folyamatnak azt a részét, amelyre nincs szükség (mert például már rég nem adódott rá a vezérlés, és feltételezhetjük, hogy rövid időn belül nem is fog végrehajtódni) ki kell rakni a háttértárra (a diszken az ún. lapozási területre). Ez a megoldás azért működik, mert a programok legtöbbször egy eljáráson belül ciklusban dolgoznak, nem csinálnak gyakran nagy ugrásokat a program egyik végéről a másikra (ez a lokalitás elve).

A központi egység fel van szerelve egy úgynevezett memóriakezelő egységgel (MMU), amely figyeli, hogy olyan kódrészre kerül-e a vezérlés, amely nincs benn a központi memóriában (mert például a háttértárra van kirakva). Ha a memóriakezelő egység azt találja, hogy ez az eset áll fenn, akkor az operációs rendszert arra utasítja, hogy rakja ki a háttértárra a folyamatnak azt a részét, amely jelenleg a memóriában van, és azt a részt hozza be a helyére, amelyre ezután szükség lesz.

A virtuális memória kezelése leggyakrabban lapozással (paging) történik. Ekkor a virtuális memória (egy folyamat virtuális címtartománya, amit a CPU biztosít) fel lesz osztva egyenlő nagyságú részekre, ún. lapokra (pages) – a háttértár és a memória között legalább ennyi byteot fog az operációs rendszer átvinni (vagy ennek többszörösét). A fizikai memória pedig fel lesz osztva ugyanolyan méretű lapkeretekre (page frames). Ha mondjuk a virtuális címtartomány 128 KByte, és 64 KByte fizikai memória van a számítógépbe építve, akkor ez 32 lapot, és 16 lapkeretet jelent, ha a lapméret 4 KByte. Ha egy program végrehajt egy olyan (gépi kódú) utasítást, amely a memória valamelyik rekeszére hivatkozik (a hivatkozott memóriarekesz címét nevezik virtuális címnek), akkor ezt a címet először a processzor átadja az MMU-nak, ami majd egy fizikai memóriabeli címet állít elő belőle. E feladatának ellátásához az MMU tárol egy ún. laptáblát (vagy legalábbis valamilyen módon hozzáfér a laptáblához), amely a lapok és lapkeretek egymáshoz rendelését tartalmazza egy speciális ún. "érvényességi" bittel, ami minden egyes laphoz tárolva van, és a bit értéke azoknál a lapoknál 1, amelyekhez tartozik a fizikai memóriában lapkeret. Az MMU működése során egy kapott virtuális címhez tartozó lapról megvizsgálja, hogy az "érvényességi" bitje 1-e. Ha igen, akkor a megadott laphoz tartozó lapkeret sorszámát visszaadja a CPU-nak (mondjuk … ez történhet így is), és az a kívánt adatot a megfelelő (fizikai memória-) rekeszből megszerzi (vagyis azt csinál vele, amit a gépi kódú programban a végrehajtott gépi kódú utasításban megadtak). Mi történik akkor, ha az "érvényességi" bit 0? Ekkor egy ún. hardware-interrupt (megszakítás) keletkezik, amit laphibának (page faultnak) neveznek. Ekkor kerül végrehajtásra az operációs rendszer memóriakezelő része, ami egy másik "érvényes" (fizikai memóriabeli) lapnak az 1-es érvényességi bitjét 0-ra állítja, és a hozzá tartozó lapkeretet a diszkre menti (az ún. lapozási területre). A lapkeretet ezután beírja a laptáblába ahhoz a laphoz, amelyhez a laphiba során hozzá akartak férni, betölti a diszkről (lapozási területről) a megfelelő laphoz tartozó lapkeret tartalmát, a laphoz tartozó "érvényességi" bitet 1-re állítja, és az MMU ezután már laphiba nélkül el tudja végezni a címtranszformációt.

Több programnak szüksége lehet esetleg több virtuális címtartományra is. Sok CPU lehetőséget ad szegmentált memóriakezelésre, ami annyit jelent, hogy a program több ún. szegmensben is tárolhat adatokat, és mindegyik szegmenshez külön-külön laptábla tartozhat (mondjuk … de ez nem mindig van így). Minden szegmensnek van egy dinamikusan változtatható mérete, ami az adott szegmensben megengedett legmagasabb sorszámú memóriarekeszt adja meg. Ilyen rendszerekben a memória címzésekor meg kell adni egy szegmens-sorszámot és az azon belüli virtuális címet is. Ilyen CPU-kon gyakori az is, hogy az operációs rendszer rövid időre nemcsak egy-egy lapot, hanem egy egész szegmenst visz ki a háttértárra – lényegében azt nevezik swappingnek.

A fenti leírás alapján már megérthető a virtuális memóriakezelés lényege, de azt fontos megemlíteni, hogy ez a valódi (működő) operációs rendszereknek az egyik legbonyolultabb része, és nagyon nehéz egyéb szempontoknak is megfelelő, ráadásul hatékony memóriakezelőt írni.

1.A memória fogalma:

    Azonos méretű tároló rekeszek összessége. Minden rekesznek van egy sorszáma (címe), amivel azonosítani tudjuk. Amikor a processzor megcímez egy memóriarekeszt, akkor ez azt jelenti, hogy a rekeszhez rendelt szám segítségével megkeresi azt a rekeszt, amellyel dolgozni akar.

2.A memóriák csoportosítása:

A memóriákat fizikai szempontból két csoportra osztjuk:

    • ROM (csak olvasható) típusú memóriák:

(Read-Only Memory)

Tartalmuk kiolvasható, de nem változtatható meg. Programozásuk a gyártáskor történik. A számítógép vezérléséhez szükséges alapvető parancsokat tartalmazza. Információtartalmukat a gép kikapcsolása után is megőrzik.
    Speciális fajtájuk a PROM, melyet a felhasználó egy speciális készülékkel programozhat, utána azonban tartalma csak olvasható. (pl.: az EPROM, mely ultraibolya fénnyel törölhető, majd újraírható).

    • RAM (írható és olvasható) típusú memóriák:

(Random Access Memory)

Olvashatók, törölhetők és újra írhatók. Külső tápfeszültségre van szükségük az adatok tárolásához, vagyis a gép kikapcsolásakor az adatok elvesznek.
    Operatív tár céljára használják. Egy program futtatását a számítógép úgy végzi el, hogy először beolvassa a programot a RAM-ba, majd egymás után végrehajtja a parancsokat.

Példák az egyes memóriatípusok használatára:

    • ROM típusú memóriák:

- A BIOS-t tartalmazó memória (ROM-BIOS):

    Feladata az egyes hardver elemek működésének irányítása, az alapvető gépi folyamatok vezérlése. Ennek tartalmát a DOS a RAM memóriába másolja (a RAM gyorsabb, mint a ROM).

  • Nagyfelbontású VGA monitor esetén: a vezérlőkártyán találhatunk ROM-ot.

    • RAM típusú memóriák:

- Operatív memória: Ennek az első 640 Kbyte-os részét hagyományos memóriának, az 1 Mbyte feletti részét pedig kiterjesztett memóriának (XMS) nevezzük. A DOS közvetlenül csak a hagyományos memóriát tudja kezelni.

- CMOS RAM:

    Olyan kis fogyasztású memória, amely külön akkumulátorról kapja az áramot, így a gép kikapcsolásakor sem veszti el tartalmát. A számítógép konfigurációs beállításait őrzi (SETUP).

  • CACHE memória:  Kiskapacitású gyorsító memória

Javasoljuk, hogy regisztrálj itt, mert így ingyenesen PDF formátumban is le tudod tölteni a tételeket!

 Facebook Megosztás |  Nyomtatás Nyomtatás  |  PDF letöltés

Ezek a tételek is érdekelhetnek:

» Memóriák   » Levelezés az Interneten   

Nem hasznosHasznos (+2 pont, 8 értékelésből)



Hasonló Érettségi Tételek: Címkék:
Érettségi tesztek Felvételi Pontszámító Kalkulátor