V

vanilla kernels, 1268

vendor ID, configuring PCI devices, 456

version control, modules elementary, 495-496 functions, 515-516 overview of, 511-512

vfork executing system calls and, 65 process duplication with, 64 VFS (virtual filesystem), 519-581

associated files, 532-536 asynchronous reading, 574 automatic expirations of mounts, 563 common file model, 521 components of, 525 connecting sequential files, 684 connecting with, 689 dentry cache organization, 544-545 dentry operations, 545-546

VFS (virtual filesystem) (continued)

dentry standard functions, 546-547

dentry structure, 542-544

device files and, 406

directory entry cache, 542

directory information, 540-541

do_follow_link function, 569-570

do_lookup function, 568

fault mechanism, 576-578

file descriptors, 532-536

file operations, 537-540, 565

file representation, 525-526

files as a universal interface, 524-525

filesystem and superblock information,

526-527 filesystem types, 520 generic read routine, 573-574 inode lists, 531-532 inode operations, 529-531 inode structure, 527-529 inodes generally, 522 interface for extended attributes (xattrs) to,

708 links, 522-523

lookup mechanism forfinding inodes,

565-568 mounting/unmounting directory trees,

549-552 namespaces, 541-542 openingfiles, 570-571 overview of, 18, 519-520 permission-checking, 578-581 programming interface, 523-524 pseudo filesystems, 563-564 reading from mappings, 574-576 read/write operations, 571-572 registering filesystems, 548-549 shared subtrees, 558-562 standard functions, 572-573 summary, 581

superblock information, 526-527 superblock management, 552-556

system calls for mount system, 556-558 system calls for unmount system, 562-563 type of filesystems, 520 working with VFS objects, 547-548 virtual address space breaking down into parts, 154-156 defined, 7

division of, 181-183 mapping physical memory to, 10-11 page tables and, 11-13 setting up address space for AMD64 systems, 188-189 virtual address space, for processes associating virtual addresses with regions,

306-308 creating layout, 294-296 layout of, 290-294 mapping, 312-314 overview of, 290 virtual clocks CFS (completely fair scheduling) operations and,107-110 run queues and, 85-86 virtual filesystems proc filesystem. Seeproc filesystem VFS. See VFS (virtual filesystem) virtual memory maps (VMMs), 190 virtual movable zone, 208-209 virtual process memory, 289-345 address spaces, mapping, 312-314 anonymous pages, 339 associating virtual addresses with regions,

306-308 copying data between kernel and userspace, 344-345 correcting page faults, 336-337 COW (copy-on-write) technique and, 339

creating layout of address space, 294-296 creating memory mappings, 314-317 creating regions, 310-312 data structures, 298, 303-304

demand allocation/paging, 337-339 heap management, 327-329 inserting regions, 309-310 kernel page faults, 341-343 layout of address space, 290-294 memory mappings, 297-298, 314 merging regions, 308-309 nonlinear mappings, 318-322, 341 operations on regions, 306 overview of, 4, 289-290 page cache and, 950 page fault handling, 330-336 priority search trees, 302 regions, 300-302 removing memory mappings,

317-318 representing priority trees, 304-305 reverse mapping, 322-327 summary, 345 trees and lists, 299 virtual address space, 290

vm_area allocating memory areas,

248-250 creating, 247-248

vm_area_struct nonlinear mappings and, 304 regions as instances of, 299-300 representing priority trees, 304-305

vmalloc address space division, 177-179 allocating memory areas, 248-250 alternatives to, 250 creating vm_area, 247-248 data structures, 245-246 freeing memory, 250-251

overview of, 245

VMMs (virtual memory maps) and, 190 VMMs (virtual memory maps), 190

Continue reading here: Z

Was this article helpful?

0 0