Предисловие

Глава 1. Основные понятия и терминология
1.1. Файл
1.2. Процесс
1.3. Системные вызовы и библиотечные подпрограммы

Глава 2. Файл
2.1. Примитивы доступа к файлам в системе UNIX
2.2. Стандартный ввод, стандартный вывод и стандартный вывод диагностики
2.3. Стандартная библиотека ввода/вывода: взгляд в будущее
2.4. Системные вызовы и переменная errno

Глава 3. Работа с файлами
3.1. Файлы в многопользовательской среде
3.2. Файлы с несколькими именами
3.3. Получение информации о файле: вызовы stat и fstat

Глава 4. Каталоги, файловые системы и специальные файлы
4.1. Введение
4.2. Каталоги с точки зрения пользователя
4.3. Реализация каталогов
4.4. Использование каталогов при программировании
4.5. Файловые системы UNIX
4.6. Имена устройств UNIX

Глава 5. Процесс
5.1. Понятие процесса
5.2. Создание процессов
5.3. Запуск новых программ при помощи вызова exec
5.4. Совместное использование вызовов exec и fork
5.5. Наследование данных и дескрипторы файлов
5.6. Завершение процессов при помощи системного вызова exit
5.7. Синхронизация процессов
5.8. Зомби-процессы и преждевременное завершение программы
5.9. Командный интерпретатор smallsh
5.10. Атрибуты процесса

Глава 6. Сигналы и их обработка
6.1. Введение
6.2. Обработка сигналов
6.3. Блокирование сигналов
6.4. Посылка сигналов

Глава 7. Межпроцессное взаимодействие при помощи программных каналов
7.1. Каналы
7.2. Именованные каналы, или FIFO

Глава 8. Дополнительные методы межпроцессного взаимодействия
8.1. Введение
8.2. Блокировка записей
8.3. Дополнительные средства межпроцессного взаимодействия

Глава 9. Терминал
9.1. Введение
9.2. Терминал UNIX
9.3. Взгляд с точки зрения программы
9.4. Псевдотерминалы
9.5. Пример управления терминалом: программа tscript

Глава 10. Сокеты
10.1. Введение
10.2. Типы соединения
10.3. Адресация
10.4. Интерфейс сокетов
10.5. Программирование в режиме TCP-соединения
10.6. Программирование в режиме пересылок UDP-дейтаграмм
10.7. Различия между двумя моделями

Глава 11. Стандартная библиотека ввода/вывода
11.1. Введение
11.2. Структура FILE
11.3. Открытие и закрытие потоков: процедуры fopen и fclose
11.4. Посимвольный ввод/вывод: процедуры getc и putc
11.5. Возврат символов в поток: процедура ungetc
11.6. Стандартный ввод, стандартный вывод и стандартный вывод диагностики
11.7. Стандартные процедуры опроса состояния
11.8. Построчный ввод и вывод
11.9. Ввод и вывод бинарных данных: процедуры fread и fwrite
11.10. Произвольный доступ к файлу: процедуры fseek, rewind и ftell
11.11. Форматированный вывод: семейство процедур printf
11.12. Форматированный ввод: семейство процедур scanf
11.13. Запуск программ при помощи библиотеки стандартного ввода/вывода
11.14. Вспомогательные процедуры

Глава 12. Разные дополнительные системные вызовы и библиотечные процедуры
12.1. Введение
12.2. Управление динамическим распределением памяти
12.3. Ввод/вывод с отображением в память и работа с памятью
12.4. Время
12.5. Работа со строками и символами
12.6. Дополнительные средства

Приложение 1. Коды ошибок переменной errno и связанные с ними сообщения
Введение
Список кодов и сообщений об ошибках

Приложение 2. История UNIX
Основные стандарты
Библиография и дополнительные источники

Алфавитный указатель