Скачиваний:
33
Добавлен:
01.05.2014
Размер:
28.29 Кб
Скачать

Архитектура операционной системы UNIX   Архитектура операционной системы UNIX ПРЕДИСЛОВИЕ

ГЛАВА 1. ОБЩИЙ ОБЗОР ОСОБЕННОСТЕЙ СИСТЕМЫ 1.1 ИСТОРИЯ

1.2 СТРУКТУРА СИСТЕМЫ

1.3 ОБЗОР С ТОЧКИ ЗРЕНИЯ ПОЛЬЗОВАТЕЛЯ 1.3.1 Файловая система

1.3.2 Среда выполнения процессов

1.3.3 Элементы конструкционных блоков

1.4 ФУНКЦИИ ОПЕРАЦИОННОЙ СИСТЕМЫ

1.5 ПРЕДПОЛАГАЕМАЯ АППАРАТНАЯ СРЕДА 1.5.1 Прерывания и особые ситуации

1.5.2 Уровни прерывания процессора

1.5.3 Распределение памяти

1.6 ВЫВОДЫ

ГЛАВА 2. ВВЕДЕНИЕ В АРХИТЕКТУРУ ЯДРА ОПЕРАЦИОННОЙ СИСТЕМЫ 2.1 АРХИТЕКТУРА ОПЕРАЦИОННОЙ СИСТЕМЫ UNIХ

2.2 ВВЕДЕНИЕ В ОСНОВНЫЕ ПОНЯТИЯ СИСТЕМЫ 2.2.1 Обзор особенностей подсистемы управления файлами

2.2.2 Процессы

2.3 СТРУКТУРЫ ДАННЫХ ЯДРА

2.4 УПРАВЛЕНИЕ СИСТЕМОЙ

2.5 ВЫВОДЫ И ОБЗОР ПОСЛЕДУЮЩИХ ГЛАВ

2.6 УПРАЖНЕНИЯ

ГЛАВА 3. БУФЕР СВЕРХОПЕРАТИВНОЙ ПАМЯТИ (КЕШ) 3.1 ЗАГОЛОВКИ БУФЕРА

3.2 СТРУКТУРА ОБЛАСТИ БУФЕРОВ (БУФЕРНОГО ПУЛА)

3.3 МЕХАНИЗМ ПОИСКА БУФЕРА

3.4 ЧТЕНИЕ И ЗАПИСЬ ДИСКОВЫХ БЛОКОВ

3.5 ПРЕИМУЩЕСТВА И НЕУДОБСТВА БУФЕРНОГО КЕША

3.6 ВЫВОДЫ

3.7 УПРАЖНЕНИЯ

ГЛАВА 4. ВНУТРЕННЕЕ ПРЕДСТАВЛЕНИЕ ФАЙЛОВ 4.1 ИНДЕКСЫ 4.1.1 Определение

4.1.2 Обращение к индексам

4.1.3 Освобождение индексов

4.2 СТРУКТУРА ФАЙЛА ОБЫЧНОГО ТИПА

4.3 КАТАЛОГИ

4.4 ПРЕВРАЩЕНИЕ СОСТАВНОГО ИМЕНИ ФАЙЛА (ПУТИ ПОИСКА) В ИДЕНТИФИКАТОР ИНДЕКСА

4.5 СУПЕРБЛОК

4.6 НАЗНАЧЕНИЕ ИНДЕКСА НОВОМУ ФАЙЛУ

4.7 ВЫДЕЛЕНИЕ ДИСКОВЫХ БЛОКОВ

4.8 ДРУГИЕ ТИПЫ ФАЙЛОВ

4.9 ВЫВОДЫ

4.10 УПРАЖНЕНИЯ

ГЛАВА 5. СИСТЕМНЫЕ ОПЕРАЦИИ ДЛЯ РАБОТЫ С ФАЙЛОВОЙ СИСТЕМОЙ 5.1 OPEN

5.2 READ

