Robert Love - fejlesztés a linux kernel - 96. oldal
Ebben a fejezetben megvizsgáltuk az alap működését egy blokk bemeneti és kimeneti eszközök, és a használt adatstruktúrákat manipulálni szintjének input-output egység: Bio szerkezete. amely végre a bemeneti-kimeneti művelet; buffer_head szerkezet. amely a feltérképezése a tárban oldal; kérés szerkezetét. ami egy külön input-output kérelmet. Mérlegelése után az input-output kérelmek által leírt rövid, ám fontos módja, a betetőzése, amely az áthaladás az IO-ütemezés. Úgy vélték, dilemma találkozott tervezésekor input-output műveleteket, és a négyféle ütemező, hogy jelenleg létezik a Linux kernel, valamint a bemeneti kimenete az ütemező core 2.4 - Linus lift algoritmus.
Memory területeken lehetnek az alábbi információk.
• A kijelző a végrehajtható kód futtatható folyamat tároló terület, amely az úgynevezett Code Segment (szöveg rész).
• A kijelző változók inicializálni a futtatható folyamat tároló terület, amely az úgynevezett adat szegmens (adat szekció).
• Bemutatás memória oldalon nullákkal töltjük fel, hogy feldolgozza a memória, amely nem inicializált globális változók, és az úgynevezett szegmens BSS [79] (BSS rész). Nulla memória oldal (nulla oldal, a memória oldalon nullákkal töltjük fel) - egy oldal memória, amely teljesen ki van töltve a nulla értékeket és használják, például erre a célra a fent említett.
• Bemutatás memória oldalon nullákkal töltjük fel a memóriában folyamat, mellyel a felhasználó verem folyamat térben (nem tévesztendő össze a folyamat köteget a kernel térben, amely egy különálló adatstruktúrát és kezeli és a kernel által használt).
• Az összes fájl, amelynek tartalma jelenik meg a memóriában.
• Minden területen a megosztott memóriát.
• Minden anonim feltérképezése a memóriában, mint például a társított malloc () függvény [80].
leíró memória
struct vm_area_struct * mmap; / * Területek listája memória * /
struct rb_root mm_rb; / * Vörös-fekete fa