Understanding the Linux Kernel

From I/O Ports to Process Management

Author: Daniel P. Bovet,Marco Cesati

Publisher: "O'Reilly Media, Inc."

ISBN: 9780596554910

Category: Computers

Page: 944

View: 7458

DOWNLOAD NOW »

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 Filesystems Process creation and scheduling Signals, interrupts, and the essential interfaces to device drivers Timing Synchronization within the kernel Interprocess Communication (IPC) Program execution Understanding 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.

Understanding the Linux Kernel

Author: Daniel Pierre Bovet,Marco Cesati

Publisher: "O'Reilly Media, Inc."

ISBN: 9780596002138

Category: Computers

Page: 765

View: 2166

DOWNLOAD NOW »

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 ofUnderstanding the Linux Kerneltakes you on a guided tour through the most significant data structures, many algorithms, and programming tricks used in the kernel. Probing beyond the superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Relevant segments of code are dissected and discussed line by line. The book covers more than just the functioning of the code, it explains the theoretical underpinnings for why Linux does things the way it does. The new edition of the book has been updated to cover version 2.4 of the kernel, which is quite different from version 2.2: the virtual memory system is entirely new, support for multiprocessor systems is improved, and whole new classes of hardware devices have been added. The authors explore each new feature in detail. Other topics in the book include: Memory management including file buffering, process swapping, and Direct memory Access (DMA) The Virtual Filesystem and the Second Extended Filesystem Process creation and scheduling Signals, interrupts, and the essential interfaces to device drivers Timing Synchronization in the kernel Interprocess Communication (IPC) Program execution Understanding the Linux Kernel, Second Edition will acquaint you with all the inner workings of Linux, but is 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. If knowledge is power, then this book will help you make the most of your Linux system.

Professional Linux Kernel Architecture

Author: Wolfgang Mauerer

Publisher: John Wiley & Sons

ISBN: 9781118079911

Category: Computers

Page: 1368

View: 2994

DOWNLOAD NOW »

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.

Linux Kernel Development

Author: Robert Love

Publisher: Pearson Education

ISBN: 9780768696790

Category: Computers

Page: 480

View: 9648

DOWNLOAD NOW »

Linux Kernel Development details the design and implementation of the Linux kernel, presenting the content in a manner that is beneficial to those writing and developing kernel code, as well as to programmers seeking to better understand the operating system and become more efficient and productive in their coding. The book details the major subsystems and features of the Linux kernel, including its design, implementation, and interfaces. It covers the Linux kernel with both a practical and theoretical eye, which should appeal to readers with a variety of interests and needs. The author, a core kernel developer, shares valuable knowledge and experience on the 2.6 Linux kernel. Specific topics covered include process management, scheduling, time management and timers, the system call interface, memory addressing, memory management, the page cache, the VFS, kernel synchronization, portability concerns, and debugging techniques. This book covers the most interesting features of the Linux 2.6 kernel, including the CFS scheduler, preemptive kernel, block I/O layer, and I/O schedulers. The third edition of Linux Kernel Development includes new and updated material throughout the book: An all-new chapter on kernel data structures Details on interrupt handlers and bottom halves Extended coverage of virtual memory and memory allocation Tips on debugging the Linux kernel In-depth coverage of kernel synchronization and locking Useful insight into submitting kernel patches and working with the Linux kernel community

Linux Device Drivers

Author: Jessica McKellar,Alessandro Rubini,Jonathan Corbet,Greg Kroah-Hartman

Publisher: O'Reilly Media

ISBN: 9781449371616

Category: Computers

Page: 600

View: 7417

DOWNLOAD NOW »

Having already helped two generations of programmers explore Linux and write devices, the fourth edition of this classic book delves into tty, USB, and HCI devices such as keyboards, in addition to basic character devices. Linux Device Drivers includes numerous full-featured examples that you can compile and run without special hardware. Written by well-known leaders in Linux development and programming, this book covers significant changes to Version 3.2 of the Linux kernel, the basis of the Precise Pangolin release of Ubuntu. All you need to get started is an understanding of the C programming language and some background in Unix system calls. Learn how to support computer peripherals under the Linux operating system Develop and write software for new hardware that Linux supports Understand the basics of Linux operation, even if you don't expect to write a driver Dive into new chapters on video, audio, wireless, and Bluetooth devices As the operating system for Android and many embedded systems, Linux constantly needs new device drivers. This book helps you get it done.

Linux Device Drivers

Where the Kernel Meets the Hardware

Author: Jonathan Corbet,Alessandro Rubini,Greg Kroah-Hartman

Publisher: "O'Reilly Media, Inc."

ISBN: 9780596555382

Category: Computers

Page: 640

View: 4386

