aesystem

Linux Kernel Device Drivers Programming

  • Monolithic Kernels
  • Micro Kernels
  • The User space & Kernel space
  • Tool Chains, Libraries, The Makefile
  • The HelloWorld Module
  • Module Stacking
  • Module Parameters
  • System Calls
  • Common Filesystem
  • Interface
  • Filesystem
  • Abstraction Layer
  • VFS Objects and Their
  • Data Structures
  • super block
  • inode block
  • data block
  • boot block
  • Kernel High level MMU
  • Kernel Low level MMU
  • Kernel Memory Allocators
  • slab allocator
  • page allocator
  • fragment allocator
  • pool allocator
  • Soft irqs
  • Tasklets
  • Work Queues
  • Reader/ Writer Semaphores
  • Reader/ Writer Spinlocks
  • Atomic Operations
  • Information about processes
  • communication between kernel space and user space
    /proc/devices
  • Registering a System Call
  • System Call Handler
  • Service Routines
  • Character Drivers
  • Synchronous Driver model
  • Major and Minor Numbers
  • Registering and Unregistering
  • Static and Dynamic allocations
  • Important Structures
  • File
  • Inode
  • Character Devices
  • Adding, Allocating, Initializing and Deleting
  • User Space Applications and Device Driver mapping
  • Device file operations
  • Access methods within the driver, open, read, write and close
  • Advanced Character Drivers
  • Ioctl implementations
  • Wait queues and pollings
  • Accessing I/O Ports
  • Accessing I/O Memoiry
  • USB Architecture & Protocol
  • Types of Descriptors
  • URB structure creation
  • USB subsystems
  • USB Driver Layered Architecture
  • USB Device Drivers
  • Understanding the USB framework.
  • Programming the Control Endpoint Zero.
  • Exchanging the Interrupt Messages
  • File System Implementation
  • Virtual File System & its Role
  • File System Design & Challenges
  • Kernel File System & and its Operation Sets
  • Auto-probing & detection of a USB device
How can I help you?