Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Принцип имитации развития процессов



Программы, которые необходимо разработать при выполнении лабораторных работ, формируют и переформируют списковые структуры данных, объединяющие в соответствии с описанной дисциплиной диспетчеризации вводимые дескрипторы процессов. Каждый процесс в "системе" представлен только дескриптором. Вследствие этого развитие процесса реально производиться не может. В "системе", реализуемой в ходе выполнения первой лабораторной работы, смена состояний процесса (процессов), приводящая к переупорядочиванию списковых структур дескрипторов, производится только при поступ­лении команд пользователя, работающего с "системой". Таких команд (могущих привести к изменению состояний процессов или их положения в списках) всего три:

- "Сформировать дескриптор процесса",

- "Изменить приоритет процесса",

- "Завершить выполнение активного процесса".

4.1.5. Организация взаимодействия с "системой"

Ниже излагаются общие для всех четырех лабораторных работ требования по организации интерфейса "пользователь-программа".

4.1.5.1. Описание состава и назначения команд пользователя "Система" должна выполнять следующие команды пользователя:

[1]. "Сформировать дескриптор процесса".

По этой команде "система" должна обеспечить запрос и ввод значений параметров дескриптора процесса, осуществляя проверку корректности вводимых величин (см. пункт 4.1.1.). В случае невер­ного ввода необходимо сформировать диагностическое сообщение и предоставить пользователю возможность повторить ввод. После завершения ввода значений, помещаемых в дескриптор процесса, эти данные, представляемые в программе, например, в виде записи, должны разместиться в соответствующем списке. "Система" должна для каждого поступившего процесса определить состояние на данный момент времени и разместить его в списке готовых или ожидающих процессов в соответствии с реализуемой дисциплиной диспетчеризации. Отметим, что процесс, соответствующий первому введенному дескриптору, будет находиться в состоянии выполнение.

[2]. "Завершить выполнение активного процесса".

Поскольку рассматриваемый принцип имитации не предусматрива­ет какого-либо реального выполнения процессов в "системе", про­цесс из состояния выполнения выводится только по этой команде пользователя. В результате поступления такой команды выполняемый процесс переводится из активного состояния... и его дескриптор безвозвратно "уничтожается". Данная команда вызывает необходимость просмотра списков ожидания и готовности для определения процессов, которые в соответствии с реализуемой дисциплиной диспетчеризации должны быть переведены в состояние готовность, а также для определения процесса, которому будет выделен ЦП (т.е. процесса, который должен быть переведен в состояние выполнение). Подчеркнем, что при переформировании списков необходимо придержи­ваться принципа HPF=FCFS.

[3]. "Изменить приоритет процесса".

При поступлении данной команды "система" должна располагать информацией о том, у какого процесса должен быть изменен приоритет. При составлении программы необходимо в той или иной форме предусмотреть запрос имени процесса, в том случае, если это имя не указывается сразу при вводе команды. Запрос нового значения приоритета должен сопровождаться выводом старого (действующего до поступления команды) значения этой характеристики процесса. Рассматриваемая команда в отношении процесса, находящегося в состоянии выполнение, должна осуществлять только уменьшение приоритета, (но данный процесс при этом не должен изменять свое состояние), при запросе увеличения приоритета должно формироваться сообщение об ошибочных действиях пользователя. Выполнение описываемой команды может вызывать необходимость переформирование списков готовых и ожидающих процессов в соответствии с правилом HPF, однако состав как одного, так и другого списка не изменится.

В ходе выполнения лабораторной работы кроме описанных выше трех "управляющих" команд "системы" должны быть реализованы следующие информационные команды:

[4]. "Вывести имя выполняемого процесса",

[5]. "Вывести список имен готовых процессов",

[6]. "Вывести список имен ожидающих процессов",

[7]. "Вывести список имен всех процессов",

[8]. "Вывести дескриптор процесса".

Команды, вызывающие отображение списковых структур (NN-7), могут быть реализованы в виде одной команды, с параметрами, уточняющими запрашиваемое действие. Впрочем, допустимо любое другое эквивалентное решение. Команда № 8 – "Вывести дескриптор процесса" должна осуществлять запрос имени процесса, параметры которого подлежат отображению, в случае некорректного ввода имени следует сформировать соответствующее сообщение и предоставить возможность повторить ввод имени интересующего процесса, при отсутствии ввода (при нажатии только клавиши Enter) - вывести информацию об активном процессе.

Последнюю группу команд, подлежащих реализации в ходе выполнения первой лабораторной работы, составляют "служебные" команды:

[9]. "Формировать протокол работы",

[10]. "Завершить работу с программой".

