Разработка системной утилиты для ОС Windows

Разработка программы, выполняющей скроллинг текстового экрана по нажатиям клавиш клавиатуры. Характеристика принципа работы компьютерной клавиатуры. Проектирование и реализация программы средствами среды Visual Studio 2008 с использованием языка C#.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 16.12.2012
Размер файла 657,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://allbest.ru/

Министерство образования и науки Российской Федерации

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Факультет автоматики и электромеханики

Кафедра автоматизированных и вычислительных систем

Специальность 230101 «Вычислительные машины, комплексы, системы и сети»

КУРСОВОЙ ПРОЕКТ

по дисциплине «Системное программное обеспечение»

Тема работы: «Разработка системной утилиты для ОС Windows»

Разработал А.М. Пирогов

Руководитель О.Б. Кремер

Нормоконтроль провел О.Б. Кремер

ВОРОНЕЖ 2012

РЕФЕРАТ

Объект исследования или разработки - программное приложение для демонстрации работы с клавиатурой.

Метод исследования и аппаратура - моделирование на ЭВМ.

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

ВВЕДЕНИЕ

Основными устройствами ввода информации от пользователя в компьютер являются мышь и клавиатура. Корни современной компьютерной клавиатуры уходят далеко в 19 век. Все началось с появления простой пишущей машинки. В 1868 году Кристофер Латам Шольз (Christopher Sholes) запатентовал свою пишущую машинку. Основным ключевым моментом этого этапа явилось зарождение первой раскладки. Она выглядела как совокупность символов, располагавшихся в алфавитном порядке. Как оказалось позже, это, мягко говоря, неудобно, так как редко используемые символы находились на самых видных местах и наоборот. В 1890 году придумали раскладку «QWERTY», которую мы используем и до сих пор при наборе текста латинскими буквами. А русскую раскладку клавиш, как ни парадоксально, придумали в Америке в конце 19 века [6]. С тех пор она не претерпела сильных изменений.

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

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

1. ОБЩИЕ СВЕДЕНИЯ О СИСТЕМНОМ ПРОГРАММНОМ ОБЕСПЕЧЕНИИ

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

К системному программному обеспечению относятся:

– операционные системы (эта программа загружается в ОЗУ при включении компьютера);

– программы - оболочки (обеспечивают более удобный и наглядный способ общения с компьютером, чем с помощью командной строки DOS, например, Norton Commander);

– операционные оболочки - интерфейсные системы, которые используются для создания графических интерфейсов, мультипрограммирования;

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

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

К утилитам относятся:

- диспетчеры файлов или файловые менеджеры

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

- средства просмотра и воспроизведения

- средства диагностики; средства контроля позволяют проверить конфигурацию компьютера и проверить работоспособность устройств компьютера, прежде всего жестких дисков

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

- средства обеспечения компьютерной безопасности (резервное копирование, антивирусное ПО).

Часть утилит входит в состав операционной системы, а другая часть функционирует автономно. Большая часть общего (системного) ПО входит в состав ОС. Часть общего ПО входит в состав самого компьютера (часть программ ОС и контролирующих тестов записана в ПЗУ или ППЗУ, установленных на системной плате). Часть общего ПО относится к автономными программам и поставляется отдельно. Общая архитектура программного обеспечения представлена на рисунке 1.

Рисунок 1- Общая архитектура ПО

2. ОПЕРАЦИОННАЯ СИСТЕМА

текстовый клавиатура компьютерный скроллинг

Операционная система -- комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны -- предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений [2]. Это определение применимо к большинству современных операционных систем общего назначения.

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

В большинстве вычислительных систем операционная система является основной, наиболее важной (а иногда и единственной) частью системного программного обеспечения. С 1990-х годов наиболее распространёнными операционными системами являются системы семейства Microsoft Windows и системы класса UNIX (особенно Linux и Mac OS).

Основные функции операционной системы:

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

Загрузка программ в оперативную память и их выполнение.

Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).

Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).

Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.

Обеспечение пользовательского интерфейса.

Сохранение информации об ошибках системы.

Дополнительные функции:

Параллельное или псевдопараллельное выполнение задач (многозадачность).

Эффективное распределение ресурсов вычислительной системы между процессами.

Разграничение доступа различных процессов к ресурсам.

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

