Book Recommendations

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.
Post Reply
paulbarker

Re:Book Recommendations

Post by paulbarker »

I agree completely, as I've mentioned elsewhere.

The article says that you should always use standard libraries rather than writing your own version from scrath, and thats what I was saying doesnt apply to osdeving.

For the string functions and a few others, using a standard library *is* a good idea (I'm using pdclib's string functions), but things like fopen are probably not usable in kernel space without major modifications.
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re:Book Recommendations

Post by Solar »

paulbarker wrote: For the string functions and a few others, using a standard library *is* a good idea (I'm using pdclib's string functions), but things like fopen are probably not usable in kernel space without major modifications.
Wait and be surprised. ;)
Every good solution is obvious once you've found it.
Andrew Balmos

Re:Book Recommendations

Post by Andrew Balmos »

Candy wrote: <snip>
You probably want the DOS edition, even though it's counter-intuitive.
Can you explain why it would be beneficial to read the DOS rather then the Linux version?

Thanks!,
Andrew
abalmos

Re:Book Recommendations

Post by abalmos »

Andrew Balmos wrote:
Candy wrote: <snip>
You probably want the DOS edition, even though it's counter-intuitive.
Can you explain why it would be beneficial to read the DOS rather then the Linux version?

Thanks!,
Andrew
The above post was originally my post. After re-reading your messages and a flip though his book. Am I correct in understand that you suggested the DOS version because it teaches it in the traditional opcode way?

- Andrew
User avatar
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Re:Book Recommendations

Post by Candy »

abalmos wrote:
Andrew Balmos wrote:
Candy wrote: <snip>
You probably want the DOS edition, even though it's counter-intuitive.
Can you explain why it would be beneficial to read the DOS rather then the Linux version?

Thanks!,
Andrew
The above post was originally my post. After re-reading your messages and a flip though his book. Am I correct in understand that you suggested the DOS version because it teaches it in the traditional opcode way?

- Andrew
Yes. The newer book doesn't teach you the basic understanding of assembly code as being a direct translation of byte opcodes but gives you a higher-level view which isn't quite as helpful in understanding processors.
slash

Re:Book Recommendations

Post by slash »

Hi Guys,

I learned that Tanenbaum's OS Design & Implementation 3rd edition has been released mainly to reflect MINIX 3. So anybody who has it, is it really worth getting?

Thanks,

Aamir
User avatar
df
Member
Member
Posts: 1076
Joined: Fri Oct 22, 2004 11:00 pm
Contact:

Re:Book Recommendations

Post by df »

I thought about it, but its REALLY expensive right now. > 100$. I'll wait till a paperback version or so...
-- Stu --
sherifmagd
Posts: 3
Joined: Wed Oct 25, 2006 4:32 pm
Contact:

it gives a full view of the development of linux os

Post by sherifmagd »

Operating Systems - Sams - Linux Kernel Development
User avatar
nitinjavakid
Member
Member
Posts: 65
Joined: Sat Oct 21, 2006 11:28 am
Location: Exams over!
Contact:

Post by nitinjavakid »

Is there a book which has details need for implementing all the drivers.
I mean it should have all the details about ports(for implementation of ff,hdd,usb driver) all packed into one single book.

Also, what is the "Indespensable Hardware book" about?
Regards


Nitin
DeletedAccount
Member
Member
Posts: 566
Joined: Tue Jun 20, 2006 9:17 am

Famous books

Post by DeletedAccount »

1)Operating Systems design and implementation
2)Design of the unix operating system
3)Design of an operating system an haberban
3)Linux Kernel Development - Robert Love
4)Design and implementation of 4.4 free bsd
5)The Free Dos kernel
6)Dissecting Dos
7)Understanding the linux kernel
8)Writing Linux device drivers
9)Writing dos device drivers
10)Making a 32 bit Os -MMRUTL ...
Toaster
Member
Member
Posts: 25
Joined: Wed Jul 19, 2006 7:11 am
Location: Austria

OS development (book)

Post by Toaster »

Hi,

although the book is on german, it's pretty good.
It's 200 sites about all OS development stuff, including Real, Protected and Long Mode, over the PIC, to the ATA/ATAPI programming.

Maybe someone can help me translating it - ?
The book is available at http://www.osdever.net.tc ....

