some basic doubts / confusion regarding linux kernel / OS
ajay saini
ajay_saini1006 at yahoo.co.in
Thu Oct 3 13:08:03 EDT 2013
Hi,
I had some confusion/doubts regarding Linux kernel / OS and I want to be completely sure that my understanding is right for below, and need your inputs (would be really glad for your help):
- There are functions defined in linux kernel. Some of these functions have a line "EXPORT_SYMBOL(<function_name>);" after them.
These are the functions which are exported, so they can be directly called from a linux kernel module - right ? (we just need to include header files which define
them in our kernel module)
- There are some functions defined in linux kernel, which are not static and are not exported, like "migrate_pages" in migrate.c and it is mentioned in
include/linux/migrate.h file.
Is there a way to call these functions, directly from kernel module ?? (even if I include the header file) ??
If no, What is the technique used there, which prevents the module from calling this function (even though I have included the header file)??
- We have kernel header files defined in include/linux/ and there are user space header files (the C libraries).
Can a user space program include kernel header file and call a kernel function directly?? No , right ??
Again, what is there which prevents a user space program from doing so?? How this technique is implemented ??
- I understand that, a struct page exists for each physical page in RAM. And this linked list of struct pages are stored together at the beginning of a zone. After this
storage, does the real data (content) of pages is stored.
Now each of these pages must be pointing to the data area/page which they define ? Which is this field in the struct page, which points to this data area, a physical
address + length of the page ?
Thanks,
Ajay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20131004/97ca530b/attachment.html
More information about the Kernelnewbies
mailing list