views:

136

answers:

10

hi,

I have been using linux for several years now, mostly ubuntu, but occasionally I encounter different unixes.

I don't really know how it works, I just know how to use it.

for example, I use package managers, I can adjust the path when I need to (i'm a coder), but usually have difficulty mounting things. except that it is somehow very important, I don't actually know what the kernel actually does.

I have a computer science degree, but sans operating systems.

Unix has been around for a long time, and will probably continue to be around for a long time.

I'm getting sick of not understanding how it really works. I am not looking for a get-up-to-speed quickly book, I'm looking for a deep understanding which will pay off for years to come.

I've read through the other questions similar to this, and i'll be investigating those books, but i feel this question needs to be asked from this angle.

so, where can I can a deep understanding of how unix's work?

+1  A: 

hi , check out this one this may be useful

yosanu
+1 for this not being a book I have to buy, so that I can just read it straight away! cheers!
dominic
+1  A: 

This one covers UNIX system programming and it's a classic:

Advanced Programming in the UNIX(R) Environment, W. Richard Stevens, Stephen A. Rago http://www.amazon.com/Advanced-Programming-UNIX-Environment-2nd/dp/0201433079

It's well-written and easy to understand. It's easy to read a single chapter without having read the preceding ones. Of course, you will still need to read the UNIX man pages but you will have the big picture before.

gawi
Well... I've been reading your question again. The book I suggested won't really explain how a UNIX operating system works but rather how to work with it, from a programmer perspective.
gawi
How to program for Unix is to an extent how unix works - and anyway it's an excellent book
Martin Beckett
+2  A: 

Understanding the Linux Kernel

karlphillip
+1 This is also one of the best books on OS design in general by virtue of its practical detail. But I'll note that the audience is programmers. If you want to know the design but can't fluently read C, check out one of the higher-level books like the 4.4BSD one or UNIX Internals. Or even Tanenbaum.
quixoto
+1  A: 

Check out The Design and Implementation of the 4.4BSD Operating System, available for free online at freebsd.org. It's from 1996, but huge portions of it are still "modern" and it does a great job of explaining the design decisions and tradeoffs that went into Unix.

Just Some Guy
A: 

You may find interesting Operating Systems Design and Implementation, by Tanenbaum and Woodhull.

It explains OS concepts providing the MINIX (UNIX-like, microkernel OS, written by the authors) operating system as example of their implementations. It's on my wish list from several months. :)

Matteo Italia
A: 

Some might argue that you need to study the kernel in order to know how Linux really works. But that is only half the story. It indeed all begins with the kernel, but without all those Linux tools and applications outside the kernel nothing interesting will happen either. So you need to know how they work to. Thus I would start with reading, for a general understanding about what all is going on in the Linux system, before I would go in kernel and device driver details. For example by reading this very popular text:

Only if this book holds no secrets for you, I would start reading the top 3 kernel books:

  1. LKD: Linux Kernel Development, by Rober Love (480 pages)
  2. ULK: Understanding Linux kernel (944 pages)
  3. LDD: Linux Device Drivers (640 pages)

But before diving into the kernel you might first want to read one of these clasics:

Kdeveloper
+1  A: 

"The Art of Unix programming"By Eric steven raymond

Aboelnour
A: 

Tanenbaums book Operating Systems: Design and Implementation is not about Linux. Instead it describes the design of Minix which has a micro kernel as opposed to the monolithic kernel of Linux. As far as I know Linus Torvalds was inspired by the work of Tanenbaum but the two notabilites also had a controversy known as the Tanenbaum–Torvalds debate about the design of operating systems.

I find the book is quite a worthwhile read if you are interested in the inner workings of operating systems.

Operating Systems: Design and Implementation

Martin Liversage
A: 

And, for when you get sick of it, there's always The Unix Hater's Handbook (PDF here :-)

Dave Everitt