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

    1 Элементы архитектуры вычислительных систем

    1.1.  Фоннеймановская структура ЭВМ. Принцип хранимой в памяти программы.
    1.2.  Понятие о системе программного обеспечения ЭВМ. Понятие об архитектуре ЭВМ
    1.3.  Декомпозиция машины на операционный и управляющий блоки
    1.4.  Назначение и структура процессора
    1.5.  Процедура выполнения команд. Рабочий цикл процессора.
    1.6.  Принципы организации арифметико-логических устройств.
    1.7. Принципы построения устройств памяти
     1.7.1.  Общие сведения, определения и классификация
     1.7.2.  Логическая организация памяти и методы адресации информации
    1.8. Принципы организации системы прерывания программ.
     1.8.1.  Общие сведения о системе прерывания программ
     1.8.2.  Процедуры определения приоритетных запросов прерываний
     1.8.3.  Прерывания: семейство процессоров Intel 80x86 и MS-DOS
    2 Концептуальные основы операционных систем
    2.1.  2.1 Понятие операционной системы. Основные функции ОС.
     2.1.1.  Понятие операционной среды
     2.1.2.  Понятие вычислительного процесса и ресурса
      2.1.2.1.  Диаграмма состояний процесса
      2.1.2.2.  Реализация понятия последовательного процесса в ОС
      2.1.2.3.  Процессы и нити (треды)
     2.1.3.  Прерывания
     2.1.4.  Основные виды ресурсов
    2.2. Классификация ОС
     2.2.1. Эволюция ОС
      2.2.1.1.  Первый период (1945 -1955)
      2.2.1.2.  Второй период (1955 - 1965)
      2.2.1.3.  Третий период (1965 - 1980)
      2.2.1.4.  Четвертый период (1980 - настоящее время)
     2.2.2.  Особенности алгоритмов управления ресурсами
     2.2.3.  Особенности аппаратных платформ
     2.2.4.  Особенности областей использования
     2.2.5.  Особенности методов построения
    2.3.  Архитектура ОС
     2.3.1.  Ядро и вспомогательные модули ОС
     2.3.2.  Ядро в привилегированном режиме
     2.3.3.  Многослойная архитектура ОС
     2.3.4.  Аппаратная зависимость и переносимость ОС
      2.3.4.1.  Типовые средства аппаратной поддержки ОС
      2.3.4.2.  Машино-независимые компоненты ОС
      2.3.4.3.  Переносимость ОС
     2.3.5. Микроядерная архитектура
      2.3.5.1.  Концепция
      2.3.5.2.  Преимущества и недостатки микроядерной архитектуры
     2.3.6.  Совместимость и множественные прикладные среды
      2.3.6.1.  Двоичная совместимость и совместимость исходных текстов
      2.3.6.2.  Трансляция библиотек
      2.3.6.3.  Способы реализации прикладных программных сред
    3 Механизмы ОС
    3.1.  Управление процессами и потоками
     3.1.1.  Мультипрограммирование
      3.1.1.1.  Мультипрограммирование в системах пакетной обработки
      3.1.1.2.  Мультипрограммирование в системах разделения времени
      3.1.1.3.  Мультипрограммирование в системах реального времени
     3.1.2. Планирование процессов и потоков
      3.1.2.1.  Понятие процесса. Состояния процесса
      3.1.2.2.  Планирование процессов. Понятие очереди.
      3.1.2.3.  Взаимодействие процессов.
      3.1.2.4.  Планирование процессора.
       3.1.2.4.1.  Критерии планирования процессора.
       3.1.2.4.2. Стратегии планирования процессора.
        3.1.2.4.2.1.  Первый пришел — первый обслуживается fifo.
        3.1.2.4.2.2.  Стратегия наиболее короткой работы - SJF
        3.1.2.4.2.3.  Приоритетное планирование.
        3.1.2.4.2.4.  “Карусельная” стратегия планирования.
        3.1.2.4.2.5.  Планирование с использованием многоуровневой очереди
        3.1.2.4.2.6.  Программирование с использованием многоуровневой очереди с обратными связями
      3.1.2.5. Параллельные взаимодействующие вычислительные процессы
       3.1.2.5.1.  Кооперация процессов и основные аспекты ее логической организации
        3.1.2.5.1.1.  Взаимодействующие процессы
        3.1.2.5.1.2.  Категории средств обмена информацией
        3.1.2.5.1.3.  Логическая организация механизма передачи информации
         3.1.2.5.1.3.1.  Как устанавливается связь ?
         3.1.2.5.1.3.2.  Информационная валентность процессов и средств связи

     3.1.2.5.1.3.3.  Особенности передачи информации с помощью линий связи
          3.1.2.5.1.3.3.1.  Буферизация
          3.1.2.5.1.3.3.2.  Поток ввода/вывода и сообщения
         3.1.2.5.1.3.4.  Надежность средств связи
         3.1.2.5.1.3.5.  Как завершается связь ?
        3.1.2.5.1.4.  Нити исполнения
       3.1.2.5.2.  Алгоритмы синхронизации
        3.1.2.5.2.1.  Interleaving, race condition и взаимоисключения
        3.1.2.5.2.2.  Критическая секция
        3.1.2.5.2.3. Программные алгоритмы организации взаимодействия процессов
         3.1.2.5.2.3.1.  Требования, предъявляемые к алгоритмам
         3.1.2.5.2.3.2.  Запрет прерываний
         3.1.2.5.2.3.3.  Переменная-замок
         3.1.2.5.2.3.4.  Строгое чередование
         3.1.2.5.2.3.5.  Флаги готовности
         3.1.2.5.2.3.6.  Алгоритм Петерсона
         3.1.2.5.2.3.7.  Алгоритм булочной (Bakery algorithm)
        3.1.2.5.2.4.  Аппаратная поддержка взаимоисключений
         3.1.2.5.2.4.1.  Команда Test-and-Set (Проверить и присвоить 1)
         3.1.2.5.2.4.2.  Команда Swap (Обменять значения)
       3.1.2.5.3.  Механизмы синхронизации
        3.1.2.5.3.1. Семафоры
         3.1.2.5.3.1.1.  Концепция семафоров
         3.1.2.5.3.1.2.  Решение проблемы producer-consumer с помощью семафоров
        3.1.2.5.3.2.  Мониторы
        3.1.2.5.3.3.  Сообщения
        3.1.2.5.3.4.  Эквивалентность семафоров, мониторов и сообщений
         3.1.2.5.3.4.1.  Реализация мониторов и передачи сообщений с помощью семафоров
         3.1.2.5.3.4.2.  Реализация семафоров и передачи сообщений с помощью мониторов
         3.1.2.5.3.4.3.  Реализация семафоров и мониторов с помощью очередей сообщений
       3.1.2.5.4. Тупики
        3.1.2.5.4.1.  Введение
        3.1.2.5.4.2.  Концепция ресурса
        3.1.2.5.4.3.  Условия возникновения тупиков
        3.1.2.5.4.4.  Основные направления борьбы с тупиками.
        3.1.2.5.4.5.  Алгоритм страуса
        3.1.2.5.4.6.  Обнаружение тупиков
        3.1.2.5.4.7.  Восстановление после тупиков
        3.1.2.5.4.8.  Способы предотвращения тупиков путем тщательного распределения ресурсов.
        3.1.2.5.4.9.  Предотвращение тупиков за счет нарушения условий возникновения тупиков.
        3.1.2.5.4.10.  Родственные проблемы
    3.2.  Управление памятью
     3.2.1.  Типы адресов
     3.2.2.  Алгоритмы распределения памяти
      3.2.2.1.  Распределение памяти фиксированными разделами
      3.2.2.2.  Распределение памяти разделами переменной величины
      3.2.2.3.  Перемещаемые разделы
     3.2.3. Свопинг и виртуальная память
      3.2.3.1.  Понятие виртуальной памяти
      3.2.3.2.  Страничное распределение
      3.2.3.3.  Сегментное распределение
      3.2.3.4.  Странично-сегментное распределение
      3.2.3.5.  Свопинг
     3.2.4. Кэширование данных
      3.2.4.1.  Иерархия запоминающих устройств
      3.2.4.2.  Кэш-память
      3.2.4.3.  Принцип действия кэш-памяти
      3.2.4.4.  Проблема согласования данных
      3.2.4.5.  Способы отображения основной памяти на кэш
      3.2.4.6.  Схемы выполнения запросов в системах с кэш-памятью
     3.2.5.  Загрузка программ
      3.2.5.1.  Абсолютная загрузка
      3.2.5.2.  Относительная загрузка
      3.2.5.3.  Позиционно-независимый код
      3.2.5.4.  Загрузка самой ОС
      3.2.5.5.  Сборка программ
      3.2.5.6.  Варианты построения загрузчиков.
    3.3. Особенности архитектуры микропроцессоров i80x86
     3.3.1.  Особенности защищенного режима процессора I80286
      3.3.1.1.  Адресация памяти в реальном режиме
      3.3.1.2.  Адресация памяти в защищённом режиме
      3.3.1.3.  Защита в процессоре i80286
      3.3.1.4.  Виртуальная память в процессоре i80286
     3.3.2.  Обработка прерываний в защищенном режиме
      3.3.2.1.  Прерывания в реальном режиме
      3.3.2.2.  Прерывания защищённого режима
     3.3.3.  Мультизадачность в процессоре I80286
      3.3.3.1.  Задача и сегмент состояния задачи
      3.3.3.2.  Переключение задач
      3.3.3.3.  Синхронизация задач и семафоры
     3.3.4.  Особенности процессоров I80386 и I80486
      3.3.4.1.  Преобразование адресов
      3.3.4.2.  Обработка прерываний
      3.3.4.3.  Мультизадачность
      3.3.4.4.  Режим виртуального процессора i8086
      3.3.4.5.  Виртуальные машины
      3.3.4.6.  Переключение в защищённый и реальный режимы
      3.3.4.7.  Процессор i80486
    3.4. Управление вводом/выводом и файловые системы
     3.4.1.   Система управления вводом-выводом
      3.4.1.1.  Физические принципы организации ввода-вывода.
       3.4.1.1.1.  Общие сведения об архитектуре компьютера.
       3.4.1.1.2.  Структура контроллера устройства.
       3.4.1.1.3.  Опрос устройств и прерывания. Исключительные ситуации и системные вызовы
       3.4.1.1.4.  Прямой к (Direct Memory Access – DMA).
      3.4.1.2.  Логические принципы организации ввода-вывода.
       3.4.1.2.1.  Структура системы ввода-вывода.
       3.4.1.2.2.  Систематизация внешних устройств и интерфейс.
       3.4.1.2.3.  Функции базовой подсистемы ввода-вывода.
        3.4.1.2.3.1.  Блокирующиеся, не блокирующиеся и асинхронные системные вызовы.
        3.4.1.2.3.2.  Буферизация и кэширование.
        3.4.1.2.3.3.  Spooling и захват устройств.
        3.4.1.2.3.4.  Обработка прерываний и ошибок.
        3.4.1.2.3.5.  Планирование запросов.
       3.4.1.2.4.  Алгоритмы планирования запросов к жесткому диску.
        3.4.1.2.4.1.  Строение жесткого диска и параметры планирования.
        3.4.1.2.4.2.  Алгоритм First Come First Served (FCFS)
        3.4.1.2.4.3.  Алгоритм Short Seek Time First (SSTF).
        3.4.1.2.4.4.  Алгоритмы сканирования (SCAN, C-SCAN, LOOK, C-LOOK)
     3.4.2.  Файловые системы
      3.4.2.1. Файлы с точки зрения пользователя
       3.4.2.1.1.  Введение
       3.4.2.1.2.  Имена файлов
       3.4.2.1.3.  Структура файлов
       3.4.2.1.4.  Типы и атрибуты файлов
       3.4.2.1.5.  Доступ к файлам
       3.4.2.1.6.  Операции над файлами.
       3.4.2.1.7.  Директории. Логическая структура файлового архива.
       3.4.2.1.8.  Операции над директориями
       3.4.2.1.9.  Защита файлов
        3.4.2.1.9.1.  Контроль доступа к файлам
        3.4.2.1.9.2.  Списки прав доступа
      3.4.2.2. Реализация файловой системы
       3.4.2.2.1.  Интерфейс файловой системы
       3.4.2.2.2.  Общая структура файловой системы
       3.4.2.2.3.  Структура файловой системы на диске.
        3.4.2.2.3.1.  Методы выделения дискового пространства
        3.4.2.2.3.2.  Управление свободным и занятым дисковым пространством.
        3.4.2.2.3.3.  Размер блока
        3.4.2.2.3.4.  Структура файловой системы на диске
       3.4.2.2.4.  Реализация директорий
        3.4.2.2.4.1.  Примеры реализация директорий в некоторых ОС
        3.4.2.2.4.2.  Поиск в директории
       3.4.2.2.5.  Монтирование файловых систем.
       3.4.2.2.6.  Связывание файлов.
        3.4.2.2.6.1.  Организация связи между каталогом и разделяемым файлом
       3.4.2.2.7.  Кооперация процессов при работе с файлами.
       3.4.2.2.8.  Надежность файловой системы.
        3.4.2.2.8.1.  Целостность файловой системы.
        3.4.2.2.8.2.  Управление плохими блоками.
       3.4.2.2.9.  Производительность файловой системы
       3.4.2.2.10.  Реализация некоторых операций над файлами.
        3.4.2.2.10.1.  Системные вызовы, работающие с символическим именем файла.
        3.4.2.2.10.2.  Системные вызовы, работающие с файловым дескриптором
       3.4.2.2.11.  Современные архитектуры файловых систем
    3.5. Управление распределенными ресурсами
     3.5.1.  Базовые примитивы передачи сообщений в распределенных системах
      3.5.1.1.  Способы адресации
      3.5.1.2.  Блокирующие и неблокирующие примитивы
      3.5.1.3.  Буферизуемые и небуферизуемые примитивы
      3.5.1.4.  Надежные и ненадежные примитивы
     3.5.2. Вызов удаленных процедур (RPC)
      3.5.2.1.  Концепция удаленного вызова процедур
      3.5.2.2.  Базовые операции RPC
      3.5.2.3.  Этапы выполнения RPC
      3.5.2.4.  Динамическое связывание
      3.5.2.5.  Семантика RPC в случае отказов
     3.5.3.  Синхронизация в распределенных системах
      3.5.3.1.  Алгоритм синхронизации логических часов
      3.5.3.2.  Алгоритмы взаимного исключения
      3.5.3.3.  Неделимые транзакции
     3.5.4. Процессы и нити в распределенных системах
      3.5.4.1.  Понятие "нити"
      3.5.4.2.  Организация вычислительного процесса с использованием нитей
      3.5.4.3.  Вопросы реализации нитей
      3.5.4.4.  Нити и RPC
     3.5.5.  Распределенные файловые системы
      3.5.5.1.  Интерфейс файлового сервиса
      3.5.5.2.  Интерфейс сервиса каталогов
      3.5.5.3.  Семантика разделения файлов
      3.5.5.4.  Вопросы разработки структуры файловой системы
      3.5.5.5.  Кэширование
      3.5.5.6.  Репликация
     3.5.6. Взаимодействие ОС в гетерогенных сетях
      3.5.6.1.  Понятия "internetworking" и "interoperability"
      3.5.6.2.  Гетерогенность
      3.5.6.3.  Основные подходы к реализации взаимодействия сетей
      3.5.6.4.  Шлюзы
      3.5.6.5.  Мультиплексирование стеков протоколов
      3.5.6.6.  Использование магистрального протокола
      3.5.6.7.  Вопросы реализации
      3.5.6.8.  Сравнение вариантов организации взаимодействия сетей
     3.5.7.  Службы именования ресурсов и проблемы прозрачности доступа
      3.5.7.1.  Доменный подход
       3.5.7.1.1.  Основной и резервные контроллеры домена
       3.5.7.1.2.  Четыре модели организации связи доменов
    4 Построение ОС
    4.1. ОС Пакетной обработки
     4.1.1.  Некоторые общие соображения
      4.1.1.1.  Квантование времени
      4.1.1.2.  Мультипрограммирование запросов на ввод-вывод
      4.1.1.3.  Небуферируемый запрос на ввод-вывод
      4.1.1.4.  Буферируемый запрос на ввод-вывод
      4.1.1.5.  Замечания
     4.1.2.  Исполнитель небуферируемого запроса на ввод-вывод
      4.1.2.1.  Общее описание
      4.1.2.2.  Состояния программы
      4.1.2.3.  Приоритет
      4.1.2.4.  Запрос на ввод-вывод
      4.1.2.5.  Завершение ввода-вывода
      4.1.2.6.  Завершение выполнения программы
      4.1.2.7.  Общие замечания
     4.1.3. Запрос центрального процессора
      4.1.3.1.  Введение
      4.1.3.2.  Поля запросов
      4.1.3.3.  Слово запроса
      4.1.3.4.  Запрос ЦП
      4.1.3.5.  Поле ЦП
      4.1.3.6.  Функция ОС
      4.1.3.7.  Модуль возврата
      4.1.3.8.  Схема запросов
      4.1.3.9.  Схема запросов для монитора (МРХ)
      4.1.3.10 Общие замечания
     4.1.4.  Основные модули ОС
      4.1.4.1.  Средства вычислительной системы
      4.1.4.2.  Общие замечания
      4.1.4.3.  Приемник
      4.1.4.4.  Директор
      4.1.4.5.  Загрузчик
      4.1.4.6.  Монитор (МРХ)
      4.1.4.7.  Распределитель
      4.1.4.8.  Диспетчер
      4.1.4.9.  Взаимосвязи между модулями ОС
      4.1.4.10.  Исполнительный модуль
      4.1.4.11.  Модуль вывода выходной информации
      4.1.4.12.  Общие замечания
     4.1.5. Операционная система для небуферируемых работ
      4.1.5.1.  Введение
      4.1.5.2.  Постановка задачи
      4.1.5.3.  Конфигурация аппаратного обеспечения
      4.1.5.4.  Модуль ввода
      4.1.5.5.  Модуль вывода
      4.1.5.6.  Монитор (МРХ)
      4.1.5.7.  Блок-схема монитора
      4.1.5.8.  Приемник
      4.1.5.9.  Директор
      4.1.5.10.  Загрузчик
      4.1.5.11.  Блок окончания задач
      4.1.5.12.  Распределитель
      4.1.5.13.  Диспетчер
     4.1.6. Работа с буферизацией и запрос ввода-вывода
      4.1.6.1.  Введение
      4.1.6.2.  Последовательные файлы
      4.1.6.3.  Буферы ввода
      4.1.6.4.  Буферы вывода
       4.1.6.4.1.  Первый тип ввода-вывода
       4.1.6.4.2.  Ввод-вывод 2-го типа
       4.1.6.4.3.  Общие замечания
      4.1.6.5.  Запрос ввода-вывода
      4.1.6.6.  Возникновение запросов ввода-вывода
      4.1.6.7.  Поле запроса ввода-вывода
      4.1.6.8.  Расширение поля запроса ЦП
      4.1.6.9.  Состояние буфера ввода первого типа
      4.1.6.10.  Буфер ввода первого типа
      4.1.6.11.  Буфер вывода первого типа
      4.1.6.12.  Буфер второго типа
      4.1.6.13.  Заключение
     4.1.7.  Модель монитора (МРХ)
    4.2. ОС реального времени
     4.2.1.  Операционные системы реального времени
      4.2.1.1.  Описание и общие требования к системам реального времени
      4.2.1.2. Параметры ОСРВ
       4.2.1.2.1.  Время реакции системы
       4.2.1.2.2.  Время переключения контекста
       4.2.1.2.3.  Размеры системы
      4.2.1.3.  Механизмы реального времени
       4.2.1.3.1.  Система приоритетов и алгоритмы диспетчеризации
       4.2.1.3.2.  Механизмы межзадачного взаимодействия
       4.2.1.3.3.  Средства для работы с таймерами
      4.2.1.4.  Классы систем реального времени
       4.2.1.4.1.  Монолитная архитектура
       4.2.1.4.2.  Модульная архитектура (на основе микроядра)
       4.2.1.4.3.  Объектная архитектура на основе объектов-микроядер
      4.2.1.5. Обзор некоторых коммерческих ОСРВ
       4.2.1.5.1.  Операционная система OS-9
       4.2.1.5.2.  Операционная система VxWorks
       4.2.1.5.3.  Операционная система QNX
       4.2.1.5.4.  Операционная система LynxOS
       4.2.1.5.5.  Операционная система pSOS
      4.2.1.6.  Выводы
     4.2.2.  Поддержка отказоустойчивости вычислительных систем средствами ОСРВ
      4.2.2.1.  Понятие отказоустойчивости ВС
      4.2.2.2.  Причины и классификация отказов и сбоев
      4.2.2.3.  Методы и средства обеспечения отказоустойчивости
      4.2.2.4.  Концепция построения и работы системы с рангом отказоустойчивости N-1
       4.2.2.4.1.  Описание системных таблиц
       4.2.2.4.2.  Модуль маршрутизатора
       4.2.2.4.3.  Модуль реконфигурации
       4.2.2.4.4.  Модуль коммуникации
       4.2.2.4.5.  Процедура голосования
      4.2.2.5.  Организация отказоустойчивых вычислений
       4.2.2.5.1.  Пример организации отказоустойчивых вычислений
       4.2.2.5.2.  Методика анализа отказов
      4.2.2.6.  Оценка надежностных характеристик отказоустойчивой ВС
      4.2.2.7.  Выводы
    4.3. ОС разделения времени
     4.3.1. Архитектура ОС и интерфейсы прикладного программирования
      4.3.1.1. Концепции и технологии проектирования ОС
       4.3.1.1.1.  Принцип модульности
       4.3.1.1.2.  Принцип функциональной избирательности
       4.3.1.1.3.  Принцип генерируемости ОС
       4.3.1.1.4.  Принцип функциональной избыточности
       4.3.1.1.5.  Принцип виртуализации
       4.3.1.1.6.  Принцип независимости программ от внешних устройств
       4.3.1.1.7.  Принцип совместимости
       4.3.1.1.8.  Принцип открытой и наращиваемой ОС
       4.3.1.1.9.  Принцип мобильности (переносимости)
       4.3.1.1.10.  Принцип обеспечения безопасности вычислений
      4.3.1.2.  Микроядерные операционные системы
      4.3.1.3.  Монолитные операционные системы
      4.3.1.4.  Принципы построения интерфейсов операционных систем
      4.3.1.5.  Интерфейс прикладного программирования
       4.3.1.5.1.  Реализация функций API на уровне ОС
       4.3.1.5.2.  Реализация функций API на уровне системы программирования
       4.3.1.5.3.  Реализация функций API с помощью внешних библиотек
      4.3.1.6.  Платформенно-независимый интерфейс POSIX
      4.3.1.7.  Тенденции в структурном построении ОС
       4.3.1.7.1.  Монолитные системы
       4.3.1.7.2.  Многоуровневые системы
       4.3.1.7.3.  Модель клиент-сервер и микроядра
        4.3.1.7.3.1.  Коммерческие версии микроядер
       4.3.1.7.4.  Объектно-ориентированный подход
        4.3.1.7.4.1.  Коммерческие объектно-ориентированные средства
        4.3.1.7.4.2.  Средства OLE
        4.3.1.7.4.3.  Стандарт OpenDoc
        4.3.1.7.4.4.  Семейство CORBA
       4.3.1.7.5.  Множественные прикладные среды
       4.3.1.7.6.  Сетевой пакет DCE фирмы OSF
        4.3.1.7.6.1.  Нити
        4.3.1.7.6.2.  RPC
        4.3.1.7.6.3.  Распределенная служба каталогов
        4.3.1.7.6.4.  Распределенная служба безопасности
        4.3.1.7.6.5.  Распределенная файловая система DFS OSF
        4.3.1.7.6.6.  Распределенная служба времени
     4.3.2. Семейство операционных систем UNIX
      4.3.2.1.  История и общая характеристика семейства ОС UNIX
      4.3.2.2. Концепции UNIX System V Release 4
       4.3.2.2.1. Управление процессами
        4.3.2.2.1.1.  Образ, дескриптор, контекст процесса
        4.3.2.2.1.2.  Порождение процессов
        4.3.2.2.1.3.  Планирование процессов
       4.3.2.2.2.  Файловые системы UNIX System V Release 4
        4.3.2.2.2.1.  Традиционная файловая система s5
        4.3.2.2.2.2.  Виртуальная файловая система VFS
        4.3.2.2.2.3.  Сетевая файловая система NFS
       4.3.2.2.3.  Управление памятью. Свопинг
       4.3.2.2.4.  Система ввода-вывода
        4.3.2.2.4.1.  Подсистема буферизации
        4.3.2.2.4.2.  Драйверы
      4.3.2.3. Коммерческие реализации UNIX
       4.3.2.3.1.  UnixWare
        4.3.2.3.1.1.  UnixWare по сравнению с UNIX System V Release 4
       4.3.2.3.2.  Solaris
       4.3.2.3.3.  SCO UNIX System V/386
     4.3.3.  Микроядро Mach
      4.3.3.1. Введение в Mach
       4.3.3.1.1.  История Mach
       4.3.3.1.2.  Цели Mach
       4.3.3.1.3.  Основные концепции Mach
       4.3.3.1.4.  Сервер Mach BSD UNIX
      4.3.3.2. Управление процессами в Mach
       4.3.3.2.1.  Процессы
       4.3.3.2.2.  Примитивы управления процессами
       4.3.3.2.3.  Нити
       4.3.3.2.4.  Планирование
      4.3.3.3.  Управление памятью в Mach
       4.3.3.3.1.  Виртуальная память
       4.3.3.3.2.  Разделение памяти
       4.3.3.3.3.  Внешние менеджеры памяти
       4.3.3.3.4.  Распределенная разделяемая память в Mach
      4.3.3.4.  Коммуникации в ядре Mach
       4.3.3.4.1.  Порты
       4.3.3.4.2.  Отправка и получение сообщений
       4.3.3.4.3.  Сервер сетевых сообщений
      4.3.3.5.  Эмуляция BSD UNIX в Mach
     4.3.4. Сетевые продукты фирмы Novell
      4.3.4.1.  История и версии сетевой ОС NetWare
      4.3.4.2.  Версии 4.0, 4.01 и 4.02
      4.3.4.3.  Версия NetWare 4.1
      4.3.4.4. Концепции построения NetWare
       4.3.4.4.1.  Структура NetWare и обзор особенностей
        4.3.4.4.1.1.  Способы повышения производительности
        4.3.4.4.1.2.  Способы обеспечения открытости и расширяемости
        4.3.4.4.1.3.  Способы обеспечения надежности
        4.3.4.4.1.4.  Защита информации
       4.3.4.4.2.  Управление процессами
       4.3.4.4.3.  Файловая система
      4.3.4.5. Основные направления развития NetWare
       4.3.4.5.1.  Поддержка мультипроцессирования
       4.3.4.5.2.  Обеспечение процессорной независимости
      4.3.4.6.  Операционные системы рабочих станций фирмы Novell
      4.3.4.7. Сетевые системные утилиты
       4.3.4.7.1.  NetWare Connect 1.0 фирмы Novell
       4.3.4.7.2.  WinView for Networks v2.2 фирмы Citrix Systems
       4.3.4.7.3.  Шлюзы IP-сетей
       4.3.4.7.4.  Системы обработки сообщений MHS и GroupWise
     4.3.5. Семейство сетевых ОС компании Microsoft
      4.3.5.1.  Сетевые продукты Microsoft
      4.3.5.2.  История Windows NT
      4.3.5.3. Версии Windows NT
       4.3.5.3.1.  Windows NT 3.1
       4.3.5.3.2.  Windows NT 3.5
       4.3.5.3.3.  Windows NT 4.0
       4.3.5.3.4.  Области использования Windows NT
      4.3.5.4. Концепции Windows NT
       4.3.5.4.1.  Структура: NT executive и защищенные подсистемы
       4.3.5.4.2.  Множественные прикладные среды
       4.3.5.4.3.  Объектно-ориентированный подход
       4.3.5.4.4.  Процессы и нити
       4.3.5.4.5.  Алгоритм планирования процессов и нитей
       4.3.5.4.6.  Сетевые средства
       4.3.5.4.7.  Совместимость Windows NT с NetWare
      4.3.5.5.  Средства BackOffice
       4.3.5.5.1.  Сервер баз данных SQL Server
       4.3.5.5.2.  Шлюз SNA Server
       4.3.5.5.3.  Microsoft Mail и Microsoft Exchange
       4.3.5.5.4.  Система управления компьютерами System Management Server
      4.3.5.6.  Windows 95 и будущее семейства Windows
     4.3.6. Операционная система OS/2
      4.3.6.1.  История развития OS/2 и ее место на рынке
       4.3.6.1.1.  Битва Microsoft - IBM на рынке настольных ОС
       4.3.6.1.2.  OS/2 - постепенные улучшения
      4.3.6.2. OS/2 Warp
       4.3.6.2.1.  Общая характеристика
       4.3.6.2.2.  Внутренняя организация OS/2 Warp
       4.3.6.2.3.  Файловая система HPFS
      4.3.6.3. LAN Server 4.0
       4.3.6.3.1.  Общая характеристика
       4.3.6.3.2.  Сетевые возможности
       4.3.6.3.3.  Управление сервером LAN Server 4.0
       4.3.6.3.4.  Совместимость с NetWare
     4.3.7.  Обзор сетевых операционных систем
    4.4. Распределенные ОС
     4.4.1. Параллельные и распределенные системы
      4.4.1.1.  Достоинства многопроцессорных систем
      4.4.1.2.  Достоинства распределенных систем
      4.4.1.3.  Виды операционных систем
      4.4.1.4.  Принципы построения ОС.
     4.4.2.  ОС многопроцессорных ЭВМ
      4.4.2.1.  Процессы и нити
      4.4.2.2.  Синхронизация
      4.4.2.3.  Планирование процессоров
     4.4.3.  Коммуникации в распределенных системах
      4.4.3.1.  Семиуровневая модель ISO
      4.4.3.2.  Модель передачи сообщений MPI
     4.4.4.  Синхронизация в распределенных системах
      4.4.4.1.  Синхронизация времени
      4.4.4.2.  Выбор координатора
      4.4.4.3.  Взаимное исключение
      4.4.4.4.  Координация процессов
     4.4.5.  Распределенные файловые системы
      4.4.5.1. Архитектура распределенных файловых систем
       4.4.5.1.1.  Интерфейс файлового сервера
       4.4.5.1.2.  Интерфейс сервера директорий
       4.4.5.1.3.  Семантика разделения файлов
      4.4.5.2. Реализация распределенных файловых систем
       4.4.5.2.1.  Использование файлов
       4.4.5.2.2.  Структура системы
       4.4.5.2.3.  Кэширование
       4.4.5.2.4.  Размножение
       4.4.5.2.5.  Пример Sun Microsystems Network File System (NFS)
     4.4.6.  Распределенная разделяемая память (DSM)
      4.4.6.1.  Достоинства DSM
      4.4.6.2.  Алгоритмы реализации DSM
      4.4.6.3.  Модели консистентности
      4.4.6.4.  Протоколы когерентности
      4.4.6.5.  Конструкторские решения
     4.4.7.  Обеспечение надежности в распределенных системах
      4.4.7.1.  Восстановление после отказа
      4.4.7.2.  Отказоустойчивость