Сетевые операционные системы

В. Олифер, Н. Олифер

Введение

Для кого эта книга

Структура книги

От издательства

Глава 1. Эволюция операционных систем

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

Появление мультипрограммных операционных систем для мэйнфреймов

Операционные системы и глобальные сети

Операционные системы мини-компьютеров и первые локальные сети

Развитие операционных систем в 80-е годы

Особенности современного этапа развития операционных систем

Выводы

Задачи и упражнения

Глава 2. Назначение и функции операционной системы

Операционные системы для автономного компьютера

ОС как виртуальная машина

ОС как система управления ресурсами

Функциональные компоненты операционной системы автономного компьютера

Управление процессами

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

Управление файлами и внешними устройствами

Защита данных и администрирование

Интерфейс прикладного программирования

Пользовательский интерфейс

Сетевые операционные системы

Сетевые и распределенные ОС

Два значения термина "сетевая ОС"

Функциональные компоненты сетевой ОС

Сетевые службы и сетевые сервисы

Встроенные сетевые службы и сетевые оболочки

Одноранговые и серверные сетевые операционные системы

ОС в одноранговых сетях

ОС в сетях с выделенными серверами

Требования к современным операционным системам

Выводы

Задачи и упражнения

Глава 3. Архитектура операционной системы

Ядро и вспомогательные модули ОС

Ядро в привилегированном режиме

Многослойная структура ОС

Аппаратная зависимость и переносимость ОС

Типовые средства аппаратной поддержки ОС

Машинно-зависимые компоненты ОС

Переносимость операционной системы

Микроядерная архитектура

Концепция

Преимущества и недостатки микроядерной архитектуры

Совместимость и множественные прикладные среды

Двоичная совместимость и совместимость исходных текстов

Трансляция библиотек

Способы реализации прикладных программных сред

Выводы

Задачи и упражнения

Глава 4. Процессы и потоки

Мультипрограммирование

Мультипрограммирование в системах пакетной обработки

Мультипрограммирование в системах разделения времени

Мультипрограммирование в системах реального времени

Мультипроцессорная обработка

Планирование процессов и потоков

Понятия "процесс" и "поток"

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

Планирование и диспетчеризация потоков

Состояния потока

Вытесняющие и невытесняющие алгоритмы планирования

Алгоритмы планирования, основанные на квантовании

Алгоритмы планирования, основанные на приоритетах

Смешанные алгоритмы планирования

Планирование в системах реального времени

Моменты перепланировки

Мультипрограммирование на основе прерываний

Назначение и типы прерываний

Механизм прерываний

Программные прерывания

Диспетчеризация и приоритезация прерываний в ОС

Функции централизованного диспетчера прерываний на примере Windows NT

Процедуры обработки прерываний и текущий процесс

Системные вызовы

Синхронизация процессов и потоков

Цели и средства синхронизации

Необходимость синхронизации и гонки

Критическая секция

Блокирующие переменные

Семафоры

Тупики

Синхронизирующие объекты ОС

Сигналы

Выводы

Задачи и упражнения

Глава 5. Управление памятью

Функции ОС по управлению памятью

Типы адресов

Алгоритмы распределения памяти

Распределение памяти фиксированными разделами

Распределение памяти динамическими разделами

Перемещаемые разделы

Свопинг и виртуальная память

Страничное распределение

Сегментное распределение

Сегментно-страничное распределение

Разделяемые сегменты памяти

Кэширование данных

Иерархия запоминающих устройств

Кэш-память

Принцип действия кэш-памяти

Проблема согласования данных

Способы отображения основной памяти на кэш

Схемы выполнения запросов в системах с кэш-памятью

Выводы

Задачи и упражнения

Глава 6. Аппаратная поддержка мультипрограммирования на примере процессора Pentium

Регистры процессора

Привилегированные команды

Средства поддержки сегментации памяти

Виртуальное адресное пространство

Преобразование адресов

Защита данных при сегментной организации памяти

Сегментно-страничный механизм

Средства вызова процедур и задач

Вызов процедур

Вызов задачи

Механизм прерываний

Кэширование в процессоре Pentium

Буфер ассоциативной трансляции

Кэш первого уровня

Совместная работа кэшей разного уровня

Выводы

Задачи и упражнения

Глава 7. Ввод-вывод и файловая система

Задачи ОС по управлению файлами и устройствами

