Государственныйкомитет Российской Федерации по высшему образованию
Московскийгосударственный институт электроники и математики
Кафедра системавтоматизации проектирования
Отчёт по лабораторнымработам
“Реализация управленияпроцессами и ресурсами многопрограммных операционных систем на уровнедиспетчеризации”
по дисциплине“Системы программирования иалгоритмизации вычислений”
Исполнитель: студентГамов А.В.
Руководитель: ВитушкинП.И.Москва 2002
Отчёт по лабораторнойработе 1
Задание на лабораторную работу
Осуществитьформирование средств представления процессов и механизмов управления ихсостоянием на уровне диспетчеризации.
Необходиморазработать алгоритм и написать программу, имитирующую работу простейшей ОС(“система”) – которая должна выполнять следующие действия:
- формированиедескрипторов процессов, вводимых в “систему”.
- определениесостояний, в котором находятся все известные “системе” процессы.
- Формированиеи ведение списочных структур (“очередей”) дескрипторов на основании ихсостояний, приоритетов и используемой дисциплины диспетчеризации.
Приформировании дескриптора необходимо осуществить ввод следующей информации:
- имяпроцесса (символьная строка, содержащая не более 8 символов).
- приоритетпроцесса (целое число в диапазоне 0-255).
- объёмОП (целое число в диапазоне 032767).
- переченьвнешних и периферийных устройств [DISK0,DISK1,TAPE0,TAPE1,PRINT,PLTTR] (неболее трех для каждого процесса)
- имяфайла если выбрано внешнее устройство хранения данных (символьная строка,содержащая не более 8 символов).
Определитьсостояние поступивших процессов и переместить их в подходящий список ивыполнить соответствующую принципу HPF=FCFS сортировку и перестановку состоянийесли активные (занявшие нужные процессы ресурсы) ниже по приоритету.
Разработатьинтерфейс программы.
Постановказадачи
Дано:
дескриптор –см. задание.
Требуется:
список1 илидескриптор1 – выполняемый процесс.
список2 –готовые процессы.
список3 –ожидающие процессы.
Интерфейс.
Структурапрограммы
/>
Назначение подпрограмм
Newproc – формирование дескриптора
Delproc – удаление дескриптора
EditProc – редактирование дескриптора.
ReRun – проверка на возможность запуска другого более приоритетногопроцесса.
Findplace – проверяет возможность перевести процессы из состоянияожидания в готовность или выполнение.
Sortproc – сортировка по HPF=FCFS.
Endproc – удаление выполняемого процесса (дескриптора).
АлгоритммодулейSort – производится объектом TListView.
Newproc,Endproc, Delproc, Editproc – описания не требуется ?).
Findplace:
{определениересурсов выделенных }
цикл от j:=0до ListView1.Count-1
если {всересурсы доступны} то
ListView2.Add:=ListView1.Items.Item[j-k];
Inc(k);
всё
{sortproc –вызывается объектами TlistView автономно при каждом изменении}
к.ц.
ReRun:
еслиListView3.Items.Item[0]=nil то
если{приоритет выполняемого меньше приоритета ListView2.Items.Item[0]} то
{ListView3.Items.Item[0]меняется местами с ListView2.Items.Item[0]}
всё
всё
Описаниетестового примера
Так как в первой лабораторной не предволагаетсяникаких дополнительных операции кроме запуска сортировки и завершения, то тесточень прост:
NewProc:\\ ID:FFname:proces1 priority:0 mem:512 device1: () device2: () device3: ()
NewProc:\\ ID:FFname:proces2 priority:0 mem:512 device1:PRINT() device2: () device3: ()
NewProc:\\ ID:FFname:proces3 priority:0 mem:512 device1:PRINT() device2: () device3: ()
StartEditProc:\\ID:FF name:proces3 priority:0 mem:512 device1:PRINT() device2: () device3: ()
EndEditProc:\\ID:FF name:proces3 priority:0 mem:512 device1:PRINT() device2:PLTTR() device3:()
StartEditProc:\\ID:FF name:proces3 priority:0 mem:512 device1:PRINT() device2:PLTTR() device3:()
EndEditProc:\\ID:FF name:proces3 priority:0 mem:512 device1: () device2:PLTTR() device3: ()
NewProc:\\ ID:FEname:proces4 priority:1 mem:512 device1:PRINT() device2:PLTTR() device3: ()
DelProc:\\ ID:FFname:proces2 priority:0 mem:512 device1:PRINT() device2: () device3: ()
DelProc:\\ ID:FFname:proces3 priority:0 mem:512 device1: () device2:PLTTR() device3: ()
Тестпоказывает все доступные действия над дескрипторами кроме увеличения уменьшенияприоритета, но при этом происходят те же действия так как модуль работаетнезависимо от действий, а использует только значения дескрипторов длясортировки и проверок.
Приосвобождение ресурсов процессы переходят из состояния ожидания в состояниеготовности.
При изменениеприоритета происходит проверка на возможность перевода данного процесса в состояниевыполнения.
Результатытестового примера (протокол):
[LabOS]
autor_name=mad_daemon
autor_team=MadSOFT
autor_group=AP-31
lab_version=1.0.0.1
lab_type=module.OS
protocol_name=C:\MadSOFT\Lab.OS\Laba1\1.txt
protocol_date=10.09.02
protocol_time=20:19:12
[Protocol]
mess0=[10.09.02|20:19:26]NewProc:\\ID:FF name:proces1 priority:0 mem:512 device1: () device2: () device3: ()
mess1=[10.09.02|20:19:51]NewProc:\\ID:FF name:proces2 priority:0 mem:512 device1:PRINT() device2: () device3: ()
mess2=[10.09.02|20:20:07]NewProc:\\ID:FF name:proces3 priority:0 mem:512 device1:PRINT() device2: () device3: ()
mess3=[10.09.02|20:20:11]StartEditProc:\\ID:FF name:proces3 priority:0 mem:512 device1:PRINT() device2: () device3: ()
mess4=[10.09.02|20:20:32]EndEditProc:\\ID:FF name:proces3 priority:0 mem:512 device1:PRINT() device2:PLTTR() device3:()
mess5=[10.09.02|20:25:31]StartEditProc:\\ID:FF name:proces3 priority:0 mem:512 device1:PRINT() device2:PLTTR() device3:()
mess6=[10.09.02|20:25:33]EndEditProc:\\ID:FF name:proces3 priority:0 mem:512 device1: () device2:PLTTR() device3: ()
mess7=[10.09.02|20:25:53]NewProc:\\ID:FE name:proces4 priority:1 mem:512 device1:PRINT() device2:PLTTR() device3:()
mess8=[10.09.02|20:26:43]DelProc:\\ID:FF name:proces2 priority:0 mem:512 device1:PRINT() device2: () device3: ()
mess9=[10.09.02|20:26:46]DelProc:\\ID:FF name:proces3 priority:0 mem:512 device1: () device2:PLTTR() device3: ()
[Close]
process_run=2
process_count=4
process_edit=2
process_del=2
process_end=0
protocol_mess=10
protocol_date=10.09.02
protocol_time=20:27:03
Ответы наконтрольные вопросы
I группа
1)Сформулироватьопределение состояния процесса?
Определениесостояний процессов, поступивших на уровень диспетчеризации осуществляетсяпутём анализа требуемых процессу ресурсов и свободных ресурсов.
Если всересурсы для данного процесса не включая ЦП можно выделить, то он переводится всостояние готовности, а если и ЦП свободен то процесс переводится в состояниевыполнения. Иначе в ожидание его.
2)Охарактеризуйтепричины изменения состояния процессов в ВС?
- Поступлениепроцесса с более высоким приоритетом, либо изменение приоритета.
- Освобождениересурса.
- Запросресурса.
- Окончание(удаление) процесса.
- Истечениекванта.
3)Чтоявляется причиной изменения процесса в разработанной вами “системе”?
- Поступлениепроцесса с более высоким приоритетом, либо изменение приоритета.
(Down,Up,Edit)
- Освобождениересурса.
(Edit)
- Удаление(завершение выполняемого) процесса.
(Ydalit,EndProc)
Отчёт по лабораторной работе 2Задание на лабораторную работу
Осуществитьформирование средств представления процессов и механизмов управления ихсостоянием на уровне диспетчеризации.
Заменитьпринцип сортировки списков HPF=FCFS на HPF=SM=FCFS.
Создать“Изменение кванта”.
Доработатьинтерфейс программы.
Постановказадачи
Дано:
дескриптор –см. задание.
Требуется:
список1 илидескриптор1 – выполняемый процесс.
список2 –готовые процессы.
список3 –ожидающие процессы.
Интерфейс.
Структурапрограммы
/>
Назначение подпрограмм:
Newproc – формирование дескриптора
Delproc – удаление дескриптора
EditProc – редактирование дескриптора.
ReRun – проверка на возможность запуска другого более приоритетногопроцесса или с равным приоритетом.
Findplace – проверяет возможность перевести процессы из состоянияожидания в готовность или выполнение.
Sortproc – сортировка по HPF=FCFS.
Endproc – удаление выполняемого процесса (дескриптора).
!Timeproc – таймер
АлгоритммодулейSort – производится объектом TListView.
Newproc,Endproc, Delproc, Editproc – описания не требуется ?).
Findplace:
{определениересурсов выделенных }
цикл от j:=0до ListView1.Count-1
если {всересурсы доступны} то
ListView2.Add:=ListView1.Items.Item[j-k];
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.
Описаниетестового примера
Так как в первой лабораторной не предволагаетсяникаких дополнительных операции кроме запуска сортировки и завершения, то тесточень прост:
NewProc:\\ ID:FFname:proces1 priority:0 mem:512 device1: () device2: () device3: ()
NewProc:\\ ID:FFname:proces2 priority:0 mem:12 device1:PRINT() device2: () device3: ()
NewProc:\\ ID:FFname:proces3 priority:0 mem:512 device1:PRINT() device2: () device3: ()
StartEditProc:\\ID:FF name:proces3 priority:0 mem:512 device1:PRINT() device2: () device3: ()
EndEditProc:\\ID:FF name:proces3 priority:0 mem:512 device1:PRINT() device2:PLTTR() device3:()
StartEditProc:\\ID:FF name:proces3 priority:0 mem:512 device1:PRINT() device2:PLTTR() device3:()
EndEditProc:\\ID:FF name:proces3 priority:0 mem:512 device1: () device2:PLTTR() device3: ()
NewProc:\\ ID:FEname:proces4 priority:1 mem:512 device1:PRINT() device2:PLTTR() device3: ()
DelProc:\\ ID:FFname:proces2 priority:0 mem:512 device1:PRINT() device2: () device3: ()
DelProc:\\ ID:FFname:proces3 priority:0 mem:512 device1: () device2:PLTTR() device3: ()
Тестпоказывает все доступные действия над дескрипторами кроме увеличения уменьшенияприоритета, но при этом происходят те же действия так как модуль работаетнезависимо от действий, а использует только значения дескрипторов длясортировки и проверок.
При освобождениересурсов процессы переходят из состояния ожидания в состояние готовности.
При изменениеприоритета происходит проверка на возможность перевода данного процесса всостояние выполнения.
При нажатиина кнопку RunOS запускается таймер.
При нажатии накнопку StopOS таймер останавливается.
Результатытестового примера (протокол)
[LabOS]
autor_name=mad_daemon
autor_team=MadSOFT
autor_group=AP-31
lab_version=1.0.0.1
lab_type=module.OS
protocol_name=C:\MadSOFT\Lab.OS\Laba1\1.txt
protocol_date=10.09.02
protocol_time=20:19:12
[Protocol]
mess0=[10.09.02|20:19:26]NewProc:\\ID:FF name:proces1 priority:0 mem:512 device1: () device2: () device3: ()
mess1=[10.09.02|20:19:51]NewProc:\\ID:FF name:proces2 priority:0 mem:12 device1:PRINT() device2: () device3: ()
mess2=[10.09.02|20:20:07]NewProc:\\ID:FF name:proces3 priority:0 mem:512 device1:PRINT() device2: () device3: ()
mess3=[10.09.02|20:20:11]StartEditProc:\\ID:FF name:proces3 priority:0 mem:512 device1:PRINT() device2: () device3: ()
mess4=[10.09.02|20:20:32]EndEditProc:\\ID:FF name:proces3 priority:0 mem:512 device1:PRINT() device2:PLTTR() device3:()
mess5=[10.09.02|20:25:31]StartEditProc:\\ID:FF name:proces3 priority:0 mem:512 device1:PRINT() device2:PLTTR() device3:()
mess6=[10.09.02|20:25:33]EndEditProc:\\ID:FF name:proces3 priority:0 mem:512 device1: () device2:PLTTR() device3: ()
mess7=[10.09.02|20:25:53]NewProc:\\ID:FE name:proces4 priority:1 mem:512 device1:PRINT() device2:PLTTR() device3:()
mess8=[10.09.02|20:26:43]DelProc:\\ID:FF name:proces2 priority:0 mem:512 device1:PRINT() device2: () device3: ()
mess9=[10.09.02|20:26:46]DelProc:\\ID:FF name:proces3 priority:0 mem:512 device1: () device2:PLTTR() device3: ()
[Close]
process_run=25
process_count=4
process_edit=2
process_del=2
process_end=0
protocol_mess=10
protocol_date=10.09.02
protocol_time=20:27:03
Ответы наконтрольные вопросы
1)Дляобработки пакетных данных потому — что схема одноочередной диспетчеризации дляоперации Истечение кванта происходит по принципу FCFS, то есть процесс которыйраньше попал в систему раньше получит ЦП, а если он ожидает ресурс, то онпропускает другие процессы с более малым требованием к времени полученияресурса.
2) Болеебыстрые переходы => большая эффективность, но при слишком малой размерностикванта времени будут тратиться большая часть работы ЦП на обработку списковпроцессов, а на не саму их работу => квант времени должен зависит отмощности ЦП.
От длинакванта зависит переход от процесса к процессу => если какому либо процессупотребуется ресурс при выполнение, то он перейдёт в состояние ожидания операцииввода вывода, если же длина кванта больше то он и перейдёт позже => всепрограммы работающие с ресурсами будут не только притормаживаться из-за времениоперации ввода вывода, но и [времени поступления процесса в готовые] –[истечение кванта2-истечение кванта1] * [программы перед ним].
3)Наиболеекороткие процессы.
4) (-)Многовремя на обработку списка процессов.
(+)Болеебыстрое выполнение коротих процессов.
Отчёт по лабораторной работе 3Задание на лабораторную работу
Изучениеспособов приоритетной диспетчеризации активных процессов и их программнойреализации.
Добавитьизменение состояния процессов с меньшим приоритетом, если его ресурсы требуютсяпроцессу с большим приоритетом.
Добавитьприоритетную остановку.
Доработатьинтерфейс программы.
Постановказадачи
Дано:
дескриптор –см. задание.
Требуется:
список1 илидескриптор1 – выполняемый процесс.
список2 –готовые процессы.
список3 –ожидающие процессы./> />
Структурапрограммы
Назначение подпрограмм:
Newproc – формирование дескриптора
Delproc – удаление дескриптора
EditProc – редактирование дескриптора.
ReRun – проверка на возможность запуска другого более приоритетногопроцесса или с равным приоритетом.
Findplace – проверяет возможность перевести процессы из состоянияожидания в готовность или выполнение.
Sortproc – сортировка по HPF=FCFS.
Endproc – удаление выполняемого процесса (дескриптора).
!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:FF0200name:proces1 priority:0 mem:512 device1: () device2: () device3: ()
NewProc:\\ ID:FF01FF name:proces2priority:0 mem:511 device1:PRINT() device2: () device3: ()
NewProc:\\ ID:FE03E8name:proces3 priority:1 mem:1000 device1:PRINT() device2: () device3: ()
NewProc:\\ ID:FE03E8name:proces4 priority:1 mem:1000 device1: () device2:PLTTR() device3: ()
DelProc:\\ ID:FE03E8name:proces3 priority:1 mem:1000 device1:PRINT() device2: () device3: ()
NewProc:\\ ID:FD03E8name:proces5 priority:2 mem:1000 device1:PRINT() device2:PLTTR() device3: ()
Приосвобождение ресурсов процессы переходят из состояния ожидания в состояниеготовности.
При изменениеприоритета происходит проверка на возможность перевода данного процесса всостояние выполнения.
При нехватке ресурсовпроверяется возможность перевода процессов с более низким приоритетом всостояние ожидания.
Результатытестового примера (протокол)
[LabOS]
autor_name=mad_daemon
autor_team=MadSOFT
autor_group=AP-31
autor_icq=1012023
autor_mail=mad_daemon@xakep.ru
autor_oldurl=http://netstorm.nm.ru
autor_tmpurl=http://saprophit.nm.ru
lab_version=1.0.0.3
lab_type=module.OS
protocol_name=C:\MadSOFT\Lab.OS\Laba3\3.txt
protocol_date=10.09.02
protocol_time=23:39:48
[Protocol]
mess0=[10.09.02|23:39:55]NewProc:\\ID:FF0200 name:proces1 priority:0 mem:512 device1: () device2: () device3: ()
mess1=[10.09.02|23:40:03]NewProc:\\ID:FF01FF name:proces2 priority:0 mem:511 device1:PRINT() device2: () device3:()
mess2=[10.09.02|23:40:13]NewProc:\\ID:FE03E8 name:proces3 priority:1 mem:1000 device1:PRINT() device2: () device3:()
mess3=[10.09.02|23:40:29]NewProc:\\ID:FE03E8 name:proces4 priority:1 mem:1000 device1: () device2:PLTTR() device3:()
mess4=[10.09.02|23:40:37]DelProc:\\ID:FE03E8 name:proces3 priority:1 mem:1000 device1:PRINT() device2: () device3:()
mess5=[10.09.02|23:40:52]NewProc:\\ID:FD03E8 name:proces5 priority:2 mem:1000 device1:PRINT() device2:PLTTR() device3:()
[Close]
process_run=5
process_count=5
process_edit=0
process_del=1
process_end=0
protocol_mess=6
protocol_date=10.09.02
protocol_time=23:40:56
Ответы наконтрольные вопросы
1)При относительномприоритете самый последний поступивший всегда попадает в 1-ю очередь.
При абсолютном если онвыше выполняемого то он заканчивает выполняемый и становится на его место.
2) “Запуск” “Истечениекванта” “Изменение (Edit)”
3)Сложность реализациипоиска изменения состояния менее приоритетных процессов занявших ресурсы.
Отчёт по лабораторной работе 4Задание на лабораторную работу
Изучениедиспетчеризации процессов с учётом выполнения операций ввода вывода,алгоритмическая и программная реализация данной дисциплины диспетчеризации.
Учитыватьоперации ввода вывода, поступаемые от выполняемого процесса.
Доработатьинтерфейс программы.
Постановказадачи
Дано:
дескриптор –см. задание.
Требуется:
список1 илидескриптор1 – выполняемый процесс.
список2 –готовые процессы.
список3 –ожидающие процессы./> />
Структурапрограммы
Назначение подпрограмм:
Newproc – формирование дескриптора
Delproc – удаление дескриптора
EditProc – редактирование дескриптора.
ReRun – проверка на возможность запуска другого более приоритетногопроцесса или с равным приоритетом.
Findplace – проверяет возможность перевести процессы из состоянияожидания в готовность или выполнение.
Sortproc – сортировка по HPF=FCFS.
Endproc – удаление выполняемого процесса (дескриптора).
!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] изменяется значение ввода вывода}
{если оностановится равно нулю то все
ресурсы уданного процесса убираются}
{ListView3.Items. Item[0]меняется местами с ListView2.Items.Item[0]}
всё
всё
так как сортировка производится методами виндыи при этом обрабатываются
только строки из обного столбца, то добавленстолбец # в котором находится
HEX(255-приоритет)+HEX(память),что позволяет быстро сортировать
по принципуHPF=SM=FCFS.
Описаниетестового примера
NewProc:\\ ID:FF0200name:proces1 priority:0 mem:512 device1: () device2: () device3: ()inout:0
NewProc:\\ ID:FF01FF name:proces2priority:0 mem:511 device1:PRINT() device2: () device3: ()inout:10
NewProc:\\ ID:FE03E8name:proces3 priority:1 mem:1000 device1:PRINT() device2: () device3:()inout:10
NewProc:\\ ID:FE03E8name:proces4 priority:1 mem:1000 device1: () device2:PLTTR() device3:()inout:10
DelProc:\\ ID:FE03E8name:proces3 priority:1 mem:1000 device1:PRINT() device2: () device3:()inout:10
NewProc:\\ ID:FD03E8name:proces5 priority:2 mem:1000 device1:PRINT() device2:PLTTR() device3:()inout:9
При освобождениересурсов процессы переходят из состояния ожидания в состояние готовности.
При изменениеприоритета происходит проверка на возможность перевода данного процесса всостояние выполнения.
При нехватке ресурсовпроверяется возможность перевода процессов с более низким приоритетом всостояние ожидания.
Операция ввода выводапроисходит в момент истечения кванта.
Операция запрос ресурсовввода вывода в меню изменить.
Для тестапросто нужно запустить систему и ждать обнуления значения ввода вывода.
Результатытестового примера (протокол)
[LabOS]
autor_name=mad_daemon
autor_team=MadSOFT
autor_group=AP-31
autor_icq=1012023
autor_mail=mad_daemon@xakep.ru
autor_oldurl=http://netstorm.nm.ru
autor_tmpurl=http://saprophit.nm.ru
lab_version=1.0.0.3
lab_type=module.OS
protocol_name=C:\MadSOFT\Lab.OS\Laba3\3.txt
protocol_date=10.09.02
protocol_time=23:39:48
[Protocol]
mess0=[10.09.02|23:39:55]NewProc:\\ID:FF0200 name:proces1 priority:0 mem:512 device1: () device2: () device3:()inout:0
mess1=[10.09.02|23:40:03]NewProc:\\ID:FF01FF name:proces2 priority:0 mem:511 device1:PRINT() device2: () device3:()inout:10
mess2=[10.09.02|23:40:13]NewProc:\\ID:FE03E8 name:proces3 priority:1 mem:1000 device1:PRINT() device2: () device3:()inout:10
mess3=[10.09.02|23:40:29]NewProc:\\ID:FE03E8 name:proces4 priority:1 mem:1000 device1: () device2:PLTTR() device3:()inout:10
mess4=[10.09.02|23:40:37]DelProc:\\ID:FE03E8 name:proces3 priority:1 mem:1000 device1:PRINT() device2: () device3:()inout:10
mess5=[10.09.02|23:40:52]NewProc:\\ID:FD03E8 name:proces5 priority:2 mem:1000 device1:PRINT() device2:PLTTR() device3:()inout:9
[Close]
process_run=5
process_count=5
process_edit=0
process_del=1
process_end=0
protocol_mess=6
protocol_date=10.09.02
protocol_time=23:40:56
Ответы наконтрольные вопросы
1)[DISK0,DISK1,TAPE0,TAPE1,PRINT,PLTTR]:харды, стриммеры, принтетр, плотер.
2) _rerun; идве рекурсивные функции проверки.
3)Если новыйпроцесс запрашивает ресурс то он с начало находится в состояние ожидания и лишьпосле операции выделения ресурса переход в состояние готовый.
4)Если кпроцессу применить операцию выделить ресурс то он переходит в состояниеожидания (дальше п.3).
5)В первойлабе нет удаления использования ресурса в результате выполнения всех командввода вывода => есть только одна возможность изменить состояние ждущегопроцесса (выполнить операцию выделить процесс) это удалить (а у меня иизменить) процесс.
6)(+)то чтоследующий процесс может использовать занятые устройства.
7)Всепроцессы получают доступ к ресурсам. И ресурсы освобождаются.