logo
ПЗ_А

1.1.3.Эмуляция аппаратных модулей pos-терминала

POS-терминал представляет собой совокупность следующих аппаратных модулей, объединенных в одном защищенном от внешнего проникновения корпусе:

Программное средство эмуляции POS-терминала было создано на базе POS-терминала «ЯРУС» (см. рис. Рис. 1 .3) - первого POS-терминала российского производства, разработанного фирмой «Терминальные технологии» («Виджет»).

Рис. 1.3. Внешний вид POS-терминала «ЯРУС».

POS-терминал «ЯРУС» работает под управлением операционной системы Linux. Данная операционная система была выбрана из ряда других в связи со следующими ее достоинствами по отношению к другим операционными системам:

  1. Гибкость. Практически все в Linux поддается настройке в соответствии с конкретными задачами и оборудованием. Кроме того разработчику становятся доступны исходные тексты ядра и приложений, в результате чего можно модифицировать систему так, как это нужно разработчику. Такое можно встретить далеко не в каждой операционной системе, особенно семейства Windows. Еще один важный аспект заключается в том, что возможна загрузка собственных драйверов, обслуживающих те или иные устройства, в оперативную память. Эта возможность в полной мере была использована при разработке терминала.

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

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

  4. Нетребовательность к ресурсам. Данное условие очень важно, т.к. значительно сокращает затраты на аппаратные ресурсы при проектировании терминала. В рассматриваемом терминале был использован процессор ARM Zilog ZA9L, а также всего несколько десятков мегабайт оперативной памяти, чего вполне достаточно для работы ядра Linux.

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

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

Для реализации остальной функциональности программного средства наиболее подходит язык Си++, который имеет ряд преимуществ по сравнению с языком С. Во-первых, большинство библиотек пользовательского интерфейса имеют объектно-ориентированный подход, что делает возможным их использование только в рамках программы на языке Си++. Во-вторых объектный подход позволяет задать модульную структуру программы, в результате чего не составит никакого труда добавить функционал для эмуляции какого-либо нового устройства. Ну и наконец, в операционной системе Linux предусмотрен широкий спектр различных настроек сборки программы на С++ при использовании компилятора GCC GNU.

Выполнение на ПК программного обеспечения, предназначенного для запуска на терминале, возможно за счет того, что при компиляции собирается две версии программы под разные платформы – одна под Intel I386, другая под ARM Zilog ZA9L. Сравнительная схема работы программного средства на ПК и на терминале изображена на рис. Рис. 1 .4.

Рис. 1.4. Сравнительные схемы работы ПО POS-терминала.

Как видно из схемы работы программного средства, изображенной на рис. Рис. 1 .4, отличие в работе заключается в следующем. На терминале драйверы аппаратных модулей включают в себя всю необходимую функциональность по управлению данным аппаратным модулем. На ПК драйверы предоставляют программному обеспечению тот же интерфейс, но являются «каналами», через которые данные передаются от программного обеспечения к прикладной программе ПС ЭТ и обратно. Прикладная программа в свою очередь обрабатывает данные и выводит их на эмулируемые аппаратные модули POS-терминала.

В табл. Таблица 1 .2 приведена сравнительная характеристика рассмотренных программных средств.

Таблица 1.2