Several unrelated beginner questions.
Konstantin Kowalski
kostya-kow at mail.ru
Wed Mar 6 18:19:09 EST 2013
Hello everyone,
I am interested in Linux kernel programming (and OS kernels and
general), and I am currently reading several books about Linux kernel. I
have a few questions about it:
1.) Currently, I am reading 2 books about Linux kernel: Linux Device
Drivers (3rd edition) and Linux Kernel Development (3rd edition).
I like both books and I am learning a lot from them.
I heard that both of this books are outdated, but so far all the
information in this books seems valid and applicable. Is there better
books you would recommend?
2.) In Linux Device Drivers, it states that module_exit(function) is
discarded if module is built directly into kernel or if kernel is
compiled with option to disallow loadable modules. But what if the
module still has to do something during shutdown? Releasing memory is
unimportant since it does not persist over reboot, but what if the
module has to write something to a disk file, or do some other action?
3.) What's the deal with different kernel versions? I heard back in the
2.x days, even kernels were stable and odd versions were experimental,
but with 2.6 it changed.
So with 3.x kernels, are all of them experimental in the beginning and
stable in the end? Also, with 3.x new versions seem to be released more
often than in 2.1-2.5 days. Did the release cycle get smaller or is it
just my imagination? Also, what does rc number mean?
4.) Currently, I am running linux-next, and it works great. Am I correct
to assume that linux-next is supposed to have newest, shiniest and most
unstable features? `uname -a` says that I am still running 3.8-next, but
there is already 3.9 out. So which version is more experimental and
least stable? Which one is the newest?
5.) How exactly does make/.config work? When I run `make oldconfig`,
does it use the everything from the previous .config and only ask how to
configure new features? And when I run `make` does it re-use old object
files if nothing was changed in the specific file, or does it re-compile
everything from scratch?
Thank you,
Kostyantyn Kovalskyy (Konstantin Kowalski)
More information about the Kernelnewbies
mailing list