Автор: Олег Иванов, 28 Сентября 2010 в 11:30, курсовая работа
1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ
1.1 Общие сведения
Наименование системы
Система диспетчеризации процессов.
Плановые сроки начала и окончания работы
Разработка данной системы была начата 20.02.2008 г.
Завершение разработки планируется на 25.04.2008 г.
Порядок оформления работы
1. Обоснование необходимости разработки программы
Постановка задачи.
Сбор исходных материалов.
Выбор и обоснование критериев эффективности и качества разрабатываемой программы.
2. Научно-исследовательские работы
Определение структуры входных и выходных данных.
Предварительный выбор методов решения задач.
Обоснование целесообразности применения ранее разработанных программ.
Определение требований к техническим средствам.
Обоснование принципиальной возможности решения поставленной задачи.
3. Разработка и утверждение технического задания
Определение требований к программе.
Разработка технико-экономического обоснования разработки программы.
Определение стадий, этапов и сроков разработки программы и документации на нее.
Выбор языков программирования.
Согласование и утверждение технического задания.
1.2. Назначение и цели создания системы
1.2.1. Назначение системы
Программный продукт предназначен для отображения списка процессов системы, получения дополнительной информации о процессах и работы с ними.
1.2.2 .Цели создания системы
Программный продукт предназначен для отображения списка запущенных процессов. Программа должна включать в себя средства по завершению процесса, установке приоритета процесса, выключению, перезагрузке и смене профиля компьютера.
1.3. Характеристики объектов систематизации
1.3.1. Краткие сведения об объекте автоматизации
Объектом автоматизации является представление списка процессов, запущенных в системе, в виде удобном для восприятия пользователем и реализация операций над ними.
1.3.2. Сведения об условиях эксплуатации
Данная система проектируется лишь в учебных целях, вследствие чего будет эксплуатироваться узким кругом лиц на домашних персональных компьютерах.
1.4. Требования к системе
Система диспетчеризации процессов.
Разработка данной системы была начата 20.02.2008 г.
Завершение разработки планируется на 25.04.2008 г.
1. Обоснование необходимости разработки программы
2. Научно-исследовательские работы
3. Разработка
и утверждение технического
Программный продукт предназначен для отображения списка процессов системы, получения дополнительной информации о процессах и работы с ними.
Программный продукт предназначен для отображения списка запущенных процессов. Программа должна включать в себя средства по завершению процесса, установке приоритета процесса, выключению, перезагрузке и смене профиля компьютера.
Объектом автоматизации является представление списка процессов, запущенных в системе, в виде удобном для восприятия пользователем и реализация операций над ними.
Данная система проектируется лишь в учебных целях, вследствие чего будет эксплуатироваться узким кругом лиц на домашних персональных компьютерах.
Приложение должно содержать и выполнять следующие действия
Требования к надёжности обеспечиваются использованием стандартного программного обеспечения.
Использование программы может осуществлять пользователь, владеющий основными навыками работы с персональным компьютером.
Для нормального функционирования приложения необходимы:
Среда проектирования, используемая при разработке данного проекта – Microsoft Visual Studio 2005. Для работы с приложением требуется установленная операционная система Windows 98 или более поздняя версия, приложение совместимо только с ОС семейства Windows. Работа продукта основана на стандартных библиотеках системы, и не требует установки дополнительных.
Транспортирование должно обеспечивать условия, необходимые для сохранения целостности носителей данных. При соблюдении условий эксплуатации программа, получаемая в результате реализации проекта, не имеет срока годности.
Программная документация должна содержать техническое задание, исследовательскую часть, конструкторскую и технологическую части, должна быть полной и исчерпывающей.
2. ИССЛЕДОВАТЕЛЬСКАЯ ЧАСТЬ
Реализовать программу представляющую собой диспетчер задач. Программа должна отображать необходимую информацию о процессах (идентификатор процесса, количество запущенных потоков каждым процессом, имя процесса, уровень приоритета процесса, а также количество памяти, занимаемое процессом), предоставлять функции по завершению процесса, изменять приоритет процесса, отображать модули, используемые процессом, предоставлять средства по работе с компьютером (выключение, перезагрузка, смена профиля). Среда проектирования - Microsoft Visual Studio 2005 с использованием средств Win32 API.
В качестве программной платформы была выбрана платформа операционных систем семейства Windows (98/ME/NT/2000/XP). Выбор платформы связан с несколькими факторами. Прежде всего - это распространенность операционных систем семейства Windows. Ведь подавляющее большинство операционных систем в мире на данный момент относятся к семейству Windows. Операционные системы Windows – это графические операционные системы, впервые представленные в ноябре 1985 года для использования на компьютерах типа IBM PC и совместимых с ним в виде системы Windows 1.0. По мере проникновения на рынок персональных компьютеров (ПК) системы Windows почти полностью вытеснили всех имеющихся конкурентов и стали, фактически, эталоном операционной системы для ПК. Для разработчиков Windows-приложений фирма Microsoft предоставляет специальный интерфейс программирования приложений под названием Win32 API (application programming interface), содержащий совокупность функций, к которым может обращаться приложение. Win32 API реализован на следующих платформах: Win32s, Windows 95/98/NT/2000/XP. Фирма Microsoft стремилась включить все Win32-функции во все платформы, поддерживающие интерфейс Win32 API. Для разработчиков программного обеспечения это означает, что тексты программ не приходится переписывать для каждой платформы заново, приложение достаточно лишь перекомпилировать под другую платформу. Все Win32-платформы содержат Win32-функции, а значит, можно вызывать любую из функций интерфейса Win32 API независимо от того на какой платформе компилируется приложение. Но реализация реализации рознь. Когда Microsoft заявляет, что все Win32-функции будут реализованы на каждой платформе, то на деле это означает, что все Win32-функции будут существовать на каждой платформе, но поддерживаться на некоторых из них они будут только частично. Но, несмотря на очевидные различия между Win32-платформами, их объединяют более существенные черты. В частности, предполагается, что большинство простых Windows-приложений совместимы со всеми Windows-платформами с незначительными изменениями или вовсе без них.
И, как следствие из этого, существует огромное количество информации про это семейство операционных систем, в том числе и о WinApi - функциях, на основе которых и был написан данный курсовой проект.
В качестве аппаратной платформы были выбраны PC-совместимые компьютеры, позволяющие работать с операционными системами семейства Windows.
Как уже отмечалось, программа написана на функциях Win32 API и скомпилирована в среде MS Visual Studio 2005. Поэтому при разработке был использован синтаксис языка высокого уровня C++, который на сегодняшний момент является одним из ведущих языков программирования для разработки практически любых приложений и программ. И, так как система Windows написана на Си, все описания функций Win32 API даны в соответствии с синтаксисом именно этого языка. Это немного упрощает и ускоряет процесс изучений функций и написания приложений.
2.2.3.1. Общие сведения
Важнейшей частью операционной системы, непосредственно влияющей на функционирование вычислительной машины, является подсистема управления процессами. Процесс (или по-другому, задача) - абстракция, описывающая выполняющуюся программу. Для операционной системы процесс представляет собой единицу работы, заявку на потребление системных ресурсов. Подсистема управления процессами планирует выполнение процессов, то есть распределяет процессорное время между несколькими одновременно существующими в системе процессами, а также занимается созданием и уничтожением процессов, обеспечивает процессы необходимыми системными ресурсами, поддерживает взаимодействие между процессами.
В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:
ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;
ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;
ГОТОВНОСТЬ
- также пассивное состояние
В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов, реализуемым в данной операционной системе
В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ - несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов. Жизненный цикл процесса начинается с состояния ГОТОВНОСТЬ, когда процесс готов к выполнению и ждет своей очереди. При активизации процесс переходит в состояние ВЫПОЛНЕНИЕ и находится в нем до тех пор, пока либо он сам освободит процессор, перейдя в состояние ОЖИДАНИЯ какого-нибудь события, либо будет насильно "вытеснен" из процессора, например, вследствие исчерпания отведенного данному процессу кванта процессорного времени. В последнем случае процесс возвращается в состояние ГОТОВНОСТЬ. В это же состояние процесс переходит из состояния ОЖИДАНИЕ, после того, как ожидаемое событие произойдет.
На протяжении существования процесса его выполнение может быть многократно прервано и продолжено. Для того, чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды. Состояние операционной среды отображается состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т.д. Эта информация называется контекстом процесса.
Кроме этого, операционной системе для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в ОС UNIX) информацию такого рода, используемую ОС для планирования процессов, называют дескриптором процесса.
Дескриптор процесса по сравнению с контекстом содержит более оперативную информацию, которая должна быть легко доступна подсистеме планирования процессов. Контекст процесса содержит менее актуальную информацию и используется операционной системой только после того, как принято решение о возобновлении прерванного процесса.