Разработка программы, позволяющей получать информацию о CD/DVD-устройствах

Изложение процесса создания программы, предоставляющей информацию о CD/DVD-приводах, разработанной в среде Microsoft Visual Studio 2008 с языком программирования C#: принципы построения и функционирования системных утилит; методы разработки программы.

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

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

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

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

Введение

Данный курсовой проект был разработан в среде Microsoft Visual Studio 2008 с языком программирования C#. На сегодня C# поддерживает все современные возможности объектно-ориентированного программирования.

Цель курсовой работы - создать программу, предоставляющую информацию о CD/DVD-приводах. Теоретическая и практическая значимость заключается в закреплении навыков составления алгоритмов поставленных задач и программирования элементов системных утилит.

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

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

системные утилиты microsoft visual

1. Теоретическая часть

1.1 Общие сведенья о системном программном обеспечении

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.2 Технология WMI

Технология WMI (Windows Management Instrumentation) - это одна из базовых технологий Microsoft для централизованного управления и слежения за работой различных частей компьютерной сети под управлением Windows. WMI пригодится прежде всего администраторам Windows, а также разработчикам программного обеспечения.

Технология WMI - это реализация модели управления предприятием на базе Web (Web-Based Enterprise Management, WBEM), которая в свою очередь разработана при участии не только компании Microsoft, но и целого ряда других компаний. Задачей WBEM является разработка таких стандартов удалённого управления информационной средой предприятия, которые не зависят от конкретного оборудования, сетевой инфраструктуры, операционной системы, файловой системы и т.д. В рамках WBEM была предложена схема Common Information Model (CIM), которая представляет структуру компьютерной системы в виде единой расширяемой объектно-ориентированной модели и поддерживается в WMI.

Разработчики Microsoft реализовали WMI в Windows 98 и в Win95 OSR2, сделали его доступным для NT 4.0, начиная с Service Pack 4 (SP4), и, наконец, интегрировали в Windows 2000 и ХР.

Архитектура WMI состоит из четырех сегментов, показанных на рисунке 2: управляющие программы (management applications), ядро WMI (WMI infrastructure), провайдеры (providers), или поставщики, и управляемые объекты (managed objects).

Рисунок 2 - Архитектура WMI

Менеджер объектов CIM (Common Information Model Object Manager, CIMOM), который обеспечивает обработку всех запросов конечных приложений к WMI и доставку информации от WMI к конечным приложениям. Все провайдеры WMI должны быть зарегистрированы с помощью CIMOM для правильного перенаправления полученных от конечного приложения запросов к нужному провайдеру. Функциональность CIMOM обеспечивает файл winmgmt.exe, который находится в каталоге %SystemRoot%\System32\Wbem\. Этот файл запускается как сервис.

Репозиторий (хранилище классов) CIM. Объекты-экземпляры таких классов создаются провайдером WMI по запросу потребителя. В Windows Server 2003 и Windows XP репозиторий физически располагается в каталоге %SystemRoot%\System32\Wbem\Repositiry\FS\ в файлах objects.data (репозиторий), index.btr (индексный файл), index.map и object.map (файлы контроля над транзакциями). В более ранних версиях Windows, репозиторий располагается в файле cim.rep.

Провайдеры WMI, которые скрывают детали внутренней реализации управляемых объектов, позволяя CIMOM обращаться к этим объектам единообразно, используя WMI API. Фактически провайдеры являются COM-серверами, которые представлены dll-библиотеками в каталоге %SystemRoot%\System32\Wbem\. WMI включает множество встроенных провайдеров, которые предназначены для получения данных из различных источников, например, журналов событий, системного реестра и т.д.

Библиотека поддержки сценариев (WMI scripting library), которая располагается в файле wbemdisp.dll в каталоге %SystemRoot%\System32\Wbem\.

2. Практическая часть

2.1 Постановка задачи

Необходимо разработать программу, позволяющую получать информацию о CD/DVD-устройствах.

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

Разработанная утилита позволяет получать информацию о CD/DVD устройствах, а конкретно: наимаенование устройства, возможности, описание устройства, идентификатор устройства, имя , тип устройства и т.д.

Решение было найдено с помощью инструментария управления WMI.

WMI построен по объектно-ориентированному принципу, то есть все данные операционной системы представлены в виде объектов и их свойств и методов.

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

При обращение к WMI из Visual Studio, используется System.Management класс запросов к WMI, в котором указываются пространство WMI.

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

using System;

using System.Management;

namespace WMISample