5.3 WRIТЕ

5.4 ЗАХВАТ ФАЙЛА И ЗАПИСИ

5.5 УКАЗАНИЕ МЕСТА В ФАЙЛЕ, ГДЕ БУДЕТ ВЫПОЛНЯТЬСЯ ВВОД-ВЫВОД - LSEEК

5.6 CLOSЕ

5.7 СОЗДАНИЕ ФАЙЛА

5.8 СОЗДАНИЕ СПЕЦИАЛЬНЫХ ФАЙЛОВ

5.9 СМЕНА ТЕКУЩЕГО И КОРНЕВОГО КАТАЛОГА

5.10 СМЕНА ВЛАДЕЛЬЦА И РЕЖИМА ДОСТУПА К ФАЙЛУ

5.11 STAT И FSTАТ

5.12 КАНАЛЫ 5.12.1 Системная функция pipе

5.12.2 Открытие поименованного канала

5.12.3 Чтение из каналов и запись в каналы

5.12.4 Закрытие каналов

5.12.5 Примеры

5.13 DUР

5.14 МОНТИРОВАНИЕ И ДЕМОНТИРОВАНИЕ ФАЙЛОВЫХ СИСТЕМ 5.14.1 Пересечение точек монтирования в маршрутах поиска имен файлов

5.14.2 Демонтирование файловой системы

5.15 LINК

5.16 UNLINК 5.16.1 Целостность файловой системы

5.16.2 Поводы для конкуренции

5.17 АБСТРАКТНЫЕ ОБРАЩЕНИЯ К ФАЙЛОВЫМ СИСТЕМАМ

5.18 СОПРОВОЖДЕНИЕ ФАЙЛОВОЙ СИСТЕМЫ

5.19 ВЫВОДЫ

5.20 УПРАЖНЕНИЯ

ГЛАВА 6. СТРУКТУРА ПРОЦЕССОВ 6.1 СОСТОЯНИЯ ПРОЦЕССА И ПЕРЕХОДЫ МЕЖДУ НИМИ

6.2 ФОРМАТ ПАМЯТИ СИСТЕМЫ 6.2.1 Области

6.2.2 Страницы и таблицы страниц

6.2.3 Размещение ядра

6.2.4 Пространство процесса

6.3 КОНТЕКСТ ПРОЦЕССА

6.4 СОХРАНЕНИЕ КОНТЕКСТА ПРОЦЕССА 6.4.1 Прерывания и особые ситуации

6.4.2 Взаимодействие с операционной системой через вызовы системных функций

6.4.3 Переключение контекста

6.4.4 Сохранение контекста на случай аварийного завершения

6.4.5 Копирование данных между адресным пространством системы и адресным пространством задачи

6.5 УПРАВЛЕНИЕ АДРЕСНЫМ ПРОСТРАНСТВОМ ПРОЦЕССА 6.5.1 Блокировка области и снятие блокировки

6.5.2 Выделение области

6.5.3 Присоединение области к процессу

6.5.4 Изменение размера области

6.5.5 Загрузка области

6.5.6 Освобождение области

6.5.7 Отсоединение области от процесса

6.5.8 Копирование содержимого области

6.6 ПРИОСТАНОВКА ВЫПОЛНЕНИЯ 6.6.1 События, вызывающие приостанов выполнения, и их адреса

6.6.2 Алгоритмы приостанова и возобновления выполнения

6.7 ВЫВОДЫ

6.8 УПРАЖНЕНИЯ

ГЛАВА 7. УПРАВЛЕНИЕ ПРОЦЕССАМИ 7.1 СОЗДАНИЕ ПРОЦЕССА

7.2 СИГНАЛЫ 7.2.1 Обработка сигналов

7.2.2 Группы процессов

7.2.3 Посылка сигналов процессами

7.3 ЗАВЕРШЕНИЕ ВЫПОЛНЕНИЯ ПРОЦЕССА

