To view parent comment, click here.
To read all comments associated with this story, please click here.
If you're looking at the overall architecture then maybe it wouldn't be the best place to start
Can you reccomend somewhere better, then? Right now, my primary goal is learning architecture.
If I ever want to create my own OS or work for someone else on theirs, I need to be able to understand architecture. If I know what I am doing, even if I write bad code to start, I can work on it it and improve it until it is good code; but if I can't see the 'big picture' to understand what my code needs to be doing, then all my work will be in vain.
You might want to look at DragonFly BSD and Darwin both.
I recommend DragonFly because it's designed to be less architecturally complex than the 5.x, 6.x, etc. FBSD releases.
Darwin is microkernel based with the Apple userland/GUI layered on top of it. Perhaps looking at the two will help you at this stage of study to look at the large blocks of functionality in those two common archtectures (monolithic and micro kernel).
From the hardware architecture standpoint Net BSD is what you'll want to look at since it runs on just about everything. Also monolithic so still a good counterpoint to Darwin.
These are all BSDs though, so it may not offer as much difference between each example OS as you may want in order to get a wide scope of OS architectures. But it will show you a variety of implementations developed from the same root. And you still have your Minix CD.
You might want to look at DragonFly BSD and Darwin both.
I recommend DragonFly because it's designed to be less architecturally complex than the 5.x, 6.x, etc. FBSD releases and thereby easier to build, maintain, debug and understand.
Darwin is microkernel based with the Apple userland/GUI layered on top of it. Perhaps looking at the two will help you at this stage of study to look at the large blocks of functionality in those two common archtectures (monolithic and micro kernel).
From the hardware architecture standpoint Net BSD is what you'll want to look at since it runs on just about everything. Also monolithic so still a good counterpoint to Darwin.
These are all BSDs though, so it may not offer as much difference between each example OS as you may want in order to get a wide scope of OS architectures. But it will show you a variety of implementations developed from the same root. And you still have your Minix CD.





Member since:
2005-10-13
For instance, you can see how x86 cpus are handled - loading the OS into protected mode, switching tasks, security rings. Interrupts are handled almost exactly like in any other Unix like system. Drivers tend to be different at a high level, but if you look at them close up they would be similar. There's a primitive scheduler. Etc.
If you're looking at the overall architecture then maybe it wouldn't be the best place to start, but there are tons of details that are more interesting IMHO. After all, you can learn the basic architecture really quickly - it is the details of how things work that takes a while to learn.
Edit:
I have to admit I never really read through the book itself - the class I took spent most of our time going through the code at the end with the rest spent on slides/lectures my professor made. So perhaps if I was just going through the text I would think differently.
Edited 2007-03-02 00:02