- •Определение ос. Назначение и функции операционной системы. Место ос в структуре вычислительной системы.
- •3, Понятие ресурса. Основные ресурсы вычислительной системы. Управление ресурсами.
- •4, Критерии эффективности и классы ос
- •5, Функциональные компоненты ос персонального компьютера
- •6, Понятие интерфейса прикладного программирования
- •7, Системные вызовы
- •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. Таблицы страниц для больших объемов памяти.
- •35.Сегментное распределение памяти.
- •36. Сегментно-страничное распределение памяти.
- •37. Задачи ос по управлению файлами и устройствами.
- •38. Многослойная модель подсистемы ввода-вывода.
- •39. Физическая организация жесткого диска. (там еще про hdd, ssd устройства добавление в вопрос) (я пробежался глазами тут вроде нет)
- •40. Файловая система. Определение, состав, типы файлов. Логическая организация файловой системы.
- •41. Физическая организация и адресация файлов.
- •42. Fat. Структура тома. Формат записи каталога. Fat12, fat16, fat32.
- •43. Ufs: структура тома, адресация файлов, каталоги, индексные дескрипторы.
- •44. Ntfs: структура тома, типы файлов, организация каталогов.
- •45. Файловые операции. Процедура открытия файла.
- •46. Организация контроля доступа к файлам. Контроль доступа к файлам на примере Unix
- •47. Отказоустойчивость файловых систем.
- •48. Избыточные дисковые подсистемы raid.
- •49. Многоуровневые драйверы.
- •50. Дисковый кэш.
16. Алгоритм планирования, основанный на квантовании.
Квант – интервал процессорного времени, который поочередно предоставляется всем существующим в системе потокам.
Виды кванта :
динамическими (длительность времени может быть разной)
фиксированными
Квантование - очередь потоков к процессору, из заголовка этой очереди выбирается поток, который получает квант времени, в течение которого он может выполняться, и когда квант времени истек, то поток снимается с выполнения и переходит в состояние готовности, если снимается принудительно.
Смена активного потока происходит, если:
● Поток завершился и покинул систему;
● Произошла ошибка;
● Поток перешел в состояние ожидания;
● Исчерпан квант процессорного времени, отведенный данному потоку.
Поток, который исчерпал свой квант ->готовности и ожидает, когда ему будет предоставлен новый квант процессорного времени, а на выполнение в соответствии с определенным правилом выбирается новый поток из очереди готовых.
Чем больше квант, тем выше вероятность того, что потоки завершатся в результате первого же цикла выполнения, и тем менее явной становится зависимость времени ожидания потоков от их времени выполнения. При достаточно большом кванте алгоритм квантования вырождается в алгоритм последовательной обработки, присущий однопрограммным системам, при котором время ожидания задачи в очереди вообще никак не зависит от ее длительности.
17. Приоритетное планирование.
Приоритетное планирование предполагает наличие у потоков некоторой изначально известной характеристики — приоритета, на основании которой определяется порядок их выполнения.
Приоритет — это число, характеризующее степень привилегированности потока при доступе к ресурсам ОС: чем выше приоритет, тем выше привилегии, тем меньше времени будет проводить поток в очередях, или наоборот, чем ниже приоритет, тем ниже привилегии. Приоритет может выражаться целым или дробным, положительным или отрицательным значением.
Приоритеты бывают:
● Фиксированные - приоритет потоку назначается ОС при его создании и не изменяется за время существования потока.
● Динамические - приоритет может изменяться либо по инициативе самого потока, либо по инициативе пользователя, либо ОС изменяет приоритеты потоков.
Приоритетное планирование бывает:
● С относительными приоритетами - приоритет учитывается только при выборе потока на выполнение из очереди готовых к выполнению потоков. Просматриваются очереди и выбирается поток. Он выполняется до тех пор, пока он сам не покинет процессор, перейдя в состояние ожидания (или же произойдет ошибка, или поток завершится)
● С абсолютными приоритетами выполнение активного потока прерывается, когда в очереди готовых к выполнению потоков появляется поток, приоритет которого выше, чем приоритет активного потока. В этом случае прерванный поток переходит в состояние готовности.
18. Алгоритмы планирования в ос пакетной обработки: «первым пришел – первым обслужен», «кратчайшая задача – первая», «наименьшее оставшееся время выполнения».
Критерий эффективности - это максимальная пропускная способность (хотим сделать так, чтобы процессор не простаивал).
Суть ОС пакетной обработки: в момент старта системы, когда начинается вычислительный процесс, запускаются все задачи одновременно, и задача планирования заключается в том, как и в какой последовательности расставить внутри пакета эти задачи.
Алгоритмы:
1. FIFO - “Первый пришел - первым обслужен”
Задача ОС - поддерживать некоторую очередь: поступившие на выполнение потоки добавляются в эту очередь и, допустим, по алфавиту (как ниже) пришли, выполнили и ушли.
+Простота - поддерживается только список, и из заголовка списка выбирается поток на выполнение.
+Справедливость - первым пришёл, первым будешь обслужен (как очередь в магазине).
2. “Кратчайшая задача - первая”
Минимизирует среднее оборотное время выполнения задачи, т.е. задачи выстраиваются по критерию минимального среднего оборотного времени (чем меньше время, тем первее задача выполнится). Оборотное время - время от запуска пакета (от начала координат) до завершения каждой из задач.
+Уменьшение оборотного времени
+Справедливость
-Требуется превентивная информация о времени выполнения задач;
-Длинный процесс, занявший процесс, не пустит более новые краткие процессы, пришедшие позже.
3. Наименьшее оставшееся время выполнения
В соответствии с этим алгоритмом планировщик каждый раз выбирает процесс с наименьшим оставшимся временем выполнения. В этом случае также необходимо заранее знать время выполнения задач. Когда поступает новая задача, ее полное время выполнения сравнивается с оставшимся временем выполнения текущей задачи. Если время выполнения новой задачи меньше, текущий процесс приостанавливается и управление передается новой задаче. Эта схема позволяет быстро обслуживать короткие запросы.
