| Üdvözlet az Olvasónak! | 5 |
| Előszó | 15 |
| Bevezetés | 17 |
| A Linux | 17 |
| A szabad szoftver és a Linux története | 18 |
| Információforrások | 20 |
| Linux Documentation Project | 20 |
| Linux Software Map (LSM) | 20 |
| További információforrások | 20 |
| Betekintés a Linux-kernelbe | 21 |
| A Linux-kernel felépítése | 21 |
| A Linux elindulása | 23 |
| Processzek | 24 |
| A Linux-processzekhez kapcsolódó információk | 25 |
| A processz állapotai | 26 |
| Azonosítók | 27 |
| Processzek létrehozása | 28 |
| A programok futtatása | 28 |
| Ütemezés | 29 |
| Multiprocesszoros ütemezés | 33 |
| Idő és időzítők | 33 |
| Memóriakezelés | 34 |
| A virtuálismemória-kezelés | 34 |
| Lapozás | 35 |
| A lapozás implementációja a Linuxon | 36 |
| A lapkezelés gyorsítása | 40 |
| Fejlesztőeszközök | 41 |
| Szövegszerkesztők | 41 |
| Emacs | 41 |
| vi 41 | 41 |
| pico | 42 |
| joe42 | 43 |
| Fordítók | 44 |
| GNU Compiler Collection | 44 |
| gcc | 48 |
| Make | 50 |
| Megjegyzések | 50 |
| Explicit szabályok | 51 |
| Változódefiníciók | 52 |
| Direktívák | 52 |
| Implicit szabályok | 55 |
| KDevelop | 55 |
| Hibakeresés | 57 |
| gdb | 57 |
| Példa a gdb használatára | 57 |
| A gdb indítása | 58 |
| Töréspontok: breakpoint, watchpoint, catchpoint | 59 |
| xxgdb | 61 |
| Data Display Debugger (DDD) | 61 |
| A KDevelop beépített hibakeresője | 62 |
| Memóriakezelési hibák | 63 |
| Electric Fence | 65 |
| Not Just Another Malloc Debugger (NJAMD) | 69 |
| mpr | 73 |
| MemProf | 75 |
| Rendszerhívások monitorozása: strace | 76 |
| További hasznos segédeszközök | 76 |
| Állomány- és I/O-kezelés | 77 |
| Egyszerű állománykezelés | 79 |
| Az állományleíró | 79 |
| Hozzáférés állományleíró nélkül | 80 |
| Állományok megnyitása | 80 |
| Állományok bezárása | 81 |
| Írás, olvasás, mozgás az állományban | 82 |
| Részleges írás, olvasás | 84 |
| Állományok rövidítése | 85 |
| Inode-információk | 85 |
| Inode-információk kiolvasása | 86 |
| Jogok lekérdezése | 87 |
| Jogok állítása | 87 |
| Tulajdonos és csoport beállítása | 88 |
| Az időbélyeg beállítása | 89 |
| Könyvtárbejegyzések módosítása | 90 |
| Eszközállományok és Pipe- bejegyzések | 90 |
| Merev hivatkozás létrehozása | 91 |
| Szimbolikus hivatkozás létrehozása | 91 |
| Állományok törlése | 92 |
| Állományok átnevezése | 93 |
| Névtelen csővezetékek | 93 |
| Könyvtárműveletek | 94 |
| Munkakönyvtár | 94 |
| Könyvtárváltás | 94 |
| A Root könyvtár módosítása | 95 |
| Könyvtár létrehozása | 95 |
| A könyvtár törlése | 95 |
| A könyvtártartalom olvasása | 96 |
| I/O-multiplexelés | 97 |
| Nem blokkolt I/O | 99 |
| Multiplexelés a select függvénnyel | 101 |
| Állományzárolás | 105 |
| Záróállományok | 106 |
| Rekordzárolás | 110 |
| Kötelező zárolás | 111 |
| A soros port kezelése | 111 |
| Kanonikus feldolgozás | 111 |
| Nem kanonikus feldolgozás | 114 |
| Aszinkron kezelés | 116 |
| Felhasználói nevek, csoportnevek | 117 |
| Azonosító-név leképezés | 117 |
| A név-azonosító leképezés | 119 |
| Konkurens programozás | 121 |
| Processzek | 121 |
| Jogosultságok, azonosítók és jellemzők | 121 |
| Processzek létrehozása és megszüntetése | 123 |
| Processzek közötti kommunikáció | 129 |
| Szemaforok | 130 |
| Üzenetsorok | 134 |
| Megosztott memória | 141 |
| Jelzések | 146 |
| Szálak és szinkronizációjuk | 151 |
| Szálak létrehozása | 152 |
| Kölcsönös kizárás (mutex) | 161 |
| Feltételes változók (condition variable) | 163 |
| Szemaforok | 168 |
| Core-dump mechanizmus adaptálása | 170 |
| Könyvtárak fejlesztése | 173 |
| A programkönyvtárak alapfogalmai | 173 |
| Statikus programkönyvtárak | 175 |
| Megosztott programkönyvtárak | 175 |
| Elnevezési szintek | 176 |
| Megosztott programkönyvtárak létrehozása | 176 |
| A megosztott könyvtárak betöltése | 177 |
| Dinamikusan betöltött programkönyvtárak | 177 |
| Példák programkönyvtárakra | 179 |
| Egy egyszerű programkönyvtár | 179 |
| Statikus felhasználás | 180 |
| Megosztott programkönyvtár fordítása | 181 |
| Dinamikus könyvtárhasználat | 181 |
| Dinamikus szript | 183 |
| Hálózati kommunikáció | 185 |
| Egyszerű socketkezelés | 185 |
| Socketek létrehozása | 185 |
| A kapcsolat felépítése | 187 |
| A socket címhez kötése | 187 |
| Várakozás a kapcsolódásra | 188 |
| Kapcsolódás a szerverhez | 188 |
| Unix domain socket | 189 |
| Unix domain-címek | 190 |
| Unix domain kliensalkalmazás | 190 |
| Névtelen Unix domain socket | 193 |
| TCP/IP | 194 |
| A hardverfüggő különbségek feloldása | 195 |
| Címzés | 195 |
| Portok | 195 |
| A socketcím megadása | 196 |
| Név- és címfeloldás | 198 |
| Összeköttetés alapú kommunikáció | 203 |
| Összeköttetés nélküli kommunikáció | 215 |
| Az IPv6 címformátum kezelése | 219 |
| Távoli eljáráshívás | 222 |
| Az RPC-modell | 222 |
| Verziók és számok | 223 |
| Portmap | 223 |
| Szállítás | 224 |
| XDR | 224 |
| rpcinfo | 224 |
| rpcgen | 224 |
| Helyi eljárás átalakítási távoli eljárássá | 225 |
| Linux-eszközvezérlő | 231 |
| Kernelmodulok | 231 |
| Hello modul-világ | 232 |
| A modulok és az alkalmzások közti különbség | 233 |
| Felhasználói mód - kernel mód | 235 |
| Konkurenciakezelés | 235 |
| Fordítás | 236 |
| Használat-nyilvántartás | 236 |
| Karakteres eszközvezérlő | 237 |
| Major és minor számok | 237 |
| Állományműveletek | 238 |
| "Hello világ" driver | 239 |
| Az eszközvezérlő konfigurálása | 243 |
| A /proc állományrendszer | 243 |
| Egyszerű hibakeresés | 245 |
| Betöltési paraméterek | 245 |
| A kernelmodulok további lehetőségei | 247 |
| Grafikus felület fejlesztése és alkalmazása | 249 |
| X Window | 249 |
| X Window architektúra | 249 |
| Ablakkezelők | 250 |
| XWindows kliensalkalmazások | 250 |
| Asztali környezet | 251 |
| Fejlesztés KDE-környezetben | 253 |
| Eseményvezérelt programozás | 254 |
| Hello World | 255 |
| KDE-programstruktúra | 256 |
| Egyszerű alkalmazás | 257 |
| A szignál-szlot modell | 262 |
| Szlot létrehozása | 262 |
| Szignál küldése | 263 |
| A szignál és a szlot összekapcsolása | 263 |
| Szignál-szlot metódus, paraméterekkel | 265 |
| Meta Object Compiler | 268 |
| Egyszerű származtatott widget | 268 |
| Dialógusablakok | 270 |
| Dialógus alapú alkalmazás | 289 |
| Konfigurációs állományok | 290 |
| A Dokumentum/Nézet-architektúra | 291 |
| Utószó | 315 |
| Irodalomjegyzék | 317 |
| Függelék: Terminológia | 319 |
| A fontosabb szakkifejezések magyarázata | 319 |
| Angol-magyar szójegyzék | 326 |
| Magyar-angol szójegyzék | 329 |
| Tárgymutató | 333 |
| Függvénymutató | 340 |
| A könyvhöz mellékelt CD tartalma és használata | 342 |