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

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

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 09.07.2010
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

2

Государственный комитет Российской Федерации по высшему образованию

Московский государственный институт электроники и математики

Кафедра систем автоматизации проектирования

Отчёт по лабораторным работам

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

по дисциплине

“Системы программирования и алгоритмизации вычислений”

Исполнитель: студент Гамов А.В.

Руководитель: Витушкин П.И.

Москва 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: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)

Отчёт по лабораторной работе 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: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 - таймер

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

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: ()

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)Сложность реализации поиска изменения состояния менее приоритетных процессов занявших ресурсы.

Отчёт по лабораторной работе 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: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)Все процессы получают доступ к ресурсам. И ресурсы освобождаются.


Подобные документы

  • Изучение основных аспектов моделирования операционной системы. Исследование принципов организации псевдопараллельной работы процессов. Анализ алгоритмов диспетчеризации процессов. Проектирование подсистемы управления памятью и запоминающими устройствами.

    курсовая работа [1,7 M], добавлен 12.01.2014

  • Анализ образовательного стандарта по специальности 090303 "Информационная безопасность автоматизированных систем". Качество диспетчеризации и гарантии обслуживания. Экспериментальное исследование возможности внедрения разработанной лабораторной работы.

    курсовая работа [722,0 K], добавлен 18.12.2013

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

    курсовая работа [1,0 M], добавлен 13.09.2012

  • Написание программы для работы с клиентами средствами языка Delphi, которая предусматривает ввод, редактирование и удаление информации. Разработка алгоритма решения задачи, описание переменных, вспомогательных процедур, входных и выходных данных.

    курсовая работа [355,7 K], добавлен 21.09.2010

  • Характеристика современных зарубежных и отечественных SCADA-систем. Описания программного комплекса для визуализации и диспетчеризации технологических процессов. Обработка, отображение и архивирование информации об объекте мониторинга или управления.

    реферат [600,8 K], добавлен 26.10.2014

  • Виды операционных систем. Графический пользовательский интерфейс операционной системы Linux и Mac OS. Функции устройства управления окнами (windows manager). Программа управления файлами, драйвера, модуль управления памятью - основные компоненты ядра.

    презентация [1,8 M], добавлен 14.10.2013

  • Написание программы, моделирующей работу вычислительного центра и возможные пути ее улучшения. Разработка моделирующего алгоритма и машинная реализация. Возможные улучшения в работе системы. Математическое описание системы, листинг и отчет программы.

    курсовая работа [99,0 K], добавлен 03.07.2011

  • Разработка и реализация проекта информационной системы, предназначенной для хранения сведения о клиентах и недвижимости. Моделирование и реализация информационной системы. Разработка пользовательского интерфейса. Затраты на написание программы и отладку.

    курсовая работа [1,0 M], добавлен 30.06.2022

  • Функции операционной системы как совокупности программных средств, осуществляющих управление ресурсами электронно-вычислительных машин. Предназначение Windows, Linux и Mac. Особенности реализации алгоритмов управления основными ресурсами компьютера.

    реферат [22,5 K], добавлен 16.03.2017

  • Управление процессами операционных систем. Разработка программы, моделирующей обслуживание множества вычислительных процессов в системе с 4 очередями, определяемыми значениями приоритетов. Выполнение инструкций компьютерной программы на процессоре.

    контрольная работа [302,7 K], добавлен 06.08.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.