Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpora_1-10_bez_vosmogo1 (1).docx
Скачиваний:
4
Добавлен:
16.04.2019
Размер:
133.72 Кб
Скачать

34. Поняття політики планування процесів.

Планирование – организация очереди процессов, готовых к выполнению. Алгоритм планирования должен разрешать несколько конфликтных ситуаций: быстроту реакции, хороший отклик на фоновые работы, исключение голодания процесса( процессу не выделяется квантов времени достаточно долго), согласование нужд низко- и высокоприоритетных процессов и др. Множество правил, которые определяют, когда и каким процессам выделить квант времени, называется политикой планирования.

Политика планирования базируется на ранжировании процессов в соответствии с их уровнями привилегий. Для большинства современных ОС приоритет – величина, которая динамически изменяется с учетом того, что делает процесс, и периодически изменяет приоритет процесса.

С точки зрения требований к процессорному времени процессы делятся на процессы, требующие много времени для ввода-вывода данных, и процессы, которые требуют много процессорного времени.

35. Класифікація процесів з погляду планування.

С точки зрения планирования процессы делятся на три класса.

Интерактивные процессы – взаимодействуют непосредственно с пользователем через клавиатуру и (или) мышку. Когда ввод данных выполнен, процесс должен быстро откликнуться. Таким процессам присваивается высокий динамический приоритет.

Пакетные процессы – они не требуют взаимодействия с пользователем, часто выполняются как фоновые процессы. Такие процессы не требуют высокой реактивности, поэтому планировщик назначает процессам невысокий динамический приоритет.

Процессы реального времени – эти процессы предъявляют самые строгие требования к программе планирования. Такие процессы никогда не должны блокироваться низкоприоритетными процессами и должны иметь минимальное время реакции на ввод-вывод данных. Динамический приоритет, который назначается таким процессам, наивысший.

36. Поняття процесу. Пріоритети, порядок створення та завершення

Процесс – фундаментальное понятие ОС. Существует четыре типа процессов, выполняющихся в пользовательском режиме: постоянные, процессы-службы, пользовательские процессы (приложения) и подсистемы среды.

Постоянные – процессы, которые запускаются автоматически после загрузки системы. Процессы-службы – особый вид приложения, которое выполняет работу для других приложений. Пользовательские процессы – привычные приложения, выполняемые с целью решения поставленной задачи. Подсистемы среды – позволяют использовать функции POSIX, или OS/2, в приложениях windows, и наоборот.

Приоритет процесса

Каждой задаче присвоен определенны приоритет. Рассмотрим на примере WINDOWS. Уровень приоритета – от 0(низкий) до 31(высокий). Общее кол-во приоритетов определяется тем, что для задания приоритета используется 32 битное слово, один бит соответствует одному уровню приоритета.

Приоритет определяется по следующим критериям:

- Класс приоритета ее процесса;

- приоритетный уровень потока внутри приоритетного класса процесса.

Класс приоритета и уровень приоритета комбинируется для формирования базисного приоритета потока.

Создание процесса

Создание процесса следует выполнять если в заданном приложении необходимо запустить другое приложение. Функция для создания процесса – CreateProcess. При создании процесса выполняются следующие действия – Открывается исполнимый файл, соответствубщий данному приложению. Проверяется тип приложения. Создается объект типа «процесс». Для этого выделяется память для объекта типа «процесс» EPROCESS в области памяти ядра. Инициализируются поля этой структуры. Выделяется адресное пространство для процессов соответствии с данными о размерах сегментов, которые выбираются из исполнимого файла. Создается блок для определения списка потоков ядра, необходимых для выполнения приложения(KPROCESS). Адрес структуры добавляется в конец списка готовых процессов.

Создается начальный поток. До создания потока процесс ничего не может, так как ОС процессорное время выделяется только потокам.

Завершение процесса

-завершается выполнение всех потоков процесса

- все объекты, созданные процессом, уничтожаются(для них вызываются деструкторы), в том числе объекты ядра, если они не используются другими процессами. В противном случае для объектов ядра уменьшается счетчик использования

- код завершения процесса принимает заданное в функции завершения процесса значение.

- объект ядра, соответствующий процессу, переходит в состояние «свободно», но не уничтожается до тех пор, пока счетчик списка его пользователей не равен 0. Для принудительного освобождения достаточно из процесса, создавшего данный процесс, запустить функцию CloseHandle.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]