Курсовая работа : Системное программирование в операционных системах (работа 1) 


Полнотекстовый поиск по базе:

Главная >> Курсовая работа >> Информатика, программирование


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




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

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

Кафедра «Информационная безопасность

систем и технологий»

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту на тему:

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

ПГУ 2.090105.001 ПЗ

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

Группа: _____________________

Разработал: __________________

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

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

Пенза 2006

Реферат

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

ГРАФИЧЕСКИЙ ИНТЕРФЕЙС, ПРОГРАММА, Алгоритм, РЕЕСТР

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

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

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

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

Содержание

Введение

  1. Интерфейс пользователя

  2. Руководство пользователю

  3. Проверка работоспособности программы

    Заключение

    Приложение А. Алгоритм работы программы

    Приложение Б. Листинг программы

Введение

Операционная система в наибольшей степени определяет облик всей вычислительной системы в целом.

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

1. Интерфейс пользователя

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

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

В первом блоке производится открытие раздела реестра, если он успешно открывается, то программа получает текущее время, если нет, то на экран выводиться сообщение “Cannot open registry key!”, это означает, что раздел реестра не может открыться. После этого проверяется счётчик строк. В данной программе предусмотрена возможность создания расписания для 30 программ. Если проверка выявит, что счётчик равен 0, то программа завершит своё выполнение. В противном случае произойдёт считывание строки. Если строка считана, и считанное время равно текущему, то производится запуск заданной расписанием программы

Алгоритм работы программы изображен на рисунке А.1 в приложении А.

2. Руководство пользователю

Перед тем как осуществлять запуск программы по расписанию необходимо создать список запускаемых программ с указанием времени запуска каждой из них. Эту информацию необходимо вводить в специальный файл с расширением reg. Ввод информации необходимо осуществлять в определенном формате. Пример строки из файла schedule.reg, отвечающей за запуск программы калькулятора в 14:09.

"1"="14:09 c:\\windows\\system32\\calc.exe"

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

    3. Проверка работоспособности программы

Для наглядной проверки работоспособности программы сделаем расписание запуска следующих программ:

- calc.exe

- cmd.exe

- notepad.exe

Для этого необходимо занести данные в файл schedule:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\shedule]

"1"="14:09 c:\\windows\\system32\\calc.exe"

"2"="14:10 c:\\windows\\system32\\cmd.exe"

"3"="13:15 c:\\windows\\system32\\notepad.exe"

Затем необходимо импортировать эти данные в реестр.

После этого запускаем программу. На экране появляется окно с надписью “выполнение”, что свидетельствует о работе программы.

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

Заключение

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

В итоге, задание на курсовой проект было выполнено в полном объеме.

Приложение А

(ОБЯЗАТЕЛЬНОЕ)

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


Рисунок 1- Алгоритм работы программы

Приложение Б

(ОБЯЗАТЕЛЬНОЕ)

Листинг программы

// list.cpp : Defines the entry point for the application.

//

#include "stdafx.h"

#include "windows.h"

#include "stdlib.h"

#include "winioctl.h"

#include "shellapi.h"

// функция проверки расписания в реестре

void CheckShedule(void);

char shed[30][3];

// оконная функция

LRESULT CALLBACK WindowProc(HWND hWnd,

UINT message,

WPARAM wParam,

LPARAM lParam);

// основная функция

int APIENTRY WinMain(HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nCmdShow)

{

// создание и заполнение структуры окна

WNDCLASS wcl;

wcl.style=CS_HREDRAW|CS_VREDRAW;

wcl.lpfnWndProc=WindowProc;

wcl.cbClsExtra=0;

wcl.cbWndExtra=DLGWINDOWEXTRA;

wcl.hInstance=hInstance;

wcl.hIcon=LoadIcon(NULL, IDI_APPLICATION);

wcl.hCursor=LoadCursor(NULL, IDC_ARROW);

wcl.hbrBackground=(HBRUSH)(COLOR_BTNFACE+1);

wcl.lpszMenuName=NULL;

wcl.lpszClassName="WWW";

strcpy(shed[0], "1");

strcpy(shed[1], "2");

strcpy(shed[2], "3");

strcpy(shed[3], "4");

strcpy(shed[4], "5");

strcpy(shed[5], "6");

strcpy(shed[6], "7");

strcpy(shed[7], "8");

strcpy(shed[8], "9");

strcpy(shed[9], "10");

strcpy(shed[10], "11");

strcpy(shed[11], "12");

strcpy(shed[12], "13");

strcpy(shed[13], "14");

strcpy(shed[14], "15");

strcpy(shed[15], "16");

strcpy(shed[16], "17");

strcpy(shed[17], "18");

strcpy(shed[18], "19");

strcpy(shed[19], "20");

strcpy(shed[20], "21");

strcpy(shed[21], "22");

strcpy(shed[22], "23");

strcpy(shed[23], "24");

strcpy(shed[24], "25");

strcpy(shed[25], "26");

strcpy(shed[26], "27");

strcpy(shed[27], "28");

strcpy(shed[28], "29");

strcpy(shed[29], "30");

// регистрация класса окна

if (!RegisterClass(&wcl)) return 0;

// создание диалогового окна

HWND hWnd=CreateDialogParam(hInstance,"TESTWIN",NULL,NULL,NULL);

// прорисовка окна

ShowWindow(hWnd, nCmdShow);

// обновление окна

UpdateWindow(hWnd);

// установка таймера

SetTimer(hWnd, 1, 60000, NULL);

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

MSG lpMsg;

while (GetMessage(&lpMsg, NULL, 0 ,0))

{

TranslateMessage(&lpMsg);

DispatchMessage(&lpMsg);

}

return lpMsg.wParam;

}

