50130 (Системное программирование в операционных системах)

2016-07-30СтудИзба

Описание файла

Документ из архива "Системное программирование в операционных системах", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "50130"

Текст из документа "50130"

Федеральное агентство по образованию

Пензенский государственный университет

Кафедра "Информационной безопасности систем и технологий"

Пояснительная записка к курсовой работе

по теме:

"Системное программирование в операционных системах"

Дисциплина: Безопасность операционных систем

Группа

Выполнил:.

Проект принят с оценкой

Руководитель проекта:

Пенза, 2006 г.

Реферат

Пояснительная записка содержит 38с., 7 рис., 2 источника, 2 прил.

VISUAL СИ++, ПРОГРАММА, РАСПИСАНИЕ, WINDOWS NT (98), ФАЙЛ.

Объектом исследования является системное программирование в операционных системах.

Целью работы является разработка программы, выполняющей запуск программ по расписанию: расписание хранится в файле.

В процессе работы были освоены навыки системного программирования в операционных системах.

В результате работы была разработана программа, выполняющая запуск программ по расписанию: расписание хранится в файле (её текст приведён в приложении).

Содержание

1 Интерфейс

1.1 Понятие интерфейса и его назначение

1.2 Выбор интерфейса

2. Разработка алгоритма программы

3. Создание программы на базе разработанного алгоритма

4. Руководство пользователя

Заключение

Список использованных источников

Алгоритм программы


1 Интерфейс

1.1 Понятие интерфейса и его назначение

Перед началом самого программирования и даже составления алгоритмов необходимо представить себе как будет работать программа и посредством этого выбрать интерфейс.

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

Основным назначением интерфейса является унификация внутрисистемных и межсистемных связей и устройств сопряжения с целью эффективной реализации прогрессивных методов проектирования функциональных элементов вычислительной системы.

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

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

Таким образом, система взаимодействия должна рассматриваться как часть более обширной системы - АСУ реального времени, тогда как последняя - системы управляемой среды.

В настоящее время можно считать доказанным, что главная задача проектирования интерфейса пользователя заключается не в том, чтобы рационально "вписать" человека в контур управления, а в том, чтобы, исходя из задач управления объектом, разработать систему взаимодействия двух равноправных партнёров (человек - оператор и аппаратно - программный комплекс АСУ), рационально управляющих объектом управления.

1.2 Выбор интерфейса

Интерфейс взаимодействия с пользователем является важным элементом любой программы. От его продуманности и удобства часто зависит коммерческий успех программного продукта.

Интерфейс пользователя можно разделить на пакетный и интерактивные. Пакетные характеризуются тем, что пользователь должен сформировать пакет с заданиями, затем программа эти задания выполняет и выдаёт результат. Интерактивные характеризуются тем, что пользователь в ходе работы программы постоянно с ней взаимодействует. Существует интерфейс на базе меню, псевдографический интерфейс, интерактивно - командный интерфейс, эти интерфейсы описывать не будем, так как программа, которую необходимо создать по заданию требует графический интерфейс. Графический интерфейс следует выбирать только для многомодульных программ, которые, предположительно будут иметь массовое применение.

В соответствии с заданием и для большего удобства и понятия принципа работы программы интерфейс должен содержать наименьшее количество кнопок. Вследствие чего выберем: 1 поле, в котором будет вводиться имя файла с расписанием, одну кнопку после нажатия, которой будет происходить запуск программ, кнопку для приостановления работы, копку обзора, а также кнопку выход. Данная разработка представлена на рисунке 1.

Файл с расписанием



Обзор


Установить расписание


Остановить работу


Выход


Рисунок 1. Интерфейс программы.


2. Разработка алгоритма программы

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

Прежде чем начать разработку, вводим несколько ограничений:

а) Общие требования к программе:

исходные данные должны храниться в файле;

программа должна обеспечивать взаимодействие с пользователем посредством графического интерфейса;

процесс выполнения запуска программ должен быть реализован в интегрированной среде разработки Microsoft Visual C++ v.6.0.

б) Требования к организации файловых операций:

обеспечить возможность задания любого имени для файла с расписанием;

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

программа должна быть организованна в виде приложения.

в) Дополнительное требование:

в файле с расписанием имя программы должно быть указано полностью и заключено в кавычки, а далее через пробел должно быть указано время формата 00: 00: 00;

расписание может быть организовано и не по возрастанию;

