OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 8:45 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 170 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 12  Next
Author Message
 Post subject: Re:Book Recommendations
PostPosted: Tue Jan 25, 2005 12:32 pm 
Modern Operating Systems (which I just found at my local libary ;D) by Andrew S. Tanenbaum is great so far.


Top
  
 
 Post subject: Re:Book Recommendations
PostPosted: Thu Jan 27, 2005 11:01 am 
There are some real differences of opinion on these books. Design and Implementation is primarily set around the design of a specific small Unix-like OS, Minix, which was designed for the book. It gives extensive source code examples and glosses on the design decisions, and includes the full source code at the end of the book (and on the CD). However, the discussion of alternate approaches used in other OSes is limited, and it does not deal with a lot of things that are not implemented in Minix, such as spinlocks. In many ways, it's an excellent book, though Tannenbaum's English prose is often a bit unclear and meandering. One aspect of it which often confuses new students is that it does not cover the user shell in the book; the focus is entirely on the kernel and the drivers. It also does not cover the bootstrap process, except in broad terms. While this is appropriate, as neither the boot strap nor the user interface are part of the OS per se, it can be confusing.

Modern Operating Systems is split into two parts. The first part covers the same material as Design and Implementation, but uses design examples from existing systems (primarily Unix, Linux and Windows 2000) and substitutes the working Minix source with pseudocode, or eliminates it entirely. The second half covers more advanced issues of multiprocessing and distributed processing. It makes a good theoretical compelment to the more pragmatic Design and Implementation, but there is a fair amount of repetition between them. Also, the problems with understanding Tannenbaum's writing are eve more serious without the code examples to make his explanations concrete.

If you can, I would recommend looking the books up in a library first (most college libraries will have at least one of them) before you lay down all that money. Also, if you are a college student, and are thinking of taking an OS course, you might want to find out what books the courses use; you might end up using these books anyway, and may find a better deal with used copies from the university book store.


Top
  
 
 Post subject: Re:Book Recommendations
PostPosted: Sat Jan 29, 2005 11:58 am 
Offline
Member
Member
User avatar

Joined: Tue Oct 17, 2006 11:33 pm
Posts: 3882
Location: Eindhoven
Not sure whether this is the good forum but at least the thread fits.


Does anybody know a book with a good theoretical background on fourier and cosine transforms? I've only had Algorithm Design from Baase & van Gelder and it only touches FFT (as in, how to implement it. No word on what it IS).

TIA, Candy


Top
 Profile  
 
 Post subject: Re:Book Recommendations
PostPosted: Sat Mar 12, 2005 8:24 am 
Offline
Member
Member
User avatar

Joined: Wed Oct 18, 2006 2:31 am
Posts: 5964
Location: In a galaxy, far, far away
For anyone here that has a book store nearby selling "Linux France Magazine", go and get issue #70. It looks like David Decotigny and Thomas Petazzoni are in the middle of a collection of documents stepping through a simple operating system based on GRUB, from bootstrap to VFS ...

http://sos.enix.org/ has electronical mirror of previous articles ...

_________________
Image May the source be with you.


Top
 Profile  
 
 Post subject: Re:Book Recommendations
PostPosted: Wed Apr 13, 2005 2:04 pm 
Well thats nice, a french OS 8)


Top
  
 
 Post subject: Re:Book Recommendations
PostPosted: Mon May 02, 2005 12:56 am 
Offline
Member
Member
User avatar

Joined: Sat Oct 23, 2004 11:00 pm
Posts: 1223
Location: Sweden
http://www.comms.scitech.susx.ac.uk/fft/

_________________
"Simplicity is the ultimate sophistication."
http://bos.asmhackers.net/ - GitHub


Top
 Profile  
 
 Post subject: Re:Book Recommendations
PostPosted: Thu Aug 25, 2005 2:10 pm 
I'm thinking of buying one of these books (it sounds like I have a lot to learn!), and I've narrowed it down pretty much to "Operating Systems: Design and Implementation" by Tanenbaum, "Modern Operating Systems" by Tanenbaum, or "Operating System Concepts" by Silberschatz. I'm wondering what you guys think would be best for someone just getting into OS development. And if you know a better book than those, mention it, please.

Most of the Amazon reviews for each give the impression of a slight holy war going on.

http://www.amazon.com/...
This book must burn.


Top
  
 
 Post subject: Re:Book Recommendations
PostPosted: Fri Aug 26, 2005 2:46 am 
Offline
Member
Member
User avatar

Joined: Wed Oct 18, 2006 2:31 am
Posts: 5964
Location: In a galaxy, far, far away
Crazed123 wrote:
I'm thinking of buying one of these books (it sounds like I have a lot to learn!), and I've narrowed it down pretty much to "Operating Systems: Design and Implementation" by Tanenbaum, "Modern Operating Systems" by Tanenbaum, or "Operating System Concepts" by Silberschatz. I'm wondering what you guys think would be best for someone just getting into OS development.


don't know for "design and implementation" since i haven't read it so far, but both "MOS" and "OSC" are somehow equivalent. Pick the first one you find -- or the cheapest.

