OS Development Book Idea

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.
Therx

OS Development Book Idea

Post by Therx »

Came across this today and it started me thinking. How about we put together a small reference book. You know, with the different structures used in OSdev (GDT, IDT, page table entries, tss, etc.), explainations of different pieces of theory (e.g. mm, task switching, etc.) and maybe some snippets from the Wiki were relevant.

I'd be happy to be the one who compiles all the stuff together and formats it nicely if people say what would go in it.

Pete
erik

Re:OS Development Book Idea

Post by erik »

It seems like a good idea to me. One reference manual that contains all the important information would be quite handy.

I would like to contribute, but that would be difficult as my osdev knowledge is very limited.
Schol-R-LEA

Re:OS Development Book Idea

Post by Schol-R-LEA »

Such a document is in production already; we call it the OS FAQ. ;)
Therx

Re:OS Development Book Idea

Post by Therx »

In that case it could simply be a printed version?

I find that it is much easier to read hard copies of documents and printing at home wastes lots of ink. If the book was produced for 0 profit as it would be then it would probabaly only cost $10.

Pete
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re:OS Development Book Idea

Post by Solar »

One, I'd daresay that you are much better off getting yourself a copy of the Intel manuals to check out TSS, GDT, IDT and their ilk.

Two, there are many good books on architecture and technology of OS design.

Three, I do not think the OS FAQ is yet in a form that would warrant putting it to print. There's still too much unanswered, and too much pending a cleanup. (When will df return so he can either do or delegate such a cleanup?)

Four, I do not think that printing the FAQ and selling copies would be the way to go. There's always new stuff being added and old stuff getting updated...

I'd suggest providing a printable version of the FAQ for download. With a bit of trickery in PhpWiki (the software running the FAQ) and some cleanup of Wiki pages, I know that is possible. That way, anybody could quickly generate his own, up-to-date printout.

Just my ?0.02.

(And where is df, or anyone having the Wiki admin passwd handy?)
Every good solution is obvious once you've found it.
BI lazy

Re:OS Development Book Idea

Post by BI lazy »

df seems ter be gambolin' around the Appalachian trail in his kilt. Yeah ... Tartan, kilt 'n swordie, ter tell the truth, is what stalks around the Appalaches. Further,He's about ter do the wedding thing, d'ya know what I mean?

(uff, been reading HP in english way too much *rofl* hagrids dialect leaves some impressions)

Well, this book idea ... hmm ... you know what: put it in a drawer, leave it there for a week, then take it out again and think about it. There are many good texts outta there to be purchased?.

stay safe

@Solar: Hey, buck, how's the going?
Therx

Re:OS Development Book Idea

Post by Therx »

Don't want this to be an argument but here are the 3 main reasons I think it might be a good idea:-

1. Existing books cost a bomb. At $7 + $0.03 per page, this book would be CHEAP. Also its hard to know which one to buy as from the "Book Recommendations" thread it seems that people have very different opinions on books (e.g. MMURTL)

2. Although all the information is in the Intel docs I don't think many people have actually developed their OSes purely from it. Some concepts need explaination. Also there is so much information in the Intel books it is sometimes hard to find what you're looking for.

3. A book by us could only include quick references for different data structures, brief explanations of different concepts (something similar to this but for other topics as well), and anything else that anyone thought useful.

Pete

EDIT: I would be able to compile the pdf document and cover images etc. which would be sent to CafePress. However someone else might have to do the actual signing up (free) as I'm under 16 (don't know if that matters but it might)
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re:OS Development Book Idea

Post by Solar »

@ beyond infinity:

Doing well, procreation process will return successfully sometime during the next 5 weeks. ;-)
Pete wrote: 1. Existing books cost a bomb. At $7 + $0.03 per page, this book would be CHEAP.
With 100 pages, you'd be at $10, not including shipment and handling (50-page A4 book from US to EUR -> ~$5), up-front investment to get a couple of them printed, storing them and setting up some ordering / payment process. The issue of being outdated rather quick I mentioned above. Add to that the additional work required to make the dynamic hyperlinked Wiki contents into something actually suited for front-to-back reading...
Also its hard to know which one to buy as from the "Book Recommendations" thread it seems that people have very different opinions on books (e.g. MMURTL)
That is partly because no two people look for the same thing in a book on OS design. Take me, for instance. I already have a firm idea of what a scheduler does, or a dispatcher, or how kernels are architectured in general. I'm primarily interested in comparisons of algorithms, stability and flexibility issues encountered in real life etc.

