I have an idea of the answer for this, but i think i need help with the answer.
My university lecturer told me the best way to learn about an OS was to 'get inside' Linux. Would someone be able to tell me, practically, how i could go about doing this? I dont really know too much about Linux or dissamblers etc?
Also, any other useful tips would be very welcome.
The reason i am aski开发者_如何学编程ng this is because eventually i want to be able to re-write parts of the kernel, optimise an OS, make a 'barebones' version as im very interested in electronic trading platform programming/high frequency trading.
I read some chapters of this book in school:
Operating Systems Design and Implementation by Andrew S. Tanebaum.
You may take a look at it.
Head over to the OSDev wiki - it's a great resource for starters and much friendlier than jumping directly into the fires of the Linux kernel.
http://wiki.osdev.org/
There are many books on the subject. Here's even a free one - Linux Device Drivers. Count LXR as one of your resources too.
In fact, when I started to do linux development, the book that gave me a good interstanding of the role of an OS, was the "ARM architecture reference manual". I understood basic concepts of how a general purpose processor works :
the various mode (supervisor, user, etc...), the concept of virtual memory, page, page table. The various stacks etc...
And then, all this things about userspace vs kernelspace, system call, process, thread execution contex etc... were fitting very nicely on the mental model I had of a processor.
Then I read "Linux device driver", it was the second edition, but a third one has been published since, and it teached me an aspect of how an OS work. So, programming book are fine, but understanding how a processor works is a great help
精彩评论