Взаимодействие между процессами: обмен данными, взаимная синхронизация.

Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.

Многопользовательский режим работы и разграничение прав доступа.

3. УСТРОЙСТВА ВВОДА/ВЫВОДА

В информатике, ввод/вывод (в англ. языке часто используется сокращение I/O -- input/output) означает взаимодействие между обработчиком информации (например, компьютер) и внешним миром, который может представлять как человек, так и любая другая система обработки информации [3]. Ввод -- сигнал или данные, полученные системой, а вывод -- сигнал или данные, посланные ею (или из нее). Термин также может использоваться как обозначение (или дополнение к обозначению) определенного действия: «выполнять ввод/вывод» означает выполнение операций ввода или вывода.

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

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

Устройство ввода-вывода -- компонент типовой архитектуры ЭВМ, предоставляющий компьютеру возможность взаимодействия с внешним миром и, в частности, с пользователями и другими компьютерами [4].

Подразделяются на:

Устройство ввода.

Устройство вывода.

Устройства ввода-вывода -- компоненты ЭВМ с переносными носителями (дисководы), двунаправленные интерфейсы (различные порты компьютера, различные сетевые интерфейсы).

Устройства ввода-вывода используются человеком (или другой системой) для взаимодействия с компьютером. Например, клавиатуры и мыши -- специально разработанные компьютерные устройства ввода, а мониторы и принтеры -- компьютерные устройства вывода. Устройства для взаимодействия между компьютерами, как модемы и сетевые карты, обычно служат устройствами ввода и вывода одновременно [3].

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

4. ПРИНЦИП РАБОТЫ КЛАВИАТУРЫ

В этом разделе мы подробно рассмотрим одно из важнейших устройств персонального компьютера - клавиатуру. Практически ни одна программа не обходится без обращения к клавиатуре [5].

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

Клавиатура выполнена, как правило, в виде отдельного устройства, подключаемого к компьютеру тонким кабелем. Малогабаритные компьютеры содержат встроенную клавиатуру.

Если рассмотреть сильно упрощенную принципиальную схему клавиатуры, представленную на рисунке 2, можно заметить, что все клавиши находятся в узлах матрицы.

Рисунок 2 - Упрощенная схема клавиатуры

Все горизонтальные линии матрицы подключены через резисторы к источнику питания +5 В. Клавиатурный компьютер имеет два порта - выходной и входной. Входной порт подключен к горизонтальным линиям матрицы (X0-X4), а выходной - к вертикальным (Y0-Y5).

Устанавливая по очереди на каждой из вертикальных линий уровень напряжения, соответствующий логическому нулю, клавиатурный компьютер опрашивает состояние горизонтальных линий. Если ни одна клавиша не нажата, уровень напряжения на всех горизонтальных линиях соответствует логической единице (так как все эти линии подключены к источнику питания +5 В через резисторы).

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

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

Номер клавиши, посылаемый клавиатурным процессором, однозначно зависит от схемы клавиатурной матрицы, но не от обозначений, нанесенных на поверхность клавиш. Этот номер называется скан-кодом (Scan Code). Слово scan ("сканирование"), подчеркивает тот факт, что клавиатурный компьютер сканирует клавиатуру для поиска нажатой клавиши.

Обычно программе нужен не порядковый номер нажатой клавиши, а код, соответствующий обозначению на этой клавише (код ASCII). Код ASCII не связан напрямую со скан-кодом, так как одной и той же клавише могут соответствовать несколько значений кода ASCII в зависимости от состояния других клавиш. Например, клавиша с обозначением «1» используется еще и для ввода символа «!» (если она была нажата вместе с клавишей <Shift>).

Поэтому все преобразования скан-кода в код ASCII выполняются программно. Как правило, в операционной системе эти преобразования выполняют модули BIOS. Для использования символов кириллицы эти модули расширяются клавиатурными драйверами.

5. ЭТАП ПРОЕКТИРОВАНИЯ

5.1 Детализация постановки задачи

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

Размеры объекта PictureBox на форме подобраны таким образом, чтобы рисунок не помещался на экранной форме целиком. На главной экранной форме настроен обработчик события нажатия клавиши КеуDown. При нажатии клавиши пользователем обработчик события считывает код ASCII нажатой клавиши и если была нажата стрелка, то производится скроллинг изображения в соответствующую сторону с помощью свойств VerticalScroll.Value и HorizontalScroll.Value объекта PictureBox.

5.2 Модульная структура программы

Рисунок 2 - Модульная структура программы

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

Блок-схема алгоритма работы программы представлена на рисунке 3.

Рисунок 3 - Блок-схема алгоритма работы программы

5.4 Входные и выходные данные

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

Выходными данными является изображение на экранной форме.

5.5 Выбор языка и среды программирования

Языком программирования был выбран C#, поскольку он позволяет решать широкий спектр задач, обладает гибкостью и большим количеством удобных в использовании библиотек. Помимо этого он позволяет использовать как объектно-ориентированный, так и структурный подход.

В качестве среды разработки была выбрана MS Visual Studio 2008, поскольку она обладает удобным интерфейсом, богатыми средствами для отладки, широко распространена.

6. ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ

6.1 Технические условия для работы программы

Минимальная конфигурация:

1. Процессор Pentium III и выше.

2. ОС семейства Windows NT.

3. ОЗУ объемом не менее 512 MB.

4. Монитор с разрешением не менее 1024x768, 256 цветов.

5. Устройство чтения компакт-дисков или DVD-дисков.

6. Клавиатура и мышь.

7. Должен быть инсталлирован NET Framework 3.5 и выше.

6.2 Установка и запуск программы

Работу с приложением можно начать, выполнив прямое копирование с носителя на жесткий диск и запустив исполняемый файл «WindowsFormsApplication1.exe» в каталоге WindowsFormsApplication1\bin\debug.

6.3 Работа с программой

После запуска программы откроется экранная форма, внешний вид которой представлен на рисунке 4.

Рисунок 4 - Экранная форма программы

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

В верхней части интерфейса находится меню, в котором расположены следующие элементы: справка и выход. Нажав в меню «Справка», можно получить информацию о разработчике программы, необходимых сведений для пояснения выведенной информации о каждом элементе. Щелкнув «Выход», соответственно, осуществится выход из программы. После нажатия на кнопку в пункте меню «Справка» - «Помощь» на экран будет выведена экранная форма, представленная на рисунке 5.

Рисунок 5 - Экранная форма справки

После нажатия на кнопку в пункте меню «Справка» - «О программе» на экран будет выведена экранная форма, представленная на рисунке 6.

Рисунок 6 - Экранная форма справки

ЗАКЛЮЧЕНИЕ

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

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

Для разработки программы был выбран язык C# 3.0, который обладает широкими возможностями для современного объектно-ориентированного подхода в программировании. Среда разработки Visual Studio 2008 имеет весь набор необходимых инструментов для программирования на языке C#.

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

СПИСОК ЛИТЕРАТУРЫ

Кипелин Е.Е. Основные функции BIOS компьютера: учеб. пособие/Кипелин Е.Е. Екатеринбург, ЕГВГ, 2009. 292с.

Операционная система. - Электрон. дан. - Режим доступа: http://ru.wikipedia.org/wiki/Операционная_система.

Ввод/вывод. - Электрон. дан. - Режим доступа: http://ru.wikipedia.org/wiki/Ввод/вывод.

Устройство ввода-вывода. - Электрон. дан. - Режим доступа: http://ru.wikipedia.org/wiki/Устройство_ввода-вывода.

Аппаратное обеспечение персонального компьютера. - Электрон. дан. - Режим доступа: http://frolov-lib.ru/books/bsp/v33/ch2.htm.

История создания клавиатуры. - Электрон. дан. - http://stud24.ru/information/istoriya-sozdaniya-klaviatury/22660-65009-page1.html

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа [226,8 K], добавлен 18.06.2009

  • Создание программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С# средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Определение математического аппарата, применение его в задаче.

    курсовая работа [500,4 K], добавлен 13.01.2015

  • Создание приложения Windows Forms в среде Microsoft Visual Studio 2008. Разработка программы "Курсовой" для организации работы по учёту курсовых работ в учебных заведениях с возможностью добавления, удаления, редактирования и поиска информации.

    курсовая работа [2,2 M], добавлен 28.06.2011

  • Основы языка программирвоания C++. Элементы управления в Microsoft Visual C++. Алгоритмические конструкции языка программирования Visual C++ и базовые элементы управления. Глобальные константы и переменные. Управление программой с помощью клавиатуры.

    курсовая работа [1,7 M], добавлен 08.04.2015

  • Реализация программы, созданной средствами языка C#. Предназначение Windows-приложения для решения комплекса задач. Определение состава форм с графиком функции. Вычисление коэффициентов полинома. Создание текстового поля для введения корней многочлена.

    курсовая работа [234,8 K], добавлен 13.11.2016

  • Общие сведения о работе программы в среде программирования Microsoft Visual Studio 2008, на языке программирования C++. Ее функциональное назначение. Инсталляция и выполнение программы. Разработанные меню и интерфейсы. Алгоритм программного обеспечения.

    курсовая работа [585,5 K], добавлен 24.03.2009

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

    курсовая работа [404,5 K], добавлен 03.02.2011

  • Выявление требований к информационной системе. Диаграмма вариантов использования. Проектирование информационного обеспечения с использованием семантических моделей. Проектирование пользовательского интерфейса. Реализация программы на Visual Studio.

    дипломная работа [590,2 K], добавлен 28.08.2012

  • Эволюция компьютерной клавиатуры: рождение, телетайп, первые клавиатуры, емкостная клавиатура. Виды клавиатур: АТРасширенная, жесткоконтактная, АТХ-клавиатуры, мультимедийные и Win-клавиатуры. Эргономика клавиатур. Защита от пользователя.

    реферат [22,1 K], добавлен 09.11.2007

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

    курсовая работа [1,2 M], добавлен 01.06.2013

  • Разработка программного обеспечения для упрощения буквенно-цифрового ввода при невозможности использовать функционал стандартной буквенной клавиатуры. Классификация и установка драйверов. Выбор языка и среды программирования. Пользовательский интерфейс.

    курсовая работа [183,0 K], добавлен 12.03.2013

  • Рассмотрение основ работы в Microsoft Visual Studio 2010 с языком программирования С#. Реализация программы обработки данных авиапассажиров. Выбор метода ввода данных из текстового файла. Создание фильтра для обработки списка по определенным критериям.

    курсовая работа [1,4 M], добавлен 17.01.2016

  • Проблемы, связанные с отсутствием информационной системы. Проектирование логической схемы данных для выбранной предметной области на основе методологии IDEF1X. Разработка информационной системы с использованием MS SQL Server 2008 и MS Visual Studio 2010.

    курсовая работа [3,0 M], добавлен 07.08.2013

  • Описание языка программирования Java: общие характеристики, главные свойства, краткий обзор. Надежность и безопасность, производительность и базовая система программы. Разработка программы поиска по словарю, алгоритм её работы. Общий вид кода программы.

    курсовая работа [20,3 K], добавлен 28.10.2012

  • Разработка программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Класс программы, инструкция по использованию программы.

    курсовая работа [1,0 M], добавлен 26.12.2013

  • Расположение клавиш на клавиатуре. "Горячие клавиши" общего назначения. Использование цифровой клавиатуры для быстрого ввода чисел. Организация клавиш набора, функциональных, перемещения и управления. Характеристика основных символов клавиатуры.

    презентация [670,4 K], добавлен 10.08.2015

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

    курсовая работа [1,9 M], добавлен 22.05.2013

  • Словесное описание предметной области. Построение схемы функциональных зависимостей. Реализация базы данных средствами утилиты Enterprise Manager в формате SQL Server Management Studio. Разработка алгоритмов работы программы и приложения пользователя.

    дипломная работа [1,8 M], добавлен 26.03.2015

  • Техника создания графики при помощи API функций, экспортируемых библиотекой GDI32.DLL. Разработка на языке программирования С++ в среде программирования Microsoft Visual C++ программы для отображения часов реального времени в цифровом и аналоговом виде.

    курсовая работа [2,8 M], добавлен 27.01.2010

  • Создание программы, реализующей игру "Линии". Среда разработки программы, описание ее общего вида. Основные алгоритмы программы. Реализация программы в среде разработки Microsoft Visual Studio 2008 на языке объектно-ориентированного программирования С++.

    курсовая работа [639,0 K], добавлен 16.03.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.