{

public class MyWMIQuery

{

public static void Main()

{

try

{

ManagementObjectSearcher searcher =

new ManagementObjectSearcher("root\\CIMV2",

"SELECT * FROM Win32_CDROMDrive");

foreach (ManagementObject queryObj in searcher.Get())

{

Console.WriteLine("-----------------------------------");

Console.WriteLine("Win32_CDROMDrive instance");

Console.WriteLine("-----------------------------------");

// Console.WriteLine("Availability: {0}", queryObj["Availability"]);

if (queryObj["Capabilities"] == null)

Console.WriteLine('\n');//Console.WriteLine("Capabilities: {0}", queryObj["Capabilities"]);

else

{

UInt16[] arrCapabilities = (UInt16[])(queryObj["Capabilities"]);

foreach (UInt16 arrValue in arrCapabilities)

{

// Console.WriteLine("Capabilities: {0}", arrValue);

}

}

if (queryObj["CapabilityDescriptions"] == null)

Console.WriteLine("CapabilityDescriptions(Возможности): {0}", queryObj["CapabilityDescriptions"]);

else

{

String[] arrCapabilityDescriptions = (String[])(queryObj["CapabilityDescriptions"]);

foreach (String arrValue in arrCapabilityDescriptions)

{

Console.WriteLine("CapabilityDescriptions(Возможности): {0}", arrValue);

}

}

Console.WriteLine("Caption(Наимаенование устройства): {0}", queryObj["Caption"]);

/*Console.WriteLine("CompressionMethod: {0}", queryObj["CompressionMethod"]);

Console.WriteLine("ConfigManagerErrorCode: {0}", queryObj["ConfigManagerErrorCode"]);

Console.WriteLine("ConfigManagerUserConfig: {0}", queryObj["ConfigManagerUserConfig"]);

Console.WriteLine("CreationClassName: {0}", queryObj["CreationClassName"]);

Console.WriteLine("DefaultBlockSize: {0}", queryObj["DefaultBlockSize"]);

*/

Console.WriteLine("Description(Описание устройства): {0}", queryObj["Description"]);

Console.WriteLine("DeviceID(Идентификатор устройства): {0}", queryObj["DeviceID"]);

Console.WriteLine("Drive(Логический диск): {0}", queryObj["Drive"]);

Console.WriteLine("Manufacturer(Производитель): {0}", queryObj["Manufacturer"]);

/*Console.WriteLine("MaxBlockSize: {0}", queryObj["MaxBlockSize"]);

Console.WriteLine("MaximumComponentLength: {0}", queryObj["MaximumComponentLength"]);

Console.WriteLine("MaxMediaSize: {0}", queryObj["MaxMediaSize"]);

Console.WriteLine("MediaLoaded: {0}", queryObj["MediaLoaded"]);

*/

Console.WriteLine("MediaType(Тип устройства): {0}", queryObj["MediaType"]);

/*Console.WriteLine("MfrAssignedRevisionLevel: {0}", queryObj["MfrAssignedRevisionLevel"]);

Console.WriteLine("MinBlockSize: {0}", queryObj["MinBlockSize"]);

*/

Console.WriteLine("Name: {0}", queryObj["Name"]);

//Console.WriteLine("NeedsCleaning: {0}", queryObj["NeedsCleaning"]);

//Console.WriteLine("NumberOfMediaSupported: {0}", queryObj["NumberOfMediaSupported"]);

Console.WriteLine("PNPDeviceID: {0}", queryObj["PNPDeviceID"]);

/*if (queryObj["PowerManagementCapabilities"] == null)

Console.WriteLine("PowerManagementCapabilities: {0}", queryObj["PowerManagementCapabilities"]);

else

{

UInt16[] arrPowerManagementCapabilities = (UInt16[])(queryObj["PowerManagementCapabilities"]);

foreach (UInt16 arrValue in arrPowerManagementCapabilities)

{

Console.WriteLine("PowerManagementCapabilities: {0}", arrValue);

}

}

Console.WriteLine("PowerManagementSupported: {0}", queryObj["PowerManagementSupported"]);

Console.WriteLine("RevisionLevel: {0}", queryObj["RevisionLevel"]);

Console.WriteLine("SCSIBus: {0}", queryObj["SCSIBus"]);

Console.WriteLine("SCSILogicalUnit: {0}", queryObj["SCSILogicalUnit"]);

Console.WriteLine("SCSIPort: {0}", queryObj["SCSIPort"]);

Console.WriteLine("SCSITargetId: {0}", queryObj["SCSITargetId"]);

*/

Console.WriteLine("SerialNumber(Серийный номер): {0}", queryObj["SerialNumber"]);

Console.WriteLine("Size(Размер): {0}", queryObj["Size"]);

Console.WriteLine("Status: {0}", queryObj["Status"]);

//Console.WriteLine("StatusInfo: {0}", queryObj["StatusInfo"]);

//Console.WriteLine("SystemCreationClassName: {0}", queryObj["SystemCreationClassName"]);

Console.WriteLine("SystemName: {0}", queryObj["SystemName"]);

Console.WriteLine("TransferRate(Скорость передачи): {0}", queryObj["TransferRate"]);

Console.WriteLine("VolumeName(Метка тома): {0}", queryObj["VolumeName"]);

Console.WriteLine("VolumeSerialNumber(Серийный номер тома): {0}", queryObj["VolumeSerialNumber"]);

Console.ReadKey();

}

}

catch (ManagementException e)

{

// MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);

}

}

}

}

2.3 Тестирование программы

Утилита является информационной, пример работы представлен на рисунке 3.

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

Данная утилита предоставляет информацию о CD/DVD-устройствах, возможности данных устройств, имя, серийный номер и т.д.

Заключение

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

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

Результатом курсового проекта является разработанная программа, соответствующая поставленной задаче. Утилита предоставляет необходимую информацию о CD/DVD - устройствах.

Список литературы

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

2.Марк Руссинович. - Внутреннее устройство Windows.

3.Справочник по языку C# - Электрон. дан. - http://msdn.ru

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


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

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

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

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

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

  • Разработка программы FileInfo, выдающей полную информацию о заданном файле с применением языка программирования С++, используя API функции Win 32. Использование пространств имён .NetFramework. Руководство пользователя и системные требования программы.

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

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

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

  • Разработка игры "Угадай персонажа", ее суть и содержание. Запоминание новых персонажей и вопросов, коррекция базы данных. Использование языка программирования С++ и среды разработки Microsoft Visual Studio 2010. Алгоритмы и методы, структура программы.

    курсовая работа [571,9 K], добавлен 14.07.2012

  • Изучение принципов построения линейных алгоритмов и простых расчетных программ на языке программирования C. Разработка программы расчета математических выражений на основе вводимых данных. Создание консольных приложений в среде Microsoft Visual Studio.

    лабораторная работа [254,4 K], добавлен 23.11.2014

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

    практическая работа [460,6 K], добавлен 22.01.2013

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

    методичка [2,1 M], добавлен 11.09.2014

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

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

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

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

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