Professional Linux Kernel Architecture

Professional Linux Kernel Architecture

Wolfgang Mauerer

Language: English

Pages: 1368

ISBN: 0470343435

Format: PDF / Kindle (mobi) / ePub

Find an introduction to the architecture, concepts and algorithms of the Linux kernel in Professional Linux Kernel Architecture, a guide to the kernel sources and large number of connections among subsystems. Find an introduction to the relevant structures and functions exported by the kernel to userland, understand the theoretical and conceptual aspects of the Linux kernel and Unix derivatives, and gain a deeper understanding of the kernel. Learn how to reduce the vast amount of information contained in the kernel sources and obtain the skills necessary to understand the kernel sources.

Science for Agriculture and Rural Development in Low-income Countries

Linux System Programming: Talking Directly to the Kernel and C Library

Nuclear 2.0: Why a Green Future Needs Nuclear Power

NGUI for Unity

How to Build a Billion Dollar App: Discover the Secrets of the Most Successful Entrepreneurs of Our Time

Scrum in Action



















namespace is copied. This is much more important! 32 4:13pm Page 32 Mauerer runc01.tex V2 - 09/04/2008 4:13pm Chapter 1: Introduction and Overview Handling error return codes is something that we assume goes without saying, and so we will not pay particular attention to it. This does not imply that it is not an important thing to do, and in fact it is: Linux would be a lousy kernel if it did not handle this issue properly. But handling errors also obfuscates most operations without

fork. The link between the memory pages of the parent and child process needed to do this is visible to the kernel only and is transparent to the applications. 47 Page 47 Mauerer runc02.tex V3 - 09/04/2008 Chapter 2: Process Management and Scheduling Global identifiers allow the kernel to selectively grant or deny certain privileges. While the root user with UID 0 is essentially allowed to do anything, higher user IDs are more confined. A user with PID n may, for instance, not kill

min_coredump is a lower bound on the core file size from which a coredump will be generated (usually, this is the size of a single memory page). Each binary format must first be registered in the kernel using register_binfmt. The purpose of this function is to add a new binary format to a linked list whose list head is represented by the formats global variable from fs/exec.c. The linux_binfmt instances are linked with each other by means of their next element. 2.4.4 Exiting Processes Processes

you never know . . . . The use of highmem pages is problematic only for the kernel itself. The kernel must first invoke the kmap and kunmap functions discussed below to map the highmem pages into its virtual address space before it can use them — this is not necessary with normal memory pages. However, for userspace processes, it makes absolutely no difference if the pages are highmem or normal pages because they are always accessed via page tables and never directly. There are two types of

Calculation of Zone Watermarks Before calculating the various watermarks, the kernel first determines the minimum memory space that must remain free for critical allocations. This value scales nonlinearly with the size of the available RAM. It is stored in the global variable min_free_kbytes. Figure 3-4 provides an overview of the scaling behavior, and the inset — which does not use a logarithmic scale for the main memory size in contrast to the main graph — shows a magnification of the region up

Download sample