Servin
|
Linux Device Drivers
Request A Quote
- On-Site, 100% Hands-On. 100% Customized to Your Exact Needs.
- This Linux Device Drivers Course
is for Software Developers and other Technology Professionals
(Network Administrators, Support Personnel, Technicians, Technical Management, etc.)
who need to rapidly and thoroughly
master how to write, debug, support, and troubleshoot
Linux kernel code and Linux device drivers.
-
A key benefit for this course: all of the software used is yours to keep
and to use personally and/or in your organization as required.
- Course Prerequisites:
Experience with at least one operating system such as
Windows, Mac OS X, Netware, or UNIX.
- Course Outline
- Introduction to GNU/Linux Kernel Internals and Device Drivers
- User-Mode Device Drivers
- Kernel-Mode Device Drivers
- Kernel Version Numbers
- Development Environment
- Installation
- Development Tools
- Debugging Tools
- User-Mode Access to Devices
- open, close, read, write
- ioctl
- ioperm, iopl, inb, outb
- mmap, munmap
- Kernel Source Code
- Installing Kernel Source Code
- Tour of Source Tree
- Header Files
- Driver Source
- Reading an Existing Driver
- Building a Driver into the GNU/Linux Kernel
- Driver Source Code
- Driver Configuration Info
- Kernel Configuration
- Kernel Building
- Testing a New Kernel
- Kernel Modules
- mod utils
- Building
- Installing/Removing
- Parameter Info
- Layered Modules
- The /proc Interface
- Using /proc
- Registration
- Reading from /proc
- Writing to /proc
- The sysctl Interface
- Using sysctl
- Registration
- Reading/Writing
- Device Registration
- Character Device Registration
- Block Device Registration
- Network Device Registration
- Other Registration Options
- Device Open/Close
- struct file_operations
- struct inode
- struct file
- open and release
- Device Synchronization
- Semaphores
- Spin Locks
- Atomic Operations
- Device I/O Control
- ioctl vs /proc vs sysctl
- ioctl Macros
- ioctl function
- Time and Timers
- Time of Day
- jiffies
- Short Delays
- Long Delays
- Kernel Timers
- Blocking and Non-Blocking I/O
- Wait Queues
- Blocking I/O
- Non-Blocking I/O
- SIGIO
- Memory Management
- kmalloc
- get_free_pages
- vmalloc
- kmem_cache
- Character Device Read/Write
- Getting Data from User-Space
- Starting I/O
- Waiting for I/O Completion
- Sending Results to User-Space
- Block Device Read/Write
- Block vs Char Read/Write
- Block Device Global Variables
- Request Handing
- Creating a RAM Disk
- PCI Bus
- PCI Utilities
- Registration
- Configuration
- Hot Plug
- USB Bus
- USB Utilities
- Registration
- Configuration
- Hot Plug
- I/O Ports
- /proc and I/O Ports
- Resource Registration
- Reading/Writing
- I/O Memory
- /proc and I/O Memory
- Resource Registration
- Reading/Writing
- Interrupts
- /proc and Interrupts
- Resource Registration
- Interrupt Service Routines
- Tasklets
- Direct Memory Access/Bus Mastering
- Consistent Mapping
- Streaming Mapping
- Scatter/Gather Mapping
- Where to go from here
Updated 2009 Jan 12
Content viewable on all web browsers, including smart mobile phone devices.
Copyright © 1995-2009 Servin Corporation. All rights reserved.