Tanenbaum's Book (out of Book Recomm.)

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Crazed123

Tanenbaum's Book (out of Book Recomm.)

Post by Crazed123 »

Is it true that Tanenbaum's book ("Design and Implementation") doesn't include things like paging? Or security?
User avatar
Colonel Kernel
Member
Member
Posts: 1437
Joined: Tue Oct 17, 2006 6:06 pm
Location: Vancouver, BC, Canada
Contact:

Re:Book Recommendations

Post by Colonel Kernel »

Crazed123 wrote: Is it true that Tanenbaum's book ("Design and Implementation") doesn't include things like paging? Or security?
The book discusses paging, but Minix doesn't support paging so there's no example. From what I remember, security isn't discussed much at all.
Top three reasons why my OS project died:
  1. Too much overtime at work
  2. Got married
  3. My brain got stuck in an infinite loop while trying to design the memory manager
Don't let this happen to you!
User avatar
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Re:Book Recommendations

Post by Candy »

Crazed123 wrote: Is it true that Tanenbaum's book ("Design and Implementation") doesn't include things like paging? Or security?
The problem when quoting books by author is that when an author publishes two books you get a problem.

As I've been trying to tell the scientific community for a while now (no success whatsoever), use the damn name of the book and not the author. In terms of OS development, Tanenbaum is half your curriculum as far as I can tell, and the rest mostly releases books based on his books.
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re:Book Recommendations

Post by Solar »

I have to second this. Refering to "Tanenbaum's Book" when talking about OS design is like refering to "that Greek dude's teachings" when talking about mathematics (or philosophy)...
Every good solution is obvious once you've found it.
Crazed123

Re:Book Recommendations

Post by Crazed123 »

Note the title (subtitle, actually) of the specific book in parenthesis right next to what you're referring to, telling the reader exactly which of the author's books I'm talking about.
User avatar
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Re:Book Recommendations

Post by Candy »

Crazed123 wrote: Note the title (subtitle, actually) of the specific book in parenthesis right next to what you're referring to, telling the reader exactly which of the author's books I'm talking about.
It still looks like something you added later on so because you remembered (or something) that he wrote more than just that book. I'm still going to try to convince people that you should just call it Operating Systems - Design and Implementation by Tanenbaum rather than the other way around.
distantvoices
Member
Member
Posts: 1600
Joined: Wed Oct 18, 2006 11:59 am
Location: Vienna/Austria
Contact:

Re:Book Recommendations

Post by distantvoices »

or this way: A. Tanenbaum - OS Design & Implementation.

Is also nice and one knows what the heck I talk about.
... the osdever formerly known as beyond infinity ...
BlueillusionOS iso image
Freanan

Re:Tanenbaum's Book (out of Book Recomm.)

Post by Freanan »

I lent Modern Operating Systems by Tannenbaum and it seems pretty good.

But i am not sure wether i should get design and Implementation...
After all it is, as it seems, intended to be some kind of practical tutorial on writing your os.
But it won't be THAT practical if your memory managment is totally different...
Does he implement adress spaces with use of segmentation, then?
User avatar
Colonel Kernel
Member
Member
Posts: 1437
Joined: Tue Oct 17, 2006 6:06 pm
Location: Vancouver, BC, Canada
Contact:

Re:Book Recommendations

Post by Colonel Kernel »

Candy wrote: The problem when quoting books by author is that when an author publishes two books you get a problem.
I didn't have a problem knowing which book Crazed123 was referring to...
I lent Modern Operating Systems by Tannenbaum and it seems pretty good.
I haven't read that one. Does it include Minix source as well, or is it all theory...?
Does he implement adress spaces with use of segmentation, then?
AFAIK, no. Minix has no memory protection whatsoever. I could be wrong though... I just skimmed the MM chapter as soon as I realized that Minix didn't support paging. ;)
Top three reasons why my OS project died:
  1. Too much overtime at work
  2. Got married
  3. My brain got stuck in an infinite loop while trying to design the memory manager
Don't let this happen to you!
Freanan

Re:Tanenbaum's Book (out of Book Recomm.)

Post by Freanan »

