- Артикул:00-00002883
- Автор: Робачевский А.М., Немнюгин С.А., Стесик О.Л.
- ISBN: 978-5-94157-538-1
- Обложка: Мягкий переплет
- Издательство: БХВ-Петербург (все книги издательства)
- Город: Санкт-Петербург
- Страниц: 656
- Формат: 70х100 1/16
- Год: 2014
- Вес: 1636 г
- Серия: Учебное пособие для ВУЗов (все книги серии)
Книга является вторым изданием рекомендованного Министерством общего и профессионального образования России одноименного учебного пособия.
Даны основы организации, идеологии и архитектуры, объединяющие различные версии UNIX.
Рассматриваются: архитектура ядра (подсистемы ввода/вывода, управления памятью и процессами, а также файловая подсистема), программный интерфейс (системные вызовы и основные библиотечные функции), пользовательская среда (командный интерпретатор shell, основные команды и утилиты) и сетевая поддержка (протоколы семейства TCP/IP, архитектура сетевой подсистемы, программные интерфейсы сокетов и TLI).
Во второе издание включен новый материал по операционным системам Linux и FreeBSD, удалены темы, утратившие актуальность, скорректирован набор описываемых системных вызовов и библиотечных функций, добавлен глоссарий англоязычных терминов.
Оглавление
Введение
Причины популярности UNIX
Общий взгляд на архитектуру UNIX
Ядро системы
Файловая подсистема
Подсистема управления процессами
Подсистема ввода-вывода
История создания
Исследовательские версии UNIX
Генеалогия UNIX
System V UNIX
System V Release 4 (SVR4)
UNIX компании Berkeley Software Distribution
OSF/1
Версии UNIX, использующие микроядро
Свободно распространяемая система UNIX
Основные стандарты
IEEE и POSIX
ANSI
SVID
Х/Open и SUS
Некоторые известные версии UNIX
Глава 1. Работа в операционной системе UNIX
Файлы и файловая система
Типы файлов
Обычный файл
Каталог
Специальный файл устройства
FIFO (First-In-First-Out) или именованный канал
Связь
Сокеты
Структура файловой системы UNIX
Владельцы файлов
Права доступа к файлу
Дополнительные атрибуты файла
Скрытые специфические атрибуты файлов
Процессы
Программы и процессы
Типы процессов
Системные процессы
Демоны
Прикладные процессы
Атрибуты процесса
Идентификатор процесса Process IDentifier (PID)
Идентификатор родительского процесса Parent Process ID (PPID) —
Приоритет процесса (Nice Number)
Терминальная линия (TTY)
Реальный (RID) и эффективный (EUID) идентификаторы пользователя
Реальный (RGID) и эффективный (EGID) идентификаторы группы
Жизненный путь процесса
Сигналы
Устройства
Файлы блочных устройств
Файлы символьных устройств
Мнемоника названий специальных файлов устройств в файловой системе UNIX
Пользователи системы
Атрибуты пользователя
Поле name
Поле passwd-encod
Поле UID
Поле GID
Поле comments
Поле home-dir
Поле shell
Пароли
Стандартные пользователи и группы
Пользовательская среда UNIX
Командный интерпретатор shell
Синтаксис языка Bourne shell
Общий синтаксис команд
Именованные переменные
Встроенные переменные
Перенаправление ввода-вывода
Встроенные функции
Подстановки, выполняемые командным интерпретатором
Система управления заданиями
Основные утилиты UNIX
Утилиты для работы с файлами
Утилиты для управления процессами
Заключение
Глава 2. Среда программирования UNIX
Программный интерфейс ОС UNIX
Системные вызовы и функции стандартных библиотек
Обработка ошибок
Создание программы
Исходный текст
Заголовки
Компиляция
Форматы исполняемых файлов
Формат a. out
Формат ELF
Формат COFF
Выполнение программы в операционной системе UNIX
Запуск С-программы
Завершение С-программы
Работа с файлами
Основные системные функции для работы с файлами
Функция ореп(2)
Функция creat(2)
Функция close(2)
Функции dup(2) и dup2(2)
Функция lseek(2)
Функция read(2) и readv(2)
Функции write(2) и writev(2)
Функция pipe(2)
Функция fcntl(2)
Стандартная библиотека ввода-вывода
Связи
Файлы, отображаемые в памяти
Владение файлами
Права доступа
Перемещение по файловой системе
Метаданные файла
Процессы
Идентификаторы процесса
Выделение памяти
Создание процессов и управление ими
Сигналы
Надежные сигналы
Группы и сеансы
Текущие и фоновые группы процессов
Ограничения
Примеры программ
Демон
Командный интерпретатор
Заключение
Глава 3. Подсистема управления процессами
Основы управления процессом
Структуры данных процесса
Состояния процесса
Принципы управления памятью
Виртуальная и физическая память
Сегменты
Страничный механизм
Адресное пространство процесса
Управление памятью процесса
Области
Замещение страниц
Управление памятью в ОС Linux
Планирование выполнения процессов
Обработка прерываний таймера
Отложенные вызовы
"Будильники" (алармы)
Контекст процесса
Принципы планирования процессов
Планирование выполнения процессов в ОС Linux
Создание процесса
Запуск новой программы
Выполнение в режиме ядра
Сон и пробуждение
Завершение выполнения процесса
Сигналы
Группы и сеансы
Управление сигналами
Отправление сигнала
Доставка и обработка сигнала
Взаимодействие между процессами
Каналы
FIFO
Идентификаторы и имена в IPC
Сообщения
Семафоры
Разделяемая память
Межпроцессное взаимодействие в BSD UNIX. Сокеты
Программный интерфейс сокетов
Пример использования сокетов
Сравнение различных систем межпроцессного взаимодействия
Заключение
Глава 4. Файловая подсистема
Базовая файловая система System V
Суперблок
Индексные дескрипторы
Имена файлов
Недостатки и ограничения
Файловая система BSD UNIX
Каталоги
Файловая система ext2fs
Журнальные файловые системы
Файловая система ext3fs
Файловая система ufs2
Архитектура виртуальной файловой системы
Виртуальные индексные дескрипторы
Монтирование файловой системы
Трансляция имен
Доступ к файловой системе
Файловые дескрипторы
Файловая таблица
Блокирование доступа к файлу
Буферный кэш
Внутренняя структура буферного кэша
Операции ввода-вывода
Кэширование в SVR4
Целостность файловой системы
Заключение
Глава 5. Подсистема ввода-вывода
Драйверы устройств
Типы драйверов
Базовая архитектура драйверов
Файловый интерфейс
Клоны
Встраивание драйверов в ядро
Блочные устройства
Символьные устройства
Интерфейс доступа низкого уровня
Буферизация
Архитектура терминального доступа
Псевдотерминалы
Подсистема STREAMS
Архитектура STREAMS
Модули
Сообщения
Типы сообщений
Передача данных
Управление передачей данных
Драйвер
Головной модуль
Доступ к потоку
Создание потока
Управление потоком
Мультиплексирование
STREAMS в ОС Linux
Заключение
Глава 6. Поддержка сети в операционной системе UNIX
Семейство протоколов TCP/IP
Краткая история TCP/IP
Архитектура TCP/IP
Общая модель сетевого взаимодействия OSI
Протокол IP
Адресация
Протокол IP версии 6
Формат заголовка IPv6
Адресация IPv6
Протоколы транспортного уровня
User Datagram Protocol (UDP)
Transmission Control Protocol (TCP)
Состояния TCP-сеанса
Передача данных
Стратегии реализации TCP
Синдром "глупого окна"
Медленный старт
Устранение затора
Повторная передача
Программные интерфейсы
Программный интерфейс сокетов
Программный интерфейс TLI/XTI
Программный интерфейс высокого уровня. Удаленный вызов процедур
Передача параметров
Связывание
Обработка особых ситуаций
Семантика вызова
Представление данных
Сеть
Как это работает?
Поддержка сети в BSD UNIX
Структуры данных
Маршрутизация
Реализация TCP/IP
Модуль IP
Модуль UDP
Модуль TCP
Поддержка сети в UNIX System V
Интерфейс TPI
Взаимодействие с прикладными процессами
Интерфейс DLPI
Доступ к среде передачи
Протокол LLC
Инкапсуляция IP
Внутренняя архитектура
Примитивы DLPI
Заключение
Приложения
Приложение А. Дополнительная информация об операционной системе UNIX
Книги
Информация в Интернете
Приложение Б. Глоссарий
Предметный указателm