Skip to content

Understanding the Linux Kernal

Best in textbook rentals since 2012!

ISBN-10: 0596002130

ISBN-13: 9780596002138

Edition: 2nd 2002

Authors: Daniel P. Bovet, Marco Cesati

List price: $49.95
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

To thoroughly understand what makes Linux tick and why it's so efficient, you need to delve deep into the heart of the operating system--into the Linux kernel itself. The kernel is Linux--in the case of the Linux operating system, it's the only bit of software to which the term "Linux" applies. The kernel handles all the requests or completed I/O operations and determines which programs will share its processing time, and in what order. Responsible for the sophisticated memory management of the whole system, the Linux kernel is the force behind the legendary Linux efficiency. The new edition of "Understanding the Linux Kernel takes you on a guided tour through the most significant data…    
Customers also bought

Book details

List price: $49.95
Edition: 2nd
Copyright year: 2002
Publisher: O'Reilly Media, Incorporated
Publication date: 12/31/2002
Binding: Paperback
Pages: 784
Size: 7.00" wide x 9.25" long x 1.50" tall
Weight: 2.398
Language: English

Daniel P. Bovet got a Ph.D. in computer science at UCLA in 1968 and is now full Professor at the University of Rome, "Tor Vergata," Italy. He had to wait over 25 years before being able to teach an operating system course in a proper manner because of the lack of source code for modern, well-designed systems. Now, thanks to cheap PCs and to Linux, Marco and Dan are able to cover all the facets of an operating system from booting to tuning and are able to hand out tough, satisfying homework to their students. (These young guys working at home on their PCs are really spoiled; they never had to fight with punched cards.) In fact, Dan was so fascinated by the accomplishments of Linus Torvalds…    

Marco Cesati received a degree in mathematics in 1992 and a Ph.D. in computer science (University of Rome, "La Sapienza") in 1995. He is now a research assistant in the computer science department of the School of Engineering (University of Rome, "Tor Vergata"). In the past, he served as system administrator and Unix programmer for the university (as a Ph.D. student) and for several institutions (as a consultant).

Preface
Introduction
Linux Versus Other Unix-Like Kernels
Hardware Dependency
Linux Versions
Basic Operating System Concepts
An Overview of the Unix Filesystem
An Overview of Unix Kernels
Memory Addressing
Memory Addresses
Segmentation in Hardware
Segmentation in Linux
Paging in Hardware
Paging in Linux
Processes
Processes, Lightweight Processes, and Threads
Process Descriptor
Process Switch
Creating Processes
Destroying Processes
Interrupts and Exceptions
The Role of Interrupt Signals
Interrupts and Exceptions
Nested Execution of Exception and Interrupt Handlers
Initializing the Interrupt Descriptor Table
Exception Handling
Interrupt Handling
Softirqs, Tasklets, and Bottom Halves
Returning from Interrupts and Exceptions
Kernel Synchronization
Kernel Control Paths
When Synchronization Is Not Necessary
Synchronization Primitives
Synchronizing Accesses to Kernel Data Structures
Examples of Race Condition Prevention
Timing Measurements
Hardware Clocks
The Linux Timekeeping Architecture
CPU's Time Sharing
Updating the Time and Date
Updating System Statistics
Software Timers
System Calls Related to Timing Measurements
Memory Management
Page Frame Management
Memory Area Management
Noncontiguous Memory Area Management
Process Address Space
The Process's Address Space
The Memory Descriptor
Memory Regions
Page Fault Exception Handler
Creating and Deleting a Process Address Space
Managing the Heap
System Calls
POSIX APIs and System Calls
System Call Handler and Service Routines
Kernel Wrapper Routines
Signals
The Role of Signals
Generating a Signal
Delivering a Signal
System Calls Related to Signal Handling
Process Scheduling
Scheduling Policy
The Scheduling Algorithm
System Calls Related to Scheduling
The Virtual Filesystem
The Role of the Virtual Filesystem (VFS)
VFS Data Structures
Filesystem Types
Filesystem Mounting
Pathname Lookup
Implementations of VFS System Calls
File Locking
Managing I/O Devices
I/O Architecture
Device Files
Device Drivers
Block Device Drivers
Character Device Drivers
Disk Caches
The Page Cache
The Buffer Cache
Accessing Files
Reading and Writing a File
Memory Mapping
Direct I/O Transfers
Swapping: Methods for Freeing Memory
What Is Swapping?
Swap Area
The Swap Cache
Transferring Swap Pages
Swapping Out Pages
Swapping in Pages
Reclaiming Page Frame
The Ext2 and Ext3 Filesystems
General Characteristics of Ext2
Ext2 Disk Data Structures
Ext2 Memory Data Structures
Creating the Ext2 Filesystem
Ext2 Methods
Managing Ext2 Disk Space
The Ext3 Filesystem
Networking
Main Networking Data Structures
System Calls Related to Networking
Sending Packets to the Network Card
Receiving Packets from the Network Card
Process Communication
Pipes
FIFOs
System V IPC
Program Execution
Executable Files
Executable Formats
Execution Domains
The exec Functions
System Startup
Modules
Source Code Structure
Bibliography
Source Code Index
Index