Kernel Projects for Linux (Paperback)
Gary Nutt
- 出版商: Addison Wesley
- 出版日期: 2000-07-29
- 售價: $2,060
- 貴賓價: 9.5 折 $1,957
- 語言: 英文
- 頁數: 239
- 裝訂: Paperback
- ISBN: 0201612437
- ISBN-13: 9780201612431
-
相關分類:
Linux
已絕版
買這商品的人也買了...
-
$680$578 -
$980$833 -
$990$970 -
$1,460$1,387 -
$2,450$2,328 -
$880$695 -
$1,050$998 -
$1,030$1,009 -
$1,630$1,549 -
$690$587 -
$420$328 -
$650$553 -
$760$600 -
$590$466 -
$280$238 -
$620$527 -
$860$731 -
$690$538 -
$420$357 -
$720$562 -
$720$612 -
$750$638 -
$560$476 -
$480$379 -
$594$564
商品描述
Description
This is a lab manual that provides a dozen specific lab exercises on Linux internals, illustrating how theoretical Operating System concepts are implemented in Linux. Part I presents an overview of the Linux kernel and how it handles key OS concepts such as: runtime organization and process, file, and device management. Part II presents a series of twelve progressively more difficult exercises that can be completed in a lab environment. This book can be used in conjunction with any core operating systems textbook, and is also available in a special academic package with Nutt: Operating Systems—A Modern Approach.
Features
- Contains 12 lab exercises that utilize Linux internals to demonstrate key theoretical operating systems concepts.
- Provides hands-on learning by allowing students to work on programs that implement the concepts that they learned in lectures and primary text readings.
- Allows students to learn concepts on a modern operating system (Linux), while at the same time viewing the source code.
- Includes a free copy of Mandrake Linux software.
- Can be used in conjunction with any core operating system textbook.

Table Of Contents
Part I. OVERVIEW OF LINUX.
2. General Kernel Responsibilities.
Sharing Resource.
Exclusive Use of a Resource.
Managed Sharing.
A Partition of OS Functions.
3. Kernel Organization.
Using Kernel Services.
Serial Execution.
Daemons.
The Booting Procedure.
Starting the Kernel.
Logging In to the Machine.
Control Flow in the Machine.
4 Process and Resource Management.
Interrupts.
Creating a New Task.
The Scheduler.
IPC and Synchronization.
Protection Mechanism.
5. Memory Management.
The Secondary Memory.
Handling Missing Pages.
Address Translation.
6. Device Management.
Handling Interrupts.
7. File Management.
Opening a File.
Reading and Writing the File.
The Ext2 File System.
8. Learning More About Linux.
Part II. EXERCISES.
Problem Statement.
Part B.
Part C.
Part D.
Attacking the Problem.
Using argc and argv.
Organizing a Solution.
Saving Your Work in a Shared Laboratory.
2. Shell Program.
Putting a Process in the Background.
I/O Redirection.
Shell Pipes.
Reading Multiple Input Streams.
Problem Statement.
Part B.
Part C.
Attacking the Problem.
Part A.
Parts B and C.
3. Kernel Timers.
Per Process Timers.
Problem Statement.
Part B.
Part C.
Attacking the Problem.
Signals.
Organizing a Solution.
4. Kernel Modules.
Module Installation and Removal.
Problem Statement.
Attacking the Problem.
The End-of-File Condition.
Compiling a Module.
Installation and Removing a Module.
The Clock Resolution Question.
More Help.
5. System Calls.
Defining the System Call Number.
Generating a System Call Stud.
Kernel Function Organization.
Referencing User-Space Memory Locations.
Problem Statement.
Part B.
Attacking the Problem.
Organizing a Solution.
Rebuilding the Kernel.
Leaving a Clean Environment.
6. Shared Memory.
The Implementation.
Problem Statement.
Attacking the Problem.
7. Virtual Memory.
Virtual Memory Areas.
Address Translation.
The Page Fault Handler.
Primary Memory Allocation.
Problem Statement.
Part B: Reporting the Performance.
Attacking the Problem.
8. Synchronization Mechanisms.
Blocking a Task.
Wait Queues.
Using Wait Queues.
Part A.
Part B.
9. The Scheduler.
Process States.
Scheduler Implementation.
Fair-Share Scheduling.
Problem Statement.
Part B.
Attacking the Problem.
Comparing Scheduler Performance.
10. Device Drivers.
Loadable Kernel Module Drivers.
Example: A Disk Driver.
Problem Statement.
Part B.
Attacking the Problem.
11. File Systems.
Directories.
Example: An MS-DOS File System.
Problem Statement.
Part B.
Part C.
Attacking the Problem.
The MS-DOS FAT.
Using the Floppy Disk API.
Planning a Solution.
12. File I/O.
Read and Write Operations.
Block Allocation.
Buffer Management.
Problem Statement.
Part B.
Part C.
Part D.
Attacking the Problem.
Caching FAT.
A Solution Plan.
Further Study.
References.
Index.