Both address similar issues and equivalent examples nowadays (linux, winNT). Maybe if you can't find one in your native language, you should prefer the english version of OSC to the english version MOS since it seems that tanenbaum's english is sometimes not as english as it should (i have read it in french, personnally, and it was quite well translated, though, so i can't really advocate for one of them).

_________________
Image May the source be with you.


Top
 Profile  
 
 Post subject: Re:Book Recommendations
PostPosted: Fri Aug 26, 2005 2:25 pm 
I got MOS, and I'm hoping to be OK since I'm a native English speaker.

Now we just have to march back, hand them a receipt and demand faculty discount.


Top
  
 
 Post subject: Re:Book Recommendations
PostPosted: Thu Sep 08, 2005 5:05 am 
Offline
Member
Member
User avatar

Joined: Thu Nov 16, 2006 12:01 pm
Posts: 7612
Location: Germany
I'm pretty sure it has been mentioned earlier already, but as Pype asked for a good Assembler reference, I'll give the links (again?):

Art of Assembly (printed)

Art of Assembly (16bit DOS edition, PDF)

Art of Assembly (32bit Linux edition, PDF)

Take your pick. Not really sure which of the online editions the printed version is about, but this book covers it all. Boolean algebra, CPU architecture, cache lines, how the x86 opcodes came to pass, control structures, interrupts... you name it.

_________________
Every good solution is obvious once you've found it.


Top
 Profile  
 
 Post subject: Re:Book Recommendations
PostPosted: Tue Sep 13, 2005 12:47 am 
Offline
Member
Member
User avatar

Joined: Tue Oct 17, 2006 11:33 pm
Posts: 3882
Location: Eindhoven
Solar wrote:
Art of Assembly (printed)

Art of Assembly (16bit DOS edition, PDF)

Art of Assembly (32bit Linux edition, PDF)

Take your pick. Not really sure which of the online editions the printed version is about, but this book covers it all. Boolean algebra, CPU architecture, cache lines, how the x86 opcodes came to pass, control structures, interrupts... you name it.


Since the Art of Assembly is constantly updated & reviewed, by its author Randall Hyde (moderator of his own subforum at www.masmforum.com), he's probably best to tell about it. Short summary:

AoA DOS-version is about traditional X86. AoA Win32 version (and probably the linux version too, although I don't know for sure) talks about HLA, which is High-Level Assembler. It allows going down to asm level (the traditional opcode way) but it also allows you to program in a higher level language which maps directly on asm. Look at the book itself or at his forum for more information.

You probably want the DOS edition, even though it's counter-intuitive.


Top
 Profile  
 
 Post subject: Re:Book Recommendations
PostPosted: Tue Sep 13, 2005 4:53 pm 
I never got the win32/linux version distinction, and apparently he doesn't either. One page (linked above) I was looking at had the win32 version for download and a link to the download page for the linux version but that download was also labelled as the win32 version :S Maybe I was just hallucinating or something


Top
  
 
 Post subject: Re:Book Recommendations
PostPosted: Wed Feb 15, 2006 3:01 am 
The best book ever: "The Design of the Unix Operating System", of Maurice J. Bach.


Top
  
 
 Post subject: Re:Book Recommendations
PostPosted: Sun Apr 16, 2006 7:36 pm 
This isn't really a book, just an article I found which should be read by anyone writing any code:

The Bad Code Spotter's Guide
http://www.informit.com/articles/article.asp?p=457502

Quote:
Old maps were marked with the phrase "Here be Dragons" to help seafarers steer away from dangerous places; in programming the best way to avoid dealing with bad code is to avoid writing it. Diomidis Spinellis points out 10 giveaways to spot bad code that you (or others) may have written.


Apart from number 9 about using standard libraries (not always possible for a kernel), all these things do apply to systems programming as much as applications programming.


Top
  
 
 Post subject: Re:Book Recommendations
PostPosted: Mon Apr 24, 2006 7:53 am 
Offline
Member
Member
User avatar

Joined: Thu Nov 16, 2006 12:01 pm
Posts: 7612
Location: Germany
paulbarker wrote:
Apart from number 9 about using standard libraries (not always possible for a kernel), all these things do apply to systems programming as much as applications programming.


In a sense, especially number 9 applies to systems programming.

1) If you name a kernel function after a standard C function, make very sure that it behaves identically to the standard one.

2) If you create a function that is very close but not identical to a standard C function, reconsider whether it would be possible to make it identical, and cater for the small differences between the standard and your expectations elsewhere.

Both items reduce the probability of someone else being "surprised" by your code. It's OK if your kprintf() doesn't cater for floating point values because you don't use any in your kernel, but it's not OK if it turns "%%" into something else but "%", does support "%d" but not "%i", automatically adds a '\n' at the end, or doesn't return an int. If you insist on doing it differently, don't call the function kprintf() but something else, and if at all possible, make it consistent with whatever user-space API you provide for formatted output.

Same for kmalloc() - if you make it accept more than a single parameter, or return something different from the standard, call it something else, because people see "(k)malloc" and expect it to behave in a certain way.

_________________
Every good solution is obvious once you've found it.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 170 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 12  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: Google [Bot], SemrushBot [Bot] and 65 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group