
- •Лекции «Операционные системы» 4 семестр, 2 курс Содержание
- •Лекция №1 История развития ос
- •Операционная система. Общая характеристика.
- •Лекция №2 Требования к ос
- •Ресурсы, виды ресурсов. Управление памятью. Виртуальная память.
- •Методы распределения памяти
- •Лекция №3
- •Cash-ирование данных
- •Понятие процесса. Управление процессами. Синхронизация процессов. Тупики и способы борьбы с ними.
- •Лекция №4 Алгоритмы планирования процессов
- •Средства синхронизации при взаимодействии процессов
- •Файловые системы
- •Лекция №5 Общая модель файловой системы
- •Файловая система fat (таблица распределения файлов)
- •Структура
- •Формат кода каталога
- •Файловая система hpfs
- •Лекция №6
- •Файловая система ntfs(кратко)
- •Операционная система ms-dos
- •Лекция №7 Прерывание. Обработка прерываний
- •Лекция №8
- •Программирование последовательного порта
- •Лекция №9
- •Планирование процесса
- •Многоуровневые очереди
- •Лекция №10
- •Лекция №11 Архитектура Windows nt
- •Лекция №12 Процессы и нити
- •Лекция №13 Алгоритмы планирования процессов и нитей
- •Процесс
- •Распределение процессорного времени между потоками
- •Лекция №14
- •Лекция №15
- •Журнал аудита
- •Политика аудита
- •Лекция №16
- •Настройка и конфигурация windows nt
- •Лекция №17
- •Структура сетевой ос
- •Лекция №18
- •Лекция №19
- •Лекция №20 Динамически подключаемая библиотека (dynamic_link_library dll)
- •Лекция №21 Внедрение dll
Лекция №4 Алгоритмы планирования процессов
Задачи:
-
Определение момента времени для смены процесса (решается программным способом)
-
Выбор процесса на выполнение из очереди готовых процессов (решается программным способом).
-
Переключение контекстов для старого и нового процессов (решается операторным способом).
Алгоритмы, основанные на:
-
Квантовании: смена активного процесса происходит в случае, если:
-
Процесс завершился
-
Произошла ошибка
-
Процесс перешел в состояние ожидания
-
Исчерпан квант времени, отведенный данному процессу. Процесс тогда переходит в состояние ожидания, ждет квант времени от системы. Квант может быть произвольным.
-
-
Приоритете: число, характеризующее степень привилегированности процессов при использовании ресурсов – приоритетное число. Может быть положительным, отрицательным и т.д. Приоритет может быть и постоянным, и изменяющимся.
Алгоритмы, использующие:
-
Абсолютный приоритет (ОС может прервать выполнение процесса, выбрав другой)
-
Относительный приоритет (процесс будет выполняться до конца)
На выполнение будет выбираться процесс с наивысшим приоритетом.
Планирование:
-
невытесняющая многозадачность – процесс выполняется до тех пор, пока не отдаст свое управление.
-
вытесняющее многозадачность – способ, когда решение о переключении процессора с одного процесса на другой выполняется разработчиком, а не системой; механизм выполнения задач целиком зависит от системы, в то время, как при невытесняющей многозадачности решение принимает программист.
Средства синхронизации при взаимодействии процессов
Ситуации, когда 2 и более процессов обрабатывают разделяемые данные и конечный результат зависит от скорости соотношения процессов, называется гонкой (+пример).
Часть программы, в которой осуществляется доступ к разделяемым данным, называется критической секцией.
1 способ:
Чтобы исключить эффект гонок по отношению к некоторым ресурсам, необходимо обеспечить, чтобы в каждый момент критической секции, связанной с этими ресурсами, находился один процесс. Данный прием называется взаимным исключением.
2 способ:
С каждым разделяемым ресурсом связана двоичная переменная, с 1 и 0, которая определяет 1 – свободен ресурс, 0 – нет. Блокированные переменные – глобальные.
Недостаток: если процесс находится в критической секции, то второй процесс, которому требуется данный ресурс, тратит время на проверку.
Обобщающие средства синхронизации предложил Дейкстра, который ввел второй новый примитива - симофом. На симофоме определены 2 операции:
-
операция V(S) означает, что S увеличивается на 1 одним неделимым действием. Выбор ……… и запоминание …………. К S нет доступа при выполнении этой операции.
-
Операции P(S) означает уменьшение S на 1, если это возможно. Если переменная принимает значение 0, то уменьшить нет возможности, и переменная остается в области отрицательных чисел. Р – операция ждет, пока уменьшение станет возможным. Проверка ………………………. Операция Р заключает в себе потенциальную возможность перехода процесса, который её вызывает в состояние ожидания. V может активизировать процесс, приостановленного операцией Р.
Если симофом может принимать значение либо 0, либо 1, он превращается в блокирующую переменную.
Тупиковая ситуация:
2 процесса:
1 процессу нужен принтер и вытесняется ………..2 процесс захватывает диск. Каждый в своей критической секции. Нельзя выйти, т. к. 1 процессу нужен диск, а 2 процессу – принтер.
Проблемы тупиков:
-
Предотвращение (программистом)
-
Распознавание
-
Восстановление работы системы.
Процессы имеют виртуальное адресное пространство, содержимое регистров и т.д. В рамках одного процесса существует понятие «нить». Нить уже не настолько ограничена и обособлена, если на привязана к процессу. Нить выполняется также последовательно, имеет свой собственный программный счетчик и стек, может переходить из одного состояния в другой. Мы можем запустить несколько нитей в рамках одного процесса, который выполняются параллельно. Это нити-потомки, регистры. Для всех нитей общее адресное пространство, глобальные переменные, открытые файлы, симофомы, статистика.