The next person might want a general introduction, while yet the next one might want lots of code examples, and the final one wants lots of IA32-specific info.
Although all the information is in the Intel docs I don't think many people have actually developed their OSes purely from it. Some concepts need explaination.
There's the difference between explanation and reference. The Intel docs are the reference, no better could there be. For explanation, I turn to "the usual suspects" (our FAQ, OSDever, whatever Google comes up with) - they're more up-to-date, come from various authors not necessarily agreeing with each other, and generally paint a fuller picture.

I'd disencourage getting your explanations from the one, true, book. Look at religion as for why that's so bad. ;-)
Also there is so much information in the Intel books it is sometimes hard to find what you're looking for.
You should know them good enough to find your way through them, or you will encounter problems. (Or be dependent on whatever your favourite reference source tells you.)
A book by us could only include quick references for different data structures...
That'd be highly IA32-specific...
brief explanations of different concepts (something similar to this but for other topics as well)...
One very basic problem of OS design is that there are so many ways to do things. At every turn, dozens of possibilities open up. And with every turn you take, you determine how your OS will work in the end. You take away options, you win new ones.

That's why I would never rely on one single, "true" source, and why I think putting one into print is folly.

Anyways. The Wiki, as is, doesn't cater for to-print conversion yet; and I'd strongly suggest that, instead of writing a book in addition to the Wiki, we continue making the Wiki into an excellent information source - with the idea in the back of our heads that we should provide a printable version some day.
Every good solution is obvious once you've found it.
Therx

Re:OS Development Book Idea

Post by Therx »

up-front investment to get a couple of them printed, storing them and setting up some ordering / payment process.
If there was any of these costs I wouldn't even be considering this. However, CafePress don't charge any (see this). Nor is there a minimum order. The books are printed as ordered and still will be delivered within 2-3 days (prob. only for US).
something actually suited for front-to-back reading
As the book is free to setup, a new version could be released twice a year or something. I'd be happy to format it all nicely (wouldn't take too long since Pype added the "all in one" pages).
The next person might want a general introduction, while yet the next one might want lots of code examples, and the final one wants lots of IA32-specific info.
True. and it would probably have to be processor specific

THis idea obviously needs a lot of refinment and we'd have to decide exactly what went in (maybe printed copies of favourite tutorials - with authors permission). But I'm sure that it would be very useful especially since intel stopped the free printed copies of the manuals

Pete
Dreamsmith

Re:OS Development Book Idea

Post by Dreamsmith »

Solar wrote:
Pete wrote:1. Existing books cost a bomb. At $7 + $0.03 per page, this book would be CHEAP.
With 100 pages, you'd be at $10, not including shipment and handling (50-page A4 book from US to EUR -> ~$5)
Not to mention, with 100 pages, anyone who knows anything about the myriad of options that need to be considered when designing an OS will laugh their heads off! A terse book on the subject, if it's going to be anything close to reasonably complete, is going to be at least 500 pages, and even then its probably skipping a lot entirely or glossing over things so badly it might as well have (I'm thinking of that atrocious book from Dr. Tanenbaum I had to buy in college -- can't seem to find my copy, I may have finally threw it away -- don't know how many pages it was, but it was about a third the size it ought to have been, and was still fairly substantial despite the huge amounts it left out).
Therx

Re:OS Development Book Idea

Post by Therx »

Who said it was going to be 100 pages? I think Solar meant it as a price example.

Pete
Dreamsmith

Re:OS Development Book Idea

Post by Dreamsmith »

Pete wrote:Who said it was going to be 100 pages? I think Solar meant it as a price example.
Indeed. I'm just pointing out that, if at all worth buying, it's going to be like $30+...
Therx

Re:OS Development Book Idea

Post by Therx »

Yeh. 500 pages would be $22. Then again it depends what went in it. My initial idea was just to have a quick reference of some datasheets.

Maybe everyone could say what they'd want in the book if it were published (the debate of whether its worth it or not can wait!)

Pete
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re:OS Development Book Idea

Post by Brendan »

Hi,
Pete wrote: Maybe everyone could say what they'd want in the book if it were published (the debate of whether its worth it or not can wait!)
How about a book that contains heaps of theory (e.g. practical peer to peer distrubuted computing) and heaps of detailed 80x86/PC hardware info, excluding CPUs (which are well documented by Intel) - e.g. PCI/AGP 3D accelerated video card details.

I'd be the first person to pay the $100 for it (based on $7 + $0.03)...

A "quick reference of some datasheets" wouldn't be as useful as the actual datasheets. Perhaps you could do an educational book and OS package (along the lines of MMURTL and MINIX)?

Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
User avatar
df
Member
Member
Posts: 1076
Joined: Fri Oct 22, 2004 11:00 pm
Contact:

Re:OS Development Book Idea

Post by df »

the os dev guide for dummies was our original 'book' idea. it never kind of worked. hopefully the wiki faq will evlove enough into that kind of idea.
-- Stu --
Post Reply