|
 |
Авторизация |
|
 |
Поиск по указателям |
|
 |
|
 |
|
 |
 |
|
 |
|
Love R. — Linux kernel development |
|
 |
Предметный указатель |
Locking, contended 124
Locking, granularity of 129
Locking, race conditions 122—124
Locking, runqueues 45
Locking, threads, need of protection 125—126
Locking, voluntary 124
Locks, Big Kernel Lock (BKL) 149—150
Locks, data versus code 139
Locks, semaphores 143 145
Locks, semaphores, acquiring 145
Locks, semaphores, behaviors 143—144
Locks, semaphores, binary 144
Locks, semaphores, counting 144
Locks, semaphores, creating 145
Locks, semaphores, Dijkstra, Edsger Wybe 144
Locks, semaphores, dynamically created 145
Locks, semaphores, functions 145
Locks, semaphores, initializing 145
Locks, semaphores, init_MUTEX() function 145
Locks, semaphores, methods listing 146
Locks, semaphores, mutex 144
Locks, semaphores, reader-writer 146—147
Locks, semaphores, releasing 146
Locks, semaphores, statically declared 145
Locks, semaphores, versus spin locks 144 148
Locks, seq locks 150—151
Locks, sleeping locks 143—145
Locks, sleeping locks, behaviors 143—144
Locks, sleeping locks, versus spin locks 144
Locks, spin locks 137—140
Locks, spin locks, basic uses 138
Locks, spin locks, debugging 139
Locks, spin locks, non-recursive nature 138
Locks, spin locks, reader-writer 141—143
Locks, spin locks, softirqs 141
Locks, spin locks, spin_lock_bh() function 140
Locks, spin locks, spin_lock_init() function 140
Locks, spin locks, spin_try_lock() function 140
Locks, spin locks, tasklets 141
Locks, spin locks, use in interrupt handlers 138—139
Locks, spin locks, versus semaphores 148
lock_kernel() function 149—150
Log buffer 310—311
Loglevels, printk() function 309—310
Loglevels, printk() function, KERN_ALERT 310
Loglevels, printk() function, KERN_CRIT 310
Loglevels, printk() function, KERN_DEBUG 310
Loglevels, printk() function, KERN_EMERG 310
Loglevels, printk() function, KERN_ERR 310
Loglevels, printk() function, KERN_INFO 310
Loglevels, printk() function, KERN_NOTICE 310
Loglevels, printk() function, KERN_WARNING 310
Low-level page allocation functions, alloc_page() 186
Low-level page allocation functions, get_free_page() 186
Low-level page allocation functions, get_zeroed_page() 186
Macros, EXPIRED_STARVING(), use in timeslices 52
Macros, MODULE_AUTHOR() 281
Macros, MODULE_LICENSE() 281
Macros, module_param() 286—288
Macros, TASK_1NTERACTIVE0, use in timeslices 52
Macros, user_mode() 168
Magic SysRq Key commands 315—316
Mailing lists, Linux Kernel Mailing List (LKML) 335
Mailing lists, subscriptions 9
Maintainers 341
MAINTAINERS file 341
Make config utility, kernel configuration 14
Make defconfig utility, kernel configuration 14
Make gconfig utility, kernel configuration 14
Make menuconfig utility, kernel configuration 14
Make oldconfig utility, kernel configuration 14
Make xconfig utility, kernel configuration 14
Mapping memory 264
Mappings, high memory 202
Mappings, high memory, permanent 203
Mappings, high memory, temporary 203—204
mb() function 154—155
mdelay() function 176—177
Memory descriptor, allocating 254
Memory descriptor, destroying 255
Memory descriptor, fields 253—254
Memory, address intervals, creating 264—265
Memory, address intervals, removing 266
Memory, addresses 183—185
Memory, addresses, memory areas 251—252
memory, allocating 181 185—194 198—201
Memory, allocating, which method to use 208
Memory, allocation 181
Memory, areas 251—252
Memory, areas, contents of 252
Memory, areas, example 260—261
Memory, areas, find_vma() function 262—263
Memory, areas, find_vma_intersection() function 263
Memory, areas, find_vma_prev() function 263
Memory, areas, linked list 259
Memory, areas, manipulating 261—263
Memory, areas, mmap field 259
Memory, areas, mm_rb field 259
Memory, areas, page protection flags 264—265
Memory, areas, red-black tree 259
Memory, areas, virtual 255—259
Memory, flags, virtual memory areas (VMAs) 257—258
Memory, free lists 194
Memory, freeing 185—187 192
Memory, high, mappings 202—204
Memory, kernel, lack of protection 19
Memory, kernel, threads, nun stuct 255
memory, mapping 264
Memory, memory descriptor 252
Memory, memory descriptor, allocating 254
Memory, memory descriptor, destroying 255
Memory, memory descriptor, fields 253—254
Memory, page titles, future management possibilities 268
Memory, page titles, levels 266—261
Memory, page titles, translation lookaside buffer (TLB) 267
Memory, pages 181—183
Memory, process address space, flat versus segmented 251
Memory, process address space, overview 251
Memory, slab allocator interface 198—200
Memory, slab allocator interface, task_stuct structure example 200—201
Memory, slab layer, caches 195
Memory, slab layer, design of 195
Memory, slab layer, inode data structure example 195—198
Memory, slab layer, objects 195
Memory, slab layer, origins of 194
Memory, slab layer, tenets of 195
Memory, stack, static allocations 201—202
Memory, virtual memory areas (VMAs) 255—256
Memory, virtual memory areas (VMAs), flags 251—258
Memory, virtual memory areas (VMAs), linked list 259
Memory, virtual memory areas (VMAs), operations 258—259
Memory, virtual memory areas (VMAs), red-black tree 259
Memory, zones 183—185
Memory-mapped files, page caches 270
Memory-reads (loads), barriers 153—154
Memory-writes (stores), barriers 153—154
Message passing (microkernels) 6
Metadata 212
Microkernels 6—7
Mm directory, kernel source tree 12
Mm struct, kernel threads 255
Mmap field, memory areas 259
mmap() function 265
mm_rb field, memory areas 259
Modifying timers 173
Modprobe utility, modules, loading 284
Modules 279
Modules, building (kbuild system) 281—282
Modules, configuration options, managing (Kconfig file) 284—286
Modules, dependencies, generating 283
| Modules, exported symbols 288—289
Modules, Hello, World! 279
Modules, Hello, World!, MODULE_AUTHOR() macro 281
Modules, Hello, World!, module_exit() function 280
Modules, Hello, World!, module_init() function 280
Modules, Hello, World!, MODULE_LICENSE() macro 281
Modules, installing 283
Modules, kernel source tree, drivers directory 281—282
Modules, living externally of kernel source tree 282—283
Modules, loading 283—284
Modules, parameters, defining 286—288
modules, removing 284
MODULE_AUTHOR() macro 281
module_exit() function 280
module_init() function 280
MODULE_LICENSE() macro 281
module_param() macro 286—288
mod_timer() function 173
Monolithic kernels 6—7
Mount flags 232
mount points 211
MULTICS 1
Multiple threads of execution 119
Multiple threads of execution, critical regions, synchronization protections 120—122
Multiple threads of execution, deadlocks 126—128
Multiple threads of execution, granularity of locking 129
Multiple threads of execution, locking 122—124 130
Multiple threads of execution, locking, coarse 130
Multiple threads of execution, locking, contention 128
Multiple threads of execution, locking, need for protection 125—126
Multiple threads of execution, race conditions, synchronization protection 120—122
Multiplexing syscalls 68
Multitasking operating systems, cooperative multitasking 39—40
Multitasking operating systems, preemptive multitasking 39—40 43
munmap() function 266
Mutex semaphores 144
Namespace 211
Namespace structure (VFS) 233—234
Naming conventions (coding style) 338
Naming kobjects 296
National Security Agency (NSA), SHA hash algorithm 355
Naturally aligned variables 328
Navigating linked lists 347—348
Net directory, kernel source tree 13
Netlink, Kernel Event Layer 304
Nice values, priority of processes 41 50
Nice values, timeslices 51
nice() function 61
Noise, minimizing noise during build process 15
Non-atomic bit operations 136
Nonstandard data types, data alignment 329
Noop I/O Scheduler, directory location 249
Notation 338
Notation, big-o notation 359—360
Notation, big-theta notation 360
NUMA (Non-Uniform Memory Architecture) 62
O(1) scheduler 40
Objects, slab layer 195
Objects, VFS, dentry 212 222—225
Objects, VFS, directory 213
Objects, VFS, file 212 226—230
Objects, VFS, inode 212 217—222
Objects, VFS, operations 213
Objects, VFS, superblock 212—217
Occurrence limiting 319—320
Oops 311—313
Opaque data types, atomic_t 326
Opaque data types, dev_t 326
Opaque data types, gid_t 326
Opaque data types, pid_t 325
Opaque data types, uid_t 326
Opaque data types, usage rules 326
open() system call 209
open_softirq() function 100
Operating systems, core 4
Operating systems, internals 4
Operating systems, kernel, general activities 6
Operating systems, kernel, idle process 6
Operating systems, kernel-space 4
Operating systems, supervisor 4
Operating systems, system calls 4
Operating systems, user-space 4
Operations objects (VFS) 213
Ordering, barrier operations 134 153—154
Ordering, versus atomicity 134
Output entropy, random number generation, /dev/random character device 357—358
Output entropy, random number generation, /dev/urandom character device 357—358
Padding structures, data alignment 329—330
Page caches 269
Page caches, address_space object 270—271
Page caches, address_space object, commit_write() method 212
Page caches, address_space object, prepare_write() method 272
Page caches, address_space object, readpage() method 212
Page caches, address_space object, writepage() method 212
Page caches, bdflush daemon 276
Page caches, block I/O operations (inodes) 270
Page caches, contents, identifying 270—271
Page caches, disk blocks, I/O buffers 269
Page caches, global hash, searching 273
Page caches, kupdated daemon 276
Page caches, origination sources, block device files 270
Page caches, origination sources, filesystem files 210
Page caches, origination sources, memory-mapped files 210
Page caches, page I/O operations 269
Page caches, pdflush daemon, as successor to bdflush daemon 216—211
Page caches, pdflush daemon, dirty page writeback 214—215
Page caches, pdflush daemon, laptop mode 215—216
Page caches, pdflush daemon, multiple threads 211
Page caches, physical RAM pages 269
Page caches, radix tree, searching 273
Page protection flags, memory areas 264—265
Page sizes, architectures 333
Page tables, future management possibilities 268
Page tables, levels 266—267
Page tables, translation lookaside buffer (TLB) 267
Page writebacks 269
Page writebacks, pdflush daemon, laptop mode 275—276
Pages (memory) 181—183
page_address() function 185
panic() routine 315
Parallelism (threads) 33
Parameters, modules, defining 286—288
Parameters, system calls 67
Parameters, system calls, verifying 68—10
Parent pointer (kobjects) 292
Parentless tasks 37—38
Parents, process family hierarchy 29—30
Patches, generating 342
Patches, incremental 12
Patches, kdb 317
Patches, kgdb patch 317
Patches, submitting 343
Pdflush daemon as successor to bdflush daemon 276—277
Pdflush daemon, configuration settings 275
Pdflush daemon, dirty page writeback 274—275
Pdflush daemon, laptop mode 275—276
Pdflush daemon, multiple threads 277
Pdflush task, kernel threads 35
Per-CPU data, arrays 204
Per-CPU data, benefits of using 207
Per-CPU data, kernel preemption 204—205
Per-CPU data, percpu interface at compile-time 205
Per-CPU data, percpu interface at runtime 206—201
Per-CPU data, thrashing the cache 207
Permanent mappings, high memory 203
per_cpu_ptr() function 207
PID (process identification value) 26—27
pid_t data type (opaque) 325
Pinned objects, reference counts 296
PIT (programmable interrupt timer) 167
|
|
 |
Реклама |
 |
|
|