- •Список вопросов к экзамену по дисциплине «Операционные системы»
- •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. Дисковый кеш. Ускорение выполнения дисковых операций: традиционный дисковый кеш, кеш на основе механизма виртуальной памяти.
13. Классификации ос.
По числу одновременно выполняемых задач ОС подразделяются на однозадачные и многозадачные, где многозадачные ОС обеспечивают конкурентное выполнение нескольких программ.
По числу пользователей выделяют однопользовательские и многопользовательские ОС, различающиеся возможностью одновременной работы нескольких пользователей.
По режиму обработки заданий различают пакетные ОС, ОС разделения времени и ОС реального времени. Пакетные ОС ориентированы на максимальную пропускную способность при обработке больших объёмов задач без срочности выполнения. ОС разделения времени обеспечивают быстрый отклик на действия пользователя, предоставляя каждому процессу короткие интервалы процессорного времени. ОС реального времени гарантируют выполнение задач в строго заданные временные интервалы, что критично для управления технологическими процессами и встроенными системами.
По архитектуре вычислительной системы ОС классифицируются на ОС однопроцессорных и многопроцессорных систем.
По области применения выделяют ОС персональных компьютеров, серверные ОС, мобильные ОС и встроенные ОС.
По структуре ядра различают монолитные ОС, микроядерные ОС и гибридные ОС, отличающиеся организацией функций ядра.
14. Архитектура ос. Ядро и вспомогательные модули.
Архитектура ОС – это структурная организация компонентов операционной системы и взаимосвязей между ними, определяющая способ управления ресурсами и предоставления сервисов пользователю и приложениям. Архитектура может быть монолитной, когда все функции ядра объединены в один модуль, микроядерной, когда ядро минимально, а основные службы реализованы во вспомогательных модулях, или гибридной, сочетающей элементы обоих подходов.
Ядро – это функциональный компонент ОС, работающий в привилегированном режиме и выполняющий управление процессами, памятью и устройствами ввода-вывода. Ядро реализует:
Базовые функции ОС – управление процессами, памятью и устройствами ввода-вывода;
Внутрисистемные функции – переключение контекстов, загрузка и выгрузка страниц, обработка прерываний;
Функции прикладной среды – предоставление API для взаимодействия приложений с ОС.
Вспомогательные модули – функциональные компоненты, расширяющие возможности ядра и обеспечивающие удобный интерфейс для приложений и пользователя. К ним относятся:
Утилиты – программы для управления и сопровождения системы (дефрагментаторы, очистка и разметка диска, резервное копирование, мониторинг оборудования);
Системные обрабатывающие программы – текстовые и графические редакторы, компиляторы, компоновщики, отладчики;
Программы дополнительных услуг – специальные варианты пользовательского интерфейса, калькулятор, игры;
Библиотеки процедур – математические, ввода/вывода и другие функции для приложений.
15. Классическая архитектура ос. Монолитные и многослойные ос.
Классическая архитектура ОС – это организация операционной системы, основанная на разделении функций между ядром и пользовательской частью и двух режимах работы процессора: привилегированном и пользовательском, что обеспечивает защиту ресурсов и контроль доступа.
Монолитная ОС – это ОС, у которой все функции ядра реализованы как единый модуль и работают полностью в привилегированном режиме. Монолитная ОС представляет собой набор процедур, связанных в одну большую исполняемую программу, где каждая процедура может при необходимости вызвать другую. Структурно она может включать: главную программу, вызывающую сервисные процедуры; набор сервисных процедур, реализующих системные вызовы; набор утилит, обслуживающих эти процедуры. Такой подход обеспечивает высокую производительность, но снижает модульность и устойчивость к ошибкам.
Многослойная (многоуровневая) ОС – это ОС, ядро которой организовано в виде иерархии уровней, где каждый уровень использует функции нижележащего и предоставляет сервисы верхнему. Нижний уровень обычно соответствует аппаратуре, верхний – интерфейсу пользователя. Каждый уровень может вызывать только объекты из уровня непосредственно ниже. Такая организация повышает модульность, удобство сопровождения и безопасность, облегчает модификацию системы, но снижает производительность по сравнению с монолитной архитектурой.
