Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy
počítačové znalosti >> Hardware >> CPU >> .

Ako riadi alokátor dosky alokátora pamäte v operačných systémoch?

ALLOCATOR SLAB je algoritmus prideľovania pamäte používaný v jadrách operačných systémov (a niekedy v iných systémoch vyžadujúcich vysokovýkonnú správu pamäte) na efektívnu správu pamäte pre objekty jadra. Na rozdiel od jednoduchších alokátorov, ako je Buddy System alebo jednoduchý voľný zoznam, jeho cieľom je minimalizovať vnútornú aj externú fragmentáciu a zlepšiť výkonnosť ukladaním do vyrovnávacej pamäte často používané dátové štruktúry.

Takto to funguje:

1. caches: Alokátor dosky rozdeľuje pamäť do vyrovnávacích pamätí. Každá vyrovnávacia pamäť je venovaná konkrétnemu typu objektu jadra (napr. Inodes, zásuvky, sieťové vyrovnávacie pamäte). To je kľúč k jeho účinnosti.

2. dosky: V každej vyrovnávacej pamäti je pamäť ďalej rozdelená na dosky. Doska je priľahlý blok pamäte dostatočne veľký na to, aby držal niekoľko inštancií typu objektu spojeného s touto vyrovnávacou pamäťou. Veľkosť dosky sa vyberie tak, aby zodpovedala veľkosti objektu plus akékoľvek potrebné vypchávky (na zarovnanie).

3. Tvorba objektov: Ak je potrebný nový objekt konkrétneho typu, alokátor najskôr skontroluje vyrovnávaciu pamäť spojenú s týmto typom objektu.

4. ZADARMO: V rámci každej dosky je voľný zoznam obsahujúci ukazovatele na dostupné objekty. Po požadovaní objektu najskôr tento bezplatný zoznam skontroluje alokátor. Ak sa nájde bezplatný objekt, je jednoducho prevzatý zo zoznamu, čím sa minimalizuje režijné náklady na pridelenie.

5. pridelenie dosiek: Ak je voľný zoznam v doske prázdny, alokátor by mohol vziať úplne novú dosku zo všeobecného pamäťového fondu systému.

6. Správa dosiek: Dosky môžu byť v jednom z niekoľkých štátov:

* plné: Používajú sa všetky objekty v doske.

* čiastočné: Niektoré objekty sa používajú a iné sú zadarmo.

* prázdne: Všetky objekty sú zadarmo.

7. Ak už objekt nie je potrebný, vráti sa do zoznamu bezplatných dosiek, čím sa okamžite sprístupňuje na opätovné použitie. Prázdne dosky sa často vrátia do pamäťovej skupiny systému, aby sa zachovala pamäť.

8. Minimalizácia fragmentácie: Venovaním dosiek konkrétnym typom objektov a opätovným použitím dosiek dramaticky znižuje vnútornú fragmentáciu (premrhaný priestor vo pridelených blokoch) a vonkajšia fragmentácia (zbytočný priestor medzi pridelenými blokmi). Pretože veľkosti objektov sú známe vopred, nie je potrebné hľadať a štiepenie.

Výhody alokátora dosiek:

* Rýchlosť: Veľmi rýchle pridelenie a deaktivácia z dôvodu bezplatného použitia zoznamu a minimálneho času vyhľadávania.

* znížená fragmentácia: Efektívne využíva pamäť vyhýbaním sa fragmentácii.

* Efektívnosť vyrovnávacej pamäte: Znižuje vynechanie vyrovnávacej pamäte tým, že udržiava súvisiace objekty spolu v doskách.

* škálovateľnosť: Účinne sa zaoberá vysokým počtom prideľovaní objektov a deaktiváciami.

Nevýhody alokátora dosiek:

* Pamäť režijné náklady: Každá vyrovnávacia pamäť a doska majú určité režijné náklady, pokiaľ ide o štruktúry riadenia (voľné zoznamy, metadáta).

* zložitosť: Zložitejšie implementovať ako jednoduchšie alokátori.

* Počiatočné náklady na nastavenie: Vytváranie a inicializácia vyrovnávacích pamätí a dosiek spočiatku spotrebúva.

Stručne povedané, alokátor SLAB je technika sofistikovanej správy pamäte, ktorá je obzvlášť vhodná pre potreby jadier operačného systému, kde výkon a efektívne využitie pamäte sú kritické, najmä pre často alokované a deaktované malé objekty. Zasiahne dobrú rovnováhu medzi rýchlosťou a účinnosťou pamäte tým, že sa vyhne problémom s fragmentáciou jednoduchších metód.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené