Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword or section
Like this

Table Of Contents

1.1. Introduction
1.1.1. Copyright and License
1.1.2. Feedback and Corrections
1.1.3. Acknowledgements
1.2. A simple problem and its solution
1.2.1. Exercise
2.1. The Unix Shell
2.2. The C Compiler
2.2.1. From source code to machine code
2.2.2. Options
2.2.3. Exercise
2.3. Make
2.4. Diff and Patch
2.4.1. Exercise
2.5. Grep
2.6. Vi, Ctags
Chapter 3. The System Call Interface
3.1. Files and Processes
3.1.1. File I/O
3.1.2. Process creation with ‘fork’
3.1.3. Sharing files
3.1.4. The ‘exec’ system call
3.1.5. The ‘dup’ system call
3.2. The ‘process’ file system
3.2.1. Exercises
Chapter 4. Defining New System Calls
4.1. What happens during a system call?
4.2. A simple system call
Chapter 5. Module Programming Basics
5.1. What is a kernel module?
5.2. Our First Module
5.3. Accessing kernel data structures
5.5. Usage Count
5.6. User defined names to initialization and cleanup functions
5.7. Reserving I/O Ports
5.8. Passing parameters at module load time
Chapter 6. Character Drivers
6.1. Special Files
6.2. Use of the ‘release’ method
6.3. Use of the ‘read’ method
6.4. A simple ‘ram disk’
6.5. A simple pid retriever
Chapter 7. Ioctl and Blocking I/O
7.1. Ioctl
7.2. Blocking I/O
7.2.1. wait_event_interruptible
7.2.2. A pipe lookalike
8.1. The timer interrupt
8.1.2. Busy Looping
8.2. interruptible_sleep_on_timeout
8.3. udelay, mdelay
8.4. Kernel Timers
8.5. Timing with special CPU Instructions
8.5.1. GCC Inline Assembly
8.5.2. The Time Stamp Counter
9.1. User level access
9.2. Access through a driver
9.3. Elementary interrupt handling
9.3.1. Tasklets and Bottom Halves
Chapter 10. Accessing the Performance Counters
10.1. Introduction
10.2. The Athlon Performance Counters
Chapter 11. A Simple Real Time Clock Driver
11.1. Introduction
11.2. Enabling periodic interrupts
11.3. Implementing a blocking read
Chapter 12. Executing Python Byte Code
12.1. Introduction
12.2. Registering a binary format
12.3. linux_binprm in detail
12.4. Executing Python Bytecode
Chapter 13. A simple keyboard trick
13.1. Introduction
13.2. An interesting problem
13.2.1. A keyboard simulating module
14.1. Introduction
14.2. Linux TCP/IP implementation
14.3. Configuring an Interface
14.4. Driver writing basics
14.4.1. Registering a new driver
14.4.2. The sk_buff structure
14.4.3. Towards a meaningful driver
14.4.4. Statistical Information
14.5. Take out that soldering iron
14.5.1. Setting up the hardware
14.5.2. Testing the connection
14.5.3. Programming the serial UART
14.5.4. Serial Line IP
14.5.5. Putting it all together
15.1. Introduction
15.1.1. Need for a VFS layer
15.1.2. In-core and on-disk data structures
15.1.3. The Big Picture
15.2.1. Registering a file system
15.2.2. Associating inode operations with a directory inode
15.2.3. The lookup function
15.2.4. Creating a file
15.2.5. Implementing read and write
Example 15-5. Implementing read and write
15.2.6. Modifying read and write
15.2.7. A better read and write
15.2.9. A look at how the dcache entries are chained together
15.2.10. Implementing deletion
Chapter 16. Dynamic Kernel Probes
16.1. Introduction
16.2. Overview
16.3. Installing dprobes
16.5. Running a kernel probe
16.6. Specifying address numerically
16.8. Setting a kernel watchpoint
Chapter 17. Running Embedded Linux on a StrongARM based hand held
17.1. The Simputer
17.2. Hardware/Software
17.3. Powering up
17.5. Setting up USB Networking
17.6. Hello, Simputer
17.6.2. Getting and building the kernel source
17.6.3. Running the new kernel
17.7. A bit of kernel hacking
17.7.1. Handling Interrupts
Chapter 18. Programming the SA1110 Watchdog timer on the Simputer
18.1. The Watchdog timer
18.1.1. Resetting the SA1110
18.1.2. The Operating System Timer
Appendix A. List manipulation routines
A.1. Doubly linked lists
A.1.1. Type magic
A.1.3. Example code
0 of .
Results for:
No results containing your search query
P. 1
Kernel Notes

Kernel Notes

Ratings: (0)|Views: 388|Likes:
Published by rash5377

More info:

Published by: rash5377 on Nov 01, 2011
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





You're Reading a Free Preview
Pages 4 to 30 are not shown in this preview.
You're Reading a Free Preview
Pages 32 to 154 are not shown in this preview.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->