После запуска программы пользователь должен будет ввести имя файла с расписанием. После нажатия клавиши “Установить расписание” программа должна будет проверить существование данного файла, если произошла ошибка, будет выдаваться об этом сообщение пользователю. После открытия файла программа будет считывать строчку за строчкой, в которых будет храниться имена и время запускаемых программ и происходить проверка на их существование. Далее должна будет происходить проверка на окончание файла.

После завершения работы программы должен выдаваться отчёт о её состоянии.

Структурная схема алгоритма программы, выполняющей запуск программ по расписанию, расписание которых храниться в файле, приведена в приложении А.


3. Создание программы на базе разработанного алгоритма

В данном разделе приводится описание текста программы выполняющей генерацию паролей пользователей. Данная программа реализована на языке программирования С++ при помощи интегрированной среды обработки Visual С++.

Основные принципы работы графических приложений Windows.

В отличие от программ MS-DOS, графическая программа Windows после запуска находится в "пассивном" состоянии. Она постоянно ожидает от операционной системы управляющих данных, которые называются сообщениями. Сообщения могут быть разного типа, например сообщение о нажатии клавиши, сообщение о движении курсора "мыши", управляющее сообщение операционной системы и т.д. Таким образом, работа графического приложения заключается в следующем: вначале программа должна сформировать на экране главное окно программы. Весь вывод программа будет осуществлять в дальнейшем в это окно в графическом виде. Затем программа должна включиться в обработку сообщений, которые посылает ей операционная система. Результат обработки сообщений может отображаться в главном окне программы.

Любое графическое приложение Windows имеет типовую структуру, основой которой является каркасное приложение. Это приложение содержит минимально необходимый программный код для обеспечения функционирования полноценного Windows-приложения.

Каркасное графическое приложение Windows.

Минимальное каркасное приложение Windows состоит из трех частей:

главной функции;

цикла обработки сообщений;

оконной функции.

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

Для создания каркасного приложения в MS Visual C++ 6.0 необходимо создать новый проект, используя меню "File - >New‑>Projects‑>Win32 Application". Далее из предложенных вариантов необходимо выбрать "A simple Win32 application". В этом случае будет создано приложение с пустой главной функцией. Для создания каркасного приложения в эту функцию необходимо добавить код инициализации окна программы и цикл обработки сообщений. Кроме того, в приложение необходимо добавить код оконной функции.

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

Оконная функция может иметь произвольное имя, но тип возвращаемого результата и количество и тип передаваемых параметров для нее строго определены. Прототип оконной функции должен выглядеть так:

LRESULT CALLBACK WindowProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)

Где первый параметр - идентификатор окна, которое обслуживается данной оконной функцией, второй параметр - идентификатор сообщения операционной системы, которое передается на обслуживание, третий и четвертый параметры - дополнительные данные, передаваемые вместе с сообщением. Обычно прототип оконной функции записывают в начале программы, до функции WinMain (), а сам код функции помещают в конец программы. Это делается потому, что функция должна быть определена до ее использования в WinMain ().

Таким образом, первым шагом, создания каркасного приложения будет определение прототипа оконной функции в начале программы (до функции WinMain).

Вторым шагом создания каркасного приложения будет создание и инициализация структуры с информацией класса окна. Для этого необходимо в функции WinMain объявить переменную данного типа и заполнить все десять полей структуры:

WNDCLASS wcl;

// объявление переменной типа структуры класса окна

wcl. style=CS_HREDRAW|CS_VREDRAW;

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

wcl. lpfnWndProc=WindowProc;

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

wcl. cbClsExtra=0;

// количество дополнительных байт для следующей // структуры.

wcl. cbWndExtra=0;

// количество дополнительных байт для следующего окна.

wcl. hInstance=hInstance;

// идентификатор процедуры (программы), владеющей // данным окном.

wcl. hIcon=LoadIcon (NULL, IDI_APPLICATION);

// идентификатор класса значка (иконки) для данного // окна. Значок включается в проект в виде ресурса. В // данном случае функцией LoadIcon () загружается // стандартный значок для приложений Windows.

wcl. hCursor=LoadCursor (NULL, IDC_ARROW);

// идентификатор класса курсора для данного окна. Курсор // включается в проект в виде ресурса. В данном случае // функцией LoadCursor () загружается стандартный курсор // в виде стрелки.

wcl. hbrBackground= (HBRUSH) GetStockObject (WHITE_BRUSH);

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4100
Авторов
на СтудИзбе
670
Средний доход
с одного платного файла
Обучение Подробнее