Эта книга — не о конкретной системе и даже не о конкретном типе операционных систем. Она рассматривает фундаментальные концепции и принципы построения, справедливые для большинства известных на сегодня операционных систем. В первую очередь эта книга рекомендуется студентам и аспирантам различных специальностей направления «Информатика и вычислительная техника» как учебное пособие по курсам «Операционные системы» и «Организация вычислительных процессов». Кроме того, она может быть полезна специалистам: программистам, сетевым администраторам и профессионалам по коммуникационному оборудованию. И наконец, книга может заинтересовать всех, кто имеет дело с компьютерами и хочет больше узнать о том, как устроены современные операционные системы.
Содержание
Введение
Для кого эта книга
Структура книги
От издательства
Глава 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
Первичная аутентификация
Получение разрешения на доступ к ресурсному серверу
Книга Локальная сеть. Самое необходимое. 2-е изд.Поляк-Брагинский представляет собой практическое руководство по созданию локальной вычислительной сети для дома или небольшого офиса.
Эта книга создана хакерами: `Важно знать, что подключение той или иной фирмы к глобальной сети, такой как Internet, существенно увеличивает эффективность работы организации и открывает для нее множество новых возможностей.