Обслуживание процессором ЭВМ очереди готовых заданий
Разработка программной системы для имитации процесса обслуживания заданий в вычислительной системе. Выборка задания из очереди при освобождении процессора после обслуживания очередного задания. Глобальные переменные в UFMain, описание работы программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 09.03.2012 |
Размер файла | 648,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Одесская Государственная Академия Холода
Институт информационных технологий
Кафедра информационных систем
Курсовая работа
По дисциплине: “Системное программное обеспечение”
Тема курсовой работы: “Обслуживание процессором ЭВМ очереди готовых заданий”
ВЫПОЛНИЛИ:
Студенты 3-го курса
ФБО группы 335б
Бибиков Сергей
Шандак Наталья
ПРИНЯЛИ:
Симоненко Елена Александровна
Трубина Наталья Федоровна
г. Одесса, 1998
Цель работы
Ознакомление с проблемами моделирования и анализа эффективности функционирования реальных вычислительных систем.
Постановка задачи
Для вычислительной системы (ВС) с одним процессором и мультипрограммным режимом выполнения поступающих заданий требуется разработать программную систему для имитации процесса обслуживания заданий в ВС.
При построении модели функционирования вычислительной системы должны учитываться следующие основные моменты обслуживания заданий:
- генерация нового задания;
- постановка задания в очередь для ожидания момента освобождения процессора;
- выборка задания из очереди при освобождении процессора после обслуживания очередного задания.
Генерация задания
Считается, что в распоряжении вычислительной системы имеется N байт оперативной памяти для размещения рабочей области процесса и M (1<=m<=3) ресурсов R1,R2,…,Rm, обращение к которым переводит процесс в состояние ожидания.
Каждый процесс характеризуется:
- именем;
- длиной рабочей области;
- интервалом непрерывного выполнения;
- причиной прекращения непрерывной работы (обращение к ресурсу или завершение работы);
- приоритетом.
Перед постановкой задания в очередь имитируется размещения рабочей области процесса в оперативной памяти. В случае невозможности размещения процесс отвергается, в противном случае ему выделяется память и процесс помещается в очередь готовых заданий.
Выборка задания из очереди готовых процессов происходит в момент, когда текущий процесс исчерпал интервал непрерывной работы и освободил CPU.
В случае обращения к ресурсу процесс помещается в очередь к нему, причем время использования ресурса генерируется случайным образом.
В случае завершения процесс удаляется из очереди готовых процессов.
Все очереди к ресурсам обслуживаются алгоритмом FCFS (в порядке поступления).Считается, что в каждый момент времени процесс может обратиться только к одному ресурсу.
В интерактивном режиме система имитации должна выводить информацию об условиях проведения эксперимента (интенсивность потока задания, размер и содержание очередей заданий и очередей к ресурсам, число тактов имитации) и полученные в результате имитации показатели функционирования вычислительной системы, в т.ч.:
- количество поступивших в ВС заданий;
- количество законченных заданий;
- количество отвергнутых заданий;
- количество тактов простоя процессора из-за отсутствия в очереди заданий для обслуживания.
Варианты задания
процессор вычислительный задание обслуживание
В данной работе реализованы все ниже перечисленные варианты организации заданий.
Генерация нового задания (процесса) может происходить:
- в интерактивном режиме по запросу пользователя;
- автоматически системой как случайное событие.
Приоритет генерируется:
- случайным образом;
- устанавливается пользователем.
Размещение в ОП происходит одним из методов:
- первого подходящего;
- наиболее подходящего;
- наименее подходящего;
- дефрагментация.
Метод первого подходящего означает что система ищет первый подходящий (нужной длины) блок свободной памяти и размещает процесс в нем. При методе наиболее подходящего, система ищет подходящий блок наименьшей длины, а при методе наименее подходящего - наибольшей длины, и размещает процесс в нем. Отдельное внимание заслуживает метод дефрагментации памяти. При установке этого метода система дефрагментирует, т.е. уплотняет все процессы располагаемые в памяти (перемещает их всех в начало), после каждой операции освобождения памяти от процесса. После дефрагментации, единственный блок свободной памяти расположен после всех процессов в памяти, т.е. в конце памяти. Данный метод упрощает размещение процесса в ОП, но занимает много процессорного времени. Однако дефрагментацию приходится производить редко. Кроме того, в первых трех методах поиск подходящего свободного блока памяти занимает не на много меньше времени.
Варианты организации очереди:
- упорядоченный список;
- неупорядоченный список;
- частично упорядоченный список и переупорядочивается через Т единиц времени;
- круговорот;
- эгоистический круговорот.
Очереди - обязательная часть всех ресурсов и процессора. Если организация очереди - упорядоченный список, то при поступлении нового процесса производим сортировку по приоритету. Если организация очереди - частично упорядоченный список, то производим сортировку по приоритету каждые T единиц времени. В неупорядоченном списке такая сортировка не происходит.
При круговороте - каждому процессу выделяется квант времени, и если за этот квант процесс не завершил свое выполнения, то он помещается в хвост очереди. Новые процессы также помещаются в конец очереди. В эгоистическом круговороте - при прохождении очередного круга повышается приоритет процесса. Оба варианта круговорота включают в себя вытеснение.
Варианты вытеснения:
- с вытеснением;
- без вытеснения.
Вытеснение - влияет на организацию очереди. Вариант с вытеснением означает что процесс будет смещен с первого места даже не смотря на то, что он исполняемый, и что он не израсходовал интервал непрерывной работы.
Диаграмма очередей
На рисунке представлен общий вид диаграммы очередей.
В зависимости от варианта задания диаграмма может выглядеть несколько иначе.
Алгоритм и реализация задания
Прежде всего о некоторых ограничениях. Количество процессов и ресурсов ограничено только количеством памяти на компьютере. Количество строк в окне Report примерно 1200. При превышении этого числа информация окна сохраняется в файле и окно очищается, если был выбран пункт Save в меню главной формы, или окно очищается без сохранения.
Любые параметры процессов и ресурсов а также общие настройки можно изменять в любое время работы программы.
Практически все действия при работе с программой автоматически заносятся в рапорт.
При различных настройках системы некоторые поля и методы в объектах могут не использоваться.
В данном описании понятия пользователь и процесс тождественны.
В программе используется большое количество однотипных объектов. Работа с ними производится через указатели на эти объекты, что значительно упрощает редактирование и контроль за копиями при удалении. Достаточно произвести изменение объекта в одном месте, чтобы эти изменения были доступны из множества других мест программы.
Краткое описание работы:
После запуска программы в информационном окне описано стартовое состояние системы имитации. Изначально система располагает только процессором и памятью. После этого активной становится главная форма (Main Form). В ней отображается вся информация о условиях проведения эксперимента. Также из главной формы доступны: окно планировщика памяти (Memory Scheduler), окно планировщика процессора и ресурсов (Resources Scheduler), методы для создания новых процессов и ресурсов, элементы управления для генерации новых процессов, кнопка New Tact, при нажатии на которую происходит имитация работы вычислительной системы.
Создание нового процесса возможно из всех основных форм программы. Создание процесса происходит по нажатию кнопок New Process Manual или New Process Random. При создании процесса вручную выводится окно в котором возможно заполнение основных полей нового процесса. Это же окно выводится при нажатии кнопки Edit Process в окнах планировщика памяти или ресурсов. Как отмечалось выше некоторые поля в процессе могут не использоваться. Это зависит от организации очередей к ресурсам.
При создании нового ресурса (по нажатию кнопки New Resource) выводится окно в котором устанавливается имя ресурса (Number & Name) тип организации очереди (Queue Organization) к ресурсу и вариант вытеснения (Pulling). Любой из параметров в доступных ресурсах можно изменить в любое время по нажатии кнопки Edit Resource в окне планировщика ресурсов.
В ходе выполнения эксперимента возможно удаление из системы любого процесса или ресурса (кроме процессора) по нажатию кнопок Delete Process или Delete Resource соответственно. Отметим что ресурс удаляется вместе с пользователями которые стоят в очереди к нему.
Во время выполнения имитации (по нажатию кнопки New Tact) последовательно вызывается метод Execute в объектах планировщик ресурсов (ResourceScheduler) и планировщик процессора (CPUScheduler). Производится:
- упорядочение очередей всех ресурсов (ResourceQueue) в списке ресурсов (ResourceScheduler.ResourcesList) и очереди процессора (CPUScheduler.CPUQueue) в зависимости от типа организации очереди и варианта вытеснения.
- Проверка о простое ресурсов.
- Добавление у удаление процессов в очередь процессора.
- Проверка о простое процессора.
- Выполнение процесса стоящего во главе очереди процессора
- Удаление завершенных процессов из очереди процессора, из очередей всех ресурсов, из списка пользователей памяти (MemoryScheduler.MemoryUsers).
- Вывод соответствующих сообщений в окно информации (рапорт работы).
Необходимо отметить следующие моменты:
- В работе использован не стандартный подход к организации структуры ресурс-очередь. Очередь (ResourceQueue) включает в себя ресурс (ResourceQueue.Resource) и список пользователей этого ресурса (ResourceQueue.UsersList).
- Все очереди с ресурсами находятся в списке ресурсов (ResourceScheduler.ResourcesList).
- Первый процесс в очереди ресурса является текущим пользователем этого ресурса (Resource.ResourceUser). Его состояние - готовый (Ready). состояние остальных процессов в очереди - состояние ожидания (Wait Condition).
- Первый процесс в очереди процессора является текущим пользователем процессора. Его состояние - исполняемый (Executable). состояние остальных процессов в очереди процессора - готовый (Ready).
- В очереди процессора находятся процессы которым нужен только процессор (Process.NeedResource=0) и только по одному (первому в списке пользователей ресурса) процессу из каждого ресурса.
Рассмотрим реализацию основных компонентов.
Прежде всего необходим мощный механизм для создания списков. Такой механизм реализован в классе - универсальный список указателей (TPList).
Cписок состоит из узлов (PElement) в каждом из которых хранится запоминаемый указатель, указатели на предыдущий и последующий узлы.
Класс включает в себя такие методы как:
- Добавить указатель в список (InsertOnTop).
- Удалить текущий указатель (DeleteOnTop).
- Перемещение по списку (CircleMove, MoveToFirst, MoveToLast).
- Взять указатель из списка (GetOnTop, GetFirst, GetLast, GetPrevious, GetFollowing).
- Проверка пустоты списка (Empty).
- Взять количества элементов списка (Quantity).
При вставке и удалении реорганизуется связи между соседними узлами.
С помощью данного класса возможно организация списка любой структуры: односторонний, двухсторонний ,кольцевой.
Тактовый генератор (TTactGenerator) предназначен для генерации нового такта по которому происходит исполнение основных алгоритмов.
Процесс (TProcess).
Поля класса описаны в спецификации.
При создании нового процесса создается указатель на него, которым мы и оперируем. При автоматическом создании процесса все поля заполняются случайным образом, иначе устанавливаются типовые значения. Каждый процесс имеет метод - показать информацию (ShowInfo), в который показывается текущее состояние процесса.
Ресурс (TResource) имеет следующие поля:
- Имя ресурса и его номер (Name, Number).
- Пользователь ресурса (ResourceUser).
- Время использования ресурса (TotalIntervalUsed).
- Состояние ресурса (Busy).
Очередь (TResourceQueue).
Обращение к очереди происходит по указателю на неё. Очередь характеризуется флагом вытеснения (WithPulling) и вариантом организации (QueueOrganization). Очередь включает в себя ресурс (Resource) и список пользователей (UsersList). Мы можем вставить процесс в очередь (InsertUser), удалить процесс из очереди (RemoveUser) и проверить существование процесса в очереди (ExistUser).
При уничтожении очереди в цикле просматривается список пользователей и уничтожаются все пользователи из списка.
При вставке процесса в очередь происходит переход в конец списка пользователей, и новый процесс ставится последним. После этого производим упорядочение очереди. При удалении пользователя из очереди мы даем методу указатель на процесс который надо найти и удалить: организовываем цикл в котором проверяем всех пользователей ресурса. Если в списке находится искомый процесс, то он удаляется. после этого упорядочиваем очередь. Упорядочивание очереди состоит из:
- Если очередь пуста, то состояние ресурса - свободен.
- Иначе
- Состояние ресурса - занят.
- Если очередь упорядочена или очередь упорядочена по времени и осталось до упорядочения=0, то
- Если с вытеснением или интервал непрерывной работы у первого равен нулю (Process.IntervalOfUnceasingExecution), то сортировка списка по приоритету с первого элемента.
- Иначе сортировка со второго элемента.
- Первый процесс в списке пользователей становится текущим для данного ресурса.
Класс - планировщик памяти (TMemoryScheduler).
При создании планировщика памяти параметром является число - количество доступной памяти. Значение доступной памяти можно изменить в окне планировщика памяти при отсутствии пользователей памяти, в поле ввода Memory Available.
При вставке нового процесса в память учитывается метод распределения ОП.
- Увеличиваем число поступивших процессов (NumberOfReceivededProcesses).
- Если количество свободной памяти (MemoryFree) >= длине рабочей области процесса (Process.WorkLength), то
- Если метод первого подходящего, то просматриваем свободные блоки памяти, и размещаем процесс в первом блоке подходящей длины.
- Если метод наиболее подходящего, то просматриваем свободные блоки памяти, и размещаем процесс в наименьшем блоке подходящей длины.
- Если метод наименее подходящего, то просматриваем свободные блоки памяти, и размещаем процесс в наибольшем блоке подходящей длины.
- Если метод дефрагментация, то дефрагментируем помять (уплотняем все процессы, пересчитываем адреса начала процессов в ОП). Перемещаемся в конец списка пользователей. Новый процесс становится последним.
- Если процесс разместился в памяти, то выводим сообщение. Устанавливаем адрес начала процесса (Process.StartAddress) в зависимости от места в памяти. Пересчитываем значения свободной и занятой памяти (MemoryUsed).
- Иначе увеличиваем число отвергнутых процессов (NumberOfRejectedProcesses). Выводим соответствующее сообщение.
В методе освобождения памяти от пользователя мы просматриваем весь список пользователей памяти, находим и удаляем нужный, изменяем значения свободной и занятой памяти.
Класс планировщик ресурсов (TResourceScheduler).
Включает в себя список ресурсов (ResourcesList).
Метод вставить ресурс (InsertResource) заключается в вставке нового ресурса в список ресурсов.
Метод удалить ресурс (RemoveResource) заключается в поиске в списке ресурсов ресурса с нужным номером, и при обнаружении удаление его из списка, уничтожение пользователей списке пользователей.
Метод удалить пользователя (RemoveUser) заключается в поиске в списке ресурсов ресурса с нужным номером, и при обнаружении - удаление пользователя из списка пользователей к этому ресурсу.
Метод вставить пользователя (InsertUser) заключается в поиске в списке ресурсов ресурса с нужным номером, и при обнаружении - вставить пользователя в список пользователей к этому ресурсу.
Спецификация
Unit UPList;
PElement = ^TElement; {Элемент списка с запоминаемым указателем}
TElement = record
Prestored : pointer; {Запоминаемый указатель}
Previous : PElement; {Указатель на предыдущий элемент списка}
Following : PElement; {Указатель на последующий элемент списка}
TPList = class(TObject) {Универсальный список элементов}
Element : PElement; {Элемент списка}
First : PElement; {Указатель на первый элемент}
OnTop : PElement; {Указатель на текущий элемент}
Last : PElement; {Указатель на последний элемент}
QuantityPtrs : integer; {Количество элементов}
Create; {Инициализация нового списка}
InsertOnTop(ToPrevious : boolean; Ptr : pointer); {Вставляем новый элемент}
DeleteOnTop(ToPrevious : boolean) : pointer; {Удаляем текущий элемент}
MoveToFirst; {Устанавливаем текущий на первый}
MoveToLast; {Устанавливаем текущий на последний}
CircleMove(ToPrevious : boolean); {Круговой сдвиг текущего к предыдущим или последующим}
GetFirst : pointer; {Взять первый указатель}
GetPrevious : pointer; {Взять предыдущий указатель}
GetOnTop : pointer; {Взять текущий указатель}
GetFollowing : pointer; {Взять последующий указатель}
GetLast : pointer; {Взять последний указатель}
Empty : boolean; {Проверка на пусто}
Quantity : integer; {Количество элементов}
FirstReach : boolean; {Проверка на достижение первого элемента}
LastReach : boolean; {Проверка на достижение последнего элемента}
Unit UTactGenerator;
TTactGenerator = class(TObject) {Таймер}
TactCounter : integer; {Счетчик таймера}
Create; {Создать таймер}
NewTact; {Увеличить таймер}
GetTactCounter : integer; {Взять значение таймера}
Unit UProcess;
PProcess = ^TProcess; {Указатель на процесс}
TProcess = class(TObject) {Процесс}
Name : string[32]; {Имя процесса}
NeedResource : integer; {Номер необходимого ресурса 0..more (0-CPU)}
WorkLength : 1..64; {Длина рабочей области}
StartAddress : integer; {Адрес начала рабочей области в ОП}
Priority : integer; {Приоритет 0-min}
IntervalOfUnceasingExecution : integer; {Интервал непрерывного выполнения}
FullIntervalOfExecution : integer; {Полный интервал выполнения}
IntervalBeforeTermination : integer; {Интервал оставшийся до завершения}
TerminateReason : integer; {Причина прекращения 1..more-обращение к ресурсам, 0-завершение процесса}
State : 0..2; {Состояние 0-выполняемый, 1-готовый, 2-в состоянии ижидания}
QuantumForRotation : integer; {Квант для круговорота}
QuantumBeforeRotation : integer; {Квант оставшийся до круговорота}
Create(Auto : boolean); {Инициализация процесса}
Destroy; override; {Уничтожение процесса}
GetName : string; {Получить имя}
GetNeedResource : integer; {Получить номер необходимого ресурса}
GetPriority : integer; {Получить приоритет}
GetIntervalBeforeTermination : integer; {Получить интервал оставшийся до завершения}
GetState : integer; {Получить состояние}
ShowInfo; {Вывести текущую информацию}
Unit UResource;
TResource = class(TObject) {Ресурс}
Name : string[32]; {Имя ресурса}
Number : integer; {Номер ресурса}
ResourceUser : PProcess; {Пользователь ресурса}
TotalIntervalUsed : integer; {Время использования ресурса}
Busy : boolean; {Занят}
Create; {Инициализация ресурса}
Destroy; override; {Уничтожение ресурса}
GetName : string; {Получить имя}
GetUser : PProcess; {Получить указатель на пользователя}
GetState : boolean; {Получить состояние}
ShowInfo; {Вывести текущую информацию}
Unit UResourceQueue;
PResourceQueue = ^TResourceQueue; {Указатель на очередь ресурса}
TResourceQueue = class(TObject) {Очередь ресурса}
Resource : TResource; {Ресурс}
WithPulling : boolean; {С вытеснением}
QueueOrganization : 0..4; {Организация очереди 0-упорядочена, 1-неупорядочена, 2-упорядочена через время, 3-круговорот, 4-эгоистический круговорот}
IntervalForRegularize : integer; {Интервал для упорядочения}
RemainForRegularize : integer; {Осталось до упорядочения}
UsersList : TPList; {Пользователи ресурса}
Create; {Инициализация новой очереди ресурса}
Destroy; override; {Уничтожение очереди ресурса}
InsertUser(NewPProcess : PProcess); {Добавить пользователя}
ExistUser(TempPProcess : PProcess) : boolean; {Проверка на существование пользователя}
RemoveUser(TempPProcess : PProcess); {Удалить пользователя}
Empty : boolean; {Проверка на пусто}
Regularize; {Упорядочить}
ShowInfo; {Вывести текущую информацию}
Unit UMemoryScheduler;
TMemoryScheduler = class(TObject) {Планировщик памяти}
MemoryAll : integer; {Общее количество памяти}
MemoryUsed : integer; {Количество используемой памяти}
MemoryFree : integer; {Количество свободной памяти}
MemorySharing : 0..3; {Методы распределения ОП 0-первого подходящего, 1-наиболее подходящего, 2-наименее подходящего, 3-дефрагментация}
FirstFreeAddress : integer; {Первый свободный адресс}
MemoryUsers : TPList; {Пользователи памяти}
Create(Memory : integer); {Инициализируем планировщик памяти}
MemoryDefragmentation; {Дефрагментировать память}
GetMemory(NewPProcess : PProcess) : boolean; {Выделить память}
FreeMemory(CurrentPProcess : PProcess); {Освободить память}
FindFirstFreeAddress; {Найти первый свободный адресс}
Unit UResourceScheduler;
TResourceScheduler = class(TObject) {Планировщик ресурсов}
NumberOfResources : integer; {Число ресурсов}
ResourcesList : TPList; {Список ресурсов}
Create; {Инициализируем планировщик ресурсов}
Execution; {Выполнение}
InsertResource(NewPResourceQueque : PResourceQueue); {Добавить ресурс}
RemoveResource(ResourceNumber : integer); {Удалить ресурс}
InsertUser(NewPProcess : PProcess); {Добавить пользователя}
RemoveUser(TempPProcess : PProcess); {Удалить пользователя}
FindResourceByNumber(ResourceNumber : integer) : PResourceQueue; {Поиск ресурса по номеру}
Empty : boolean; {Проверка на пусто}
Unit UCPUScheduler;
TCPUScheduler = class(TObject) {Планировщик CPU}
CPUQueue : PResourceQueue; {Очередь CPU}
Create; {Инициализируем планировщик CPU}
Execution; {Выполнение}
InsertUser(NewPProcess : PProcess); {Добавить пользователя}
RemoveUser(TempPProcess : PProcess); {Удалить пользователя}
ExistUser(TempPProcess : PProcess) : boolean; {Проверка на существование пользователя}
Empty : boolean; {Проверка на пусто}
Глобальные переменные в UFMain
ToPrevious = true;
ToFollowing = false;
Auto = true;
Manual = false;
MemoryAvailable : integer; {Памяти доступно}
NumberOfTerminatedProcesses : integer; (Число законченных процессов)
NumberOfReceivededProcesses : integer; (Число полученных процессов)
NumberOfRejectedProcesses : integer; {Число отвергнутых процессов }
AddToReport : boolean; {Флаг для добавления в рапорт}
MaxPriority : integer; {Максимальный приоритет}
FileName : string; {Имя файла}
StringVar : string; {Временная строковая переменная}
MemoryScheduler : TMemoryScheduler; {Планировщик памяти}
ResourceScheduler : TResourceScheduler; {Планировщик ресурсов}
CPUScheduler : TCPUScheduler; {Планировщик процессора}
TactGenerator : TTactGenerator; {Тактовый генератор}
Анализ интерфейса
Главная форма
Кнопки:
New Process Manual -Открыть окно редактирования данных для нового процесса.
New Process Random - Создать новый процесс случайным образом.
New Resource - Открыть окно редактирования данных для нового ресурса.
Memory Scheduler - Открыть окно планировщика памяти.
CPU & Resource Scheduler - Открыть окно планировщика ресурсов.
New Tact - Выработать новый такт. Запуск системы имитации.
EXIT - Выход из программы.
Флажки:
Auto Generation For Priority - Включить режим авто генерации для приоритета.
Auto Generation For Process - Включить режим авто генерации для процесса.
Информационные поля:
Tact Counter - Счетчик тактов.
Number Of Resources - Число ресурсов в системе (кроме процессора).
Number Of Processes - Число процессов в системе.
Number Of Terminated Processes - Число законченных процессов.
Number Of Receiveded Processes - Число поступивших процессов.
Number Of Rejected Processes - Число отвергнутых процессов.
CPU Down Time - Время простоя процессора.
Report - Окно для вывода информации о всех действиях происходящих в системе.
Меню в Главной форме
Exit - Выход из программы
Report - Работа с рапортом
Save - Сохранить рапорт
Save As … - Сохранить рапорт как …
About - О создателях
Редактирование данных процесса
Кнопка:
OK - Завершение редактирования данных процесса.
Поля ввода:
Name - Имя процесса.
Need Resource - Необходимый ресурс (в очередь к которому процесс станет).
Work Length - Длина рабочей области.
Priority - Приоритет.
Interval Of Unceasing Execution - Интервал непрерывного выполнения.
Full Interval Of Execution - Полный интервал выполнения.
Interval Before Termination - Интервал оставшийся до завершения.
Terminate Reason - Причина прекращения.
Quantum For Rotation - Квант для круговорота.
Quantum Before Rotation - Квант оставшийся до круговорота.
Информационные поля:
Start Address - Стартовый адрес в ОП.
State - Состояние.
Редактирование данных ресурса
Кнопка:
OK - Завершение редактирования данных ресурса.
Флажок:
With Pulling - Включить режим вытеснения. При круговороте вытеснение включено всегда.
Переключатель:
Queue Organization - Организация очереди.
Ranked List - Упорядоченный список.
UnRanked List - Неупорядоченный список.
Partly Ranked List - Частично упорядоченный список.
Rotation - Круговорот.
Selfish Rotation - Эгоистический круговорот.
Поля ввода:
Number & Name - номер и имя ресурса.
Interval For Regularize - Интервал для упорядочения. Поле активно если установлен частично упорядоченный список.
Информационное поле:
State - Состояние.
Планировщик памяти
Кнопки:
To Previous - К предыдущему пользователю.
To Following - К последующему пользователю.
Info - Полная информация о текущем пользователе.
Delete Process - Удалить текущий процесс.
Edit Process - Открыть окно редактирования данных для текущего процесса.
New Process Manual - Открыть окно редактирования данных для нового процесса.
New Process Random - Создать новый процесс случайным образом.
Memory Defrag - Дефрагментировать память.
OK - Завершение редактирования данных ресурса.
Переключатель:
Memory Sharing - Распределение памяти.
First-Fit - Первого подходящего.
Best-Fit - Наиболее подходящего.
Worst-Fit - Наименее подходящего.
Defragmentation - Дефрагментация.
Поле ввода:
Memory Available - Памяти доступно. Поле активно если список пользователей памяти пуст.
Информационные поля:
Name - Имя процесса.
Need Resource - Необходимый ресурс (в очереди к которому процесс стоит).
State - Состояние.
Work Length - Длина рабочей области.
Start Address - Стартовый адрес в ОП.
Before Termination - Интервал оставшийся до завершения.
Number Memory User - Число пользователей памяти.
Memory All - Памяти всего.
Memory Used - Памяти использовано.
Memory Free - Памяти свободно.
Free Memory Blocks - Свободные блоки памяти.
Планировщик ресурсов
Кнопки:
To Previous - К предыдущему ресурсу.
To Following - К последующему ресурсу.
Info - Полная информация о текущем ресурсе.
Delete Resource - Удалить текущий ресурс.
Edit Resource - Открыть окно редактирования данных для текущего ресурса.
New Resource - Открыть окно редактирования данных для нового ресурса.
To Previous - К предыдущему пользователю текущего ресурса.
To Following - К последующему пользователю текущего ресурса.
Info - Полная информация о текущем пользователе.
Delete Process - Удалить текущий процесс.
Edit Process - Открыть окно редактирования данных для текущего процесса.
New Process Manual - Открыть окно редактирования данных для нового процесса.
New Process Random - Создать новый процесс случайным образом.
OK - Завершение редактирования данных ресурса.
Информационные поля:
Number & Name - Имя ресурса.
State - Состояние.
Pulling - Тип вытеснения.
Total Interval Used - Полное время использования ресурса.
Number Of Users - Число пользователей ресурса.
Queue Organization - Тип организации очереди.
Name - Имя процесса.
Priority - Приоритет.
State - Состояние.
Unceasing Execution - Интервал непрерывного выполнения.
Before Termination - Интервал оставшийся до завершения.
Need Resource - Необходимый ресурс (в очереди к которому процесс стоит).
О создателях
Размещено на Allbest.ru
Подобные документы
Системы, описывающие массовое обслуживание. Разработка системы массового обслуживания для магазинов. Постановка в очередь, порядок обслуживания, выбывание из очереди, периодичность попадания в нее. Описание программного модуля, листинг программы.
курсовая работа [171,8 K], добавлен 20.01.2010Структурная схема процесса функционирования вычислительного центра. Моделирование процесса обслуживания ста пользователей. Оценка числа пользователей в очереди, коэффициента загрузки ЭВМ, вероятности отказа по причине отсутствия свободных мест в очереди.
курсовая работа [54,9 K], добавлен 25.06.2011Моделирование процессов обработки информации с использованием языка GРSS Wоrld. Создание системы массового обслуживания, обрабатывающей заявки. Укрупненная схема моделирующего алгоритма и ее описание. Описание возможных улучшений в работе системы.
курсовая работа [469,7 K], добавлен 26.06.2011Последовательность активных фаз процессора и фаз ввода-вывода. Гистограмма периодов активности процессора. Стратегия обслуживания в порядке поступления и обслуживания самого короткого задания первым. Реализация стратегии диспетчеризации для приложений.
курсовая работа [507,1 K], добавлен 11.05.2012Общее понятие и специфика применения очереди в программировании. Способы реализации очереди, их сущностная характеристика. Основные проблемы в использовании списков. Представление очереди в виде массива и двух целочисленных переменных start и end.
презентация [895,9 K], добавлен 14.10.2013Понимание принципа работы очереди. Возможности обращения к первому и последнему элементов очереди. Создание очереди с помощью массива. Рассмотрение примеров использования очереди с приоритетом в программе. Формирование односвязного и двусвязного списков.
контрольная работа [345,6 K], добавлен 26.11.2020Рассмотрение теории и технологии работы со средой программирования Delphi. Описание Описание интерфейса программы, структуры данных, генерации точек. Разработка задания по выявлению всех квадратов, которые могут быть образованы точками на плоскости.
реферат [21,0 K], добавлен 13.01.2015Общие понятия и определения о процессорах. Изучение устройства и принципа работы процессора. Подбор инструментов для сборки и разборки системного блока. Описание процесса обслуживания процессора. Требования к технике безопасности при выполнении работ.
курсовая работа [2,0 M], добавлен 15.02.2015Создание программы на языке C++, обеспечивающей ввод исходной информации, ее обработку, реализацию алгоритма имитации процесса и выдачу необходимой информации. Разработка имитационной модели очереди с разнотипными заявками (модели работы порта).
курсовая работа [563,8 K], добавлен 13.09.2012Программа, моделирующая систему массового обслуживания (СМО). Моделирование программы имитации работы турникетов на стадионе (многоканальная СМО) в визуальной среде Delphi 7. Описание программного модуля, листинг программы и руководство пользователя.
курсовая работа [3,8 M], добавлен 20.08.2009