技术教育社区
www.teccses.org

Linux操作系统内核实习(英文版)

封面

出版社:机械工业出版社

出版日期:2002

ISBN:9787111100997

电子书格式:pdf/epub/txt

内容简介

The Manual includes an expansive introduction to Linux and working in the Linux environment. Twelve exercises provide hands-on learning by allowing students to work on programs that implement key theoretical operating system concepts The makeup of the manual allows students to learn concepts on a modern operating system Linux-while at the same time viewing the source code.

目录

1. The Evolution of Linux

2. General Kernel R

2.1 Resource Abstraction

2.2 Sharing Resources

2.2.1 Managing Competition for Resources

2.2.2 Exclusive Use of a Resource

2.2.3 Managed Sharing

2.3 A Partition of OS Functions

3. Kernel Organization

3.1 Interrupts

3.2 Using Kernel Services

3.3 Serial Execution

3.4 Daemons

3.5 The Booting Procedure

3.5.1 The Boot Sector

3.5.2 Starting the Kernel

3.6 Logging In to the Machine

3.7 Control Flow in the Machine

4. Process and Resource Management

4.1 Running the Process Manager

4.1.1 System Call

4.1.2 Interrupts

4.2 Creating a New Task

4.3 The Scheduler

4.4 IPC and Synchronization

4.5 Protection Mechanism

5. Memory Management

5.1 Managing the Virtual Address Space

5.2 The Secondary Memory

5.3 Handling Missing Pages

5.4 Address Translation

6. Device Management

6.1 The Device Driver

6.2 Handling Interrupts

7. File Management

7.1 Mounting the File System

7.2 Opening a File

7.3 Reading and Writing the File

7.4 The Ext2 File System

8. Learning More about Linux

PART 2: EXERCISES

1 . Observing Linux Behavior

Introduction Problem Statement Part A

PartB PartC PartD

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 Steams

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

Installing 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 Stub

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 Shored Memory API

The Implementation Problem Statement

Attacking the Problem

7. Virtual Memory

Introduction The Virtual Address Space

Virtual Memory Areas Address Translation

The Page Fault Handler prirnary, Memory Allocotion

Problem Statement

Part A: Instrurnent 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 Schedulet

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

l0. 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 the FAT A Solution Plan

Further Study

References

Index

节选

You should keep a copy of all of your source code on a floppy disk so that you have a backup version of your code and can move among different lab machines for different work sessions.

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《Linux操作系统内核实习(英文版)》
Article link:https://www.teccses.org/83775.html