|
|
Àâòîðèçàöèÿ |
|
|
Ïîèñê ïî óêàçàòåëÿì |
|
|
|
|
|
|
|
|
|
|
Love R. — Linux kernel development |
|
|
Ïðåäìåòíûé óêàçàòåëü |
/dev/random character device, output entropy 357—358
/dev/urandom character device, output entropy 357—358
ABBA deadlocks 127
Absolute time 157
Accessing system calls from user-space (C library) 72—73
Action modifiers (gpf_mask flags) 188—189
activate_task() function 53
Adding kobjects from sysfs file system 300
Addresses (memory) 251
Addresses (memory), intervals, creating 264—265
Addresses (memory), intervals, removing 266
Addresses (memory), memory areas 251—252
Addressing memory 183—185
address_space object, page caches 270
address_space object, page caches, a_ops field 271
address_space object, page caches, commit_write() method 272
address_space object, page caches, host field 271
address_space object, page caches, i_mmap field 271
address_space object, page caches, prepare_write() method 272
address_space object, page caches, readpage() method 272
address_space object, page caches, writepage() method 272
address_space object, radix tree, searching page caches 273
add_interrupt_randomness() function 356
add_keyboard_randomness() function 357
add_mouse_randomness() function 357
add_timer_randomness() function 357
Advisory locks 124
AIX (IBM) 2
Algorithms, asymptotic behavior 359
Algorithms, big-o notation 359—360
Algorithms, big-theta notation 360
Algorithms, defined 359
Algorithms, scalability 359
Algorithms, scheduling algorithm 43—44
Algorithms, time complexity values, dangers of 361
Algorithms, time complexity values, listing of 360—361
Alignment of data 328
Alignment of data, issues 328
Alignment of data, nonstandard types 329
Alignment of data, structure padding 329—330
Allocating, kobjects 296
allocating, memory 181 185—194 198—201
Allocating, memory descriptor 254
Allocating, memory, statically on stacks 201—202
Allocating, memory, which method to use 208
Allocating, process descriptors 25—26
alloc_page() function 185—186 208
anonymous mapping 264
Anticipatory I/O Scheduler, directory location 248
Anticipatory I/O Scheduler, minimized read latency 247—248
API (Application Programming Interface) 64
APIC timer 167
Application Programming Interface (API) 64
Arch directory, kernel source tree 12
Architectures, Linux support, word sizes 324—325
Architectures, page size listing 333
Arguments, system calls 65
Arrays, per-CPU data 204
Assembly instructions, inline assembly (GNU C) 18
Asserting bugs 314—315
Asynchronous interrupts 76
AT&T (American Telephone & Telegraph) 1
Atomic operations, bitwise 134
Atomic operations, bitwise, listing of operations 135—136
Atomic operations, increments 131
Atomic operations, integers 132
Atomic operations, integers converting 133
Atomic operations, integers counter implementation 133
Atomic operations, integers defining 132
Atomic operations, integers listing of operations 133—134
Atomic operations, integers overhead advantages 134
Atomic operations, integers testing 133
Atomic operations, interfaces 131
Atomic operations, supported architectures 131
Atomicity, debugging 314
Atomicity, versus ordering 134
atomic_t data type 132
atomic_t data type (opaque) 326
atomic_t data type, converting 133
atomic_t data type, counter implementation 133
atomic_t data type, defining 132
atomic_t data type, testing 133
Attributes, sysyfs file system, conventions 302—303
Attributes, sysyfs file system, creating 301—302
Attributes, sysyfs file system, destroying 302
Back merging, Linus Elevator 244—245
Barrier operations (ordering) 134
barrier() function 155
Barriers 155
Barriers, functions 153—155
Barriers, ordering instructions, memory-reads (loads) 153—154
Barriers, ordering instructions, memory-writes (stores) 153—154
Bdflush daemon, flaws 276—277
Bell Laboratories, Unix developmental history 1
Berkeley Software Distributions (BSD) 1
BH interface (bottom halves) 95
BH interface (bottom halves), elimination of 96
BH interface (bottom halves), tasklet processing 107
bh_state flags (buffers) 237—239
Big Kernel Lock (BKL) 149—150
Big-endian ordering 330—332
Big-O notation 359—360
Big-theta notation 360
Binary searching, debugging method 320
Binary semaphores 144
Binding system calls 71—72
Bio structure, bi_cnt field 241
Bio structure, bi_idx field 241
Bio structure, bi_io_vecs field 241
Bio structure, bi_private field 242
Bio structure, bi_vcnt field 241
Bio structure, segments 239—240
Bio structure, versus buffer heads 242
Bitwise atomic operations 134—136
bi_cnt field (bio structure) 241
bi_idx field (bio structure) 241
bi_io_vecs field (bio structure) 241
bi_private field (bio structure) 242
bi_vcnt field (bio structure) 241
BKL (Big Kernel Lock) 149—150
Block device files, page caches 270
block devices 235—236
Block devices, buffer heads 237—239
Block devices, buffers 237—239
Block devices, clusters 236
Block devices, cylinders 236
Block devices, heads 236
Block devices, request queues 242—243
Block devices, sectors 236
Block I/O layer 236
Block I/O layer, bio structure, bi_idx field 241
Block I/O layer, bio structure, bi_io_vecs field 241
Block I/O layer, bio structure, bi_private field 242
Block I/O layer, bio structure, bi_vcnt field 241
Block I/O layer, bio structure, hi_cnt field 241
Block I/O layer, bio structure, segments 239—240
Block I/O layer, bio structure, versus buffer heads 242
Block I/O layer, block I/O scheduler 243
Block I/O layer, block I/O scheduler, Anticipatory 247—248
Block I/O layer, block I/O scheduler, Complete Fair Queuing (CFQ) 248—249
Block I/O layer, block I/O scheduler, Deadline 245—247
Block I/O layer, block I/O scheduler, disk seeks management 244
Block I/O layer, block I/O scheduler, Linus Elevator 244—245
Block I/O layer, block I/O scheduler, Noop 249
Block I/O layer, block I/O scheduler, selection options 249
Block I/O layer, buffer heads versus bio structure 242
Block I/O layer, request queues 242—243
Blocked tasks 52—54
BogoMIPS value 177
Booleans, kernel, building 13—15
| Bottom halves, interrupt handlers, BH interface 95—96
Bottom halves, interrupt handlers, disabling 116—118
Bottom halves, interrupt handlers, locking between 116
Bottom halves, interrupt handlers, managing 94
Bottom halves, interrupt handlers, mechanism selection criteria 115—116
Bottom halves, interrupt handlers, softirqs 96—98
Bottom halves, interrupt handlers, softirqs, executing 98—100
Bottom halves, interrupt handlers, softirqs, handler registration 100—101
Bottom halves, interrupt handlers, softirqs, index assignments 100
Bottom halves, interrupt handlers, softirqs, raising 101
Bottom halves, interrupt handlers, task queues 95
Bottom halves, interrupt handlers, tasklets 96 101
Bottom halves, interrupt handlers, tasklets, declaring 104
Bottom halves, interrupt handlers, tasklets, disabling 105
Bottom halves, interrupt handlers, tasklets, ksoftirqd threads 105—107
Bottom halves, interrupt handlers, tasklets, old BH interface 107
Bottom halves, interrupt handlers, tasklets, removing 105
Bottom halves, interrupt handlers, tasklets, scheduling 102—105
Bottom halves, interrupt handlers, tasklets, structure of 102
Bottom halves, interrupt handlers, tasklets, writing 104
Bottom halves, interrupt handlers, version terminology 97
Bottom halves, interrupt handlers, when to use 94—95
Bottom halves, interrupt handlers, work queues, old task queues 114—115
Bottom halves, interrupt handlers, work queues, queue creation 113—114
Bottom halves, interrupt handlers, work queues, relationships among data structures 111
Bottom halves, interrupt handlers, work queues, run_workqueue() function 110—111
Bottom halves, interrupt handlers, work queues, thread data structures 108—110
Bottom halves, interrupt handlers, work queues, work creation 111—112
Bottom halves, interrupt handlers, work queues, work flushing 113
Bottom halves, interrupt handlers, work queues, work scheduling 113
Bottom halves, spin locks, softirqs 141
Bottom halves, spin locks, spin_lock_bh() function 140
Bottom halves, spin locks, tasklets 141
Bottom halves, task queues 96
Bottom halves, tasklets 97
Bottom halves, work queues 97 111
Braces (coding style) 336—337
Branch annotation (GNU C) 18—19
BSD (Berkeley Software Distributions) 1
Buffer caches 273—274
Buffer heads (block devices) 237—239
Buffer heads (block devices), versus bio structure 242
Buffers (block devices) 237—239
Buffers (block devices), bh_state flags 238
Buffers (block devices), relationship with sectors 236
Bug reports, submitting 341—342
BUG() routine 314—315
Bugs, asserting 314—315
Bugs, atomicity debugging 314
Bugs, BUG() routine 314—315
Bugs, dump_stack() routine 315
Bugs, information dumps 314—315
Bugs, manifestation of 308
Bugs, oops 311—313
Bugs, panic() routine 315
Bugs, range of 308
Bugs, reproducing 307—308
BUG_ON() routine 314—315
Building kernel 13
Building kernel, Booleans 13—15
Building kernel, noise minimization 15
Building kernel, spawning multiple jobs 15
Building kernel, tristates 13—15
Bumping reference counts 296
Busy looping 175—176
Byte ordering 332
Byte ordering, big-endian 330—332
Byte ordering, little-endian 330—332
bzip2 format, tarball distribution format 11—12
C library 17 64
C library, libc 16—17
C library, system calls, accessing from user-space 72—73
C++-style comments 338
C-style comments 338
Caches 269
Caches, slab layer 195
Caches, thrashing the cache 207
ccache(1) utility 15
Chain of command, hackers 341
Chain of command, kernel maintainor 341
Chain of command, maintainers 341
Char data type, signed_char 327—328
Char data type, unsigned_char 327—328
Character devices 235
Children, process family hierarchy 29—30
Children, processes, reparenting 37—38
Circular linked lists 346
Circular log buffer 310—311
cli() function 89—90
clone() system call 34
Clusters (block devices) 236
Coarse locking 130
Coding style, braces 336—337
Coding style, comments 338—339
Coding style, consistency 336
Coding style, documentation 336
Coding style, functions 337—338
Coding style, Hungarian notation 338
Coding style, ifdef preprocessor directives 340
Coding style, importance of 336
Coding style, indent utility 340—341
Coding style, indentation 336
Coding style, interfaces 339
Coding style, line size 337
Coding style, naming conventions 338
Coding style, productivity 336
Coding style, structure initializers 340
Coding style, typedefs 339
Commands, kallsyms 313
commands, ksymoops 313
Comments, C++-style 338
comments, C-style 338
Comments, coding style 338—339
commit_write() method, address_space object 272
Community of Linux users 335
Complete Fair Queuing (CFQ) I/O Scheduler 248—249
complete() function 149
Completion variables 148—149
Concurrency, kernel 20
Concurrency, processes 124—125
Concurrency, processes, interrupt-safe 125
Concurrency, processes, preempt-safe 125
Concurrency, processes, SMP-safe 125
Concurrency, threads 33
Condition variables, debugging 318
Configuration tools (kernel), make config utility 14
Configuration tools (kernel), make defconfig utility 14
Configuration tools (kernel), make gconfig utility 14
Configuration tools (kernel), make menuconfig utility 14
Configuration tools (kernel), make oldconfig utility 14
Configuration tools (kernel), make xconfig utility 14
Configuring modules (Kconfig file) 284—286
Contended locks 124
Contended spin locks 137
Contention (locks) 128
context switching 57—58
context_switch() function 57—58
Controlling interrupts 88—92
cooperative multitasking 39—40
Copy-on-write (COW), process creation 31
Core (operating systems) 4
Counting semaphores 144
COW (copy-on-write), process creation 31
CREDITS file 341
Critical regions, multiple threads of execution 120
Critical regions, synchronization protections, ATM processing example 120—122
Crypto directory, kernel source tree 12
current date and time 157 169—171
Cylinders (block devices) 236
D-BUS, Kernel Event Layer 304
|
|
|
Ðåêëàìà |
|
|
|