This link has been bookmarked by 6 people . It was first bookmarked on 25 Jul 2006, by Zhe sto.
-
07 Aug 13
-
23 Feb 12
-
shows how function calls and function pointers are used in a module to add new functionality to a running kernel.
-
an application can call functions it doesn't define
-
Anything related to the kernel is declared in headers found in include/linux and include/asm inside the kernel sources (usually found in /usr/src/linux).
-
to declare all your symbols as static
-
A module runs in the so-called kernel space, whereas applications run in user space.
-
symmetric multiprocessor
-
reentrant
-
capable of running in more than one context
-
with the important exception of servicing interrupts
-
Linux kernel is nonpreemptive;
-
Kernel code can know the current process driving it by accessing the global item current
-
-D__KERNEL__
-
symbol table of the running kernel
-
When a module is loaded, any symbol exported by the module becomes part of the kernel symbol table
-
New modules can use symbols exported by your module
-
modprobeonly looks in the tree of installed modules
-
system keeps a usage count for every module in order to determine whether the module can be safely removed
-
you can't remove a filesystem type while the filesystem is mounted,
-
The current value of the usage count is found in the third field of each entry in /proc/modules
-
/proc/ioports
-
-
18 Apr 10
-
A module, on the other hand, is linked only to the kernel, and the only functions it can call are the ones exported by the kernel; there are no libraries to link to.
-
one being lack of floating-point support
-
-
25 Jul 06
Would you like to comment?
Join Diigo for a free account, or sign in if you are already a member.