Virtual memory routines


Now let's move on to the next set of kernel memory functions: those dealing with the chunks of virtual address space in use by the various processes on the system.

A substantial part of the kernel is devoted to virtual memory processing. Some of these routines handle very specific hardware details, which we won't get into because they will be different for every architecture and MMU. However, the sections dealing with more generic, "virtual" topics can be covered. These are functions that manipulate the address spaces of processes (and the as structure) and the individual segments ( seg structures), page-handling routines, and a general high-level interface to the hat layer, for hardware address translation.

Along with these you will find more specialized routines handling anonymous memory, swap space, and the seg_vn structure, which deals with segments that refer to actual vnodes (files). There are some common naming conventions that should enable you to identify functions in each of these areas, although we will touch on only a few specific function names .

Let's start at the highest level and work down. The include files, which define the structures we're interested in and often list the important routines, are all contained in the /usr/include/vm directory for both SunOS 4 and Solaris 2.



PANIC. UNIX System Crash Dump Analysis Handbook
PANIC! UNIX System Crash Dump Analysis Handbook (Bk/CD-ROM)
ISBN: 0131493868
EAN: 2147483647
Year: 1994
Pages: 289
Authors: Chris Drake

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net