курсовые,контрольные,дипломы,рефераты
Государственный комитет Российской Федерации по высшему образованию
Московский государственный институт электроники и математики
Кафедра систем автоматизации проектирования
Отчёт по лабораторным работам
“Реализация управления процессами и ресурсами многопрограммных операционных систем на уровне диспетчеризации”
по дисциплине
Исполнитель: студент Гамов А.В.
Руководитель: Витушкин П.И.
Отчёт по лабораторной работе 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 – удаление выполняемого процесса (дескриптора).
Алгоритм модулей
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:FF name:proces1 priority:0 mem:512 device1: () device2: () device3: ()
NewProc:\\ ID:FF name:proces2 priority:0 mem:512 device1:PRINT() device2: () device3: ()
NewProc:\\ ID:FF name: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:FE name:proces4 priority:1 mem:512 device1:PRINT() device2:PLTTR() device3: ()
DelProc:\\ ID:FF name:proces2 priority:0 mem:512 device1:PRINT() device2: () device3: ()
DelProc:\\ ID:FF name: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)
Осуществить формирование средств представления процессов и механизмов управления их состоянием на уровне диспетчеризации.
Заменить принцип сортировки списков HPF=FCFS на HPF=SM=FCFS.
Создать “Изменение кванта”.
Доработать интерфейс программы.
Постановка задачи
Дано:
дескриптор – см. задание.
Требуется:
список1 или дескриптор1 – выполняемый процесс.
список2 – готовые процессы.
список3 – ожидающие процессы.
Интерфейс.
Структура программы
Назначение подпрограмм:
Newproc – формирование дескриптора
Delproc – удаление дескриптора
EditProc – редактирование дескриптора.
ReRun – проверка на возможность запуска другого более приоритетного процесса или с равным приоритетом.
Findplace – проверяет возможность перевести процессы из состояния ожидания в готовность или выполнение.
Sortproc – сортировка по HPF=FCFS.
Endproc – удаление выполняемого процесса (дескриптора).
!Timeproc – таймер
Алгоритм модулей
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:FF name:proces1 priority:0 mem:512 device1: () device2: () device3: ()
NewProc:\\ ID:FF name:proces2 priority:0 mem:12 device1:PRINT() device2: () device3: ()
NewProc:\\ ID:FF name: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:FE name:proces4 priority:1 mem:512 device1:PRINT() device2:PLTTR() device3: ()
DelProc:\\ ID:FF name:proces2 priority:0 mem:512 device1:PRINT() device2: () device3: ()
DelProc:\\ ID:FF name: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 – таймер
Алгоритм модулей
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: ()
NewProc:\\ ID:FF01FF name:proces2 priority:0 mem:511 device1:PRINT() device2: () device3: ()
NewProc:\\ ID:FE03E8 name:proces3 priority:1 mem:1000 device1:PRINT() device2: () device3: ()
NewProc:\\ ID:FE03E8 name:proces4 priority:1 mem:1000 device1: () device2:PLTTR() device3: ()
DelProc:\\ ID:FE03E8 name:proces3 priority:1 mem:1000 device1:PRINT() device2: () device3: ()
NewProc:\\ ID:FD03E8 name: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)Сложность реализации поиска изменения состояния менее приоритетных процессов занявших ресурсы.
Изучение диспетчеризации процессов с учётом выполнения операций ввода вывода, алгоритмическая и программная реализация данной дисциплины диспетчеризации.
Учитывать операции ввода вывода, поступаемые от выполняемого процесса.
Доработать интерфейс программы.
Постановка задачи
Дано:
дескриптор – см. задание.
Требуется:
список1 или дескриптор1 – выполняемый процесс.
список2 – готовые процессы.
список3 – ожидающие процессы.
Назначение подпрограмм:
Newproc – формирование дескриптора
Delproc – удаление дескриптора
EditProc – редактирование дескриптора.
ReRun – проверка на возможность запуска другого более приоритетного процесса или с равным приоритетом.
Findplace – проверяет возможность перевести процессы из состояния ожидания в готовность или выполнение.
Sortproc – сортировка по HPF=FCFS.
Endproc – удаление выполняемого процесса (дескриптора).
!Timeproc – таймер
Алгоритм модулей
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:FF0200 name:proces1 priority:0 mem:512 device1: () device2: () device3: ()inout:0
NewProc:\\ ID:FF01FF name:proces2 priority:0 mem:511 device1:PRINT() device2: () device3: ()inout:10
NewProc:\\ ID:FE03E8 name:proces3 priority:1 mem:1000 device1:PRINT() device2: () device3: ()inout:10
NewProc:\\ ID:FE03E8 name:proces4 priority:1 mem:1000 device1: () device2:PLTTR() device3: ()inout:10
DelProc:\\ ID:FE03E8 name:proces3 priority:1 mem:1000 device1:PRINT() device2: () device3: ()inout:10
NewProc:\\ ID:FD03E8 name: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)Все процессы получают доступ к ресурсам. И ресурсы освобождаются.
Государственный комитет Российской Федерации по высшему образованию Московский государственный институт электроники и математики Кафедра систем автоматизации проектирования Отчёт по лабораторным работам
Регистрация хозяйственных операций
Редакторы текстов
Решение обыкновенных дифференциальных уравнений
Решение систем линейных алгебраических уравнений (прямые методы)
Решение финансовых задач при помощи Microsoft Excel
Робота з пакетом Grapher 2.0 for Windows
Робота з пакетом MathCAD 2000 Pro
Робота з шаблонами
Руководство по установке МВС-900
Свойства host-процессов
Copyright (c) 2024 Stud-Baza.ru Рефераты, контрольные, курсовые, дипломные работы.