7.4 ОЖИДАНИЕ ЗАВЕРШЕНИЯ ВЫПОЛНЕНИЯ ПРОЦЕССА

7.5 ВЫЗОВ ДРУГИХ ПРОГРАММ

7.6 КОД ИДЕНТИФИКАЦИИ ПОЛЬЗОВАТЕЛЯ ПРОЦЕССА

7.7 ИЗМЕНЕНИЕ РАЗМЕРА ПРОЦЕССА

7.8 КОМАНДНЫЙ ПРОЦЕССОР SHELL

7.9 ЗАГРУЗКА СИСТЕМЫ И НАЧАЛЬНЫЙ ПРОЦЕСС

7.10 ВЫВОДЫ

7.11 УПРАЖНЕНИЯ

ГЛАВА 8. ДИСПЕТЧЕРИЗАЦИЯ ПРОЦЕССОВ И ЕЕ ВРЕМЕННЫЕ ХАРАКТЕРИСТИКИ 8.1 ПЛАНИРОВАНИЕ ВЫПОЛНЕНИЯ ПРОЦЕССОВ 8.1.1 Алгоритм

8.1.2 Параметры диспетчеризации

8.1.3 Примеры диспетчеризации процессов

8.1.4 Управление приоритетами

8.1.5 Планирование на основе справедливого раздела

8.1.6 Работа в режиме реального времени

8.2 СИСТЕМНЫЕ ОПЕРАЦИИ, СВЯЗАННЫЕ СО ВРЕМЕНЕМ

8.3 ТАЙМЕР 8.3.1 Перезапуск часов

8.3.2 Внутренние системные тайм-ауты

8.3.3 Построение профиля

8.3.4 Учет и статистика

8.3.5 Поддержание времени в системе

8.4 ВЫВОДЫ

8.5 УПРАЖНЕНИЯ

ГЛАВА 9. АЛГОРИТМЫ УПРАВЛЕНИЯ ПАМЯТЬЮ 9.1 СВОПИНГ 9.1.1 Управление пространством на устройстве выгрузки

9.1.2 Выгрузка процессов

9.1.3 Загрузка (подкачка) процессов

9.2 ПОДКАЧКА ПО ЗАПРОСУ 9.2.1 Структуры данных, используемые подсистемой замещения страниц

9.2.2 "Сборщик" страниц

9.2.3 Отказы при обращениях к страницам

9.2.4 Замещение страниц на менее сложной технической базе

9.3 СИСТЕМА СМЕШАННОГО ТИПА СО СВОПИНГОМ И ПОДКАЧКОЙ ПО ЗАПРОСУ

9.4 ВЫВОДЫ

9.5 УПРАЖНЕНИЯ

ГЛАВА 10. ПОДСИСТЕМА УПРАВЛЕНИЯ ВВОДОМ-ВЫВОДОМ 10.1 ВЗАИМОДЕЙСТВИЕ ДРАЙВЕРОВ С ПРОГРАММНОЙ И АППАРАТНОЙ СРЕДОЙ 10.1.1 Конфигурация системы

10.1.2 Системные функции и взаимодействие с драйверами

10.1.3 Программы обработки прерываний

10.2 ДИСКОВЫЕ ДРАЙВЕРЫ

10.3 ТЕРМИНАЛЬНЫЕ ДРАЙВЕРЫ 10.3.1 Символьные списки

10.3.2 Терминальный драйвер в каноническом режиме

10.3.3 Терминальный драйвер в режиме без обработки символов

10.3.4 Опрос терминала

10.3.5 Назначение операторского терминала

10.3.6 Драйвер косвенного терминала

10.3.7 Вход в систему

10.4 ПОТОКИ 10.4.1 Более детальное рассмотрение потоков

10.4.2 Анализ потоков

10.5 ВЫВОДЫ

10.6 УПРАЖНЕНИЯ

ГЛАВА 11. ВЗАИМОДЕЙСТВИЕ ПРОЦЕССОВ 11.1 ТРАССИРОВКА ПРОЦЕССОВ

