Major sections


Let's take a look at some of the major sections of the kernel code, broken up by function. Some of these are:

  • Process control. This function includes starting, suspending, and terminating processes, signal handling for responding to external events, and setting or changing priorities. The UNIX system calls fork and exec are handled by this section.

  • IPC (Interprocess communication). Allowing processes to communicate without interfering with the operation or data of the other process is done by IPC. This can be through a pipe or by using shared memory, semaphores, or messages (part of the System-V IPC suite).

  • Scheduling. Deciding who gets to run next , and for how long, is a vital part of any system. Choices made here will determine overall performance of the system.

  • I/O. Input and output requests include opening and closing, or reading and writing data on files or devices. Device setup and control (such as baud rate settings on a terminal or modem line) are also done here.

  • Networking. Communicating between machines requires various protocols to be established and followed. This is done with Streams modules in the Solaris 2 kernel.

  • File system management. There are lots of different ways to arrange data on disk. This arrangement is known as a file system , and there are various known types with specific properties. These include UFS (the UNIX File System, for local disks), NFS (the Network File System, for accessing files on other systems as if they were locally resident), HSFS (the High Sierra File System, also known as ISO-9660 format, for CD-ROM). In SunOS and Solaris 2, handling these types has been further subdivided into type-independent "virtual FS" code and file system-, format-specific code.

  • Memory management. This function covers both the memory that is available to a given process and how the kernel manages the hardware that keeps track of all this memory.

  • Accounting/monitoring/security. Accounting is generally desirable in one form or another. It allows you to monitor and analyze resource usage. If nothing else, you will want to be able to find out who has used up all your disk space! Security may be a separate major area of the code but is also usually involved in basic operations like accessing files: Users want the ability to keep other users from examining and modifying their data.

Let's look at some of these sections in more detail, since these are the most common areas you will be examining when working with savecore files.



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