Организация параллельной работы устройств ввода-вывода и процессора

Согласование скоростей обмена и кэширование данных

Разделение устройств и данных между процессами

Обеспечение удобного логического интерфейса между устройствами и остальной частью системы

Поддержка широкого спектра драйверов и простота включения нового драйвера в систему

Динамическая загрузка и выгрузка драйверов

Поддержка нескольких файловых систем

Поддержка синхронных и асинхронных операций ввода-вывода

Многослойная модель подсистемы ввода-вывода

Общая схема

Менеджер ввода-вывода

Многоуровневые драйверы

Специальные файлы

Логическая организация файловой системы

Цели и задачи файловой системы

Типы файлов

Иерархическая структура файловой системы

Имена файлов

Монтирование

Атрибуты файлов

Логическая организация файла

Физическая организация файловой системы

Диски, разделы, секторы, кластеры

Физическая организация и адресация файла

Физическая организация FAT

Физическая организация s5 и ufs

Физическая организация NTFS

Файловые операции

Два способа организации файловых операций

Открытие файла

Обмен данными с файлом

Блокировки файлов

Стандартные файлы ввода и вывода, перенаправление вывода

Контроль доступа к файлам

Доступ к файлам как частный случай доступа к разделяемым ресурсам

Механизм контроля доступа

Организация контроля доступа в ОС UNIX

Организация контроля доступа в ОС Windows NT

Выводы

Задачи и упражнения

Глава 8. Дополнительные возможности файловых систем

Специальные файлы и аппаратные драйверы

Специальные файлы как универсальный интерфейс

Структурирование аппаратных драйверов

Структура драйвера Windows NT

Структура драйвера UNIX

Отображаемые в память файлы

Дисковый кэш

Традиционный дисковый кэш

Дисковый кэш на основе виртуальной памяти

Отказоустойчивость файловых и дисковых систем

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

Избыточные дисковые подсистемы RAID

Обмен данными между процессами и потоками

Конвейеры

Именованные конвейеры

Очереди сообщений

Разделяемая память

Выводы

Задачи и упражнения

Глава 9. Концепции распределенной обработки в сетевых ОС

Модели сетевых служб и распределенных приложений

Способ разделения приложений на части

Двухзвенные схемы

Трехзвенные схемы

Механизм передачи сообщений в распределенных системах

Синхронизация

Буферизация в примитивах передачи сообщений

Способы адресации

Надежные и ненадежные примитивы

Механизм Sockets ОС UNIX

Вызов удаленных процедур

Концепция удаленного вызова процедур

Генерация стабов

Формат сообщений RPC

Связывание клиента с сервером

Особенности реализации RPC на примере систем Sun RPC и DCE RPC

Выводы

Задачи и упражнения

Глава 10. Сетевые службы

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

Принципы построения

Модель сетевой файловой системы

Интерфейс сетевой файловой службы

Вопросы реализации сетевой файловой системы

Размещение клиентов и серверов по компьютерам и в операционной системе

Файловые серверы типа stateful и stateless

Кэширование

Репликация

Примеры сетевых файловых служб: FTP и NFS

Служба каталогов

Назначение и принципы организации

Служба каталогов NDS

Межсетевое взаимодействие

Основные подходы к организации межсетевого взаимодействия

Трансляция

Мультиплексирование стеков протоколов

Инкапсуляция протоколов

Выводы

Задачи и упражнения

Глава 11. Сетевая безопасность

Основные понятия безопасности

Конфиденциальность, целостность и доступность данных

Классификация угроз

Системный подход к обеспечению безопасности

Политика безопасности

Базовые технологии безопасности

Шифрование

Аутентификация, авторизация, аудит

Технология защищенного канала

Технологии аутентификации

Сетевая аутентификация на основе многоразового пароля

Аутентификация с использованием одноразового пароля

Аутентификация на основе сертификатов

Аутентификация информации

Система Kerberos

Первичная аутентификация

Получение разрешения на доступ к ресурсному серверу

Получение доступа к ресурсу

Достоинства и недостатки

Выводы

Задачи и упражнения

Приложение. Модель ISO/OSI

Физический уровень

Канальный уровень

Сетевой уровень

Транспортный уровень

Сеансовый уровень

Уровень представления

Прикладной уровень

Ответы к задачам и упражнениям

Рекомендуемая литература

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

закрыть