Cart
Free US shipping over $10
Proud to be B-Corp

Understanding the Linux Kernel Daniel P. Bovet

Understanding the Linux Kernel By Daniel P. Bovet

Understanding the Linux Kernel by Daniel P. Bovet


$11,69
Condition - Very Good
Out of stock

Summary

This text allows the reader to understand when Linux performs best and how it meets the challenge of different environments that assign varying importance to the system's responsiveness in process scheduling, file access and memory management.

Understanding the Linux Kernel Summary

Understanding the Linux Kernel by Daniel P. Bovet

Why is Linux so efficient? Is it the right operating system for a particular application? What can be learned from looking at the kernel source code? These are the kinds of questions that this text takes in stride in this guided tour of the code that forms the core of all Linux operating systems. The book aims to help readers understand how Linux performs best and how it meets the challenge of different environments. Theauthors introduce each topic by explaining its importance, and show how kernel operations relate to the utilities that are familiar to Unix programmers and users. Major topics include: memory management, including file buffering, process swapping, and direct memory access (DMA); the virtual file system and the second extended file system; process creation and scheduling; signals, interrupts, and the essential interfaces to device drivers; timing; synchronization in the kernel; inter-process communication (IPC); and program execution.

Understanding the Linux Kernel Reviews

'I am impressed both by the depth of coverage and by the readability of the text, especially bearing in mind the somewhat geek-like nature of the subject that's being discussed'. Is the best explanation of Linux kernel internals that I've seen so far. This one's sure to be a classic, buy it if you can.- Developers Review, February 2001

About Daniel P. Bovet

Daniel P. Bovet earned a Ph.D. in Computer Science at UCLA in 1968 and is now a full professor at the University of Rome Tor Vergata, Italy. He had to wait more than 25 years before being able to teach an OS course in a proper manner, because of the unavailability 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 to hand out tough, satisfying homework to their students. (These young guys working at home on their PC are really spoiled; they never had to fight with punched cards.) In fact, he was so fascinated by the accomplishments of Linus and his followers that he spent the last few years trying to unravel some of Linux's mysteries. It seemed natural after all that work to write a book about what he found out. Marco Cesati got a degree in Mathematics in 1992 and a Ph.D. in Computer Science (Univ. of Rome La Sapienza) in 1995. He is now a research assistant in the Computer Science Department of the School of Engineering (Univ. of Rome Tor Vergata). In the past he was system administrator and Unix programmer for the university (as a Ph.D. student) and for several institutions (as a consultant). During the last three years he has been continuously involved in teaching his students how to change the Linux kernel in strange and funny ways.

Table of Contents

Preface. Chapter One. 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. Chapter Two. Memory Addressing Memory Addresses Segmentation in Hardware Segmentation in Linux Paging in Hardware Paging in Linux Anticipating Linux 2.4 Chapter Three. Processes Process Descriptor Process Switching Creating Processes Destroying Processes Anticipating Linux 2.4 Chapter Four. 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 Returning from Interrupts and Exceptions Anticipating Linux 2.4. Chapter Five. Timing Measurements Hardware Clocks The Timer Interrupt Handler PIT's Interrupt Service Routine The TIMER_BH Bottom Half Functions System Calls Related to Timing Measurements Anticipating Linux 2.4. Chapter Six. Memory Management Page Frame Management Memory Area Management Noncontiguous Memory Area Management Anticipating Linux 2.4. Chapter Seven. 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 Anticipating Linux 2.4 Chapter Eight. System Calls POSIX APIs and System Calls System Call Handler and Service Routines Wrapper Routines Anticipating Linux 2.4. Chapter Nine. Signals The Role of Signals Sending a Signal Receiving a Signal Real-Time Signals System Calls Related to Signal Handling anticipating Linux 2.4. Chapter Ten. Process Scheduling Scheduling Policy The Scheduling Algorithm System Calls Related to Scheduling Anticipating Linux 2.4. Chapter Eleven. Kernel Synchronization Kernel Control Paths Synchronization Techniques The SMP Architecture The Linux/SMP Kernel Anticipating Linux 2.4. Chapter Twelve. The Virtual Filesystem The Role of the VFS VFS Data Structures Filesystem Mounting Pathname Lookup Implementations of VFS System Calls File Locking Anticipating Linux 2.4. Chapter Thirteen. Managing I/O Devices I/O Architecture Associating Files with I/O Devices Device Drivers Character Device Handling Block Device Handling Page I/O Operations Anticipating Linux 2.4 Chapter Fourteen. Disk Caches The Buffer Cache The Page Cache Anticipating Linux 2.4. Chapter Fifteen. Accessing Regular Files Reading and Writing a Regular File Memory Mapping Anticipating Linux 2.4. Chapter Sixteen. Swapping: Methods for Freeing Memory What Is Swapping? Swap Area The Swap Cache Transferring Swap Pages Page Swap-Out Page Swap-In Freeing Page Frames Anticipating Linux 2.4. Chapter Seventeen. The Ext2 Filesystem General Characteristics Disk Data Structures Memory Data Structures Creating the Filesystem Ext2 Methods Managing Disk Space Reading and Writing an Ext2 Regular File Anticipating Linux 2.4. Chapter Eighteen. Process Communication Pipes FIFOs System V IPC Anticipating Linux 2.4 Chapter Nineteen. Program Execution Executable Files Executable Formats Execution Domains The exec-like Functions Anticipating Linux 2.4. Appendix A. System Startup Appendix B. Modules Appendix C. Source Code Structure Bibliography Source Code Index Index

Additional information

GOR001762320
9780596000028
0596000022
Understanding the Linux Kernel by Daniel P. Bovet
Used - Very Good
Hardback
O'Reilly Media
20001107
684
N/A
Book picture is for illustrative purposes only, actual binding, cover or edition may vary.
This is a used book - there is no escaping the fact it has been read by someone else and it will show signs of wear and previous use. Overall we expect it to be in very good condition, but if you are not entirely satisfied please get in touch with us

Customer Reviews - Understanding the Linux Kernel