DOWNLOAD NOW »

Device drivers literally drive everything you're interested in--disks, monitors, keyboards, modems--everything outside the computer chip and memory. And writing device drivers is one of the few areas of programming for the Linux operating system that calls for unique, Linux-specific knowledge. For years now, programmers have relied on the classic Linux Device Drivers from O'Reilly to master this critical subject. Now in its third edition, this bestselling guide provides all the information you'll need to write drivers for a wide range of devices.Over the years the book has helped countless programmers learn: how to support computer peripherals under the Linux operating system how to develop and write software for new hardware under Linux the basics of Linux operation even if they are not expecting to write a driver The new edition of Linux Device Drivers is better than ever. The book covers all the significant changes to Version 2.6 of the Linux kernel, which simplifies many activities, and contains subtle new features that can make a driver both more efficient and more flexible. Readers will find new chapters on important types of drivers not covered previously, such as consoles, USB drivers, and more.Best of all, you don't have to be a kernel hacker to understand and enjoy this book. All you need is an understanding of the C programming language and some background in Unix system calls. And for maximum ease-of-use, the book uses full-featured examples that you can compile and run without special hardware.Today Linux holds fast as the most rapidly growing segment of the computer market and continues to win over enthusiastic adherents in many application areas. With this increasing support, Linux is now absolutely mainstream, and viewed as a solid platform for embedded systems. If you're writing device drivers, you'll want this book. In fact, you'll wonder how drivers are ever written without it.

Linux System Programming

Talking Directly to the Kernel and C Library

Author: Robert Love

Publisher: "O'Reilly Media, Inc."

ISBN: 1449341543

Category: Computers

Page: 456

View: 8334

DOWNLOAD NOW »

Write software that draws directly on services offered by the Linux kernel and core system libraries. With this comprehensive book, Linux kernel contributor Robert Love provides you with a tutorial on Linux system programming, a reference manual on Linux system calls, and an insider’s guide to writing smarter, faster code. Love clearly distinguishes between POSIX standard functions and special services offered only by Linux. With a new chapter on multithreading, this updated and expanded edition provides an in-depth look at Linux from both a theoretical and applied perspective over a wide range of programming topics, including: A Linux kernel, C library, and C compiler overview Basic I/O operations, such as reading from and writing to files Advanced I/O interfaces, memory mappings, and optimization techniques The family of system calls for basic process management Advanced process management, including real-time processes Thread concepts, multithreaded programming, and Pthreads File and directory management Interfaces for allocating memory and optimizing memory access Basic and advanced signal interfaces, and their role on the system Clock management, including POSIX clocks and high-resolution timers

Linux Kernel in a Nutshell

Author: Greg Kroah-Hartman

Publisher: "O'Reilly Media, Inc."

ISBN: 0596100795

Category: Computers

Page: 182

View: 4452

DOWNLOAD NOW »

Presents an overview of kernel configuration and building for version 2.6 of the Linux kernel.

Linux Kernel Internals

Author: Michael Beck

Publisher: Addison-Wesley Professional

ISBN: 9780201331431

Category: Computers

Page: 480

View: 8138

DOWNLOAD NOW »

This book is written for anybody who wants to learn more about Linux. It explains the inner mechanisms of Linux 2.0 from process sceduling to memory management and file systems, and will tell you all you need to know about the structure of the kernel, the heart of the Linux operating system. thoroughly updated to cover Linux 2.0

Mastering Linux Kernel Development

A kernel developer's reference manual

Author: Raghu Bharadwaj

Publisher: Packt Publishing Ltd

ISBN: 1785886134

Category: Computers

Page: 354

View: 3281

DOWNLOAD NOW »

Explore Implementation of core kernel subsystems About This Book Master the design, components, and structures of core kernel subsystems Explore kernel programming interfaces and related algorithms under the hood Completely updated material for the 4.12.10 kernel Who This Book Is For If you are a kernel programmer with a knowledge of kernel APIs and are looking to build a comprehensive understanding, and eager to explore the implementation, of kernel subsystems, this book is for you. It sets out to unravel the underlying details of kernel APIs and data structures, piercing through the complex kernel layers and gives you the edge you need to take your skills to the next level. What You Will Learn Comprehend processes and fles—the core abstraction mechanisms of the Linux kernel that promote effective simplification and dynamism Decipher process scheduling and understand effective capacity utilization under general and real-time dispositions Simplify and learn more about process communication techniques through signals and IPC mechanisms Capture the rudiments of memory by grasping the key concepts and principles of physical and virtual memory management Take a sharp and precise look at all the key aspects of interrupt management and the clock subsystem Understand concurrent execution on SMP platforms through kernel synchronization and locking techniques In Detail Mastering Linux Kernel Development looks at the Linux kernel, its internal arrangement and design, and various core subsystems, helping you to gain significant understanding of this open source marvel. You will look at how the Linux kernel, which possesses a kind of collective intelligence thanks to its scores of contributors, remains so elegant owing to its great design. This book also looks at all the key kernel code, core data structures, functions, and macros, giving you a comprehensive foundation of the implementation details of the kernel's core services and mechanisms. You will also look at the Linux kernel as well-designed software, which gives us insights into software design in general that are easily scalable yet fundamentally strong and safe. By the end of this book, you will have considerable understanding of and appreciation for the Linux kernel. Style and approach Each chapter begins with the basic conceptual know-how for a subsystem and extends into the details of its implementation. We use appropriate code excerpts of critical routines and data structures for subsystems.

