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