Index Symbols /etc/conf.modules, How Do Modules Get Into The Kernel? /etc/modules.conf, How Do Modules Get Into The Kernel? /proc filesystem, The /proc File System /proc/interrupts, Interrupt Handlers /proc/kallsyms, Functions available to modules, Name Space, Common Pitfalls /proc/meminfo, The /proc File System /proc/modules, How Do Modules Get Into The Kernel?, The /proc File System 2.6 changes, Changes between 2.4 and 2.6 _IO, Talking to Device Files (writes and IOCTLs) _IOR, Talking to Device Files (writes and IOCTLs) _IOW, Talking to Device Files (writes and IOCTLs) _IOWR, Talking to Device Files (writes and IOCTLs) __exit, Hello World (part 3): The __init and __exit Macros __init, Hello World (part 3): The __init and __exit Macros __initdata, Hello World (part 3): The __init and __exit Macros __initfunction(), Hello World (part 3): The __init and __exit Macros B blocking processes, Blocking Processes blocking, how to avoid, Blocking Processes bottom half, Interrupt Handlers busy, Blocking Processes C carnivore large, Common Pitfalls cleanup_module(), Hello, World (part 1): The Simplest Module code space, Code space coffee, Major and Minor Numbers copy_from_user, Read and Write a /proc File copy_to_user, Read and Write a /proc File CPU multiple, Symmetrical Multi-Processing crontab, Scheduling Tasks ctrl-c, Blocking Processes current task, Replacing printk D DEFAULT_MESSAGE_LOGLEVEL, Introducing printk() defining ioctls, Talking to Device Files (writes and IOCTLs) device file character, Character Device Drivers device files input to, Talking to Device Files (writes and IOCTLs) write to, Talking to Device Files (writes and IOCTLs) E EAGAIN, Blocking Processes EINTR, Blocking Processes ENTRY(system call), System Calls entry.S, System Calls F file, The file structure filesystem /proc, The /proc File System registration, Manage /proc file with standard filesystem filesystem registration, Manage /proc file with standard filesystem file_operations, The file_operations Structure file_operations structure, Manage /proc file with standard filesystem G get_user, Read and Write a /proc File H handlers interrupt, Interrupt Handlers housekeeping, Scheduling Tasks Hurd, Code space I inb, Keyboards on the Intel Architecture init_module(), Hello, World (part 1): The Simplest Module inode, The file structure, The /proc File System inode_operations structure, Manage /proc file with standard filesystem insmod, Compiling Kernel Modules, System Calls Intel architecture keyboard, Keyboards on the Intel Architecture interrupt 0x80, System Calls interrupt handlers, Interrupt Handlers interruptible_sleep_on, Blocking Processes interrupts disabling, Common Pitfalls ioctl, Talking to Device Files (writes and IOCTLs) defining, Talking to Device Files (writes and IOCTLs) official assignment, Talking to Device Files (writes and IOCTLs) K kernel versions, Changes between 2.4 and 2.6 kernel versions, Writing Modules for Multiple Kernel Versions kerneld, How Do Modules Get Into The Kernel? KERNEL_VERSION, Writing Modules for Multiple Kernel Versions keyboard, Keyboards on the Intel Architecture keyboard LEDs flashing, Flashing keyboard LEDs kmod, How Do Modules Get Into The Kernel? L libraries standard, Common Pitfalls library function, Functions available to modules LINUX_VERSION_CODE, Writing Modules for Multiple Kernel Versions M major number, Major and Minor Numbers dynamic allocation, Registering A Device memory segments, Read and Write a /proc File microkernel, Code space minor number, Major and Minor Numbers mknod, Major and Minor Numbers modem, Talking to Device Files (writes and IOCTLs) MODULE_AUTHOR(), Hello World (part 4): Licensing and Module Documentation module_cleanup, Scheduling Tasks MODULE_DESCRIPTION(), Hello World (part 4): Licensing and Module Documentation module_exit, Hello World (part 2) module_init, Hello World (part 2) module_interruptible_sleep_on, Blocking Processes MODULE_LICENSE(), Hello World (part 4): Licensing and Module Documentation module_permissions, Manage /proc file with standard filesystem module_sleep_on, Blocking Processes MODULE_SUPPORTED_DEVICE(), Hello World (part 4): Licensing and Module Documentation module_wake_up, Blocking Processes MOD_DEC_USE_COUNT, Unregistering A Device MOD_INC_USE_COUNT, Unregistering A Device MOD_IN_USE, Unregistering A Device monolithic kernel, Code space multi-processing, Symmetrical Multi-Processing multi-tasking, Blocking Processes multitasking, Blocking Processes N namespace pollution, Name Space Neutrino, Code space non-blocking, Blocking Processes O official ioctl assignment, Talking to Device Files (writes and IOCTLs) O_NONBLOCK, Blocking Processes P permission, Manage /proc file with standard filesystem pointer current, Manage /proc file with standard filesystem printk replacing, Replacing printk printk(), Introducing printk() proc file kallsyms, Common Pitfalls processes blocking, Blocking Processes killing, Blocking Processes waking up, Blocking Processes processing multi, Symmetrical Multi-Processing proc_register, The /proc File System proc_register_dynamic, The /proc File System putting processes to sleep, Blocking Processes put_user, Read and Write a /proc File Q queue_delayed_work, Scheduling Tasks queue_work, Interrupt Handlers R read in the kernel, Read and Write a /proc File reference count, Scheduling Tasks refund policy, Common Pitfalls register_chrdev, Registering A Device request_irq(), Interrupt Handlers rmmod, System Calls, Scheduling Tasks preventing, Unregistering A Device S SA_INTERRUPT, Interrupt Handlers SA_SHIRQ, Interrupt Handlers scheduler, Blocking Processes scheduling tasks, Scheduling Tasks segment memory, Read and Write a /proc File seq_file, Manage /proc file with seq_file serial port, Talking to Device Files (writes and IOCTLs) shutdown, System Calls SIGINT, Blocking Processes signal, Blocking Processes sleep putting processes to, Blocking Processes sleep_on, Blocking Processes SMP, Symmetrical Multi-Processing source file chardev.c, Talking to Device Files (writes and IOCTLs) chardev.h, Talking to Device Files (writes and IOCTLs) hello-1.c, Hello, World (part 1): The Simplest Module hello-2.c, Hello World (part 2) hello-3.c, Hello World (part 3): The __init and __exit Macros hello-4.c, Hello World (part 4): Licensing and Module Documentation hello-5.c, Passing Command Line Arguments to a Module intrpt.c, Keyboards on the Intel Architecture ioctl.c, Talking to Device Files (writes and IOCTLs) print_string.c, Replacing printk sched.c, Scheduling Tasks sleep.c, Blocking Processes start.c, Modules Spanning Multiple Files stop.c, Modules Spanning Multiple Files syscall.c, System Calls source files multiple, Modules Spanning Multiple Files, Building modules for a precompiled kernel standard libraries, Common Pitfalls strace, Functions available to modules, System Calls struct tty, Replacing printk struct file_operations, Manage /proc file with standard filesystem struct inode_operations, Manage /proc file with standard filesystem symbol table, Name Space symmetrical multi-processing, Symmetrical Multi-Processing sync, System Calls system call, Functions available to modules, System Calls open, System Calls system calls, System Calls sys_call_table, System Calls sys_open, System Calls T task, Scheduling Tasks current, Replacing printk tasks scheduling, Scheduling Tasks TASK_INTERRUPTIBLE, Blocking Processes try_module_get, System Calls tty_structure, Replacing printk W waking up processes, Blocking Processes workqueue_struct, Scheduling Tasks write in the kernel, Read and Write a /proc File