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

33 Алгоритм адаптивно-рефлекторного планування процесів.

Планирование выполняется с учетом потребности в памяти процессора. Оценка требуемого объема памяти определяется по затратам памяти обнаруженным при предыдущем выделении кванта времени. Предполагается, что при очередном выделении кванта памяти потребуется столько же. Процессу выделяется очередной квант времени при наличии требуемой свободной памяти. Размер выделяемого кванта времени обратно пропорционален требуемому объему памяти.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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