Operating System Concepts

Author: Abraham Silberschatz,Greg Gagne,Peter B. Galvin

Publisher: Wiley Global Education

ISBN: 1119124891

Category: Computers

Page: N.A

View: 963

DOWNLOAD NOW »

The tenth edition of Operating System Concepts has been revised to keep it fresh and up-to-date with contemporary examples of how operating systems function, as well as enhanced interactive elements to improve learning and the student’s experience with the material. It combines instruction on concepts with real-world applications so that students can understand the practical usage of the content. End-of-chapter problems, exercises, review questions, and programming exercises help to further reinforce important concepts. New interactive self-assessment problems are provided throughout the text to help students monitor their level of understanding and progress. A Linux virtual machine (including C and Java source code and development tools) allows students to complete programming exercises that help them engage further with the material. The Enhanced E-Text is also available bundled with an abridged print companion and can be ordered by contacting customer service here: ISBN: 9781119456339 Price: $97.95 Canadian Price: $111.50

Understanding Linux Network Internals

Author: Christian Benvenuti

Publisher: "O'Reilly Media, Inc."

ISBN: 0596002556

Category: Computers

Page: 1035

View: 8645

DOWNLOAD NOW »

Benvenuti describes the relationship between the Internet's TCP/IP implementation and the Linux Kernel so that programmers and advanced administrators can modify and fine-tune their network environment.

Linux Kernel Networking

Implementation and Theory

Author: Rami Rosen

Publisher: Apress

ISBN: 1430261978

Category: Computers

Page: 648

View: 7634

DOWNLOAD NOW »

Linux Kernel Networking takes you on a guided in-depth tour of the current Linux networking implementation and the theory behind it. Linux kernel networking is a complex topic, so the book won't burden you with topics not directly related to networking. This book will also not overload you with cumbersome line-by-line code walkthroughs not directly related to what you're searching for; you'll find just what you need, with in-depth explanations in each chapter and a quick reference at the end of each chapter. Linux Kernel Networking is the only up-to-date reference guide to understanding how networking is implemented, and it will be indispensable in years to come since so many devices now use Linux or operating systems based on Linux, like Android, and since Linux is so prevalent in the data center arena, including Linux-based virtualization technologies like Xen and KVM.

Essential Linux Device Drivers

Author: Sreekrishnan Venkateswaran

Publisher: Prentice Hall

ISBN: 9780132715812

Category: Computers

Page: 744

View: 2410

DOWNLOAD NOW »

“Probably the most wide ranging and complete Linux device driver book I’ve read.” --Alan Cox, Linux Guru and Key Kernel Developer “Very comprehensive and detailed, covering almost every single Linux device driver type.” --Theodore Ts’o, First Linux Kernel Developer in North America and Chief Platform Strategist of the Linux Foundation The Most Practical Guide to Writing Linux Device Drivers Linux now offers an exceptionally robust environment for driver development: with today’s kernels, what once required years of development time can be accomplished in days. In this practical, example-driven book, one of the world’s most experienced Linux driver developers systematically demonstrates how to develop reliable Linux drivers for virtually any device. Essential Linux Device Drivers is for any programmer with a working knowledge of operating systems and C, including programmers who have never written drivers before. Sreekrishnan Venkateswaran focuses on the essentials, bringing together all the concepts and techniques you need, while avoiding topics that only matter in highly specialized situations. Venkateswaran begins by reviewing the Linux 2.6 kernel capabilities that are most relevant to driver developers. He introduces simple device classes; then turns to serial buses such as I2C and SPI; external buses such as PCMCIA, PCI, and USB; video, audio, block, network, and wireless device drivers; user-space drivers; and drivers for embedded Linux–one of today’s fastest growing areas of Linux development. For each, Venkateswaran explains the technology, inspects relevant kernel source files, and walks through developing a complete example. • Addresses drivers discussed in no other book, including drivers for I2C, video, sound, PCMCIA, and different types of flash memory • Demystifies essential kernel services and facilities, including kernel threads and helper interfaces • Teaches polling, asynchronous notification, and I/O control • Introduces the Inter-Integrated Circuit Protocol for embedded Linux drivers • Covers multimedia device drivers using the Linux-Video subsystem and Linux-Audio framework • Shows how Linux implements support for wireless technologies such as Bluetooth, Infrared, WiFi, and cellular networking • Describes the entire driver development lifecycle, through debugging and maintenance • Includes reference appendixes covering Linux assembly, BIOS calls, and Seq files

