Kernel Projects for Linux (Paperback)
Gary Nutt
- 出版商: Addison Wesley
- 出版日期: 2000-07-29
- 售價: $2,540
- 貴賓價: 9.5 折 $2,413
- 語言: 英文
- 頁數: 239
- 裝訂: Paperback
- ISBN: 0201612437
- ISBN-13: 9780201612431
-
相關分類:
Linux
已絕版
買這商品的人也買了...
-
$680$537 -
$980$774 -
$970Introduction to Algorithms, 2/e
-
$1,710$1,625 -
$2,450$2,328 -
$880$695 -
$1,029Operating System Concepts, 6/e (Windows XP Update)
-
$1,030$1,009 -
$1,890$1,796 -
$690$587 -
$420$328 -
$650$553 -
$760$600 -
$590$466 -
$280$221 -
$620$527 -
$860$731 -
$690$538 -
$420$332 -
$720$562 -
$720$569 -
$750$675 -
$560$504 -
$480$379 -
$505手把手教你設計 CPU-RISC-V 處理器篇
相關主題
商品描述
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.
Appropriate Courses
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.
1. The Evolution of Linux.
2. General Kernel Responsibilities.
3. Kernel Organization.
4 Process and Resource Management.
5. Memory Management.
6. Device Management.
7. File Management.
8. Learning More About Linux.
2. General Kernel Responsibilities.
Resource Abstraction.
Sharing Resource.
A Partition of OS Functions.
Sharing Resource.
Managing Competition for Resources.
Exclusive Use of a Resource.
Managed Sharing.
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.
Logging In to the Machine.
Control Flow in the Machine.
Using Kernel Services.
Serial Execution.
Daemons.
The Booting Procedure.
The Boot Sector.
Starting the Kernel.
Starting the Kernel.
Logging In to the Machine.
Control Flow in the Machine.
4 Process and Resource Management.
Running the Process Manager.
Creating a New Task.
The Scheduler.
IPC and Synchronization.
Protection Mechanism.
System Call.
Interrupts.
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.
The Secondary Memory.
Handling Missing Pages.
Address Translation.
6. Device Management.
The Device Driver.
Handling Interrupts.
Handling Interrupts.
7. File Management.
Mounting the File System.
Opening a File.
Reading and Writing the File.
The Ext2 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.
2. Shell Program.
3. Kernel Timers.
4. Kernel Modules.
5. System Calls.
6. Shared Memory.
7. Virtual Memory.
8. Synchronization Mechanisms.
9. The Scheduler.
10. Device Drivers.
11. File Systems.
12. File I/O.
Further Study.
References.
Index.
Introduction.
Problem Statement.
Attacking the Problem.
Problem Statement.
Part A
Part B.
Part C.
Part D.
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.
Using argc and argv.
Organizing a Solution.
Saving Your Work in a Shared Laboratory.
2. Shell Program.
Introduction.
Problem Statement.
Attacking the Problem.
Basic UNIX-Style Shell Operation.
Putting a Process in the Background.
I/O Redirection.
Shell Pipes.
Reading Multiple Input Streams.
Putting a Process in the Background.
I/O Redirection.
Shell Pipes.
Reading Multiple Input Streams.
Problem Statement.
Part A.
Part B.
Part C.
Part B.
Part C.
Attacking the Problem.
Organizing a Solution.
Part A.
Parts B and C.
Part A.
Parts B and C.
3. Kernel Timers.
Introduction.
Problem Statement.
Attacking the Problem.
How the Kernel Maintains the Time.
Per Process Timers.
Per Process Timers.
Problem Statement.
Part A.
Part B.
Part C.
Part B.
Part C.
Attacking the Problem.
Organization of the Linux Source Code.
Signals.
Organizing a Solution.
Signals.
Organizing a Solution.
4. Kernel Modules.
Introduction.
Problem Statement.
Attacking the Problem.
Module Organization.
Module Installation and Removal.
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.
The End-of-File Condition.
Compiling a Module.
Installation and Removing a Module.
The Clock Resolution Question.
More Help.
5. System Calls.
Introduction.
Problem Statement.
Attacking the Problem.
The System Call Linkage.
Defining the System Call Number.
Generating a System Call Stud.
Kernel Function Organization.
Referencing User-Space Memory Locations.
Defining the System Call Number.
Generating a System Call Stud.
Kernel Function Organization.
Referencing User-Space Memory Locations.
Problem Statement.
Part A.
Part B.
Part B.
Attacking the Problem.
The Kernel printk()Function.
Organizing a Solution.
Rebuilding the Kernel.
Leaving a Clean Environment.
Organizing a Solution.
Rebuilding the Kernel.
Leaving a Clean Environment.
6. Shared Memory.
Introduction.
Problem Statement.
Attacking the Problem.
The Shared Memory.
The Implementation.
The Implementation.
Problem Statement.
Attacking the Problem.
7. Virtual Memory.
Introduction.
Problem Statement.
Attacking the Problem.
The Virtual Address Space.
Virtual Memory Areas.
Address Translation.
The Page Fault Handler.
Primary Memory Allocation.
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.
Part B: Reporting the Performance.
Attacking the Problem.
8. Synchronization Mechanisms.
Introduction.
Blocking a Task.
Wait Queues.
Using Wait Queues.
Part A.
Part B.
Blocking a Task.
Wait Queues.
Using Wait Queues.
Problem Statement.
Part A.
Part B.
Attacking the Problem.
9. The Scheduler.
Introduction.
Problem Statement.
Attacking the Problem.
Process Management.
Process States.
Scheduler Implementation.
Fair-Share Scheduling.
Process States.
Scheduler Implementation.
Fair-Share Scheduling.
Problem Statement.
Part A.
Part B.
Part B.
Attacking the Problem.
Planning a Solution.
Comparing Scheduler Performance.
Comparing Scheduler Performance.
10. Device Drivers.
Introduction.
Problem Statement.
Attacking the Problem.
Driver organization.
Loadable Kernel Module Drivers.
Example: A Disk Driver.
Loadable Kernel Module Drivers.
Example: A Disk Driver.
Problem Statement.
Part A.
Part B.
Part B.
Attacking the Problem.
11. File Systems.
Introduction.
Problem Statement.
Attacking the Problem.
The Virtual File System.
Directories.
Example: An MS-DOS File System.
Directories.
Example: An MS-DOS File System.
Problem Statement.
Part A.
Part B.
Part C.
Part B.
Part C.
Attacking the Problem.
The MS-DOS Disk Format.
The MS-DOS FAT.
Using the Floppy Disk API.
Planning a Solution.
The MS-DOS FAT.
Using the Floppy Disk API.
Planning a Solution.
12. File I/O.
Introduction.
Problem Statement.
Attacking the Problem.
The Open and Close Operations.
Read and Write Operations.
Block Allocation.
Buffer Management.
Read and Write Operations.
Block Allocation.
Buffer Management.
Problem Statement.
Part A.
Part B.
Part C.
Part D.
Part B.
Part C.
Part D.
Attacking the Problem.
The Open()Function.
Caching FAT.
A Solution Plan.
Caching FAT.
A Solution Plan.
Further Study.
References.
Index.