Books and other resources

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
Schol-R-LEA

Books and other resources

Post by Schol-R-LEA »

I had a few books that I thought I'd mention,
and wanted to see what others recommended.

"Assembly Language Step by Step", by Jeff
Duntemann. Covers both 16 bit DOS and 32 bit Linux
code, with examples in NASM (and a description of
NASM-IDE). Excellent coverage of segmented memory
and the differences between r-mode and p-mode.

"Linkers and Loaders" by John Levine. Detailed
coverage of a subject that usually gets ignored
in general OS texts.

Any of Andrew Tannebaum's books on OS design.

"The Design of Everyday Things" by Donald A.
Norman. While not about computers per se, it
gives an excellent perspective on desiging
tools for use by non-experts. Anyone who writes
*any* software for others should read this.

"Programming Pearls" by Jon Bentley. A collection
of excellent essays on safe, secure and efficient
code. Again, every programmer should read this
book at least once.

"The Humane Interface" by Jef Raskin. Another
must-read, by one of the greatest interface
designers ever. You'll never look at software
the same way again.

"Computer Lib" by Ted Nelson. While it is now
many many years old, it still remains one
of the most inspirational books about what
computers *should* be like.

I've noted some examples of OSes written in
HLLs other than C or C++, or implement unusual
features such as object persistence. These may
give some different perspectives on design
issues.

The Oberon web page (http://www.oberon.ethz.ch/) The LISPOS page
(http://lists.tunes.org/mailman/listinfo/lispos)
LISP based Operating Systems
(http://vip.hex.net/~cbbrowne/lisposes.html)
JavaOS
(http://www.sun.com/javaos/)
TUNES
(http://www.tunes.org)
Merlin
(http://www.lsi.usp.br/~jecel/merlin.html)
Grasshopper
(http://www.psrg.cs.usyd.edu.au/Grasshopper/)
Sting
(http://www.neci.nj.nec.com/PLS/sting.html)
Apertos
(http://www.csl.sony.co.jp/project/Apertos/index.html)
Inferno
(http://www.vitanuova.com/inferno/index.html)
Plan 9
(http://www.vitanuova.com/plan9/main.html)
SPIN
(http://www.cs.washington.edu/research/p ... /spin/www/)
Flux
(http://www.cs.utah.edu/projects/flux/)


There are also a few attempts at comprehensive
lists of OS projects:

http://www.cs.arizona.edu/people/bridges/oses.html
http://tunes.org/Review/OSes.html
Schol-R-LEA

RE:Books and other resources

Post by Schol-R-LEA »

A few more I forgot to add. These are also in the
OS FAQ, I think, but it doesn't hurt to mention
them.

"The Indispensable PC Hardware Book" by Hans
Messmer

"PC PhD" by Myke Predko. Between this and the
IPCHB, you can get info on most interfacing most
of the major hardware subsystems.

"Linux Core Kernel Commentary" by Scott Maxwell.
Arranged in the same fashion as Lions' classic
"Commentary on Unix 6th Edition, with Source Code", this is a complete listing of the 2.2
kernel, followed by a closely cross-referenced
commentary on the code. Perfect as an elucidation
of an actual production OS kernel. Extremely
long, however, coming in at more than five times
the size of it's illustrious predecessor.

For that matter, the Lions Book reprint is still
available, and is an excellent reference, even
though it refers to obsolete hardware.
Post Reply