Смекни!
smekni.com

Создание базы данных функциональных аналогов Windows-программ для ОС Linux и разработка методики подбора ПО (стр. 1 из 5)

Кафедра Информационно-коммуникационных технологий

Создание базы данных функциональных аналогов Windows-программ для ОС Linux и разработка методики подбора ПО

МОСКВА 2009 г.


Аннотация

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


Введение

Актуальность выбранной темы

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

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

Практическая значимость

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

Обзор существующих методов и решений

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

Вспомогательные программы позволяю оценить возможность качественной адаптации после перехода. К примеру существуют программы, оценивающие доступность драйверов Linux для конкретной аппаратной конфигурации. Набор инструкций – это в большинстве случаев электронно-информационные ресурсы, в роле которых выступают форумы или сайты. Также хорошую поддержку оказывают сами разработчики ОС Linux, создавая качественную документацию на различных языках, в том числе и русском. Для данной темы существую, наборы списков соответствий, в которых сопоставлены аналоги программ ОС Windows с ОС Linux. По этим спискам можно понять, какую программу и на сколько качественно её можно заменить, но это всё нужно делать вручную, что требует определённых знаний и навыков, отсутствие чего ведёт к затрате времени. Исходя, из этого процесс возможности выбора и установки программ аналогов был автоматизирован при решении поставленной задачи.

1. Технологические основы разработки

1.1 Как формируется список программ в ОС Windows

Windows Installer (установщик Windows) – подсистема Microsoft Windows, обеспечивающая установку программ (инсталлятор). Является компонентом Windows, начиная с Windows 2000; может доустанавливаться и на более ранние версии Windows. Вся необходимая для установки информация (иногда и вместе с устанавливаемыми файлами) содержится в установочных пакетах (installation packages), имеющих расширение.msi. Windows Installer был разработан в 1995–1998 годах и имел вначале кодовое название Darwin. Ранние версии назывались Microsoft Installer, отсюда стандартное расширение файла инсталляционного пакета – .msi. Windows Installer оказался значительным шагом вперёд по отношению к предыдущему инсталлятору Microsoft – Setup API (ACME Setup): в нём были введены возможности GUI, поддержка деинсталляции и отката в любой момент установки (включая откат во время деинсталляции), корректная работа с правами доступа в Windows и другие возможности, что сделало его сильной альтернативой различным существовавшим на рынке инсталляционным пакетам. Файл.msi представляет собой составной документ OLE (OLE compound document – в том же формате-контейнере хранятся документы Microsoft Word, Excel и т.д.), в котором содержится небольшая реляционная база данных – набор из нескольких десятков взаимосвязанных таблиц, содержащих различную информацию о продукте и процессе установки. При этом все строковые данные в базе хранятся вместе в отдельном потоке документа, а в таблицах базы на них имеются ссылки; таким образом, избегают дублирования строк, что значительно уменьшает размер базы.

Кроме базы, структура файла.msi предусматривает помещение туда пользовательских сценариев и вспомогательных DLL, если таковые требуются для установки, а также самих устанавливаемых файлов, запакованных в формате.cab. Файлы можно размещать и отдельно от пакета, в запакованном или распакованном виде (с сохранением структуры каталогов).

На этапе сбора информации Windows Installer собирает инструкции (либо путём взаимодействия с пользователем, либо программным путём) установить или удалить одну или несколько возможностей, входящих в продукт. Эти инструкции в дальнейшем формируют на основе базы данных внутренний сценарий, детально описывающий последующий этап выполнения.

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

В процессе установки Windows Installer использует реестр операционной системы, через ветку HKEY_LOCAL_MSSHINE которого можно выйти на список зарегистрированных в нём программ.

1.2Как устроен реестр в ОС Windows

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

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

Реестр Windows имеет многоуровневую структуру, состоящую из четырёх нисходящих логических ступеней. К первой, самой верхней в иерархии реестра, ступени относя так называемые ветви (Hive Keys), которые принято обозначать по их английскому наименованию аббревиатурой HKEY_, где за символом подчёркивания следует обычно название самой ветви. Всего в реестре Windows насчитывается пять ветвей:

· HKEY_ CLASSES_ROOT – включает в себя ряд подразделов, в которых содержатся сведения о расширениях всех зарегистрированных в системе типов файлов.

· HKEY_CURRENT_USER – содержится информация о пользователе, ведущем на компьютере текущий сеанс работы, который обслуживается реестром. В её подразделах находится информация о переменных окружения, группах программ данного пользователя, настройка «Рабочего стола», цветах экрана, сетевые соединения, принтерах и дополнительных настройках приложений.