Understanding the Linux Kernel, Third Edition 3rd Edition by Daniel P. Bovet (PDF)

20

 

Ebook Info

  • Published: 2005
  • Number of pages: 944 pages
  • Format: PDF
  • File Size: 5.35 MB
  • Authors: Daniel P. Bovet

Description

In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn’t kept waiting any longer than necessary for the relatively slow disks.The third edition of Understanding the Linux Kernel takes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does.This edition of the book covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. The book focuses on the following topics:Memory management, including file buffering, process swapping, and Direct memory Access (DMA) The Virtual Filesystem layer and the Second and Third Extended FilesystemsProcess creation and schedulingSignals, interrupts, and the essential interfaces to device driversTimingSynchronization within the kernelInterprocess Communication (IPC) Program executionUnderstanding the Linux Kernel will acquaint you with all the inner workings of Linux, but it’s more than just an academic exercise. You’ll learn what conditions bring out Linux’s best performance, and you’ll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. This book will help you make the most of your Linux system.

User’s Reviews

Editorial Reviews: About the Author 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 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.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).

Reviews from Amazon users which were colected at the time this book was published on the website:

⭐I have several books on Linux kernel. This book is very old now in 2021, and partly outdated, but still is very valuable source of information about how different subsystems of kernel work. It contains information not only how to use kernel to write drivers, but also description of internals, like interrupts, workqueues, synchronization primitives, memory subsytem, filesystems.

⭐The Understanding the Linux Kernel (3rd edition) covers essentially all the kernel’s major systems and methodologies in depth. It also conveys a deep understanding in terms that an average computer programmer can grasp with effort. Those of you who have designed and built your own operating systems will also gain insight with this book into the reasoning used to do things like memory allocation, device I/O copy operations, and deep memory management techniques. It covers in depth the 32 bit paging systems, but is a little shy on the new SLUB allocator and x86_64 bit paging. IA64 is covered in adequate detail, but more focus is on the 32 bit side of the house. Overall it does give you the locations to look for more information and provides a well organized and intuitive guide to the Linux kernel in general. Highly recommended reading if you are looking to truly understand the Linux kernel, or do things around it (i.e. circumvention of security mechanisms, etc.).

⭐The book “Undestanding the Linux Kernel”,explains clearly the inner workings of thecurrent 2.6 Linux kernel.The presentation is at a considerable level of detail,the authors fully describe the important data structures,and the significant chunks of code.The book is indispensable to any seriousLinux kernel developer.However, it can be used also at the contextof an “Operating Systems Design” academic courseand the students can learn a lot from thetechnologically advanced Linux 2.6 kernel implementationand can modify/recompile and install their own version!The level of the book is advanced and I recommendconcurrently with it, the reader to study also thebook: “Linux kernel development” by Robert Lovethat presents the algorithms also very clearly,but with a more academic view,without zooming to all the implementation concerns.I own both books and by studing them, I can havethe significant experience of customizing the source codeof the superior Linux 2.6 kernel.

⭐This book covers the 2.6 kernel, which is ancient and feels somewhat irrelevant for trying to learn about modern versions like 4.4 or 5.4.Also, I bought this book hoping it would cover more about the kernel layout in memory, load-time and boot-time patching, and organization of kernel files in the file system.

⭐This is a great book for learning the Linux kernel. I’ve only read the first few chapters, but I’ve already learned so much. Be careful though – if you don’t already have some background in Linux and OS concepts much of this will probably go over your head. The book is best for people who have a good amount of exposure to a variety of operating systems, specifically Unix, and want to get a deeper understanding of the Linux kernel.

⭐My need was specific, i.e., to add a new system call interface to Linux without ever having worked with the Linux kernel before. This book has been a fine guide for accomplishing this. The Linux kernel moves fast enough that no published text could be completely consistent with the current source. However, this was close enough to give me a lay of the land and the treatment of memory management and process/thread control had enough routine names and labels that I could search through the source with relative ease. I would recommend it for anyone else jumping into the kernel for the first time.

⭐Well written, but not overly wordy, this one is at my fingertips at all times. I actually have a copy at home, and one at work, as I constantly need to look up a smaller tidbit, only to completely forget it moments later 🙂 Such is life.What I love about it most, is how long it takes me to find, understand, and incorporate what I need to get working- The layout is fantastic that way, and info presented in a clear way, which is easy to understand :)Totally Recommended. (pick up the programming interface from no starch press as well)

⭐Prepare to have you brain melted. This book is FACINATING but not for everyone. It’s EXCEEDINGLY nerdy and doesn’t attempt to simplify complex nitty gritty details, and it shouldn’t. This book is an excelent place to start if you want to dig deeper into the kernel itself. It would be an excelent choice to read before a book on drivers (

⭐) or low level networking

⭐) which are both also very good books.I would give it 4 stars but it’s not quite as well written as some of the other books on Free software published by O’Reilly.

⭐This book really is exactly what it says, it will take you from linux poweruser/administrator to understanding the basics of the kernel, and getting that vital starting point in developing.I bought it some time ago for some background reading and found it a little bit too detailed for that, but am now studying it in more detail for a potential honuors project at university on linux file systems, which involves some kernel jiggery-pokery. Without this, I doubt I’d ever be able to get started.It explains big ideas in English, then goes on to explain the interesting parts in English, along with the tiny bit of C code it is describing.Well written and explains rarer generic things in an easily skippable way – for example there is a part of the kernel that uses double-linked-lists and the page before that explains them in a nice box, so that anybody who knew about them already (since they are a general topic and not specific to kernels) can skip it easily.

⭐Good product

⭐Describes the ideas, concepts, and algorithms used in the 2.6 Linux kernel in a good an interesting way.

⭐If you’re looking for a high-level review of how the Linux kernel works, this isn’t the book for you. This is a deep-dive into the technical aspects of the kernel. The level of detail is extremely deep – as an example, the assembly code used to manage the MMX registers during a process context switch are mentioned! An excellent reference, although it focuses on the x86 platform, only mentioning x86_64 or other processor architectures in passing. Still, if you’ll looking to leap into Linux kernel programming, this is the book for you.

⭐Es un libro que para aquellos que busquen entender como funciona realmente el Kernel de Linux, no se decepcionaran, aunque es cierto que si es bastante tecnico y deberas tener conocimientos previos de Ciencias de la Computación o Ingenieria.

Keywords

Free Download Understanding the Linux Kernel, Third Edition 3rd Edition in PDF format
Understanding the Linux Kernel, Third Edition 3rd Edition PDF Free Download
Download Understanding the Linux Kernel, Third Edition 3rd Edition 2005 PDF Free
Understanding the Linux Kernel, Third Edition 3rd Edition 2005 PDF Free Download
Download Understanding the Linux Kernel, Third Edition 3rd Edition PDF
Free Download Ebook Understanding the Linux Kernel, Third Edition 3rd Edition

Previous articleSoftware-Intensive Systems and New Computing Paradigms: Challenges and Visions (Lecture Notes in Computer Science, 5380) 2008th Edition by Martin Wirsing (PDF)
Next articleComplexity and Approximation: Combinatorial Optimization Problems and Their Approximability Properties by G. Ausiello (PDF)