- •0.1 Что такое операционная система?
- •0.1.1 Структура вычислительной системы
- •0.1.2 Что такое ос?
- •Раздел 1 Основные понятия ос Тема 1.1. Основные понятия. Эволюция ос.
- •1.1.1 Основные понятия
- •1.1.2 Краткая история эволюции вычислительных систем
- •Темак 1.2 Принципы построения ос. Состав ос. Функции ос.
- •1.2.1 Принципы построения ос
- •Принцип модульности
- •Принцип функциональной избирательности
- •Принцип генерируемости ос
- •Принцип функциональной избыточности
- •Принцип виртуализации
- •Принцип независимости программ от внешних устройств
- •Принцип совместимости
- •Принцип открытой и наращиваемой ос
- •Принцип переносимости
- •Принцип обеспечения безопасности вычислений
- •1.2.2 Назначение и состав операционной системы компьютера.
- •1.2.3 Функции ос
- •1.2.4 Классификация ос
- •Тема 1.3 Архитектура ос (монолитные и микроядерные ос).
- •1.3.1 Монолитное ядро
- •1.3.2 Слоеные системы (Layered systems)
- •1.3.3 Виртуальные машины
- •1.3.4 Микроядерная архитектура.
- •1.3.5 Смешанные системы
- •1.6 Резюме
- •Раздел 2 Машинно-зависимые свойства ос Тема 2.1 Управление процессами (планирование и диспетчеризация)
- •2.1.1 Понятие процесса
- •2.1.2. Состояния процесса
- •2.1.3. Операции над процессами и связанные с ними понятия
- •2.1.3.1. Набор операций
- •2.1.3.2. Process Control Block и контекст процесса
- •2.1.3.3. Одноразовые операции
- •2.1.3.4. Многоразовые операции
- •2.1.3.5. Переключение контекста
- •2.1.4. Резюме
- •Тема 2.2 Управление памятью Часть 1 Физическая память
- •2.2.1 Основы управления памятью
- •2.2.2 Связывание адресов.
- •2.2.3 Простейшие схемы управления памятью.
- •2.2.3.1 Схема с фиксированными разделами.
- •2.2.3.2 Свопинг
- •2.2.3.3 Мультипрограммирование с переменными разделами.
- •2.2.4 Резюме
- •Часть 2 Виртуальная память
- •2.2.5. Проблема размещения больших программ. Понятие виртуальной памяти.
- •2.2.6 Архитектурные средства поддержки виртуальной памяти.
- •2.2.7 Страничная память
- •2.2.8 Сегментная и сегментно-страничная организации памяти
- •2.2.9 Таблица страниц
- •2.2.10 Ассоциативная память.
- •2.2.11 Иерархия памяти
- •2.2.12 Размер страницы
- •Тема 2.3 Обработка прерываний
- •2.3.1. Механизм общей обработки прерывания
- •2.3.2. Программные прерывания или системные вызовы
- •2.3.3.Аппаратные или внешние прерывания
- •2.3.3.1. Немаскируемые внешние прерывания
- •2.3.3.2. Маскируемые внешние прерывания
- •2.3.4. Внутренние прерывания или исключения.
- •2.3.5. Таблица прерываний
- •2.3.6. Уровни приоритета прерываний
- •Тема 2.4 Обслуживание ввода-вывода
- •2.4.1 Основные понятия и концепции организации ввода/вывода в ос
- •2.4.2 Менеджер ввода-вывода
- •2.4.2.1.Основные задачи супервизора следующие:
- •2.4.2.2. Состав супервизора:
- •2.4.3. Основные режимы ввода/вывода:
- •2.4.5. Виды ввода-вывода:
- •2.4.6. Функции ос по обслуживанию ввода-вывода:
- •Раздел 3 Машинно-независимые свойства ос Тема 3.1 Планирование заданий
- •3.1.1. Стратегия планирования
- •3.1.2. Дисциплины диспетчеризации
- •3.1.3. Вытесняющие и не вытесняющие алгоритмы диспетчеризации
- •3.1.4. Качество диспетчеризации и гарантии обслуживания
- •3.1.5. Диспетчеризация задач с использованием динамических приоритетов
- •Тема 3.2. Организация файловых систем. Типы файловых систем fat16, fat32, vfat, ntfs и другие.
- •Часть 1 Основные понятия
- •3.2.1 Введение в ос
- •3.2.2 Имена файлов
- •3.2.3 Структура файлов
- •3.2.4 Типы и атрибуты файлов
- •3.2.5 Доступ к файлам
- •3.2.6 Операции над файлами.
- •3.2.7 Директории. Логическая структура файлового архива.
- •3.2.9 Защита файлов.
- •3.2.9.1 Контроль доступа к файлам
- •3.2.9.2 Списки прав доступа
- •3.2.10 Резюме
- •Часть 2 Реализация файловой системы
- •3.2.11 Интерфейс файловой системы.
- •3.2.12 Общая структура файловой системы
- •3.2.13 Структура файловой системы на диске.
- •3.2.13.1 Методы выделения дискового пространства
- •3.2.13.2 Управление свободным и занятым дисковым пространством.
- •3.2.13.3 Размер блока
- •3.2.13.4 Структура файловой системы на диске
- •3.2.14 Реализация директорий
- •3.2.14.1 Примеры реализации директорий в некоторых ос
- •3.2.14.2 Поиск в директории
- •3.2.15 Монтирование файловых систем.
- •3.2.16 Связывание файлов.
- •3.2.16.1 Организация связи между каталогом и разделяемым файлом
- •3.2.17 Кооперация процессов при работе с файлами.
- •3.2.18 Надежность файловой системы.
- •3.2.18.1 Целостность файловой системы.
- •3.2.18.2 Управление плохими блоками
- •3.2.19 Производительность файловой системы
- •3.2.20 Реализация некоторых операций над файлами.
- •3.2.20.1 Системные вызовы, работающие с символическим именем файла.
- •3.2.20.2 Системные вызовы, работающие с файловым дескриптором
- •3.2.21 Современные архитектуры файловых систем
- •3.2.22 Резюме
- •Часть 3. Примеры файловых систем
- •3.2.23. Файловая система fat
- •3.2.24 Файловая система fat32
- •3.2.25. Файловая система vfat
- •3.2.26. Файловая система ntfs
- •Тема 3.3. Защищенность и отказоустойчивость ос
- •3.3.1. Введение в безопасность ос
- •3.3.2 Классификация угроз
- •3.3.3 Формализация подхода к обеспечению информационной безопасности. Классы безопасности
- •3.3.5 Криптография, как одна из базовых технологий безопасности ос.
- •3.3.6 Введение в защитные механизмы операционных систем
- •3.3.7. Идентификация и аутентификация
- •3.3.7.1 Пароли, уязвимость паролей
- •Шифрование пароля
- •3.3.8. Авторизация. Разграничение доступа к объектам ос
- •3.3.8.1 Домены безопасности
- •3.3.8..2 Матрица доступа
- •3.3.8.3 Недопустимость повторного использование объектов
- •3.3.9. Аудит, учет использования системы защиты
- •3.3.10. Анализ некоторых популярных ос с точки зрения их защищенности.
- •3.3.11. Резюме
- •Раздел 4 ос ms-dos Тема 4.1 Структура ос ms-dos
- •4.1.1. Структура dos
- •4.1.2. Загрузка. Dos
- •Тема 4.2 Команды ms-dos
1.3.5 Смешанные системы
Все рассмотренные подходы к построению операционных систем имеют свои преимущества и недостатки. В большинстве случаев современные операционные системы используют различные комбинации этих подходов.
Примером смешанного подхода может служить возможность запуска операционной системы с монолитным ядром под управлением микроядра. Так устроены 4.4BSD и MkLinux, основанные на микроядре Mach. Микроядро обеспечивает управление виртуальной памятью и работу низкоуровневых драйверов. Все остальные функции, в том числе взаимодействие с прикладными программами, осуществляется монолитным ядром. Данный подход возник в результате попыток использовать преимущества микроядерной архитектуры, сохраняя по возможности хорошо отлаженный код монолитного ядра.
Наиболее тесно элементы микроядерной архитектуры и элементы монолитного ядра переплетены в ядре Windows NT. Хотя Windows NT часто называют микроядерной операционной системой, это не совсем так. Микроядро NT слишком сложно и велико (более 1 Мб), чтобы носить приставку микро. Компоненты ядра Windows NT располагаются в вытесняемой памяти и взаимодействуют друг с другом путем передачи сообщений, как и положено в микроядерных операционных системах. В тоже время все компоненты ядра работают в одном адресном пространстве и активно используют общие структуры данных, что свойственно операционным системам с монолитным ядром. Кроме того, в Windows NT существует разделение между режимом ядра и режимом пользователя еще одна черта монолитного ядра. Причина всего этого проста. По мнению Microsoft, причина проста: чисто микроядерный дизайн коммерчески непрактичен, так как слишком неэффективен.
Таким образом, Windows NT можно с полным правом назвать гибридной операционной системой.
Рис. 1.3.5 Смешанная архитектура операционной системы Windows NT
1.6 Резюме
Мы с вами рассмотрели различные взгляды на то, что такое операционная система; изучили историю развития операционных систем; выяснили, какие функции обычно выполняют операционные системы; наконец, разобрались в том, какие существуют подходы к построению операционных систем. Следующую лекцию мы посвятим выяснению понятия процесс и вопросам планирования процессов.
** Реальная эволюция операционных систем происходила не так гладко и планомерно, как это представлено в данном историческом обзоре. Так, первая система с разделением времени Joss была реализована еще на ламповой машине Joniac без всякой аппаратной поддержки.
Раздел 2 Машинно-зависимые свойства ос Тема 2.1 Управление процессами (планирование и диспетчеризация)
Начиная с этой главы, мы будем знакомиться с внутренним поведением операционных систем, разбирая одну за другой их основные функции по отдельности и во взаимосвязи. Фундаментальным понятием для изучения работы операционных систем является понятие процессов, как основных динамических объектов, над которыми системы выполняют определенные действия. Данная глава посвящена описанию таких объектов, их состояний и свойств, их представлению в вычислительных системах, а также операциям, которые могут проводиться над ними.
