| Előszó | |
| Előszó a második kiadáshoz | |
| Előszó az első kiadáshoz | |
| A könyvben használt jelek | |
| Bevezetés | 1 |
| A számítógépek felépítése | 2 |
| Hardver megközelítés | 2 |
| Funkcionális megközelítés | 7 |
| Az operációs rendszerek fejlődése | 9 |
| A kezdetek | 9 |
| Kötegelt feldolgozás | 12 |
| Multiprogramozás (Többfeladatos rendszerek) | 15 |
| Interaktív rendszerek | 18 |
| Személyi számítógépek | 20 |
| Feldolgozási módok összefoglalása | 22 |
| A jelen és a közeljövő tendenciái | 22 |
| A Unix operációs rendszerek | 23 |
| Többprocesszoros rendszerek | 24 |
| Elosztott rendszerek | 26 |
| Operációs rendszerek mindenhol | 27 |
| Alapfogalmak | 27 |
| Folyamatok | 28 |
| Erőforrások | 31 |
| Az operációs rendszerek meghatározása | 33 |
| Az operációs rendszerek szerkezete, szolgáltatásai | 34 |
| Virtuális gépek | 40 |
| "Virtuális" kernel | 41 |
| "Vékony" kliensek | 43 |
| A Linux története | 44 |
| Unix kezdetek | 44 |
| A Linux születése | 45 |
| Rendszermag, rendszer, disztribúció | 46 |
| Összefoglalás | 47 |
| Ellenőrző kérdések | 47 |
| Felhasználói felület | 49 |
| A felhasználó és a rendszermag | 50 |
| Külső erőforrások | 50 |
| Belső erőforrások | 51 |
| A programozói felület | 51 |
| Forráskód elkészítése | 52 |
| Fordítás | 52 |
| Szerkesztés | 53 |
| Betöltés, dinamikus könyvtárak | 54 |
| Karakteres felhasználói felület | 55 |
| Programkezelés | 55 |
| A parancsértelmező egyéb funkciói | 58 |
| Grafikus felhasználói felületek | 59 |
| Az ablakozó rendszer működése | 60 |
| A grafikus felületek jellemzői | 61 |
| Segédporgramok, alrendszerek | 64 |
| Egy felhasználóbarát felület jellemzői | 65 |
| A Linux felhasználói felülete | 66 |
| Állományok, katalógusok | 69 |
| Fájlnevek | 71 |
| Fájlok jellemzői | 73 |
| Közvetett hivatkozások | 75 |
| Katalógusok (directory) | 76 |
| Katalógus nélkül | 76 |
| Egyszintű katalógus | 77 |
| Kétszintű katalógus | 78 |
| Többszintű (hierarchikus) fájl rendszer | 79 |
| Hozzáférési jogok | 80 |
| Hozzáférési jogok típusai | 81 |
| Jogok nyilvántartása | 82 |
| Fájlok elhelyezése | 83 |
| Folytonos kiosztás | 84 |
| Láncolt elhelyezés | 86 |
| Indextábla alkalmazása | 87 |
| Műveletek állományokkal, katalógusokkal | 89 |
| A fájlrendszerek jövője | 91 |
| Állománykezelés a Linuxban | 92 |
| Logikai állománykezelés | 92 |
| Klasszikus fájlkezelés | 92 |
| A virtuális fájlrendszer | 94 |
| EXT2FS - A Linux lemezes fájl rendszere | 94 |
| PROC - A nemlétező fájlok rendszere | 96 |
| Biztonság | 96 |
| Háttértárkezelés | 101 |
| Háttértárolók felépítése | 102 |
| Mágnesszalagok | 103 |
| Mágneslemezek | 104 |
| Optikai tárolók | 106 |
| Eszközmeghajtók | 108 |
| A lemez eszközmeghajtójának felépítése | 109 |
| Lemezütemezés - A meghajtó "felső" oldala | 111 |
| A címszámítás - az eszközmeghajtó "alsó" oldala | 114 |
| Memória területek kiválasztása | 115 |
| Az adattárolás optimalizálásának más módszerei | 119 |
| Blokkméret optimalizálása | 119 |
| Adattömörítés | 121 |
| Megbízhatóság, redundancia | 123 |
| Korszerű tároló architektúrák | 126 |
| Nagy tárolórendszerek jellemzői | 126 |
| A tárolórendszerek megbízhatósága | 128 |
| Hierarchikus tároló architektúrák | 130 |
| Erőforráskezelés | 135 |
| Az erőforrás kezelő | 136 |
| Erőforrás foglalási gráf | 137 |
| Holtpont | 138 |
| Kiéheztetés | 139 |
| Példa - A vacsorázó bölcsek | 141 |
| Holtpont kezelő stratégiák | 141 |
| Holtpont megelőző stratégiák | 143 |
| Holtpont felszámolása | 154 |
| Közös erőforrások | 157 |
| Folyamat- és processzorkezelés | 167 |
| Folyamatok létrehozása | 167 |
| Műveletek folyamatokkal | 169 |
| Várkozási sorok | 169 |
| Környezetváltás | 171 |
| A folyamatok alapállapotai | 171 |
| Felfüggesztett állapot | 173 |
| Processzorütemezés | 174 |
| Előbb jött, előbb fut | 176 |
| Legrövidebb előnyben | 178 |
| Körben járó algoritmus | 180 |
| Prioritásos és preemptív módszerek | 182 |
| A Linux folyamatkezelési megoldása | 184 |
| A kernel folyamatainak szinkronizálása | 184 |
| CPU ütemezés | 185 |
| Memóriakezelés | 189 |
| Valóságos tárkezelés | 189 |
| Rögzített címzés | 190 |
| Áthelyezhető címzés | 190 |
| Átlapoló módszer | 191 |
| Tárcsere | 192 |
| Állandó partíciók | 193 |
| Rugalmas partíciók | 195 |
| Lapozás | 196 |
| Virtuális tárkezelés | 201 |
| A virtuális tárkezelés alapjai | 203 |
| Lapkiosztási elvek | 207 |
| Lapcsere stratégiák | 209 |
| Hogyan csökkentheti a programozó a laphibák számát? | 216 |
| A címszámítás gyorsítása asszociatív tárral | 217 |
| Tárvédelem, szegmentálás | 220 |
| A folyamatok logikai egységeinek védelme | 221 |
| A folyamatok védelme egymástól | 224 |
| Az operációs rendszer védelme - prioritások | 225 |
| Gyorstárak | 228 |
| Tároló hierarchia | 229 |
| Linux memóriakezelés | 231 |
| A fizikai memória kezelése | 231 |
| Virtuális memória | 232 |
| Programok betöltése | 233 |
| A párhuzamos programozás alapjai | 235 |
| Bevezetés | 235 |
| A precedenciagráf | 236 |
| Fork-Join utasításpár | 238 |
| Parbegin-Parend utasításpár | 242 |
| Ellenőrző kérdések | 250 |
| Felhasznált irodalom | 251 |