UniX internals Material

Hi!

I have 1.5 years experience in unix environment and shell scripting. Now, I started learning UNIX internals and network programming. Can you please help in finding the same material on the net

Thanks
Srinivas.

Yes, try keyword searches on:

Works great!!

1 Like

Thanks Neo. I tried in that way. But I could not get what I wanted. I am looking for a material which can explain the concepts detailly. I may found if I spend too much time on research.

I am greateful if any body suggest the sites right away.

Regards

What are you looking for exactly?... perhaps we can recommend a few good books for you.

How about titles like this, "Advanced Programming in the Unix Environment" (http://www.amazon.com/exec/obidos/ASIN/0201563177/\)

This title gets pretty indepth and the other titles by Addison-Wesley are fairly in-depth.

Thanks guys!

I already have that book. That is pretty boring to read.

I am planning to concentrate on Kernel programming, Advanced used of environment like job control, process control, multi threading and rpc programming.

I am looking for a material which can be explanatory like tutorial stuff.

I tried to find using google and aj.com search engines. But I did not find what I want.

I surely believe that some where in net have good material on this.

If you guys come to know, please let me know about the same

-srinivas

1 Like

Do you like to read source code? THere is a Linux book that is a annotation of the kernel code... is that what you want.

There are a number of good books on UNIX internals, all of them are better than stuff you find on the NET, really.

1 Like

There is not much to know about controlling a process. Stevens' book covered it all, so you are already there. I don't even know what "job control" is supposed to mean...process groups perhaps? Again Stevens' covered it all. Since you plan to take up threads and rpc, I can see that you're actually aiming at application programming. I have found that extensive kernel knowledge confers two benefits on the application programmer: performance tuning and system security. And very fast code will be noticed by your boss, very secure code won't.

Most vendors have driver writing manuals on the net. But that is the only real kernel internals info that I have ever found on the net. I have found a few good books. I hesitate to share them with you because I loved Stevens' book. I have never found any of his books to be boring. But for what it's worth, here are my top picks:

Kernel Descriptions:

The Design and Implementation of the 4.3BSD Operating System by Leffler, McKusick, Karels, and Quarterman ISBN 0-201-06196-1

The Design of the Unix Operating System by Bach ISBN 0-13-201799-7

The 4.3 book is the better of the two and not simply because it is describing a better kernel. But it was useful to read both books and compare the two approaches. The 4.3 book is out-of-print, but there is a 4.4 book out and it's high on my want list.

Solaris Internals -- Core Kernel Architecture by Mauro and McDougall ISBN 0-13-022496-0

This is not as good as the first two, but it sheds a lot of light on an important kernel.

Driver Writing

There is a problem here. I have never read a great book on driver writing. As I said, most vendors will have driver writing manuals and you should start with these. But here are a couple of driver writing books that were at least somewhat helpful. But they both have a System V focus.

Writing UNIX Device Drivers by Pajari ISBN 0-201-52374-4

While this is the worst of the two, it's not a bad place to start. It first describes a psuedo driver that just returns test data like today's /dev/zero. This is the smallest driver that can be written and it serves the same purpose as the "Hello world" program in K&R's C book. But after you have your first pseudo driver installed in a kernel, drop this book and move on.

Writing a Unix Device Driver by Egan and Teixeira ISBN 0-471-62859-X

A bit more advanced than the first book and much more accurate. It also has a reference section that is better than nothing if you don't have your vendor's manuals.

Misc

UNIX Systems for Modern Architectures....Symmetric Multiprocessing and Caching for Kernel Programmers by Schimmel ISBN 0-201-63338-8

This book first describes hardware concepts like n-way set associative caches, fully associative caches, memory management units and symmetric multiprocessing. Then it describes the software concepts needed to make it work like spin-locks, preemption, sequencers, etc. The focus is on SMP thoughout the book.

IA-64 and Elementary Functions by Markstein ISBN 0-13-0018348-2

This is a description of the new chip being developed by HP and Intel. There is no real unix specific information here, but the book delves in detail about writing software for the chip. The emphasis throughout the book is on performance and it is really aimed at the compiler writer. Most of the book is devoted to floating point arithmetic starting with hardware issues like precision and fused multiply-add. And the second half of the book describes in detail the suggested implementation of elementary functions from square root to the inverse hyperbolics. And it's not just the code, but the algorithms that lead to the development of the code. All in all, this is best book on computer arithmetic that I have ever seen.

Panic! Unix Crash Dump Analysis by Drake and Brown ISBN 0-13-149386-4

This is Solaris/Sparc based. It has the most complete description of adb that I have found. Also lots of info about assembler and kernel structures.