- •Определение ос. Назначение и функции операционной системы. Место ос в структуре вычислительной системы.
- •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. Дисковый кэш.
14. Процессы и потоки. Состояния потока
Процесс – программа, находящаяся в стадии выполнения. Процесс рассматривается как заявка на потребление всех видов ресурсов, кроме одного – процессорного времени.
Потоки возникли как средство распараллеливания вычислений в рамках одного процесса. Процессорное время выделяется потокам, а не процессорам. В простейшем случае процесс состоит из одного потока.
Преимущества потоков:
Создание потоков - маленькие расходы, чем при создании процессов.
Быстрота создания потока по сравнению с процессом
Потоки одного процесса могут взаимодействовать через общую память(Повышается производительность)
Состояния потоков:
Выполнение – активное состояние(выполняется процессором)
Готовность – пассивное состояние(поток заблокирован из за внешних обстоятельств, процессорного времени нет)(Планировщик выбирает поток -> поток переходит в “Выполнение”)
Ожидание – пассивное состояние(поток заблокирован, из за внутренних причин)Например, поток выполнил системный вызов и сообщил ОС, что он собирается синхронизировать свою работу с каким-то событием, а событие ещё не произошло.
Граф состояний потока:
Поток выбран на выполнение;
Поток ожидает завершения ввода/вывода;
Ввод/вывод завершен (событие произошло);
Поток вытеснен планировщиком.
15. Планирование и диспетчеризация потоков, моменты перепланировки.
Переход от одного потока к другому осуществляется в результате планирования и диспетчеризации.
Планирование включает в себя решение двух задач:
● Определение момента времени для смены текущего активного потока;
● Выбор для выполнения потока из очереди готовых потоков.
Планирование может быть динамическим (решения принимаются во время работы системы на основе анализа текущей ситуации (работа регулировщика на перекрёстке)) и статическим (решения приняты заранее, работа по расписанию (расписание на вокзале)).
Диспетчеризация - это реализация найденного в результате планирования решения, то есть в переключении процессора с одного потока на другой. Диспетчеризация сводится к следующему:
Сохранение контекста текущего потока, который требуется сменить;
Загрузка контекста нового потока, выбранного в результате планирования;
Запуск нового потока на выполнение.
Ситуации, когда необходима перепланировка:
1. Время, отведенное активной задаче на выполнение, закончилось. Планировщик переводит задачу в состояние готовности и выполняет перепланирование. Надо выбрать новый поток на выполнение.
2. Активная задача выполнила системный вызов, связанный с запросом на ввод/вывод или на доступ к ресурсу, который в настоящий момент занят. Планировщик переводит задачу в состояние ожидания и выполняет перепланирование (поток выполняет системный вызов, и этот вызов - повод перевести поток в состояние ожидания).
3. Активная задача выполнила системный вызов, связанный с освобождением ресурса. Если есть, то она переводится из состояния ожидания в состояние готовность. Проверяются приоритеты готовых к выполнению задач (текущий поток освободил ресурс, и это повод активизироваться планировщику, и посмотреть, не дожидается ли кто-то освобождения этого ресурса, и если такой поток есть, то он переводится в состояние готовности из состояния ожидания).
4. Завершение периферийным устройством операции ввода/вывода переводит соответствующую задачу в очередь готовых, и выполняется планирование (устройство завершило операцию ввода-вывода, и кто-то ожидал завершения этой операции, и поток переводится в состояние готовности).
5. Внутреннее прерывание сигнализирует об ошибке, которая произошла в результате выполнения активной задачи. Планировщик снимает задачу и выполняет перепланирование.
