Linux Kernel Architecture

(Jacob Rumans) #1
Mauerer bindex.tex V1 - 09/05/2008 9:44am Page 1298

C programming(continued)


C programming(continued)


reference counters, 1200–1201
simplification as optimization technique,
1185–1187
source code to machine program process,
1176–1180
summary, 1221

caches/caching


block devices options, 950
buffer cache.Seebuffer cache
comparing page cache and buffer cache, 20
freeing memory by reducing kernel cache,
1030
hot-n-cold pages, 183–186
initializing during system startup,
1228–1232
page cache.Seepage cache
pros/cons of, 949
shrinking, 1092–1095
slab cache.Seeslab cache
swap cache.Seeswap cache

call table, system calls,834–835


canonical addresses, 189


central control, data synchronization,


1000–1002

CFS (completely fair scheduling), 106–117


data structures, 106–107
handling new tasks, 116–117
handling periodic tick, 114–115
latency tracking, 110–111
overview of, 38, 106
queue manipulation, 112–113
selecting next task, 113–114
virtual clock, 107–110
wake-up preemption, 115–116

character devices


accessing, 397
block devices compared with, 412–413
opening device files, 409–411
range database for, 404–405
reading from/writing to device files, 412

registering, 405–406
representing, 409
standard file operations, 407–408
types of peripheral devices, 17–18
checksums
calculating, 1137
module methods, 512–513
chicken-and-egg problem, slab allocator,
270
child processes
resource management, 443
task relationships, 62
chip-level hardware encapsulation,
interrupts handlers, 854
classes, scheduler, 89–91
classic directory allocation, Ex2, 634
classical mutexes, 362–363
classical timers.Seelow-resolution timers
cleanup functions, modules, 492–493
clock bases, 921
clock event devices
defining, 914–916
overview of, 896, 908
clock sources, 911–913
abstraction and, 895
defining, 911–913
overview of, 908
working with, 913
clone
executing system calls and, 65
process duplication with, 64
clone
overview of, 47
PID (process identification) and, 54
code
code generation compiler phase,
1175–1176
coding styles and, 1274–1276
dead code elimination, 1190
documenting, 1276–1277
spinlock protection and, 354–355
Free download pdf