
- •1. Определение ОС. Назначение и функции операционной системы. Место ОС в структуре вычислительной системы.
- •2. Области применения ОС: ОС мейнфреймов, серверные ОС, ОС многопроцессорных систем, персональных компьютеров, смартфонов и планшетов, встроенные ОС, ОС сенсорных узлов, смарт-карт, ОС для IoT устройств.
- •3. Понятие ресурса. Основные ресурсы вычислительной системы. Управление ресурсами.
- •4. Критерии эффективности и классы ОС.
- •5. Функциональные компоненты ОС персонального компьютера.
- •6. Понятие интерфейса прикладного программирования
- •7. Пользовательский интерфейс.
- •8. Системные вызовы.
- •9. Прерывания (понятие, классификация, обработка прерываний).
- •10. Обработка аппаратных прерываний.
- •11. Требования, предъявляемые к современным ОС.
- •12. Виртуализация. Гипервизор 1 и 2 типа. Контейнеры.
- •13. Классификации ОС
- •14. Архитектура ОС. Ядро и вспомогательные модули.
- •15. Классическая архитектура ОС. Монолитные и многослойные ОС.
- •16. Микроядерная архитектура ОС.
- •17. Процессы и потоки. Состояния потока.
- •18. Функции ОС по управлению процессами.
- •19. Планирование и диспетчеризация потоков, моменты перепланировки.
- •20. Кооперативная и вытесняющая многозадачность, достоинства и недостатки.
- •21. Алгоритм планирования, основанный на квантовании
- •22. Приоритетное планирование.
- •23. Алгоритмы планирования в ОС пакетной обработки: «первым пришел – первым обслужен», «кратчайшая задача – первая», «наименьшее оставшееся время выполнения».
- •24. Алгоритмы планирования в интерактивных ОС: циклическое, приоритетное, MLFQ.
- •25. Равномерные планировщики: гарантированное, лотерейное, справедливое планирование.
- •26. Планирование в многопроцессорных системах.
- •27. Планирование в системах реального времени.
- •28. Алгоритм планирования Windows NT.
- •29. Алгоритмы планирования Linux: О(1)
- •30. Алгоритмы планирования Linux: CFS
- •31. Планирование в ОС реального времени.
- •32. Межпроцессное взаимодействие (почему необходимы системные средства и в каких ситуациях применяются, примеры таких средств).
- •33. Синхронизация процессов и потоков: цели и средства синхронизации
- •34. Ситуация состязаний (гонки). Способы предотвращения.
- •35. Способы реализации взаимных исключений: блокирующие переменные, критические секции, семафоры.
- •36. Классические задачи синхронизации: «производители-потребители», «проблема обедающих философов», «проблема спящего брадобрея».
- •37. Взаимные блокировки. Условия, необходимые для возникновения тупика
- •38. Обнаружение взаимоблокировки при наличии одного ресурса каждого типа.
- •39. Обнаружение взаимоблокировки при наличии нескольких экземпляров ресурса каждого типа.
- •40. Предотвращение взаимоблокировки. Алгоритм банкира для одного вида ресурсов.
- •41. Предотвращение взаимоблокировки. Алгоритм банкира для нескольких видов ресурсов.
- •42. Синхронизирующие объекты ОС: системные семафоры, мьютексы, события, сигналы, барьеры, ждущие таймеры.
- •43. Организация обмена данными между процессами (каналы, разделяемая память, почтовые ящики, сокеты).
- •44. Функции ОС по управлению памятью.
- •45. Алгоритмы распределения памяти без использования внешних носителей (одиночное непрерывное распределение, фиксированные, динамические, перемещаемые разделы).
- •46. Понятие виртуальной памяти.
- •47. Страничное распределение памяти.
- •48. Таблицы страниц для больших объемов памяти.
- •49. Алгоритмы замещения страниц.
- •50. Сегментное распределение памяти.
- •51. Сегментно-страничное распределение памяти.
- •52. Кеш-память (понятие, принцип действия кеш-памяти).
- •53. Случайное отображение основной памяти на кеш.
- •54. Детерминированное отображение основной памяти на кеш.
- •55. Комбинированный способ отображения основной памяти на кеш.
- •56. Задачи ОС по управлению файлами и устройствами.
- •57. Многослойная модель подсистемы ввода-вывода.
- •58. Физическая организация диска. HDD, SSD устройства.
- •59. Файловая система. Определение, состав, типы файлов. Логическая организация файловой системы.
- •60. Физическая организация и адресация файлов.
- •61. FAT. Структура тома. Формат записи каталога. FAT12, FAT16, FAT32, exFAT.
- •62. ext2, ext3, ext4: структура тома, адресация файлов, каталоги, индексные дескрипторы.
- •63. NTFS: структура тома, типы файлов, организация каталогов.
- •64. Файловые операции. Процедура открытия файла.
- •65. Организация контроля доступа к файлам.
- •66. Отказоустойчивость файловых систем.
- •67. Процедура самовосстановления NTFS.
- •68. Избыточные дисковые подсистемы RAID.
- •69. Многоуровневые драйверы.
- •70. Дисковый кеш. Ускорение выполнения дисковых операций: традиционный дисковый кеш, кеш на основе механизма виртуальной памяти.

64. Файловые операции. Процедура открытия файла.