I would have published it, if I'd found a publisher, some didn't write back, some declined. So I want to publish [maybe sell it- don't have any money] anywhere...

A "trial" version is available under this link:
OS development
Assembler

greetings,

Toaster
E-Mail Adresse (= MSN): [email protected]
ICQ: 249-457-459
http://www.viennacomputerproducts.com/
kernel64
Posts: 6
Joined: Thu Mar 22, 2007 6:18 am

The XINU Book and Virtual Machine Design and Implementation

Post by kernel64 »

I have found that I just cannot do without Distinguished Professor of Computer Science Douglas C. Comer's Operating System Design: The XINU Approach, PC Edition. The second in the series deals with the TCP/IP stack.

It is an old book, but extremely remarkable in the fact that it teaches how and why, and gives understanding instead of reviewing theory only, which is useful, but not enough when you actually want to sit down and write an O/S kernel.

The XINU book describes the design of a UNIX clone, TCP/IP stack and all, that fits in one of the early IBM PC/XT or PC/AT systems. Quite an achievement if you ask me! Try fitting a very functional O/S with networking like a UNIX clone into a machine like that!

It starts off with a lot of things programmers grapple with when trying to write an O/S, like concurrent execution. It goes into detail with semaphores. It also delves into where you should do your cli and sti, and why it should be that way. It's very detailed, and very easy to read.

I don't find the fact that it uses the BIOS instead of having its own drivers, or being a later edition that's 32-bit in protected mode a problem, because issues with concurrent processing, semaphores and hardware details will always be there, regardless.

I rate the XINU book right up there with OSDI by Professor Andrew Tanenbaum.

I have also found Bill Blunden's Virtual Machine Design and Implementation in C/C++ very inspiring, funny at times and packed with lots of info that is hard to find, like how debuggers work.
pcmattman
Member
Member
Posts: 2566
Joined: Sun Jan 14, 2007 9:15 pm
Libera.chat IRC: miselin
Location: Sydney, Australia (I come from a land down under!)
Contact:

Post by pcmattman »

I have the first XINU book and the second - "Internetworking with XINU"... What a coincidence!

Unfortunately, it's all based on the PDP-11, but the concepts remain and I got a lot of information for some of the more difficult parts of my kernel out of it.
kernel64
Posts: 6
Joined: Thu Mar 22, 2007 6:18 am

Post by kernel64 »

pcmattman wrote:I have the first XINU book and the second - "Internetworking with XINU"... What a coincidence!

Unfortunately, it's all based on the PDP-11, but the concepts remain and I got a lot of information for some of the more difficult parts of my kernel out of it.
True! Back in 2001 I went to a Linux conference at the University of Canberra and met a lecturer who researches into operating systems and networking. I asked him "where do you start when you want to write an O/S?" and general questions like that. He told me one of the best books I could get was the Lions book, which is a source commentary on UNIX v6. He said the most important thing was to get a general feel for how interrupts were handled and things like that, instead of being bogged down in detail trying to decipher the Linux kernel code and learning that way.

As someone else has mentioned here, where is the book that teaches how to program the hardware? OSDI almost gets there, as does the XINU book; the Lions book has very simple code listings that show clearly the hardware programming but unfortunately things were simpler back then with the PDPs and the machines actually came with manuals as I understand. (Wow!)

A good, hardware programming book is badly needed. That's the most important thing, along with loading and running programs and scheduling them. An O/S is supposed to present an abstraction of the hardware after all, which all O/S textbooks emphasise, but they all fail to go even into a small amount of detail on hardware programming. I think it would be quite possible to write an O/S textbook dedicated to the undocumented stuff like hardware. It could give the general feel for hardware programming with plenty of examples using subsets of specs like the ATA/ATAPI spec, etc. and dealing with DMA, standardised hardware like the keyboard, probing if that was necessary, enumerating the stuff on the PCI bus and collecting it all in a device tree, and so on... but I suppose there are not many people who have much experience in writing drivers for everything, like the keyboard, mouse, framebuffer, ATA disks, SATA disks, (or chipsets for those devices I should say), bus scanning, ethernet cards, serial and parallel ports, USB... it could get overwhelming very quickly, but I think a quick jump start on all that stuff that at least gets you off and running and points to sources of info on the web would be a great and desperately needed book as a companion to the theoretical O/S textbooks. I've always wondered what the point was to an O/S textbook if you couldn't actually read it and sit down to try the stuff out and write an O/S, no matter how small and simple.

Phew... end rant! :twisted:
User avatar
Kevin McGuire
Member
Member
Posts: 843
Joined: Tue Nov 09, 2004 12:00 am
Location: United States
Contact:

Post by Kevin McGuire »

That makes sense. People like to sit down and do something small and significant instead of trying to conquer an entire world at once...they like accomplishments, seeing progress, and a hands on approach to help with the boredom. It makes sense.
Post Reply