Is it all theory (except some abstract pseudo-c-code to show how it works - but that's pretty throretical too ;) ).
Xardfir

Re:Tanenbaum's Book (out of Book Recomm.)

Post by Xardfir »

"Implementation and Design" is more than just theory. After all Minix does work compared to some of the stuff (including my own) I have seen. It's multi user, multi tasking, supports networking and dare I say has a small amount of applications written for it.
What Andrew Tananebaum pushes through the book is -> here are the basics, if you don't like it change it, improve it, add graphics, more devices.
Whilst I am not pursuing such a project, why not have a go at adding paging and more to Minix?
Linus Torvalds did - the result is Linux.
This book is worth it's weight in gold regardless of the topics it doesn't discuss.
User avatar
Colonel Kernel
Member
Member
Posts: 1437
Joined: Tue Oct 17, 2006 6:06 pm
Location: Vancouver, BC, Canada
Contact:

Re:Tanenbaum's Book (out of Book Recomm.)

Post by Colonel Kernel »

Xardfir wrote: "Implementation and Design" is more than just theory. After all Minix does work compared to some of the stuff (including my own) I have seen.
I was asking about "Modern Operating Systems", but I agree about the other book. :)
Whilst I am not pursuing such a project, why not have a go at adding paging and more to Minix?
Linus Torvalds did - the result is Linux.
And that's why it's a primordial soup of really ugly code. :P No thanks, I'd rather start fresh.
This book is worth it's weight in gold regardless of the topics it doesn't discuss.
Agreed, even though Minix is a great example of how not to design a microkernel. Sometimes good counter-examples can teach a lot too. :)
Top three reasons why my OS project died:
  1. Too much overtime at work
  2. Got married
  3. My brain got stuck in an infinite loop while trying to design the memory manager
Don't let this happen to you!
Freanan

Re:Tanenbaum's Book (out of Book Recomm.)

Post by Freanan »

Xardfir wrote: What Andrew Tananebaum pushes through the book is -> here are the basics, if you don't like it change it, improve it, add graphics, more devices.
Whilst I am not pursuing such a project, why not have a go at adding paging and more to Minix?
Linus Torvalds did - the result is Linux.
That's a good idea. Probably the result would be "better" than linux, as linus sadly changed the kernel design to monolithic...
User avatar
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Re:Tanenbaum's Book (out of Book Recomm.)

Post by Candy »

Xardfir wrote: What Andrew Tananebaum pushes through the book is -> here are the basics, if you don't like it change it, improve it, add graphics, more devices.
Whilst I am not pursuing such a project, why not have a go at adding paging and more to Minix?
Linus Torvalds did - the result is Linux.
No he didn't. He did not use any single byte of Minix code in creating Linux.
Freanan wrote: That's a good idea. Probably the result would be "better" than linux, as linus sadly changed the kernel design to monolithic...
Why would monolithic always be worse than microkernel?

The use of monolithic in OS kernels does not always imply that it should be a static chunk you can't change without recompile, which is what most people still assume monolithic is.

The division between monolithic and microkernel is that a monolithic kernel runs drivers in kernel space, in the reasoning that you can't prevent the system from crashing if the driver is handling irresponsible, so why bother with the extra layer if it's still going to crash. Microkernels are based on the assumption that you can recover from a device or driver crash.

Good design isn't based on either of these in full. There's a point to be said for the first (if your harddisk driver crashes, you can't reload it from disk), as well as for the second (when your webcam driver crashes and goes on a memory-eating rampage, you can terminate it without any problem).

Why not look beyond the stupidity of cubicle-thinking (straight translation, comes from dividing people into groups such as colored people, white people, chinese people etc.) and design something that's better than each of the possible cubicles into which you could have stuffed it?

Say, actual design which involves looking at all simple options and trying to get a design which has the positive points you like of the designs you're evaluating with the least amount of counterpoints you don't like.
distantvoices
Member
Member
Posts: 1600
Joined: Wed Oct 18, 2006 11:59 am
Location: Vienna/Austria
Contact:

Re:Tanenbaum's Book (out of Book Recomm.)

Post by distantvoices »

re cubicle thinking: Hear Hear!

I daresay that's a good statement.
... the osdever formerly known as beyond infinity ...
BlueillusionOS iso image
Post Reply