- •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
3.2.9 Защита файлов.
Информация в компьютерной системе должна быть защищена как от физического разрушения (reliability), так и от несанкционированного доступа (protection).
Здесь мы коснемся отдельных аспектов защиты, связанных с контролем доступа к файлам.
3.2.9.1 Контроль доступа к файлам
Наличие в системе многих пользователей предполагает организацию контролируемого доступа к файлам. Выполнение любой операции над файлом должно быть разрешено только в случае наличия у пользователя соответствующих привилегий. Обычно контролируются следующие операции: Read, Write, Execute, Append, Delete, List
Другие операции, например, копирование файлов или их переименование также могут контролироваться. Однако они чаще реализуются через перечисленные. Так, операцию копирования файлов можно представить как операцию чтения и последующую операцию записи.
3.2.9.2 Списки прав доступа
Наиболее общий подход к защите файлов от несанкционированного использования - сделать доступ зависящим от идентификатора пользователя, то есть связать с каждым файлом или директорией список прав доступа (access control list), где перечислены имена пользователей и типы разрешенных для них способов доступа к файлу. Любой запрос на выполнение операции сверяется с таким списком. Основная проблема реализации такого способа - список может быть длинным. Чтобы разрешить всем пользователям читать файл, необходимо всех их внести в список. У этой техники есть два нежелательных следствия:
Конструирование такого списка может быть сложной задачей, особенно если мы не знаем заранее список пользователей системы.
Запись в директории должна теперь иметь переменный размер (включать список потенциальных пользователей).
Для решения этих проблем создают классификации пользователей, например, в ОС Unix все пользователи разделены на три группы:
Владелец (Owner).
Группа (Group). Набор пользователей, разделяющих файл и нуждающихся в типовом способе доступа к нему.
Остальные (Univers), что позволяет реализовать конденсированную версию списка прав доступа. В рамках этой ограниченной классификации задаются только три поля (по одному для каждой группы) для каждой контролируемой операции. В итоге, в Unix операции чтения, записи и исполнения контролируются при помощи 9 бит (rwxrwxrwx).
3.2.10 Резюме
Итак, файловая система, есть набор файлов и директорий и операций над ними. Имена, структуры, файлов, способы доступа к ним и их атрибуты - важные аспекты дизайна файловой системы. Большинство современных ОС поддерживает иерархическую систему каталогов или директорий с возможным вложением директорий. Безопасность файловой системы - одна из важнейших концепций ОС.
Часть 2 Реализация файловой системы
3.2.11 Интерфейс файловой системы.
Как уже говорилось, файловая система должна организовать эффективную работу с данными, хранящимися во внешней памяти и предоставить пользователю возможности для запоминания и выборки данных в нем.
Для организации хранения информации на диске пользователь вначале обычно выполняет его форматирование, выделяя на нем место для структур данных, которые описывают состояние файловой системы в целом. Затем пользователь создает нужную ему структуру каталогов (или директорий), которые по существу являются списками вложенных каталогов и собственно файлов. И, наконец, заполняет дисковое пространство файлами, приписывая их тому или иному каталогу. Таким образом, ОС должна предоставить в распоряжение пользователя совокупность сервисов традиционно реализованных через системные вызовы, которые обеспечивают:
создание файловой системы на диске
необходимые операции для работы с каталогами
необходимые операции для работы с файлами
Кроме того, файловые службы могут решать проблемы проверки и сохранения целостности файловой системы, проблемы повышения производительности и ряд других.
Прежде чем приступить к описанию работы отдельных файловых операций, необходимо рассмотреть ключевые алгоритмы и структуры данных, которые обеспечивают функционирование файловой системы.
