- •1. Операционные системы. Определение. Назначение
- •2. Эволюция ос
- •3. Классификация ос
- •1)Особенности алгоритмов управления ресурсами
- •4. Функции операционных систем.
- •5. Ос как виртуальная машина.
- •6. Ос как система управления ресурсами
- •7. Сетевые ос
- •8. Сетевые службы и сетевые серверы
- •10. Требования к современным ос
- •11. Виды архитектур ос, преимущества, недостатки
- •12. Ядро и привилегированный режим.
- •13. Архитектура ос с монолитным ядром.
- •14. Многослойная структура ос
- •15. Архитектура ос с микроядром.
- •16. Экзоядро и наноядро.
- •17. Архитектура операционной системы с гибридным ядром.
- •20. Понятие потока. Модель потока. Типы реализации
- •21. Дескрипторы и контексты процессов
- •22. Алгоритмы планирования процессов, основанные на квантовании
- •23. Алгоритмы планирования процессов, основанные на приоритетах
- •24.Вытесняющие и не вытесняющие алгоритмы планирования.
- •25. Проблемы синхронизации процессов. Способы синхронизации
- •26. Проблемы тупиков и методы борьбы с ними
- •27. Управление памятью. Функции ос по управлению памятью.
- •28. Алгоритмы распределения памяти. Распределение фиксированными, динамическими и перемещаемыми разделами
- •29. Сегментная, страничная и сегментно-страничная организация памяти Страничное распределение
- •30. Свопинг, виртуальная память Понятие виртуальной памяти
- •33. Многослойная модель подсистемы ввода-вывода. Драйверы
- •34. Файловая система
- •35. Общая модель и структура файловой системы.
- •36. Классификация файловых систем.
- •37. Наиболее распространённые
- •38. Наиболее распространенные операционные системы
- •39. Информационная безопасность ос. Основные понятия
- •40. Технологии безопасности. Шифрование, аутентификация, авторизация, аудит
24.Вытесняющие и не вытесняющие алгоритмы планирования.
25. Проблемы синхронизации процессов. Способы синхронизации
В многозадачной ОС при взаимодействии процессов друг с другом при обмене потоками возникает проблема взаимодействия.Она нужна для исключения таких явлений как гонки и тупики.Прога печати файлов.(см рисунок) Процессы-клиенты читают эту переменную, записывают в соответствующую позицию файла "заказов" имя своего файла и наращивают значение NEXT на единицу. Предположим, что в некоторый момент процесс R решил распечатать свой файл, для этого он прочитал значение переменной NEXT, но поместить имя файла не успел, так как его выполнение было прервано (например, в следствие исчерпания кванта). Очередной процесс S, желающий распечатать файл, прочитал то же самое значение переменной NEXT, поместил в четвертую позицию имя своего файла. Когда в очередной раз управление будет передано процессу R, то он, продолжая свое выполнение, в полном соответствии со значением текущей свободной позиции, полученным во время предыдущей итерации, запишет имя файла также в позицию 4, поверх имени файла процесса S. Таким образом, процесс S никогда не увидит свой файл распечатанным.
ситуация когда 2 и более процесса обрабатывают разделяемые данные, и результат зависит от соотношения скоростей процессов называется гонками. Критическая секция - часть проги, которая осуществляет доступ к разделяемым данным.Правило для избежание конфликтов: необходимо обеспечить, чтобы в каждый момент временив критической секции, связанной с разделяемым ресурсом , находился 1 процесс. Способы реализации взаимного исключения.1)Позволить процессу, находящемуся в критич секции, запрещать все прерывания. Недостаток аналогично невытесняющему режиму. 2) Использование блокирующих переменных.С кажд разделяемым ресурсом связывается двоичная переменная, котора яприносит значе-ние 1-ресурс свободен, 0-занят.Перед входом в критическую секцию процесс проверяет значение переменной, если он =0, то проверка циклически повторяется, если ресурс свободен, то значение устанавливается в ноль и процесс переходит в критическую секции. Недостаток: операции проверки и установки блокирующей переменной должна быть неделимой в течении времени, когда процесс находится в критической секции, а другой прцесс , которому требуется тот же ресурс будет выполнять действия по опросу блокирующей переменной. 3)Аппарат событий. Используется системными функциями WAIT(x) и POST(x), где x - идентификатор некоторого события. Если ресурс занят, то процесс не выполняет циклический опрос, а вызывает системную функцию WAIT(х). Эта функция переводит активный процесс в состояние ОЖИДАНИЕ и делает отметку в его дескрипторе о том, что процесс ожидает события х. Процесс, который в это время использует ресурс х, после выхода из критической секции выполняет системную функцию POST(х), в результате чего операционная система просматривает очередь ожидающих процес-сов и переводит процесс, ожидающий события х, в состояние ГОТОВНОСТЬ