| |
| |
| |
Basic Concepts and Terminology | |
| |
| |
| |
The file | |
| |
| |
| |
The process | |
| |
| |
| |
System calls and library subroutines | |
| |
| |
| |
The File | |
| |
| |
| |
UNIX file access primitives | |
| |
| |
| |
Standard input, standard output and standard error | |
| |
| |
| |
The standard I/O library: a look ahead | |
| |
| |
| |
The erno variable and system calls | |
| |
| |
| |
The File in Context | |
| |
| |
| |
Files in a multi-user environment | |
| |
| |
| |
Files with multiple names / Obtaining file information: stat and fstat | |
| |
| |
| |
Directories, File Systems and Special Files | |
| |
| |
| |
Introduction | |
| |
| |
| |
Directories: the user view | |
| |
| |
| |
The implementation of a directory | |
| |
| |
| |
Programming with directories | |
| |
| |
| |
UNIX file systems | |
| |
| |
| |
UNIX device files | |
| |
| |
| |
The Process | |
| |
| |
| |
Review of the notion of a process | |
| |
| |
| |
Creating processes | |
| |
| |
| |
Running new programs with exec | |
| |
| |
| |
Using exec and form together | |
| |
| |
| |
Inherited data and file descriptors | |
| |
| |
| |
Terminating processes with the exit system call | |
| |
| |
| |
Synchronising processes | |
| |
| |
| |
Zombies and premature exits | |
| |
| |
| |
smallsh: a command processor | |
| |
| |
| |
Process attributes | |
| |
| |
| |
Signals and Signal Handling | |
| |
| |
| |
Introduction | |
| |
| |
| |
Signal handling | |
| |
| |
| |
Signal blocking | |
| |
| |
| |
Sending signals | |
| |
| |
| |
Interprocess Communication Using Pipes | |
| |
| |
| |
Pipes | |
| |
| |
| |
FIFOs or named pipes | |
| |
| |
| |
Advanced Inter-Process Communications | |
| |
| |
| |
Introduction | |
| |
| |
| |
Record locking | |
| |
| |
| |
Advanced IPC facilities | |
| |
| |
| |
The Terminal | |
| |
| |
| |
Introduction | |
| |
| |
| |
The UNIX terminal | |
| |
| |
| |
The programmers view | |
| |
| |
| |
The connect example | |
| |
| |
| |
An Introduction to Unix Networking | |
| |
| |
| |
Introduction | |
| |
| |
| |
Overview | |
| |
| |
| |
Addressing a process | |
| |
| |
| |
Socket interface | |
| |
| |
| |
Programming the connection oriented model | |
| |
| |
| |
Programming the connectionless oriented model | |
| |
| |
| |
Transport level interface | |
| |
| |
| |
The Standard I/O Library | |
| |
| |
| |
Introduction | |
| |
| |
| |
File structures | |
| |
| |
| |
Opening and closing streams: fopen and fclose | |
| |
| |
| |
Single-character I/O: getc and putc | |
| |
| |
| |
Pushing characters back onto a stream: ungetc | |
| |
| |
| |
Standard input, standard output and standard error | |
| |
| |
| |
Standard I/O status routines | |
| |
| |
| |
Input and output by line | |
| |
| |
| |
Binary input and output: fread and fwrite | |
| |
| |
| |
Random file access: fseek, rewind, ftell | |
| |
| |
| |
Formatted output: the printf family | |
| |
| |
| |
Formatted input: the scanf family | |
| |
| |
| |
Running programs with the Standard I/O Library | |
| |
| |
| |
Miscellaneous calls | |
| |
| |
| |
Micellaneous System Calls and Library Routines | |
| |
| |
| |
Introduction | |
| |
| |
| |
Dynamic memory management | |
| |
| |
| |
Memory mapped i/O | |
| |
| |
| |
Time | |
| |
| |
| |
String and character manipulation | |
| |
| |
| |
A selection of other useful functions | |
| |
| |
Appendices | |