Разработка компьютерного имитатора диспетчера задач по принципу FIFO

Автор: Цейтлина Н.Е., Игрунова С.В.

Журнал: Экономика и социум @ekonomika-socium

Рубрика: Информационные и коммуникативные технологии

Статья в выпуске: 1-2 (32), 2017 года.

Бесплатный доступ

В данной статье описана разработка компьютерного имитатора диспетчера задач по принципу FIFO.

Компьютерный имитатор, диспетчер задач, алгоритмы планирования

Короткий адрес: https://sciup.org/140121841

IDR: 140121841

Текст научной статьи Разработка компьютерного имитатора диспетчера задач по принципу FIFO

Актуальность данной работы заключается в возможности начинающим пользователям освоить основные принципы работы с диспетчером задач. Так как он является неотъемлемой частью работы с любой операционной системой семейства Windows, в любом случае рано или поздно возникнет необходимость работы с ним. Для опытных пользователей не составит труда при необходимости воспользоваться возможностями диспетчера задач, у начинающих пользователей могут возникнуть трудности с определением количества занятых ресурсов, таких как центральный процессор и оперативная память. А также понять какие процессы выполняются в данный момент какие ожидают свою очередь на выполнение, а какие уже выполнились.

Основная задача операционной системы – распределение ресурсов между процессами и потоками. Процесс, связан с программным кодом исполняемого модуля и рассматривается ОС как заявка на потребление всех видов ресурсов, кроме процессорного времени. Для изоляции процессов друг от друга ОС обеспечивает каждый процесс отдельным виртуальным адресным пространством. Один процесс не может получить прямого доступа к командам и данным другого процесса. Поток – последовательность команд, выполняемых процессором. ОС распределяет процессорное время между потоками. Процессу назначается адресное пространство и набор ресурсов, которые используются всеми его потомками.

Каждый процесс может находиться как минимум в двух состояниях: процесс исполняется и процесс не исполняется.

Рисунок 1 – Состояния процесса

Всякий новый процесс, появляющийся в системе, попадает в состояние готовности. Операционная система, пользуясь каким-либо алгоритмом планирования, выбирает один из готовых процессов и переводит его в состояние исполнение. Модель должна описывать поведение процессов не только во время их существования, но и при появлении процесса в системе и его исчезновении. Для полноты картины вводится еще два состояния процессов: рождение и окончание исполнение.

IKHnHWHHM

Рисунок 2 – Схема переходов состояний процессов

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

Планирование по принципу FIFO (first-in-first-out) «первым пришёл — первым ушёл» — способ организации и манипулирования данными относительно времени и приоритетов. Это выражение описывает принцип технической обработки очереди или обслуживания конфликтных требований путём упорядочения процесса по принципу: «первым пришёл — первым обслужен» (ПППО). Тот, кто приходит первым, тот и обслуживается первым, пришедший следующим ждёт, пока обслуживание первого не будет закончено, и так далее. Этот принцип аналогичен поведению лиц, стоящих в очереди, когда люди получают обслуживание в том порядке, в котором они занимали очередь. ПППО также используется как сокращённое название для алгоритма FIFO планирования работы операционной системы, по которому процессорное время выделяется каждому процессу в порядке их поступления на обслуживание.

При создании процесса рассчитывается количество ресурсов центрального процесса и оперативной памяти, которое будет занимать этот процесс. Новый процесс добавляется в ожидающие. Далее проверяется наличие достаточного количества свободных ресурсов. Если таковые имеются, то первый ожидающий процесс переходит в работающие. Затем проверяется наличие процессов, у которых завершилось время работы. Эти процессы меняют свое состояние на «Завершен». Затем освобождаются ресурсы процессора и оперативной памяти, занимаемые ими. Таким образом, реализуется алгоритм планирования First in fist out, взятый за основу организации обработки процессов в данной программной системе.

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

Окно, появляющееся при запуске представлено на рисунке 3.

Рисунок 3 – Главное окно программы

Также из меню «Управление» существует возможность выхода из программы при нажатии на пункте меню «Выход».

Статистика работы приложения представлена в нижней части главного окна, где расположены следующие показатели:

  • •    количество работающих процессов;

  • •    процентное выражение занятых ресурсов процессора;

  •    процентное выражение занятых ресурсов оперативного запоминающего устройства;

  •    время, истекшее с начала работы программы.

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

Список литературы Разработка компьютерного имитатора диспетчера задач по принципу FIFO

  • Зайченко Ю.П. Исследование операций в задачах, алгоритмах, программах/Ю.П. Зайченко. -Томск: Изд-во Эль Контент, 2011. -160с.
  • Эккель Б.А. Алгоритмы и структуры/Б.А. Эккель. -Санкт-Петербург: Изд-во ДМК Пресс, 2009. -640с.
  • Капор М.А. Ява для всех/М.А. Капор. -Санкт-Петербург: Изд-во Наука и техника, 1997. -200с.
  • Мильвидский А.М. Введение в Java/А.М. Мильвидский. -Санкт-Петербург: Изд-во Эволюция Java, 1998. -250с.
Статья научная