Формирование протокола работы осуществляется путем помещения в текстовый файл (дублирования) всех поступающих в "систему" команд пользователя и всей информации, выводимой в ответ на эти команды "системой" на экран видеотерминала. При выполнении коман­ды № 9 необходимо произвести запрос имени файла протокола и от­крыть соответствующий файл, поместив в него идентификатор автора программы, дату работы и номер лабораторной работы. Повторный ввод этой команды в ходе одного сеанса работы с программой должен приводить к выдаче соответствующего диагностического сообщения. Последняя команда (№ 10) предназначена для корректного завершения работы Вашей программы; после ее поступления в "систему" в прото­кол работы необходимо занести информацию о количестве выполненных процессов и их имена, произвести закрытие файла протокола и закончить выполнение программы.


4.1.5.2. Основные требования к форме ввода команд "системы"

 

Рис.3. Вариант взаимодействия пользователь-«система».

 

ИМИТАТОР ДИСПЕЧЕРА ПРОЦЕССОВ

 

Меню команд

1. «Сформировать дескриптор процесса»

2. «Завершить выполнение активного процесса»

3. «Изменить приоритет»

4. «Ввести имя выполняемого процесса»

5. «Ввести список имен готовых процессов»

6. «Ввести список имен ожидающих процессов»

7. «Ввести список имен всехпроцессов»

8. «Ввести дескриптор процесса»

9. «Формировать протокол работы»

10. «Завершить работу с программой»

 
 

 


Укажите команду в меню или введите номер команды:__

 

ИМИТАТОР ДИСПЕЧЕРА ПРОЦЕССОВ

 

Меню команд

11.

Формирование дескриптора Имя процесса:……… Приоритет:… Объем ОП:…. Устройство 1:….. (Устройство 2:…) (Устройство 3:…) (Файл:……..) Конец ввода-вывода Enter    
«Сформировать дескриптор процесса»

12. «Завершить выполнение активного процесса»

13. «Изменить приоритет»

14. «Ввести имя выполняемого процесса»

15. «Ввести список имен готовых процессов»

16. «Ввести список имен ожидающих процессов»

17. «Ввести список имен всехпроцессов»

18. «Ввести дескриптор процесса»

19. «Формировать протокол работы»

20. «Завершить работу с программой»

 
 

 


Укажите команду в меню или введите номер команды:__

 


ИМИТАТОР ДИСПЕЧЕРА ПРОЦЕССОВ

 

Меню команд

21.

Готовые 1.RANDOM 2.HELLO 3.SDFGHJ 4.GERASIM 5.KNOW
«Сформировать дескриптор процесса»

22. «Завершить выполнение активного процесса»

23. «Изменить приоритет»

24. «Ввести имя выполняемого процесса»

25. «Ввести список имен готовых процессов»

26. «Ввести список имен ожидающих процессов»

27. «Ввести список имен всехпроцессов»

28. «Ввести дескриптор процесса»

29. «Формировать протокол работы»

30. «Завершить работу с программой»

 
 

 


Укажите команду в меню или введите номер команды:__

 

 

ИМИТАТОР ДИСПЕЧЕРА ПРОЦЕССОВ

 

Меню команд

31.

Ожидающие 1.QWERTY 2.ALPHA 3.BETA 4.MIMINO 5.ABER 6.KOSTIK 7.SEARCH
Готовые 1.RANDOM 2.HELLO 3.SDFGHJ 4.GERASIM 5.KNOW
«Сформировать дескриптор процесса»

32. «Завершить выполнение активного процесса»

33. «Изменить приоритет»

34. «Ввести имя выполняемого процесса»

35. «Ввести список имен готовых процессов»

36. «Ввести список имен ожидающих процессов»

37. «Ввести список имен всехпроцессов»

38. «Ввести дескриптор процесса»

39. «Формировать протокол работы»

40. «Завершить работу с программой»

 
 

 


Укажите команду в меню или введите номер команды:__


ИМИТАТОР ДИСПЕЧЕРА ПРОЦЕССОВ

 

Меню команд

41.

Протокол работы программы Спец.файла: ……… № л.р.: __ Ф.И.О.:……………… Дата:…………..    
«Сформировать дескриптор процесса»

42. «Завершить выполнение активного процесса»

43. «Изменить приоритет»

44. «Ввести имя выполняемого процесса»

45. «Ввести список имен готовых процессов»

46. «Ввести список имен ожидающих процессов»

47. «Ввести список имен всехпроцессов»

48. «Ввести дескриптор процесса»

49. «Формировать протокол работы»

50. «Завершить работу с программой»

 
 

 


Укажите команду в меню или введите номер команды:__

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.