LRESULT CALLBACK WindowProc(HWND hWnd, UINT message,

WPARAM wParam, LPARAM lParam)

{

switch(message)

{

case WM_DESTROY: PostQuitMessage(0); break;

// если пришло сообщение от таймера, проверка расписания в реестре

case WM_TIMER:

CheckShedule();

break;

default: return DefWindowProc(hWnd, message, wParam, lParam);

}

return 0;

}

void CheckShedule(void)

{

// объявление переменных

SYSTEMTIME time;

HKEY hOpen;

DWORD datatype, Buffsize;

long opRes;

char* szAlloc = "shedule\\";

char hour[3], minute[3], buff[1024];

hour[2] = minute[2] = 0;

// открытие раздела реестра

opRes = RegOpenKey(HKEY_CURRENT_USER,szAlloc,&hOpen);

// если не открылся, то сообщение и выход

if(opRes)

{

MessageBox(0, "Cannot open registry key!", "Error", MB_ICONSTOP);

return;

}

// получение текущего времени

GetLocalTime(&time);

for(int i = 0; i < 30; i++)

{

// чтение строки из реестра с временем и строкой запуска

if (RegQueryValueEx(hOpen,shed[i],NULL,&datatype,(BYTE*)buff,&Buffsize))

// если не прочитано, то переход к следующей

continue;

// считывание времени запуска

hour[0] = buff[0];

hour[1] = buff[1];

minute[0] = buff[3];

minute[1] = buff[4];

// если текущее время равно считанному из реестра

if((atoi(hour) == time.wHour) && (atoi(minute) == time.wMinute))

{

// запуск программы

ShellExecute(0,"open", &buff[6], NULL, NULL, SW_SHOWNORMAL);

}

// обнуление буфера

memset(buff, 0, sizeof(buff));

}

}

1


Похожие работы:

  • Операционная система UNIX

    Реферат >> Информатика, программирование
    ... ядро операционной системы; она координирует внутренние функции компьютера ( такие как размещение системных ресурсов ... программное окружение, обеспечивающее интерфейсы между системой и языками программирования и использование обслуживающих программ; обработка ...
  • Операционные системы ЭВМ и трансляторы

    Контрольная работа >> Информатика, программирование
    ... система программирования, в которую входят трансляторы с языков программирования ... системы, называемые системами с разделением функций, ориентирована операционная система РАФОС (РАзделения Функций Операционная Система). Система ... систему, системные программы и ...
  • Операционная система, программное обеспечение ПК

    Шпаргалка >> Информатика, программирование
    ... одним из языков программирования. Любая же прикладная программа связана с операционной системой и может ... уровень; системный уровень; программный уровень. Билет №2 Понятие операционной системы. Классификация операционных систем Операционная система — ...
  • Операционные системы "тонких" клиентов

    Учебное пособие >> Информатика, программирование
    ... любой операционной системы IBM. В качестве прототипа для REXX был взят язык программирования PL ... достоинства при применении С/С++ в качестве языка системного программирования, а именно таково первоначальное предназначение этого ...
  • Операционные системы

    Курсовая работа >> Информатика, программирование
    ... операционных систем. Вычислительные и операционные системы Литература Введение. Понятие операционной системы. Операционная система (ОС) - комплекс системных ... облегчающих процесс программирования и отладки задач. Операционная система исполняет роль ...
  • Система программирования

    Реферат >> Информатика, программирование
    ... связанные с работой ЭВМ, и включает в себя системы программирования, операционные системы, комплекс программ технического обслуживания. Специальное ... нельзя сказать о программистах. Языки системного программирования хорошо подходят для создания компонентов ...
  • Операционные системы

    Реферат >> Информатика, программирование
    ... определили «живучесть» языка, пригодность для программирования системных компонентов и возможность оптимальной трансляции кода ... обмена с системной точки зрения в операционной системе UNIX. При организации обмена операционная система подразделяет данные ...
  • Системы программирования

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

    Курсовая работа >> Информатика, программирование
    ... работе по теме: "Системное программирование в операционных системах" Дисциплина: Безопасность операционных систем Группа Выполнил:. ... процессе работы были освоены навыки системного программирования в операционных системах. В результате работы была ...
  • Операционные системы и история их развития

    Курсовая работа >> Информатика, программирование
    ... занимают операционные системы. Операционная система – это программа, которая запускается сразу. Среди всех системных программ ... право использовать и продавать языки программирования и все версии операционной системы для микропроцессора 8086, разработанные ...