책 이미지
책 정보
· 분류 : 외국도서 > 컴퓨터 > 운영체제(OS) > 리눅스
· ISBN : 9780596000080
· 쪽수 : 586쪽
· 출판일 : 2001-07-01
목차
Preface
Chapter 1. An Introduction to Device Drivers
The Role of the Device Driver
Splitting the Kernel
Classes of Devices and Modules
Security Issues
Version Numbering
License Terms
Joining the Kernel Development Community
Overview of the Book
Chapter 2. Building and Running Modules
Kernel Modules Versus Applications
Compiling and Loading
The Kernel Symbol Table
Initialization and Shutdown
Using Resources
Automatic and Manual Configuration
Doing It in User Space
Backward Compatibility
Quick Reference
Chapter 3. Char Drivers
The Design of scull
Major and Minor Numbers
File Operations
The file Structure
open and release
scull's Memory Usage
A Brief Introduction to Race Conditions
read and write
Playing with the New Devices
The Device Filesystem
Backward Compatibility
Quick Reference
Chapter 4. Debugging Techniques
Debugging by Printing
Debugging by Querying
Debugging by Watching
Debugging System Faults
Debuggers and Related Tools
Chapter 5. Enhanced Char Driver Operations
ioctl
Blocking I/O
poll and select
Asynchronous Notification
Seeking a Device
Access Control on a Device File
Backward Compatibility
Quick Reference
Chapter 6. Flow of Time
Time Intervals in the Kernel
Knowing the Current Time
Delaying Execution
Task Queues
Kernel Timers
Backward Compatibility
Quick Reference
Chapter 7. Getting Hold of Memory
The Real Story of kmalloc
Lookaside Caches
get_free_page and Friends
vmalloc and Friends
Boot-Time Allocation
Backward Compatibility
Quick Reference
Chapter 8. Hardware Management
I/O Ports and I/O Memory
Using I/O Ports
Using Digital I/O Ports
Using I/O Memory
Backward Compatibility
Quick Reference
Chapter 9. Interrupt Handling
Overall Control of Interrupts
Preparing the Parallel Port
Installing an Interrupt Handler
Implementing a Handler
Tasklets and Bottom-Half Processing
Interrupt Sharing
Interrupt-Driven I/O
Race Conditions
Backward Compatibility
Quick Reference
Chapter 10. Judicious Use of Data Types
Use of Standard C Types
Assigning an Explicit Size to Data Items
Interface-Specific Types
Other Portability Issues
Linked Lists
Quick Reference
Chapter 11. kmod and Advanced Modularization
Loading Modules on Demand
Intermodule Communication
Version Control in Modules
Backward Compatibility
Quick Reference
Chapter 12. Loading Block Drivers
Registering the Driver
The Header File blk.h
Handling Requests: A Simple Introduction
Handling Requests: The Detailed View
How Mounting and Unmounting Works
The ioctl Method
Removable Devices
Partitionable Devices
Interrupt-Driven Block Drivers
Backward Compatibility
Quick Reference
Chapter 13. mmap and DMA
Memory Management in Linux
The mmap Device Operation
The kiobuf Interface
Direct Memory Access and Bus Mastering
Backward Compatibility
Quick Reference
Chapter 14. Network Drivers
How snull Is Designed
Connecting to the Kernel
The net_device Structure in Detail
Opening and Closing
Packet Transmission
Packet Reception
The Interrupt Handler
Changes in Link State
The Socket Buffers
MAC Address Resolution
Custom ioctl Commands
Statistical Information
Multicasting
Backward Compatibility
Quick Reference
Chapter 15. Overview of Peripheral Buses
The PCI Interface
A Look Back: ISA
PC/104 and PC/104+
Other PC Buses
SBus
NuBus
External Buses
Backward Compatibility
Quick Reference
Chapter 16. Physical Layout of the Kernel Source
Booting the Kernel
Before Booting
The init Process
The kernel Directory
The fs Directory
The mm Directory
The net directory
ipc and lib
include and arch
Drivers
Glossary
Index














