| Előszó | 1 |
| Előszó a második kiadáshoz | 1 |
| Előszó az első kiadáshoz | 2 |
| A könyvben használt jelek | 3 |
| Bevezetés | 5 |
| A számítógépek felépítése | 6 |
| Hardver megközelítés | 6 |
| Funkcionális megközelítés | 10 |
| Az operációs rendszerek fejlődése | 12 |
| A kezdetek | 12 |
| Kötegelt feldolgozkás | 15 |
| Multiprogramozás (Többfeladatos rendszerek) | 19 |
| Interaktív rendszerek | 21 |
| Személyi számítógépek | 23 |
| A jelen és a közeljövő tendenciái | 25 |
| A Unix operációs rendszerek | 26 |
| Többprocesszoros rendszerek | 27 |
| Elosztott rendszerek | 28 |
| Operációs rendszerek mindenhol | 30 |
| Alapfogalmak | 30 |
| Folyamatok | 30 |
| Erőforrások | 33 |
| Az operációs rendszerek meghatározása | 34 |
| Az operációs rendszerek szerkezete, szolgáltatásai | 35 |
| Rendszermag (KERNEL) | 37 |
| Rendszerhívások, válaszok | 37 |
| Eszközkezelők, megszakításkezelés | 38 |
| Virtuális gépek | 41 |
| Az IBM VM rendszere | 42 |
| A Sun JAVA rendszere | 44 |
| Összefoglalás | 45 |
| Ellenőrző kérdések | 45 |
| Felhasználói felület | 47 |
| A felhasználó és a rendszermag | 48 |
| Külső erőforrások | 48 |
| Belső erőforrások | 49 |
| A programozói felület | 50 |
| Forráskód elkészítése | 50 |
| Fordítás | 50 |
| Szerkesztés | 51 |
| Betöltés, dinamikus könyvtárak | 52 |
| Karakteres felhasználói felület | 53 |
| Programkezelés | 53 |
| Program indítása | 54 |
| Program környezet beállítása | 55 |
| A folyamat futásának ellenőrzése | 56 |
| Vezérlési szerkezetek | 56 |
| A parancsértelmező egyéb funkciói | 56 |
| Grafikus felhasználói felületek | 57 |
| Az ablakozó rendszer működése | 58 |
| A grafikus felületek jellemzői | 60 |
| Ablakok rendszere | 60 |
| Az események címzettjének felismerése | 60 |
| Eszközfüggetlen működés | 60 |
| Az adatforgalom csökkentése | 61 |
| Segédporgramok, alrendszerek | 61 |
| Egy felhasználóbarát felület jellemzői | 63 |
| Ellenőrző kérdések | 65 |
| Állományok | 67 |
| Fájlnevek | 69 |
| Fájlok jellemzői | 72 |
| Közvetett hivatkozások | 73 |
| Katalógusok (directory) | 74 |
| Katalógus nélkül | 75 |
| Egyszintű katalógus | 75 |
| Kétszintű katalógus | 76 |
| Többszintű (hierarchikus) fájl rendszer | 77 |
| Hozzáférési jogok | 79 |
| Jogosultságok típusai | 80 |
| Jogok nyilvántartása | 81 |
| Fájlok elhelyezése | 81 |
| Folytonos kiosztás | 82 |
| Láncolt elhelyezés | 84 |
| Indextábla alkalmazása | 85 |
| Műveletek állományokkal, katalógusokkal | 86 |
| Állomány, katalógus létrehozása | 86 |
| Írás, olvasás állományokba | 86 |
| Ellenőrző kérdések | 88 |
| Lemezkezelés | 89 |
| Háttértárolók felépítése | 90 |
| Mágnesszalagok | 91 |
| Mágneslemezek | 93 |
| Optikai tárolók | 95 |
| Eszközmeghajtók | 98 |
| A lemez eszközmeghajtójának felépítése | 99 |
| Lemezütemezés - a meghajtó "felső" oldala | 101 |
| Sorrendi kiszolgálás | 101 |
| A címszámítása - az eszközmeghajtó "alsó" oldala | 103 |
| Memória területek kiválasztása | 104 |
| Aszinkron átvitel megvalósítása | 104 |
| Átmeneti tárak (Buffer pool) | 104 |
| Lemezgyosítás (Disc caching) | 105 |
| Az adattárolás optimalizálásának más módszerei | 106 |
| Blokkméret optimalizálása | 106 |
| Adattömörítés | 108 |
| Megbízhatóság, redundancia | 110 |
| Ellenőrző kérdések | 113 |
| Erőforráskezelés | 115 |
| Erőforrás kezelés | 116 |
| Erőforrás foglalási gráf | 117 |
| Holtpont | 118 |
| Kiéheztetés | 119 |
| Példa - a vacsorázó bölcsek | 121 |
| Holtpont kezelő stratégiák | 122 |
| Holtpont megelőző stratégiák | 124 |
| Egyetlen foglalási lehetőség (One-shot allocation) | 124 |
| Rangsor szerinti foglalás (Hierarshical allocation) | 125 |
| A bankár algoritmus (Banker's algorithm) | 127 |
| Holtpont felszámolása | 136 |
| Holtpont detektálása | 136 |
| Holtpont megszüntetése | 137 |
| Közös erőforrások | 139 |
| Ellenőrző kérdések | 147 |
| Folyamat- és processzorkezelés | 149 |
| Folyamatok létrehozása | 149 |
| Műveletek folyamatokkal | 151 |
| Várakozási sorok | 151 |
| Környezetváltás | 153 |
| A folyamatok alapállapotai | 153 |
| Felfüggesztett állapot | 155 |
| Processzorütemezés | 156 |
| Előbb jött, előbb fut (FCFS) | 158 |
| Legrövidebb előnyben (SJF) | 160 |
| Körben járó algoritmus (RR) | 161 |
| Prioritásos módszerek | 164 |
| Ellenőrző kérdések | 164 |
| Memóriakezelés | 167 |
| Valóságok tárkezelés | 167 |
| Rögzített címzés | 168 |
| Áthelyezhető címzés | 168 |
| Átlapoló (overlay) módszer | 169 |
| Tárcsere (swapping) | 170 |
| Állandó partíciók | 171 |
| Rugalmas partíciók | 173 |
| Lapozás (paging) | 174 |
| Virtuális tárkezelés | 179 |
| A virtuális tárkezelés alapjai | 181 |
| Lapkiosztási elvek | 185 |
| Lapcsere stratégiák | 187 |
| Az optimális stratégia (Optimal - OPT) | 187 |
| Előbb jött - előbb megy (First In First Out - FIFO) | 189 |
| Legrégebben használt (Last Recently Used - LRU) | 190 |
| Egyéb lapozási stratégiák | 191 |
| Második esély (Second Chance - SC) | 192 |
| Mostanában nem használt | 193 |
| A programozó szerepe a laphibák számának csökkentésében | 194 |
| A címszámítás gyorsítása asszociatív tárral | 194 |
| Tárvédelem, szegmentálás | 198 |
| A folyamatok logikai egységeinek védelme | 199 |
| A folyamatok védelme egymástól | 202 |
| Az operációs rendszer védelme - prioritások | 204 |
| A címszámítás gyorsítása szegmentálásnál | 205 |
| Összetett memóriakezelés | 206 |
| Gyorstárak (Cache memóriák) | 208 |
| Tároló hierarchia | 209 |
| Ellenőrző kérdések | 211 |
| A párhuzamos programozás alapjai | 213 |
| Bevezetés | 213 |
| A precedenciagráf | 214 |
| Fork - Join utasításpár | 217 |
| Parbegin - Parend utasításpár | 221 |
| Ellenőrző kérdések | 231 |
| Irodalomjegyzék | 233 |
| Függelék | |
| Windows (Ágoston György) | |
| A Linux (Knapp Gábor) | |