
- •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. Монитор
30. Функции ос по управлению памятью.
Управляем оперативной памятью. Особая роль оперативной памяти связана с тем, что существуют требования для выполнения программы, говорящие о том, что хотя бы часть ее образа должна присутствовать в оперативной памяти. Именно из ОП выбираются инструкции, данные и тд. В конечном итоге обмен происходит с оперативной памятью
Управление:
учет и контроль состояния каждой единицы памяти (свободна или распределена)
стратегия распределения памяти (кому,когда, сколько)
выделение памяти (выбор конкретной области)
стратегия освобождения памяти
*страничное распределение м.б. исп-но и без исп-ия внешней памяти
31. Алгоритмы распределения памяти без использования внешних носителей (фиксированные, динамические, перемещаемые разделы).
Распределение памяти фиксированными разделами
Предположим, что памяти много и приложения требуют меньше памяти, чем есть. Тогда на этапе инициализации системы (изначально) ОС занимает какой-то объем памяти, а все что осталось - нарезается на области (разделы). Разделы могут быть как одного, так и разного объема памяти. В каждом разделе может выполняться только один процесс, но наличие этих разделов позволяет реализовать мультипрограммирование. Степень мультипрограммирования определяется числом разделов (т.е. сколько разделов, столько процессов могут существовать одновременно).
возможно мультипрограммирование
степень мультипрограммирования ограничена (разделами)
При поступлении от задачи запроса на выделение памяти, ОС выбирает свободный раздел подходящего размера. Размер которого меньше или равен требованию задачи к памяти.
Проблемы:
Имеем области памяти, которые не используются.
Если поступает задача у которой требование к памяти не превышает суммарный размер памяти, которая может быть распределена, но не умещается ни в один из разделов, то такая задача не будет выполнена
Либо задачи объединяются в одну очередь, либо заранее формируются свои очереди к каждому разделу (рисунки ниже)
Необходимые аппаратные средства:
два регистра границ (границы раздела)
ключи защиты
Распределение памяти динамическими разделами
Процессы поступают в систему и получают память в соответствии со своими запросами.
Степень мультипрограммирования определяется объемом физической памяти и требованиями процессов к памяти и больше никаких ограничений нет.
В какой-то момент времени память может быть распределена практически полностью и свободной памяти недостаточно для запуска какого-либо из ожидающих процессов, тогда процессы буду дожидаться окончания работы других процессов и освобождения памяти. Свободную память может занять только тот процесс, требования которого равны или меньше объема свободной памяти.
+поддержка мультипрограммирования
+вся память свободна и доступна для распределения
- Память системы может оказаться “изъеденной”, так как буду возникать небольшие “дырки” свободной памяти в разных местах, не позволяющие выполнить ни один процесс, даже если суммарный объем будет достаточен.
Распределение памяти перемещаемыми разделами
В предыдущем случае свободные участки пропадали, в данном же распределении памяти выполняется процедура “сжатия”. То есть выполняется перенос образов процессов по какому-то правилу, а свободные области памяти объединяются в общий пул в надежде, что их суммарного объема хватит для какого-либо процесса.
Является достаточно накладной операцией, так как происходит полноценная физическая перезапись.
Выполняется либо по завершения процесса, либо с некоторой периодичностью, либо при возникновении процесса, для которого не находится раздела нужного объема.