Системный вызов open в ОС UNIX работает с двумя аргументами: символьным именем открываемого файла и режимом открытия файла. Режим открытия говорит системе,
какие операции будут выполняться над файлом в последовательности операций до закрытия файла по системному вызову close, например: только чтение, только запись или чтение и запись.
При открытии файла ОС сначала выполняет преобразование первого аргумента системного вызова, то есть символьного имени файла, в его уникальное числовое имя, которым в традиционных файловых системах UNIX является номер индексного дескриптора.
Открытие файла
•Системный вызов open работает с двумя аргументами: именем файла и режимом открытия.
•Режим открытия определяет операции с файлом до его закрытия.
•Символьное имя файла преобразуется в уникальный числовой индексный дескриптор.
Структура виртуального дескриптора (vnode)
•Файловая система копирует характеристики файла в оперативную память.
•Структура vnode включает поля индексного дескриптора и дополнительные поля.
•ОС хранит одну копию vnode для каждого файла, с которым работает хотя бы один процесс.
Структура файла (file)
•ОС создает новую структуру file при каждом открытии файла.
•Структура file содержит поля для режима открытия, указателя на vnode, текущего смещения и счетчика ссылок.
•Переменная offset запоминает текущее положение указателя в файле. Управление указателем
•Прикладной программист может управлять положением указателя с помощью вызова lseek.
•ОС создает новую структуру file и помещает ее в дважды связанный список.
Дескриптор файла
•Системный вызов open возвращает дескриптор файла, который имеет локальное значение для процесса.
•Дескриптор используется во всех операциях с файлом до его закрытия.
•При неудачной попытке открытия файла переменной fd присваивается значение -1.
65. Организация контроля доступа к файлам.
Организация контроля доступа к файлам
•Файлы — частный случай разделяемых ресурсов.
•Доступ к файлам контролируется операционной системой.
•Другие разделяемые ресурсы: принтеры, модемы, память, процессы. Система контроля доступа ОС
•ОС предоставляет средства для задания прав пользователей.
•В UNIX устройства представлены как файлы.
•В Windows NT используется унифицированная структура — объект безопасности. Субъекты доступа
•Субъекты доступа: пользователи и группы пользователей.
•Индивидуальные права доступа позволяют гибко управлять ресурсами.
•Объединение пользователей в группы упрощает администрирование.
Владельцы объектов доступа
•Владельцем может быть пользователь или группа пользователей.
•Администратор системы имеет все права, но не обязательно является владельцем.
Подходы к определению прав доступа
•Избирательный доступ: владелец определяет допустимые операции.
•Мандатный доступ: система определяет права в зависимости от группы пользователя.
•Мандатные системы надежны, но менее гибки.
Механизм контроля доступа
•Пользователи и группы имеют символьное имя и числовой идентификатор.
•Идентификационные данные хранятся в специальных файлах или базах данных.
•Процесс-оболочка связывает идентификаторы с процессами.
Операции доступа к файлам
•Набор операций может быть большим или укрупненным.
•В UNIX три операции: читать, писать, выполнить.
•В Windows NT два уровня операций: стандартные и индивидуальные. Матрица прав доступа
•Права доступа описываются матрицей.
•Матрица хранится в списках управления доступом (ACL).
•ACL хранится на диске в индексном дескрипторе.
•Не все файловые системы поддерживают ACL.
Структура списка ACL
•Список ACL состоит из элементов управления доступом (ACE)
•Каждый элемент соответствует одному идентификатору Характеристики безопасности
•Список ACL с идентификатором владельца называется характеристиками безопасности Пример запроса на запись
•Процесс с идентификаторами 3, 14, 52 и 72 пытается записать файл
•Владелец файла имеет идентификатор 17
Процесс проверки доступа
•Операционная система находит характеристики безопасности файла
•Сравнивает идентификаторы процесса с идентификаторами владельца и элементов
ACE
Разрешение операции записи
•Идентификатор группы 52 совпадает с идентификатором элемента ACE
•Пользователю 52 разрешена операция чтения, поэтому ОС разрешает запись Особенности операционных систем
•Схема хранения информации о правах доступа и проверки имеет особенности в каждой ОС
•Примеры ОС: UNIX и Windows NT
66. Отказоустойчивость файловых систем.
Отказоустойчивость файловых систем
•Файловые системы обеспечивают сохранность данных при крахе системы.
•Данные, записанные на диск, остаются нетронутыми при перезапуске ОС.
•Коды и данные ОС хранятся в файлах, что облегчает перезапуск.
Методы повышения устойчивости
•Использование избыточных дисков и алгоритмов управления массивами.
•Восстанавливаемые файловые системы для борьбы с нарушением целостности служебной информации.
Восстанавливаемость файловых систем
•Гарантирует завершение или отмену операций при отказе питания или крахе ОС.
•Последствия сбоя зависят от выполняемой операции и порядка выполнения подопераций.
•Некорректность файловой системы может быть вызвана нарушением работы дискового кэша.
Кэширование данных
•Данные временно хранятся в буферах оперативной памяти.
•Менеджер дискового кэша вытесняет блоки на диск при необходимости.
•Приложения могут запрашивать операцию сквозной записи.
Протоколирование транзакций
•Транзакции — неделимые работы, выполняемые полностью или не выполняемые вовсе.
•Протоколирование изменений позволяет отменить незавершенные транзакции.
•Упреждающее протоколирование записывает изменения в журнал транзакций.
•Журнал транзакций используется для отката и повторения транзакций при необходимости.
67. Процедура самовосстановления NTFS.
Файловая система NTFS и её восстанавливаемость
•NTFS восстанавливает только системную информацию
•Сохранность пользовательских файлов не гарантируется