Операционные системы

Автор работы: Пользователь скрыл имя, 26 Мая 2013 в 18:08, курсовая работа

Описание работы

Создать приложение, используя библиотеку объектов OWL, позволяющее:
выводить тригонометрические функции (синус, косинус, тангенс) в рабочее поле приложения
выбирать требуемый график из меню приложения
задавать необходимый масштаб
запрашивать информации о программе
стирать выбранные функции
использовать горячие клавиши для построения графиков, для выхода из программы и для вывода информационного табло

Содержание работы

1.Техническое задание. 3
2. Краткие теоретические сведения 3
2.1. Структура OWL-программы 3
2.2. Вызов функций в Windows 4
2.3. Программирование на С++ 4
2.4. Общие положения программирования в среде Windows 4
2.5. Win16 и Win32 5
2.6. Графический интерфейс устройства 5
2.7. Цикл сообщений 5
2.8. Особенности Borland C++ 6
2.9. Функция Run() 7
3. Файлы, используемые при создании проекта. 8
4. Стандартные классы OWL. 8
4.1. Взаимодействие классов. 8
5. Стандартные функции классов OWL. 8
6. Пользовательские функции 8
7. Иерархия классов приложения. 9
8. Системные требования. 9
9. Размер файла. 9
10. Руководство пользователя. 10
11. Список использованной литературы: 14
12. Листинг программ. 15

Файлы: 1 файл

kursach_po_OS_gotovyy.docx

— 1.23 Мб (Скачать файл)

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ВОЗДУШНОГО ТРАНСПОРТА

 

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ  ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО  ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ГРАЖДАНСКОЙ АВИАЦИИ»


Кафедра вычислительных машин, комплексов, систем и сетей

 

Н.И. Черкасова

 

 

 

 

 

 

 

 

 

 

ОПЕРАЦИОННЫЕ  СИСТЕМЫ

 

КУРСОВАЯ РАБОТА

 

 

 

 

 

 

 

 

 

 

 

 

 

Выполнила:

студентка группы БИ 3-2

 

 

 

 

 

 

 

 

 

 

 

 

Москва – 2012

Оглавление:

1.Техническое  задание. 3

2. Краткие  теоретические сведения 3

2.1. Структура OWL-программы 3

2.2. Вызов функций в Windows 4

2.3. Программирование на С++ 4

2.4. Общие положения программирования в среде Windows 4

2.5. Win16 и Win32 5

2.6. Графический интерфейс устройства 5

2.7. Цикл сообщений 5

2.8. Особенности Borland C++ 6

2.9. Функция Run() 7

3. Файлы, используемые  при создании проекта. 8

4. Стандартные классы OWL. 8

4.1. Взаимодействие классов. 8

5. Стандартные  функции классов OWL. 8

6. Пользовательские  функции 8

7. Иерархия  классов приложения. 9

8. Системные  требования. 9

9. Размер  файла. 9

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

11. Список  использованной литературы: 14

12. Листинг программ. 15

 

1.Техническое задание.

Создать приложение, используя библиотеку объектов OWL, позволяющее:

  1. выводить тригонометрические функции (синус, косинус, тангенс) в рабочее поле приложения
  2. выбирать требуемый график из меню приложения
  3. задавать необходимый масштаб
  4. запрашивать информации о программе
  5. стирать выбранные функции
  6. использовать горячие клавиши для построения графиков, для выхода из программы и для вывода информационного табло

2. Краткие теоретические сведения

2.1. Структура OWL-программы

OWL-программа, как правило, состоит из 3-х выделенных частей:

- описания класса приложения  и входящих в него функций

- описание класса главного  окна приложения и входящих  в него функций

- описание главной функции  OwlMain(), эта функция берет управление при запуске приложения, заменяет функцию WinMain() в «классических» приложениях Windows и main() в приложениях DOS.

Библиотека OWL, как и любая  другая объектно-ориентированная библиотека, содержит описания классов для реализации практически всех основных средств Windows (окон, диалогов, органов управления, средств графического интерфейса CGI и т.д.).

Класс приложений TApplication, производный от класса TModule предназначен для создания приложения (экземпляра класса). Функции этого класса организуют создание главного окна и обрабатывают сообщения. 

Базовый класс TModule определяет фундаментальные свойства модулей - приложений (организует загрузку и выгрузку динамических библиотек, организует загрузку ресурсов и имеет ряд информационных функций о свойствах модуля в целом).

Для задания характеристик  и свойств окна приложения нужно  вмешиваться в работу функции  Run - компонентной функции класса TApplication. Надо будет создать производный класс приложения от класса TApplication. Основной задачей функции является последовательный вызов других функций, принадлежащих классу TApplication и классу TWindow.

На этом этапе можно  изменить расположение, размеры и  стиль окна.    

InitApplication() - функция вызывается только при первом вызове приложения. Ее можно использовать для вывода каких либо предупреждающих сообщений. В базовом классе - это заглушка InitMainWindow()- функция, предназначена для организации главного окна приложения с помощью функции SetMainWindow(), кроме указателя на главное фреймовое окно, вторым параметром может быть указатель на рабочее окно(client), которое появляется внутри главного.

