
- •1. Определение ос. Назначение и функции операционной системы. Место ос в структуре вычислительной системы.
- •3. Понятие ресурса. Основные ресурсы вычислительной системы. Управление ресурсами.
- •4. Критерии эффективности и классы ос.
- •8. Прерывания (понятие, классификация, обработка прерываний).
- •9. Требования, предъявляемые к современным ос.
- •10. Виртуализация. Гипервизор 1 и 2 типа. Контейнеры.
- •11. Архитектура ос. Ядро и вспомогательные модули.
- •12. Классическая архитектура ос. Монолитные и многослойные ос.
- •13. Микроядерная архитектура ос.
- •14. Процессы и потоки. Состояния потока
- •15. Планирование и диспетчеризация потоков, моменты перепланировки.
- •16. Алгоритм планирования, основанный на квантовании.
- •17. Приоритетное планирование.
- •18. Алгоритмы планирования в ос пакетной обработки: «первым пришел – первым обслужен», «кратчайшая задача – первая», «наименьшее оставшееся время выполнения».
- •Наименьшее оставшееся время выполнения
- •19. Алгоритмы планирования в интерактивных ос: циклическое, приоритетное, гарантированное, лотерейное, справедливое планирование.
- •Циклическое планирование (квантование)
- •Гарантированное планирование
- •Лотерейное планирование
- •Справедливое планирование
- •Приоритетное планирование
- •20. Алгоритм планирования Windows nt.
- •21. Алгоритмы планирования Linux: о(1), cfs.
- •22. Синхронизация процессов и потоков: цели и средства синхронизации.
- •23. Ситуация состязаний (гонки). Способы предотвращения.
- •24. Способы реализации взаимных исключений: блокирующие переменные, критические секции, мьютексы
- •25. Взаимные блокировки. Условия, необходимые для возникновения тупика.
- •26. Предотвращение взаимоблокировки. Алгоритм банкира для одного вида ресурсов.
- •27. Предотвращение взаимоблокировки. Алгоритм банкира для нескольких видов ресурсов.
- •28. Синхронизирующие объекты ос: системные семафоры, мьютексы, события, сигналы, барьеры, ждущие таймеры.
- •29. Организация обмена данными между процессами (каналы, разделяемая память, почтовые ящики, сокеты).
- •Каналы.
- •Разделяемая память
- •Почтовые ящики
- •Сокеты.
- •30. Функции ос по управлению памятью.
- •31. Алгоритмы распределения памяти без использования внешних носителей (фиксированные, динамические, перемещаемые разделы).
- •Распределение памяти динамическими разделами
- •32. Понятие виртуальной памяти Виртуализация памяти
- •Виртуальное адресное пространство - совокупность виртуальных адресов процесса. И эта совокупность может превышать объем физической памяти.
- •Структура виртуального адресного пространства
- •Виды виртуального адресного пространства:
- •33. Страничное распределение памяти.
- •34. Таблицы страниц для больших объемов памяти.
- •1 Многоуровневые таблицы страниц
- •2 Инвертированные таблицы страниц
- •35. Сегментное распределение памяти.
- •36. Сегментно-страничное распределение памяти.
- •37. Задачи ос по управлению файлами и устройствами.
- •38. Многослойная модель подсистемы ввода-вывода.
- •39. Физическая организация диска. Hdd, ssd устройства.
- •40. Файловая система. Определение, состав, типы файлов. Логическая организация файловой системы.
- •41. Физическая организация и адресация файлов.
- •42. Fat. Структура тома. Формат записи каталога. Fat12, fat16, fat32, exFat
- •43. Ufs, ext2: структура тома, адресация файлов, каталоги, индексные дескрипторы.
- •44. Ntfs: структура тома, типы файлов, организация каталогов.
- •45. Файловые операции. Процедура открытия файла.
- •46. Организация контроля доступа к файлам. Контроль доступа к файлам на примере Unix.
- •47. Отказоустойчивость файловых систем.
- •48. Избыточные дисковые подсистемы raid.
- •49. Многоуровневые драйверы.
- •50. Ускорение выполнения дисковых операций: традиционный дисковый кэш, кэш на основе механизма виртуальной памяти.
- •Классические задачи синхронизации: “производители-потребители”, “проблема обедающих философов”, “проблема спящего брадобрея”.
- •1. Официант
- •2. Иерархия вилок
- •3. Монитор
18. Алгоритмы планирования в ос пакетной обработки: «первым пришел – первым обслужен», «кратчайшая задача – первая», «наименьшее оставшееся время выполнения».
Критерий эффективности - это максимальная пропускная способность (хотим сделать так, чтобы процессор не простаивал).
Суть ОС пакетной обработки: в момент старта системы, когда начинается вычислительный процесс, запускаются все задачи пакетом, то есть одновременно, и задача планирования заключается в том, как и в какой последовательности расставить внутри пакета эти задачи.
Алгоритмы:
FIFO - “Первый пришёл - первым обслужен”
Задача ОС - поддерживать некоторую очередь: поступившие на выполнение потоки добавляются в эту очередь и, допустим, по алфавиту (как ниже) пришли, выполнили и ушли.
Достоинства:
Простота - поддерживается только список, и из заголовка списка выбирается поток на выполнение.
Справедливость - первым пришёл, первым будешь обслужен (как очередь в магазине).
“Кратчайшая задача - первая”
Минимизирует среднее оборотное время выполнения задачи, т.е. задачи выстраиваются по критерию минимального среднего оборотного времени (чем меньше время, тем первее задача выполнится). Оборотное время - время от запуска пакета (от начала координат) до завершения каждой из задач. Для задачи А оборотное время равно от старта пакета до получения результата А, для B - время выполнения А + время выполнения B и так далее.
Пример:
Достоинства:
Уменьшение оборотного времени
Справедливость - как в очереди в магазин быстрее могут пройти те, у кого без сдачи.
Недостатки:
Требуется превентивная информация о времени выполнения задач;
Длинный процесс, занявший процесс, не пустит более новые краткие процессы, пришедшие позже.
Наименьшее оставшееся время выполнения
В соответствии с этим алгоритмом планировщик каждый раз выбирает процесс с наименьшим оставшимся временем выполнения. В этом случае также необходимо заранее знать время выполнения задач. Когда поступает новая задача, ее полное время выполнения сравнивается с оставшимся временем выполнения текущей задачи. Если время выполнения новой задачи меньше, текущий процесс приостанавливается и управление передается новой задаче. Эта схема позволяет быстро обслуживать короткие запросы.
19. Алгоритмы планирования в интерактивных ос: циклическое, приоритетное, гарантированное, лотерейное, справедливое планирование.
Критерий эффективности - удобство работы пользователя.
Алгоритмы планирования:
Циклическое планирование (квантование)
Каждому процессу назначается одинаковый квант времени.
Процесс выполняет поток инструкций потока А, и если квант времени истекает, то поток вытесняется, перемещается в конец очереди, и вместо него на выполнение, получив квант времени, запускается следующий в списке поток.
Достоинства:
Простота
Справедливость
Недостатки:
Слишком малый квант времени приводит к частому переключению процессов и снижению производительности, но с другой стороны повышает интерактивность;
Слишком большой квант может привести к увеличению времени ответа на интерактивный запрос.
Гарантированное планирование
В системе с n-процессами, каждому процессу будет предоставлено 1/n времени процессора.
Суть алгоритма:
Необходимо отслеживать, сколько процессорного времени затрачено на каждый потоков с момента его создания. Затем вычисляют отношение времени, фактически полученного процессом к количеству времени, на которое он имел право.
На выполнение выбирается процесс с наименьшим отношением, который будет работать до тех пор, пока его соотношение не превысит соотношение его ближайшего конкурента.