Лабораторная работа: Реализация управления процессами и ресурсами многопрограммных операционных систем на уровне диспетчеризации

!Timeproc – таймер

Алгоритм модулей

Sort – производится объектом TListView.

Newproc, Endproc, Delproc, Editproc – описания не требуется ?).

Findplace:

{определение ресурсов выделенных }

цикл от j:=0 до ListView1.Count-1

если {все ресурсы доступны} то

ListView2.Add:= ListView1.Items.Item[j-k];

Inc(k);

иначе если {процессы которые используют требуемые ресурсы имеют меньший приоритет} то

ListView2.Add:= ListView1.Items.Item[j-k];

ListView1.Add:={процессы занявшие ресурсы}

Inc(k);

всё

всё

{sortproc – вызывается объектами TlistView автономно при каждом изменении}

к.ц.

ReRun:

если ListView3.Items.Item[0]=nil то

если {абсолютный приоритет выполняемого меньше приоритета ListView2.Items.Item[0]} то

{ListView3.Items.Item[0] меняется местами с ListView2.Items.Item[0]}

всё

всё

так как сортировка производится методами винды и при этом обрабатываются только строки из обного столбца, то добавлен столбец # в котором находится

HEX(255-приоритет)+HEX(память), что позволяет быстро сортировать

по принципу HPF=SM=FCFS.

Добавления только в Findplace.

Описание тестового примера

NewProc:\\ ID:FF0200 name:proces1 priority:0 mem:512 device1: () device2: () device3: ()

К-во Просмотров: 277
Бесплатно скачать Лабораторная работа: Реализация управления процессами и ресурсами многопрограммных операционных систем на уровне диспетчеризации