Understanding the Linux Kernel, Third Edition

By Daniel P. Bovet, Marco Cesati

In order to entirely comprehend what makes Linux tick and why it really works so good on a large choice of structures, you want to delve deep into the guts of the kernel. The kernel handles all interactions among the CPU and the exterior global, and determines which courses will proportion processor time, in what order. It manages constrained reminiscence so good that 1000s of approaches can proportion the method successfully, and expertly organizes information transfers in order that the CPU isn't really stored ready any further than priceless for the rather gradual disks.

The 3rd version of Understanding the Linux Kernel takes you on a guided travel of the main major facts constructions, algorithms, and programming tips utilized in the kernel. Probing past superficial good points, the authors supply useful insights to those who need to know how issues relatively paintings within their laptop. very important Intel-specific good points are mentioned. proper segments of code are dissected line by way of line. however the publication covers greater than simply the functioning of the code; it explains the theoretical underpinnings of why Linux does issues how it does.

This version of the ebook covers model 2.6, which has visible major adjustments to just about each kernel subsystem, relatively within the components of reminiscence administration and block units. The booklet makes a speciality of the next topics:

  • Memory administration, together with dossier buffering, method swapping, and Direct reminiscence entry (DMA)
  • The digital Filesystem layer and the second one and 3rd prolonged Filesystems
  • Process production and scheduling
  • Signals, interrupts, and the fundamental interfaces to gadget drivers
  • Timing
  • Synchronization in the kernel
  • Interprocess conversation (IPC)
  • Program execution

Understanding the Linux Kernel will acquaint you with all of the internal workings of Linux, yet it is greater than simply an instructional workout. you will research what stipulations deliver out Linux's most sensible functionality, and you can see the way it meets the problem of delivering stable approach reaction in the course of procedure scheduling, dossier entry, and reminiscence administration in a large choice of environments. This ebook might help you are making the main of your Linux system.

Show description

Quick preview of Understanding the Linux Kernel, Third Edition PDF

Similar Computers books

Networks: An Introduction

The medical learn of networks, together with laptop networks, social networks, and organic networks, has bought an immense volume of curiosity within the previous few years. the increase of the web and the extensive availability of cheap desktops have made it attainable to collect and learn community info on a wide scale, and the improvement of various new theoretical instruments has allowed us to extract new wisdom from many alternative varieties of networks.

LaTeX: A Document Preparation System (2nd Edition)

LaTex is a software program procedure for typesetting records. since it is mainly solid for technical files and is offered for nearly any machine process, LaTex has develop into a lingua franca of the medical international. Researchers, educators, and scholars in universities, in addition to scientists in undefined, use LaTex to supply professionally formatted papers, proposals, and books.

Building a WordPress Blog People Want to Read

Having your individual weblog is not just for the nerdy anymore. this day, it kind of feels everyone—from multinational organisations to a neighbor up the street—has a weblog. all of them have one, partially, as the fogeys at WordPress make it effortless to get one. yet to truly construct a very good blog—to create a web publication humans are looking to read—takes suggestion, making plans, and a few attempt.

AutoCAD 2008 For Dummies

A steady, funny advent to this fearsomely advanced software program that is helping new clients begin growing second and 3D technical drawings immediately Covers the hot gains and improvements within the most up-to-date AutoCAD model and offers assurance of AutoCAD LT, AutoCAD's lower-cost sibling themes coated contain making a easy structure, utilizing AutoCAD DesignCenter, drawing and modifying, operating with dimensions, plotting, utilizing blocks, including textual content to drawings, and drawing on the web AutoCAD is the top CAD software program for architects, engineers, and draftspeople who have to create exact 2nd and 3D technical drawings; there are greater than five million registered AutoCAD and AutoCAD LT clients

Extra info for Understanding the Linux Kernel, Third Edition

Show sample text content

Additionally, as defined within the part "Returning from Interrupts and Exceptions" in bankruptcy four, the neighborhood CPU should have neighborhood interrupts enabled, in a different way kernel preemption isn't really played. a number of uncomplicated macros indexed in desk 5-1 take care of the preemption counter within the prempt_count box. desk 5-1. Macros facing the preemption counter subfield Macro Description preempt_count( ) Selects the preempt_count box within the thread_info descriptor preempt_disable( ) raises by way of one the price of the preemption counter preempt_enable_no_resched( ) Decreases via one the price of the preemption counter preempt_enable( ) Decreases by means of one the price of the preemption counter, and invokes preempt_schedule( ) if the TIF_NEED_RESCHED flag within the thread_info descriptor is decided get_cpu( ) just like preempt_disable( ), but in addition returns the variety of the neighborhood CPU put_cpu( ) similar as preempt_enable( ) put_cpu_no_resched( ) comparable as preempt_enable_no_resched( ) The preempt_enable( ) macro decreases the preemption counter, then assessments no matter if the TIF_NEED_RESCHED flag is decided (see desk 4-15 in bankruptcy 4). as a consequence, a strategy swap request is pending, so the macro invokes the preempt_schedule( ) functionality, which basically executes the next code: if (! current_thread_info->preempt_count && ! irqs_disabled()) { current_thread_info->preempt_count = PREEMPT_ACTIVE; schedule(); current_thread_info->preempt_count = zero; } The functionality exams no matter if neighborhood interrupts are enabled and the preempt_count box of present is 0; if either stipulations are precise, it invokes time table( ) to choose one other procedure to run. consequently, kernel preemption could ensue both whilst a kernel keep an eye on direction (usually, an interrupt handler) is terminated, or while an exception handler reenables kernel preemption through preempt_enable( ). As we will see within the part "Disabling and allowing Deferrable features" later during this bankruptcy, kernel preemption can also ensue whilst deferrable services are enabled. we are going to finish this part by way of noticing that kernel preemption introduces a nonnegligible overhead. as a result, Linux 2. 6 contains a kernel configuration choice that permits clients to allow or disable kernel preemption whilst compiling the kernel. while Synchronization is critical bankruptcy 1 brought the techniques of race situation and demanding area for strategies. an analogous definitions follow to kernel keep watch over paths . during this bankruptcy, a race situation can take place while the end result of a computation is determined by how or extra interleaved kernel regulate paths are nested. A serious sector is a piece of code that has to be thoroughly achieved by means of the kernel keep an eye on course that enters it ahead of one other kernel keep an eye on course can input it. Interleaving kernel regulate paths complicates the lifetime of kernel builders: they need to practice targeted care with a view to establish the serious areas in exception handlers, interrupt handlers, deferrable services, and kernel threads . as soon as a serious quarter has been pointed out, it has to be definitely safe to make sure that any time at such a lot one kernel keep an eye on course is inside of that sector.

Download PDF sample

Rated 4.87 of 5 – based on 16 votes