Advanced Unix Programming


Since early 1970, Unix operating system has gone through many metamorphosis. As of now many variants of Unix systems are available and some of them are commercial and where as the others are freely available. In the recent years, Linux, a public domain, freely available Unix variant has attracted the people very much. Till today, Unix is believed to be bread and butter of Computer Science intern’s. However, because of this freely available Unix variant, many people are becoming Unix enthusiasts especially in India.

Hundreds of books had been written in the past which explores various facets of Unix such as user commands, shell programming. However, there are very few books which details Unix internals (leave out on device drivers, kernel development). This book is an attempt to explain Unix system calls (internals) in a lucid and problem oriented manner. The examples which are discussed are araised from the author’s lectures at RITCH center and also from the susggestions (answers) made by thousands of Unix enthusiasts in USENET groups on Unix, and personnel web pages of many Linux enthusiasts.

This book assumes that the prosperous reader has no hands on exposure to Unix Operating System. However, it assumes that he has good exposure to theoretical aspects of operating systems design and C programming.

First 9 chapters deal with “how to get hands on exposure to Unix Operating System”. Subsequent chapters explain “Unix internal programming”. All the examples given are tested under Linux environment. Examples given in Processes are very illustrative and concept oriented. Simple examples are taken to explain the concepts in thorough manner. Chapter on Signals explains the reliable and unreliable way of handling signals while introducing the basic concepts from scratch. Chapters such as pipes, message queues, shared memory, semaphores and memory mapping are dealt in detail with vivid examples such that the candidates can immediately correlate their theoretical concepts which they have learned in Operating Systems courses.



1.	Introduction to Unix system
2.	Vi editor
3.	Redirection Operators
4.	Filters
5.	Pipes
6.	Awk Command
7.	Backup Commands
8.	Internet Related Commands
9.	Shell Programming
10.	Unix System Calls
11.	Unix File System Call API
12.	Unix System Call API for Directory Operations
13.	Standard Library Functions
14.	Process
15.	Process Timers
16.	Signals
17.	Unix Memory Management
18.	File Locking
19.	Pipes
20.	Message Queues
21.	Shared Memory
22.	Semaphores
23.	Memory Mapped Files