О книге "Операционная система UNIX"

Назначение книги
На кого рассчитана эта книга?
Принятые обозначения

Введение

История создания

Исследовательские версии UNIX

Генеалогия UNIX

System V UNIX
System V Release 4 (SVR4)
UNIX компании Berkeley Software
Distribution
OSF/1
Версии UNIX, использующие микроядро
Свободно распространяемая система
UNIX

Основные стандарты

IEEE и POSIX
X/Open
SVID
ANSI

Некоторые известные версии UNIX

AIX
HP-UX
IRIX
Digital UNIX
SCO UNIX
Solaris

Причины популярности UNIX

Общий взгляд на архитектуру UNIX

Ядро системы
Файловая подсистема
Подсистема управления процессами
Подсистема ввода/вывода

Глава 1. Работа в операционной системе UNIX

Файлы и файловая система

Типы файлов
Сокеты
Структура файловой системы UNIX
Корневой каталог
/bin
/dev
/etc
/lib
/lost+found
/mnt
/u или /home
/usr
/var
/tmp
Владельцы файлов
Права доступа к файлу
Дополнительные атрибуты файла

Процессы

Программы и процессы
Типы процессов
Системные процессы
Демоны
Прикладные процессы
Атрибуты процесса
Идентификатор процесса Process ID
(PID)
Идентификатор родительского процесса
Parent Process ID
(PPID)
Приоритет процесса (Nice Number)
Терминальная линия (TTY)
Реальный (RID) и эффективный (EUID)
идентификаторы
пользователя
Реальный (RGID) и эффективный (EGID)
идентификаторы группы
Жизненный путь процесса
Сигналы

Устройства

Файлы блочных устройств
Файлы символьных устройств
Мнемоника названий специальных файлов
устройств в файловой
системе UNIX

Пользователи системы

Атрибуты пользователя
Пароли
Стандартные пользователи и группы

Пользовательская среда UNIX

Командный интерпретатор shell
Синтаксис языка Bourne shell
Общий синтаксис скрипта
Переменные
Встроенные переменные
Перенаправление ввода/вывода
Команды, функции и программы
Подстановки, выполняемые командным
интерпретатором
Запуск команд
Условные выражения
Команда test
Циклы
Селекторы
Ввод
Система управления заданиями
Основные утилиты UNIX
Утилиты для работы с файлами
Утилиты для управления процессами
Об администрировании UNIX
Ситуация 1. Нехватка дискового
пространства
Ситуация 2. Избыточная загрузка
процессора
Ситуация 3. Регистрация новых
пользователей
Ситуация 4. Авария загрузочного диска
Ситуация 5. Слабая производительность
сети
Ситуация 6. "Глупые" вопросы
пользователей
Ситуация 7. Установка новой версии
операционной системы
Ситуация 8. Пользователям необходима
электронная телефонная
книга

Заключение

Глава 2. Среда программирования UNIX

Программный интерфейс UNIX

Системные вызовы и функции
стандартных библиотек
Обработка ошибок

Создание программы

Исходный текст
Заголовки
Компиляция
Форматы исполняемых файлов
Формат ELF
Формат COFF

Выполнение программы в операционной
системе UNIX

Запуск C-программы
Завершение C-программы

Работа с файлами

Основные системные функции для работы
с файлами
Функция open(2)
Функция creat(2)
Функция close(2)
Функции dup(2) и dup2(2)
Функция lseek(2)
Функция read(2) и readv(2)
Функции write(2) и writev(2)
Функция pipe(2)
Функция fcntl(2)
Стандартная библиотека ввода/вывода
Связи
Файлы, отображаемые в памяти
Владение файлами
Права доступа
Перемещение по файловой системе
Метаданные файла

Процессы

Идентификаторы процесса
Выделение памяти
Создание и управление процессами
Сигналы
Надежные сигналы
Группы и сеансы
Текущие и фоновые группы процессов
Ограничения

Примеры программ

Демон
Командный интерпретатор

Заключение

Глава 3. Подсистема управления процессами

Основы управления процессом

Структуры данных процесса
Состояния процесса

Принципы управления памятью

Виртуальная и физическая память
Сегменты
Страничный механизм
Адресное пространство процесса

Управление памятью процесса

Области
Замещение страниц

Планирование выполнения процессов

Обработка прерываний таймера
Отложенные вызовы
Алармы
Контекст процесса
Принципы планирования процессов

Создание процесса

Запуск новой программы

Выполнение в режиме ядра

Сон и пробуждение

Завершение выполнения процесса

Сигналы

Группы и сеансы
Управление сигналами
Отправление сигнала
Доставка и обработка сигнала

Взаимодействие между процессами

Каналы
FIFO
Идентификаторы и имена в IPC
Сообщения
Семафоры
Разделяемая память
Межпроцессное взаимодействие в BSD
UNIX. Сокеты
Программный интерфейс сокетов
Пример использования сокетов
Сравнение различных систем
межпроцессного взаимодействия

Заключение

Глава 4. Файловая подсистема

Базовая файловая система System V

Суперблок
Индексные дескрипторы
Имена файлов
Недостатки и ограничения

Файловая система BSD UNIX

Каталоги

Архитектура виртуальной файловой системы

Виртуальные индексные дескрипторы
Монтирование файловой системы
Трансляция имен

Доступ к файловой системе

Файловые дескрипторы
Файловая таблица
Блокирование доступа к файлу

Буферный кэш

Внутренняя структура буферного кэша
Операции ввода/вывода
Кэширование в SVR4

Целостность файловой системы

Заключение

Глава 5. Подсистема ввода/вывода

Драйверы устройств

Типы драйверов
Базовая архитектура драйверов
Файловый интерфейс
Клоны
Встраивание драйверов в ядро

Блочные устройства

Символьные устройства

Интерфейс доступа низкого уровня
Буферизация

Архитектура терминального доступа

Псевдотерминалы

Подсистема STREAMS

Архитектура STREAMS
Модули
Сообщения
Типы сообщений
Передача данных
Управление передачей данных
Драйвер
Головной модуль
Доступ к потоку
Создание потока
Управление потоком
Мультиплексирование

Заключение

Глава 6. Поддержка сети в операционной
системе UNIX

Семейство протоколов TCP/IP

Краткая история TCP/IP
Архитектура TCP/IP
Общая модель сетевого взаимодействия
OSI

Протокол IP

Адресация

Протоколы транспортного уровня

User Datagram Protocol (UDP)
Transmisson Control Protocol (TCP)
Состояния TCP-сеанса
Передача данных
Стратегии реализации TCP
Синдром "глупого окна"
Медленный старт
Устранение затора
Повторная передача

Программные интерфейсы

Программный интерфейс сокетов
Программный интерфейс TLI
Программный интерфейс высокого
уровня.
Удаленный вызов процедур
Передача параметров
Связывание (binding)
Обработка особых ситуаций (exception)
Семантика вызова
Представление данных
Сеть
Как это работает?
log.x
log.h
log.c
client.c

Поддержка сети в BSD UNIX

Структуры данных
Маршрутизация
Реализация TCP/IP
Модуль IP
Модуль UDP
Модуль TCP

Поддержка сети в UNIX System V

Интерфейс TPI
Взаимодействие с прикладными
процессами
Интерфейс DLPI
Доступ к среде передачи
Протокол LLC
Инкапсуляция IP
Внутренняя архитектура
Примитивы DLPI

Заключение

Приложение А. Электронный справочник man(1)

Приложение Б. Дополнительная информация об
операционной системе UNIX

Книги
Информация в Internet

Предметный указатель