Kernel Projects for Linux

Author: Gary J. Nutt

Publisher: Addison-Wesley

ISBN: 9780201612431

Category: Computers

Page: 239

View: 9334

DOWNLOAD NOW »

With Kernel Projects for Linux, Professor Gary Nutt provides a series of 12 lab exercises that illustrate how to implement core operating system concepts in the increasingly popular Linux environment. The makeup of the manual allows readers to learn concepts on a modern operating system—Linux—while at the same time viewing the source code. This hands-on manual complements any core OS book by demonstrating how theoretical concepts are realized in Linux.Part I presents an overview of the Linux design, offering some insight into such topics as runtime organization and process, file, and device management. Part II consists of a graduated set of exercises where readers move from inspecting various aspects of the operating systems's internals to developing their own functions and data structures for the Linux kernel.This book is designed for programmers who need to learn the fundamentals of operating systems on a modern OS. The progressively harder exercises allow them to learn concepts in a hands-on setting.

Running Linux

Author: Matt Welsh

Publisher: "O'Reilly Media, Inc."

ISBN: 9780596002725

Category: Computers

Page: 672

View: 3530

DOWNLOAD NOW »

Explains how to understand and use Linux, covering installation, system administration, configuring desktops, and networking, along with topics such as the GNOME desktop, security, package management, and sound configuration.

LPIC-1: Linux Professional Institute Certification Study Guide

Exams 101 and 102

Author: Roderick W. Smith

Publisher: John Wiley & Sons

ISBN: 1118570472

Category: Computers

Page: 648

View: 1633

DOWNLOAD NOW »

Updated for the latest LPIC-1 Exams 101 and 102 The LPIC-1 certification measures your understanding of the Linux Kernel. As the Linux server market continues to grow, so does the demand for certified Linux administrators. Prepare for the latest versions of the LPIC-1 exams 101 and 102 with the new edition of this detailed Study Guide. This practical book covers key Linux administration topics and all exam objectives and includes real-world examples and review questions to help you practice your skills. In addition, you'll gain access to a full set of online study tools, including bonus practice exams, electronic flashcards, and more. Prepares candidates to take the Linux Professional Institute exams 101 and 102 and achieve their LPIC-1 certification Covers all exam objectives and features expanded coverage on key topics in the exam Includes real-world scenarios, and challenging review questions Gives you online access to bonus practice exams, electronic flashcards, and a searchable glossary Topics include system architecture, installation, GNU and Unix commands, Linux filesystems, essential system services, networking fundamentals, security, and more Approach the LPIC-1 certification exams with confidence, with LPIC-1: Linux Professional Institute Certification Study Guide, Third Edition.

Linux Internals

Author: Moshe Bar

Publisher: Computing McGraw-Hill

ISBN: 9780072125986

Category: Computers

Page: 351

View: 5290

DOWNLOAD NOW »

Furnishing in-depth coverage of Linux source-code internals, this high-level handbook explains how the Linux system operating system works and how to use it with various programming applications, discussing the various Linux versions, performance and tuning issues, kernel programming, troubleshooting details, and other important topics. Original. (Intermediate)

Beginning Linux Programming

Author: Neil Matthew,Richard Stones

Publisher: John Wiley & Sons

ISBN: 1118058615

Category: Computers

Page: 816

View: 380

DOWNLOAD NOW »

Beginning Linux Programming, Fourth Edition continues its unique approach to teaching UNIX programming in a simple and structured way on the Linux platform. Through the use of detailed and realistic examples, students learn by doing, and are able to move from being a Linux beginner to creating custom applications in Linux. The book introduces fundamental concepts beginning with the basics of writing Unix programs in C, and including material on basic system calls, file I/O, interprocess communication (for getting programs to work together), and shell programming. Parallel to this, the book introduces the toolkits and libraries for working with user interfaces, from simpler terminal mode applications to X and GTK+ for graphical user interfaces. Advanced topics are covered in detail such as processes, pipes, semaphores, socket programming, using MySQL, writing applications for the GNOME or the KDE desktop, writing device drivers, POSIX Threads, and kernel programming for the latest Linux Kernel.