Всю работу по инициализации  приложения, созданию и выводу на экран  главного окна и организации цикла обработки сообщений выполняет открытая функция-член Run(), входящая в класс TApplication. Поэтому в простых случаях главная функция приложения OwlMain() может состоять всего из двух строк: создания экземпляра класса TApplication или производного от него и вызова функции Run() для этого экземпляра. Именно так выглядит функций OwlMain() в рассматриваемом примере. С другой стороны, для задания характеристик и свойств окна приложения приходится вмешиваться в работу этой функции, изменяя используемый по умолчанию алгоритм ее выполнения, что требует понимания этого алгоритма и возможностей его изменения. Рассмотрим процедуру выполнения функции Run() более детально.

2.2. Вызов функций в Windows

Доступ к системным  ресурсам осуществляется через ряд  системных функций. Совокупность таких  функций называется прикладным программным  интерфейсом, или API (Application Programming Interfase). Для взаимодействия с Windows приложение запрашивает функции API, с помощью  которых реализуются все необходимые  системные действия, такие как  выделение памяти, вывод на экран, создание окон и т.п.

2.3. Программирование на С++

На С++ можно создавать  приложения как для MS DOS, так и  для Windows. Главное отличие языка  С от С++ состоит в том, что С - процедурный, а С++ - объектно-ориентированный. Процедурное программирование - последовательный вызов команд-процедур обработки  данных, а объектно-ориентированное  программирование (ООП) - взаимодействие объектов.

Для Windows можно разрабатывать 16-ти и 32-разрядные приложения (программы). Можно разрабатывать как MS DOS, так  и Windows-приложения. Приложение пишется  на языке высокого уровня (С, С++, Pascal, Fortran и т.п.), после этого программа  компилируется компилятором (компиляция - получение исполняемого файла с  расширением exe или com). В настоящее  время хорошим компилятором является компилятор фирмы Borland версии 5.02.

В последнее время широко стало применяться визуальное программирование: Microsoft Visual C++ версии 6.00 и Borland C++ Builder.

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

2.4. Общие положения программирования в среде Windows

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

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

     Второй параметр (тип HINSTANCE, локальная переменная hPrevInstance) является дескриптором предыдущего  экземпляра этого-же приложения  и используется только тогда,  когда приложение запускается  в нескольких экземплярах. Анализ  этой переменной позволяет определить, является ли данный экземпляр  приложения единственным.

     Третий параметр (тип LPSTR) представляет собой указатель  на командную строку, содержащую  параметры, которые были заданы  при запуске приложения из  командной строки.

     Четвертый  параметр (тип int, локальная переменная nCmdShow) характеризует режим запуска  приложения (свернуто в иконку, имеет  нормальный размер, развернуто на  весь зкран).

     В типичном Windows-приложении главная функция  должна выполнять, по меньшей  мере, три важнейших процедуры:

     1. Зарегистрировать  в системе Windows класс главного  окна. Если помимо главного окна  будут выводиться на экран  внутренние, порожденные окна, то  их классы тоже необходимо  зарегистрировать. Windows выводит на  экран и обслуживает только  зарегистрированные окна.

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

     3. Организовать  цикл обработки сообщений, поступающих  в приложение. Вся дальнейшая  работа приложения будет состоять  в бесконечном выполнении этого  цикла и в обработке поступающих  в приложение сообщений до  тех пор, пока пользователь  не подаст команду его завершения  с помощью системного меню  или вводом <Alt> + <F4>. Это приводит  к завершению работы главной  функции и удалению приложения  из списка действующих задач  Windows.

2.5. Win16 и Win32

Как известно, для системы  Windows можно разрабатывать как 16-,  так и 32-разрядные программы.  32-разрядную операционную среду Windows, в которой выполняются 32-разрядные программы , называют Win32, а сами программы Win32-приложениями. Также, соответственно, для Win16.

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

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

2.6. Графический интерфейс устройства

Одним из подмножеств API является GDI (Graphics Device Interfase - интерфейс графического устройства). GDI - это та часть Windows, которая  обеспечивает поддержку аппаратно-независимой  графики. Благодаря функциям GDI Windows-приложение может выполняться на самых различных  компьютерах.

2.7. Цикл сообщений

Все Windows-программы должны содержать специальную функцию, которая не используется в самой  программе, но вызывается самой операционной системой. Эту функцию обычно называют функцией окна, или процедурой окна. Она вызывается Windows, когда системе  необходимо передать сообщение в  программу. Именно через нее осуществляется взаимодействие между программой и  системой. Функция окна передает сообщение  в своих аргументах. Согласно терминологии Windows, функции, вызываемые системой, называются функциями обратного вызова. Таким  образом, функция окна является функцией обратного вызова.

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

В большинстве Windows-программ задача создания функции окна лежит  на программисте. При использовании  библиотеки OWL такая функция создается автоматически. В этом заключается одно из преимуществ библиотеки. Но в любом случае, если сообщение получено, то программа должна выполнить некоторое действие. Хотя она может вызывать для этого одну или несколько API-функций, само действие было инициировано Windows. Поэтому именно способ взаимодействия с операционной системой через сообщения диктует общий принцип построения всех программ для Windows, написанных как с использованием MFC, так и без нее. 

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

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

Класс окна

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

Информация о работе Операционные системы