Your textbook…

Kernel Projects for Linux

By Gary Nutt

ISBN-10: 0-201-61243-7

ISBN-13: 978-0-201-61243-1What's this?

Published by Addison-Wesley

Pub. Date: Jul 19, 2000

Format: Paper

Table of Contents

Part I. OVERVIEW OF LINUX.

1. The Evolution of Linux.

2. General Kernel Responsibilities.

Resource Abstraction.

Sharing Resource.

Managing Competition for Resources.

Exclusive Use of a Resource.

Managed Sharing.

A Partition of OS Functions.

3. Kernel Organization.

Interrupts.

Using Kernel Services.

Serial Execution.

Daemons.

The Booting Procedure.

The Boot Sector.

Starting the Kernel.

Logging In to the Machine.

Control Flow in the Machine.

4 Process and Resource Management.

Running the Process Manager.

System Call.

Interrupts.

Creating a New Task.

The Scheduler.

IPC and Synchronization.

Protection Mechanism.

5. Memory Management.

Managing the Virtual Address Space.

The Secondary Memory.

Handling Missing Pages.

Address Translation.

6. Device Management.

The Device Driver.

Handling Interrupts.

7. File Management.

Mounting the File System.

Opening a File.

Reading and Writing the File.

The Ext2 File System.

8. Learning More About Linux.

Part II. EXERCISES.

1. Observing Linux Behavior.

Introduction.

Problem Statement.

Part A

Part B.

Part C.

Part D.

Attacking the Problem.

The /proc File System.

Using argc and argv.

Organizing a Solution.

Saving Your Work in a Shared Laboratory.

2. Shell Program.

Introduction.

Basic UNIX-Style Shell Operation.

Putting a Process in the Background.

I/O Redirection.

Shell Pipes.

Reading Multiple Input Streams.

Problem Statement.

Part A.

Part B.

Part C.

Attacking the Problem.

Organizing a Solution.

Part A.

Parts B and C.

3. Kernel Timers.

Introduction.

How the Kernel Maintains the Time.

Per Process Timers.

Problem Statement.

Part A.

Part B.

Part C.

Attacking the Problem.

Organization of the Linux Source Code.

Signals.

Organizing a Solution.

4. Kernel Modules.

Introduction.

Module Organization.

Module Installation and Removal.

Problem Statement.

Attacking the Problem.

The read()Procedure.

The End-of-File Condition.

Compiling a Module.

Installation and Removing a Module.

The Clock Resolution Question.

More Help.

5. System Calls.

Introduction.

The System Call Linkage.

Defining the System Call Number.

Generating a System Call Stud.

Kernel Function Organization.

Referencing User-Space Memory Locations.

Problem Statement.

Part A.

Part B.

Attacking the Problem.

The Kernel printk()Function.

Organizing a Solution.

Rebuilding the Kernel.

Leaving a Clean Environment.

6. Shared Memory.

Introduction.

The Shared Memory.

The Implementation.

Problem Statement.

Attacking the Problem.

7. Virtual Memory.

Introduction.

The Virtual Address Space.

Virtual Memory Areas.

Address Translation.

The Page Fault Handler.

Primary Memory Allocation.

Problem Statement.

Part A: Instrument the Virtual Memory Manager.

Part B: Reporting the Performance.

Attacking the Problem.

8. Synchronization Mechanisms.

Introduction.

Blocking a Task.

Wait Queues.

Using Wait Queues.

Problem Statement.

Part A.

Part B.

Attacking the Problem.

9. The Scheduler.

Introduction.

Process Management.

Process States.

Scheduler Implementation.

Fair-Share Scheduling.

Problem Statement.

Part A.

Part B.

Attacking the Problem.

Planning a Solution.

Comparing Scheduler Performance.

10. Device Drivers.

Introduction.

Driver organization.

Loadable Kernel Module Drivers.

Example: A Disk Driver.

Problem Statement.

Part A.

Part B.

Attacking the Problem.

11. File Systems.

Introduction.

The Virtual File System.

Directories.

Example: An MS-DOS File System.

Problem Statement.

Part A.

Part B.

Part C.

Attacking the Problem.

The MS-DOS Disk Format.

The MS-DOS FAT.

Using the Floppy Disk API.

Planning a Solution.

12. File I/O.

Introduction.

The Open and Close Operations.

Read and Write Operations.

Block Allocation.

Buffer Management.

Problem Statement.

Part A.

Part B.

Part C.

Part D.

Attacking the Problem.

The Open()Function.

Caching FAT.

A Solution Plan.

Further Study.

References.

Index.

This textbook is also sold in the various packages listed below. Before purchasing one of these packages, speak with your professor about which one will help you be successful in your course.

Package ISBN-13: 9780321203939

$157.33 | Add to Cart

This package contains:

  • Kernel Projects for Linux
    Gary Nutt | ©2001 | Paper; 239 pages
  • Operating Systems, 3rd Edition
    Gary Nutt | ©2004 | Cloth; 894 pages

Textbook

List Price: $66.00

Add to Shopping Cart

Members pay only $59.40

Free FedEx Ground Shipping.