Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364150
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62792)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21320)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21697)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8694)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3463)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20645)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

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

Название: Системное программирование в операционных системах
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа Добавлен 06:11:06 10 ноября 2009 Похожие работы
Просмотров: 129 Комментариев: 2 Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать

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

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

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

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

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

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

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

ПГУ 2.090105.001 ПЗ

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

Группа: _____________________

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

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

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

Пенза 2006

Реферат

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

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

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

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

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

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


Содержание

Введение

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

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

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

Заключение

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

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


Введение

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

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


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

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

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

В первом блоке производится открытие раздела реестра, если он успешно открывается, то программа получает текущее время, если нет, то на экран выводиться сообщение “Cannotopenregistrykey!”, это означает, что раздел реестра не может открыться. После этого проверяется счётчик строк. В данной программе предусмотрена возможность создания расписания для 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)

{

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

WNDCLASSwcl;

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(inti = 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));

}

}

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Где скачать еще рефератов? Здесь: letsdoit777.blogspot.com
Евгений06:42:16 19 марта 2016
Кто еще хочет зарабатывать от 9000 рублей в день "Чистых Денег"? Узнайте как: business1777.blogspot.com ! Cпециально для студентов!
19:49:08 28 ноября 2015

Работы, похожие на Курсовая работа: Системное программирование в операционных системах

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

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



Результаты(151318)
Комментарии (1844)
Copyright © 2005-2016 BestReferat.ru bestreferat@mail.ru       реклама на сайте

Рейтинг@Mail.ru