Book Recommendations
Re:Book Recommendations
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.
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.
Re:Book Recommendations
Wait and be surprised.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.
Every good solution is obvious once you've found it.
Re:Book Recommendations
Can you explain why it would be beneficial to read the DOS rather then the Linux version?Candy wrote: <snip>
You probably want the DOS edition, even though it's counter-intuitive.
Thanks!,
Andrew
Re:Book Recommendations
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 Balmos wrote:Can you explain why it would be beneficial to read the DOS rather then the Linux version?Candy wrote: <snip>
You probably want the DOS edition, even though it's counter-intuitive.
Thanks!,
Andrew
- Andrew
Re:Book Recommendations
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.abalmos wrote: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 Balmos wrote:Can you explain why it would be beneficial to read the DOS rather then the Linux version?Candy wrote: <snip>
You probably want the DOS edition, even though it's counter-intuitive.
Thanks!,
Andrew
- Andrew
Re:Book Recommendations
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
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
Re:Book Recommendations
I thought about it, but its REALLY expensive right now. > 100$. I'll wait till a paperback version or so...
-- Stu --
-
- Posts: 3
- Joined: Wed Oct 25, 2006 4:32 pm
- Contact:
it gives a full view of the development of linux os
Operating Systems - Sams - Linux Kernel Development
- nitinjavakid
- Member
- Posts: 65
- Joined: Sat Oct 21, 2006 11:28 am
- Location: Exams over!
- Contact:
-
- Member
- Posts: 566
- Joined: Tue Jun 20, 2006 9:17 am
Famous books
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 ...
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 ...
OS development (book)
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
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
The XINU Book and Virtual Machine Design and Implementation
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.
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.
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.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.
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!
- Kevin McGuire
- Member
- Posts: 843
- Joined: Tue Nov 09, 2004 12:00 am
- Location: United States
- Contact: