R

race conditions, IPC, 348-349 radix trees address spaces and, 958 C programming and, 1216-1221 elements, 960-961 example of, 951-952 locking, 961 nodes, 959 tags, 959-960 RAM. See also physical memory allocation of, 13-16,133-134 backing stores and, 989 Ex2 data structures in memory, 604-606 I/O memory and, 445 page cache and, 950 page reclaim. See page reclaim page tables and, 154 random access files, 524 RB (red-black) trees as binary search trees, 299 C programming and, 1214-1216 data structures, 85

RCU (read-copy update), 357-359

core API and, 357-358 list operations, 358-359 overview of, 357 read memory barrier, 359 readahead algorithms, 413 page cache, 970-974 swap-page faults and, 1085-1086 read-copy update. See RCU (read-copy update) readelf tool, 1242 readers, RCU and, 358 reader/writers locks IPC locks, 361 overview of, 351 read/write operations asynchronous reading, 574 block devices, 421-423 character devices, 412 generic read routine, 573-574 proc filesystem, 664-666 reading from mappings, 574-576 sysfs filesystem, 702-703 VFS files, 571-572 whole pages into buffers, 979-982 real-time (RT) mutexes, 363-364 real-time scheduling class, 117-121 data structures, 118-119 operations, 119-121 overview of, 117-118 properties, 118 real-time timers, 946-947 receiving packets high-speed interfaces for packet reception, 763-765

IRQ handlers in packet reception, 765-768

network access layer, 760

network layer, 771-772

poll functions in packet reception, 765-766

traditional method, 760-763

transport layer, 795-796

records, audit record formats, 1104 red zoning, slab allocator and, 265 red-black (RB) trees as binary search trees, 299 C programming and, 1214-1216 data structures, 85 reference counters C programming language, 1200-1201 object management and, 25 references handling unresolved references for modules, 475-476 relationships between modules, 488-489 resolving references and relocation,

501-505 unresolved, 514 regions associating virtual addresses with,

306-308 creating, 310-312 inserting, 309-310 merging, 308-309 overview of, 306 representing, 300-302 register transfer language (RTL), 1175,

1179 registration active memory regions, 186-188 block devices, 406 bus system, 452-454 cache shrinkers, 1092 character devices, 405-406 filesystems, 548-549 inodes (Ex2), 630-636 interrupts, 866 IRQs, 864-865 network devices, 759-760 PCI drivers, 462-463 proc entries, 660-663 sysctls, 678-679 sysfs subsystems, 704-706 tasklets, 880-881

Reiserfs, 528

relationships, between modules, 488-489 relative addresses, relocatable files and, 475

releasing pages, 989 relocatable modules, 475 relocation entries, ELF, 1259-1263

data structures, 1261-1262 overview of, 1259-1261 relative displacement example, 1262-1263 relocation types, 1262 reorder instructions, memory and optimization barriers and, 359-360 Request for Comments (RFCs), 737 request management queues, block devices, 413-415 request queues block devices, 421-423 hardware characteristics of, 424 I/O scheduler managing, 439-440 queue plugging, 436-437 reservations, creating in Ex2, 626-628 resource limits (rlimit), 45-47 overview of, 45-46 process-specific, 46-47 resource manager, kernel as, 2 resource reservations I/O memory and, 445-446 I/O ports and, 446-448 overview of, 442

requesting/releasing resources, 444 tree data structure for managing, 442-444 return values, system calls, 835-837 reverse mapping, 322-327 benefits of, 289 creating, 324-325 data structures, 323-324 overview of, 322-323 swap cache and, 1040 using, 325-326 review process, kernel development and, 1277-1281

RFCs (Request for Comments), 737

RISC machines, 1129

rlimit (resource limits), 45-47

overview of, 45-46 process-specific, 46-47 .rmb(), 359

_rmqueue helper function, buddy system,

234-240 ROM, 445 routing, 777-778 routing tables, 774 RT (real-time) mutexes, 363-364 RTL (register transfer language), 1175, 1179

rules, audit, 1104-1106 run queues defined, 85

manipulating, 112-113 overview of, 91-92 scheduling domains and, 123 running state, processes, 38-39

rwlock_t, 361

Continue reading here: S

Was this article helpful?

0 0