- •Список вопросов к экзамену по дисциплине «Операционные системы»
- •1. Определение ос. Назначение и функции операционной системы. Место ос в структуре вычислительной системы.
- •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. Сегментно-страничное распределение памяти.
- •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. Дисковый кеш. Ускорение выполнения дисковых операций: традиционный дисковый кеш, кеш на основе механизма виртуальной памяти.
50. Сегментное распределение памяти.
Сегментное распределение памяти – это метод управления виртуальной памятью, при котором адресное пространство процесса делится на логические сегменты, соответствующие функциональным единицам программы, например, код, данные, стек или динамически выделяемая память.
Каждый сегмент имеет базовый адрес и размер, и ОС поддерживает таблицу сегментов, в которой хранятся сведения о местоположении сегмента в физической памяти. Обращение к памяти происходит через комбинацию номера сегмента и смещения внутри него, что обеспечивает логическую изоляцию данных и упрощает защиту памяти.
Сегментное распределение позволяет динамически изменять размер сегментов, легко разделять и совместно использовать сегменты между процессами (например, общие библиотеки), но может приводить к внешней фрагментации, когда свободные области памяти разбросаны и не образуют непрерывные блоки для новых сегментов.
51. Сегментно-страничное распределение памяти.
Сегментно–страничное распределение памяти – это комбинированный метод управления виртуальной памятью, в котором адресное пространство процесса сначала делится на логические сегменты, а каждый сегмент, в свою очередь, разбивается на страницы фиксированного размера.
ОС использует таблицу сегментов, каждая запись которой указывает на соответствующую таблицу страниц сегмента. Логический адрес состоит из номера сегмента, номера страницы внутри сегмента и смещения, что позволяет сочетать логическую структуризацию памяти сегментации с эффективным размещением страниц в физической памяти.
Данный метод снижает внешнюю фрагментацию, характерную для чисто сегментного распределения, обеспечивает гибкую защиту и совместное использование сегментов, а также эффективно поддерживает виртуальную память и многозадачность в современных ОС.
52. Кеш-память (понятие, принцип действия кеш-памяти).
Кеш-память – это высокоскоростная память небольшого объёма, предназначенная для временного хранения часто используемых данных и команд с целью уменьшения среднего времени доступа к памяти и повышения производительности системы. Принцип работы кеша основан на локальности обращений: временной (данные, недавно использованные, с высокой вероятностью понадобятся снова) и пространственной (обращение к одному адресу повышает вероятность обращения к соседним).
Кеши организуются многоуровнево: L1 – самый быстрый, встроенный в ядро процессора, разделён на кеш команд и данных; L2 – медленнее и больше, может быть распределён между ядрами; L3 – самый большой, обычно общий для всех ядер, но медленнее L1/L2. Иногда встречается L4 для высокопроизводительных серверов.
Данные извлекаются из кеша по принципу «cache hit» (данные найдены) или загружаются из более медленной памяти при «cache miss». Кеши работают по разным политикам записи и синхронизации между уровнями: инклюзивная (данные верхнего уровня дублируются в нижнем), эксклюзивная (уникальные данные на каждом уровне) и неэксклюзивная. Для управления заменой блоков применяются алгоритмы типа Pseudo-LRU, которые позволяют эффективно выбирать наименее недавно использованные данные с минимальными накладными расходами.
