> I'm interested in doing some hacking in the linux kernel, but
>I have no experience with OS internals or programming.
In addition to the other good comments on this, I'll relate my own
hopefully-encouraging experience: I learned about OS theory by
simultaneously reading OS textbooks (prior to taking a class on
the subject) and hacking the Unix kernel. There's no substitute
for experience, just as there's no substitute for theory...it is
essential to read a good OS textbook to learn the theory behind the
In addition to the texts already recommended, it doesn't hurt to read
a non-Unix-centric text as well; it stimulates the imagination and
widens ones horizons. There are many texts that compare features of
different operating systems.
Way back when, we used to read the man pages cover to cover once a month,
and that was stock advice. These days that is no longer practical, but
you should in fact read the documentation on at least the system calls
cover to cover several times. Not necessarily before beginning to hack
the kernel, but sooner or later during the process.
Quote:>What parts of
>the kernel should I play around with first?
Modifying the scheduler's strategy, or the VM strategy, are two favorite
things to tinker with, but it depends on taste. People often begin by
hacking up new drivers and moving on from there. These days it has
become a popular pastime to create new kinds of file systems for one
purpose or another, 'though that's a more ambitious sort of project.
I'm speaking in general here from past Unix & other OS experience; I
haven't begun tinkering with Linux yet.
Quote:>What parts of the
>kernel should I avoid modifying at all costs?
Since you will be saving the original kernel, it doesn't matter too
much what you experiment with; you can always throw away anything you
do that goes wrong. On the other hand, there are mistakes you can make
with video that can destroy your monitor, so there's a good area to
be cautious about. Tinkering with a HD driver or with file system code
can of course cause damage to files, but careful backups can fix that.
Professional Wild-eyed Visionary Member, Crusaders for a Better Tomorrow
Unicode Novis Cypherpunks Gutenberg Wavelets Conlang Logli Alife HC_III
Computational linguistics Fundamental physics Cogsci SF GA VR CASE TLAs