11.2 ВЗАИМОДЕЙСТВИЕ ПРОЦЕССОВ В ВЕРСИИ V СИСТЕМЫ 11.2.1 Сообщения

11.2.2 Разделение памяти

11.2.3 Семафоры

11.2.4 Общие замечания

11.3 ВЗАИМОДЕЙСТВИЕ В СЕТИ

11.4 ГНЕЗДА

11.5 ВЫВОДЫ

11.6 УПРАЖНЕНИЯ

ГЛАВА 12. МНОГОПРОЦЕССОРНЫЕ СИСТЕМЫ 12.1 ПРОБЛЕМЫ, СВЯЗАННЫЕ С МНОГОПРОЦЕССОРНЫМИ СИСТЕМАМИ

12.2 ГЛАВНЫЙ И ПОДЧИНЕННЫЙ ПРОЦЕССОРЫ

12.3 СЕМАФОРЫ 12.3.1 Определение семафоров

12.3.2 Реализация семафоров

12.3.3 Примеры алгоритмов

12.4 СИСТЕМА TUNIS

12.5 УЗКИЕ МЕСТА В ФУНКЦИОНИРОВАНИИ МНОГОПРОЦЕССОРНЫХ СИСТЕМ

12.6 УПРАЖНЕНИЯ

ГЛАВА 13. РАСПРЕДЕЛЕННЫЕ СИСТЕМЫ 13.1 ПЕРИФЕРИЙНЫЕ ПРОЦЕССОРЫ

13.2 СВЯЗЬ ТИПА NEWCASTLЕ

13.3 "ПРОЗРАЧНЫЕ" РАСПРЕДЕЛЕННЫЕ ФАЙЛОВЫЕ СИСТЕМЫ

13.4 РАСПРЕДЕЛЕННАЯ МОДЕЛЬ БЕЗ ПЕРЕДАТОЧНЫХ ПРОЦЕССОВ

13.5 ВЫВОДЫ

13.6 УПРАЖНЕНИЯ

ПРИЛОЖЕНИЕ. СИСТЕМНЫЕ ОПЕРАЦИИ

БИБЛИОГРАФИЯ

THE DESIGN OF THE UNIX OPERATING SYSTEM by Maurice J. Bach

(Перевод с английского к.т.н. Крюкова А.В.)

Copyright 1986 Корпорация Bell Telephone Laboratories.

Издано корпорацией Prentice-Hall.

Отделение Simon & Schuster

Энглвуд Клиффс, Нью-Джерси 07632

Серия книг по программному обеспечению издательства Prentice Hall.

Консультант Брайан В. Керниган

Настоящее издание предназначено для распространения в тех странах, которые получили на это право от корпорации Prentice-Hall International. Не подлежит вывозу и распространению в США, Мексике и Канаде.

UNIX - зарегистрированная торговая марка корпорации AT&T. DEC, PDP и VAX - торговые марки корпорации Digital Equipment Corp. Series 32000 - торговая марка корпорации National Semiconductor Corp. Ada - зарегистрированная торговая марка правительства США (Ada Joint Program Office). UNIVAC - торговая марка корпорации Sperry Corp.

В процессе подготовки книги ее автором и издателем было приложено немало усилий. Эти усилия были связаны с проведением теоретических разработок и исследований и с всесторонней проверкой действенности теоретических выкладок и программ. Автор и издатель не дают никаких гарантий, как ясно выраженных, так и подразумевающихся, относительно включенных в книгу программ и документации. Автор и издатель не отвечают за случайные или производные неполадки, возникающие в связи или в результате установки, выполнения или использования этих программ.

Все права сохраняются. Запрещается воспроизведение отдельных частей книги без письменного разрешения издателя.

На этом сервере книга опубликована с любезного разрешения М. Мошкова.

 

Соседние файлы в папке Архитектура операционной системы UNIX1