Программно аппаратные средства ускорения приложений. Аппаратные средства компьютерных технологий: определение, описание и виды. Компоненты программно-аппаратных компьютерных средств

06.10.2021

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

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

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

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

Были разработаны звуковые платы (Sound Blaster), платы мультимедиа, которые аппаратно реализуют алгоритм перевода аналогового сигнала в дискретный. К компакт-дискам было подсоединено постоянное запоминающее устройство (CD-ROM).

Для хранения изображения неподвижной картинки на экране с разрешением 512 х 482 точек (пикселей) требуется 250 Кбайт. При этом качество изображения - низкое. Потребовалась разработка программных и аппаратных методов сжатия и развертки данных. Такие устройства и методы были разработаны с коэффициентом сжатия 100:1 и 160:1. Это позволило на одном компакт-диске разместить около часа полноценного озвученного видео. Наиболее прогрессивными методами сжатия и развертки считаются IPEG и MPEG.

Стив Джобс в 1988 г. создал принципиально новый тип персонального компьютера –NeХТ, у которого базовые средства систем мультимедиа заложены архитектуру, аппаратные и программные средства. Были применены новые мощные центральные процессоры 68030 и 68040, процессор обработки сигналов DSP, который обеспечивал обработку звуков, изображений, синтез и распознавание речи, сжатие изображения, работу с цветом. Объем оперативной памяти равнялся 32 Мбайтам, использовались стираемые оптические диски, стандартно встроенные сетевые контроллеры, которые позволяют подключаться в сеть, обеспечены методы сжатия, развертки и т.д. Объем памяти винчестера -105 Мбайт и 1,4 Гбайт.

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

Многие операционные системы поддерживают технологию мультимедиа: Windows, начиная с версии 3.1, DOS 7.0, OS/2 и др. Операционная система Windows-95 включила аппаратные средства поддержки мультимедиа, что позволяет пользователям воспроизводить оцифрованное видео, аудио, анимационную графику, подключать различные музыкальные синтезаторы и инструменты. В Windows-95 разработана специальная версия файловой системы для поддержки высококачественного воспроизведения звука, видео и анимации. Файлы мультимедийной информацией хранятся на CD-ROM, жестком диске или на сетевом сервере. Оцифрованное видео обычно хранится в файлах с расширением AVI, аудиоинформация - в файлах с расширением WAV, аудио в форме интерфейса MIDI - в файлах с расширением MID. Для их поддержки разработана файловая подсистема, обеспечивающая передачу информации с CD-ROM с оптимальной скоростью, что существенно при воспроизведении аудио- и видеоинформации.

Даже из такого краткого перечисления возможностей технологии мультимедиа видно, что идет сближение рынка компьютеров, программного обеспечения, потребительских товаров и средств производства того и другого. Наблюдается тенденция развития мультимедиа-акселераторов. Мультимедиа-акселератор - программно-аппаратные средства, которые объединяют базовые возможности графических акселераторов с одной или несколькими мультимедийными функциями, требующими обычно установки в компьютер дополнительных устройств. К мультимедийным функциям относятся цифровая фильтрация и масштабирование видео, аппаратная цифровая сжатие-развертка видео, ускорение графических операций, связанных с трехмерной графикой (3D), поддержка «живого» видео на мониторе, наличие композитного видеовыхода, вывод ТV-сигнала (телевизионного) на монитор. Графический акселератор также представляет собой программно-аппаратные средства ускорения графических операций: перенос блока данных, закраска объекта, поддержка аппаратного курсора. Происходит развитие микросхемотехники с целью увеличения производительности электронных устройств и минимизации их геометрических размеров. Микросхемы, выполняющие функции компонентов звуковой платы, объединяются на одной микросхеме размером со спичечный коробок. И предела этому нет.

К 90-м гг. было разработано более 60 пакетов программ с технологией мультимедиа. При этом стандарта не существовало, и в этом же году фирмы Microsoft и IBM одновременно предложили два стандарта. IBM предложила стандарт Ultimedia, a Microsoft - MPC. Остальные фирмы-производители стали разрабатывать пакеты программ на основе этих стандартов. В настоящее время используется стандарт МРС-2, кроме того, разработаны стандарты на приводы CD-RQM, Sound Blaster - звуковые карты, МIDI-интерфейс - стандарт для подключения различных музыкальных синтезаторов, DCI-интерфейс - интерфейс с дисплейными драйверами, позволяющими воспроизводить полноэкранную видеоинформацию, MCI-интерфейс - интерфейс для управления различными мультимедийными устройствами, стандарты на графические адаптеры. Фирма Apple совместно с FujiFilm разработали первый промышленный стандарт 1ЕЕЕР1394 для разработки набора микросхем Fire Wire, позволяющий оснастить цифровым интерфейсом многие потребительские товары, такие как видеокамера, для использования их в технологии мультимедиа.

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

В настоящее время мультимедиа-технологии являются бурно развивающейся областью информационных технологий. В этом направлении активно работает значительное число крупных и мелких фирм, технических университетов и студий (в частности IBM, Apple, Motorola, Philips, Sony, Intel и др.). Области использования чрезвычайно многообразны: интерактивные обучающие и информационные системы, САПР, развлечения и др.

Основными характерными особенностями этих технологий являются:

Объединение многокомпонентной информационной среды (текста, звука, графики, фото, видео) в однородном цифровом представлении;

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

Простота переработки информации (от рутинных до творческих операций).

Достигнутый технологический базис основан на использовании нового стандарта оптического носителя DVD (Digital Versalite/Video Disk), имеющего емкость порядка единиц и десятков гигабайт и заменяющего все предыдущие: CD-ROM, Video-CD, CD-audio. Использование DVD позволило реализовать концепцию однородности цифровой информации. Одно устройство заменяет аудиоплейер, видеомагнитофон, CD-ROM, дисковод, слайдер и др. В плане представления информации оптический носитель DVD приближает ее к уровню виртуальной реальности.

Многокомпонентную мультимедиа-среду целесообразно разделить на три группы: аудиоряд, видеоряд, текстовая информация.

Аудиоряд может включать речь, музыку, эффекты (звуки типа шума, грома, скрипа и т.д., объединяемые обозначением WAVE (волна) . Главной проблемой при использовании этой группы мультисреды является информационная емкость. Для записи одной минуты WAVE-звука высшего качества необходима память порядка 10 Мбайт, поэтому стандартный объем CD (до 640 Мбайт) позволяет записать не более часа WAVE. Для решения этой проблемы используются методы компрессии звуковой информации.

Другим направлением является использование в мультисреде звуков (одноголосая и многоголосая музыка, вплоть до оркестра, звуковые эффекты) MIDI (Musical Instrument Digitale Interface). В данном случае звуки музыкальных инструментов, звуковые эффекты синтезируются программно-управляемыми электронными синтезаторами. Коррекция и цифровая запись MIDI-звуков осуществляется с помощью музыкальных редакторов (программ-секвенсоров). Главным преимуществом MIDI является малый объем требуемой памяти - 1 минута MIDI-звука занимает в среднем 10 кбайт.

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

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

Динамический видеоряд представляет собой последовательность статических элементов (кадров). Можно выделить три типовых группы:

Обычное видео (life video) - последовательность фотографий (около 24 кадров в секунду);

Квазивидео - разреженная последовательность фотографий (6-12 кадров в секунду);

Анимация - последовательность рисованных изображений. Первая проблема при реализации видеорядов - разрешающая

способность экрана и число цветов. Выделяют три направления:

Стандарт VGA дает разрешение 640 х 480 пикселей (точек) на экране при 16 цветах или 320 х 200 пикселей при 256 цветах;

Стандарт SVGA (видеопамять 512 кбайт, 8 бит/пиксель) дает разрешение 640 х 480 пикселей при 256 цветах;

24-битные видеоадаптеры (видеопамять 2 Мбайт, 24 бит/пиксель) позволяют использовать 16 млн цветов.

Вторая проблема - объем памяти. Для статических изображений один полный экран требует следующие объемы памяти:

В режиме 640 х 480, 16 цветов - 150 кбайт;

В режиме 320 х 200, 256 цветов - 62,5 кбайт;

В режиме 640 х 480, 256 цветов - 300 кбайт.

Такие значительные объемы при реализации аудио- и видеорядов определяют высокие требования к носителю информации, видеопамяти и скорости передачи информации. "

При размещении текстовой информации на CD-ROM нет никаких сложностей и ограничений ввиду большого информационного объема оптического диска.

Основные направления использования мультимедиа-технологий:

Электронные издания для целей образования, развлечения и др.;

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

Мультимедийные информационные системы («мультимедиа-киоски»), выдающие по запросу пользователя наглядную информацию.

С точки зрения технических средств на рынке представлены как полностью укомплектованные мультимедиа-компьютеры, так и отдельные комплектующие и подсистемы (Multimedia Upgrade Kit), включающие в себя звуковые карты, приводы компакт-дисков, джойстики, микрофоны, акустические системы.

Для персональных компьютеров класса IBM PC утвержден специальный стандарт МРС, определяющий минимальную конфигурацию аппаратных средств для воспроизведения мультимедиа-продуктов. Для оптических дисков CD-ROM разработан международный стандарт (ISO 9660).

Экономика – в конце документа

Архитектура процессоров Intel становится все более ориентированной на ГП, что открывает удивительные возможности для резкого повышения производительности просто за счет разгрузки обработки мультимедиа с ЦП на ГП. Существует немало инструментов, доступных разработчикам для повышения производительности мультимедиа приложений. В числе этих инструментов есть бесплатные и простые в использовании.
В этой публикации вы найдете:

  • Обзор вычислительных архитектур и текущие возможности ГП Intel
  • Реализацию аппаратного ускорения с помощью FFmpeg
  • Реализацию аппаратного ускорения с помощью Intel Media SDK или аналогичного компонента Intel Media Server Studio (в зависимости от целевой платформы)
Если вы испытываете потребность повысить производительность обработки мультимедиа, но не знаете, с чего начать, начните с FFmpeg. Измерьте производительность при программной обработке, затем просто включите аппаратное ускорение и проверьте, насколько изменилась производительность. Затем добавьте использование Intel Media SDK и снова сравнивайте при использовании разных кодеков и в разных конфигурациях.

Вычислительная архитектура: от суперскалярной до разнородной

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


Рисунок 1. Суперскалярная архитектура

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

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


Рисунок 2. Многоядерная архитектура

Современная разнородная архитектура

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

Другими словами, благодаря этой архитектуре мы получили ощутимые преимущества как в области производительности, так и в области потребления электроэнергии, недоступные ранее. На рис. 3 показано развитие ГП за пять последних поколений: графические процессоры приобретают все более важное значение. И при использовании h.264, и при переходе на самые современные кодеки h.265 графические процессоры предоставляют значительную вычислительную мощность, благодаря которой обработка видео с разрешением 4K и даже с более высоким разрешением не только становится возможной, но и выполняется достаточно быстро.


Рисунок 3. Развитие разнородной архитектуры

Поколения производительности ГП

На рис. 4 показано резкое повышение вычислительной мощности всего за несколько поколений, в которых графические процессоры конструктивно размещались на одном кристалле с ЦП. Если в вашем приложении используется обработка мультимедиа, необходимо задействовать разгрузку на ГП, чтобы добиться ускорения в 5 раз или более (в зависимости от возраста и конфигурации системы).


Рисунок 4. Усовершенствование обработки графики в каждом поколении процессоров Intel

Приступая к программированию ГП

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

На шаге 2 проводится тестирование с разными кодеками и в разных конфигурациях. Можно включить аппаратное ускорение, просто заменив кодек (замените libx264 на h264_qsv) на использующий Intel Quick Sync Video .

На шаге 3 добавлено использование Intel Media SDK.

Примечание. В этой публикации рассматривается использование этих инструментов в операционной системе Windows*. Если вас интересует реализация для Linux*, см. Доступ к Intel Media Server Studio для кодеков Linux с помощью FFmpeg .

▍Кодирование и декодирование FFmpeg

Начните с H.264 (AVC), поскольку h264: libx264 является программной реализацией в FFmpeg по умолчанию и выдает высокое качество исключительно программными средствами. Создайте собственный тест, затем снова измерьте производительность, сменив кодек с libx264 на h264_qsv. Позднее мы поговорим о кодеках H.265.

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

  • кодирование за 1 проход с постоянной скоростью данных (set -b:v);
  • кодирование за 2 прохода с постоянной скоростью данных;
  • постоянный коэффициент скорости (CRF).
Intel Quick Sync Video поддерживает декодирование и кодирование с помощью ЦП Intel и интегрированного ГП1. Обратите внимание, что процессор Intel должен быть совместимым с Quick Sync Video и с OpenCL*. Дополнительные сведения см. в Заметках о выпуске Intel SDK для приложений OpenCL* . Поддержка декодирования и кодирования встроена в FFmpeg с помощью кодеков с суффиксом _qsv . В настоящее время Quick Sync Video поддерживается следующими кодеками: видео MPEG2, VC1 (только декодирование), H.264 и H.265.

Если вы хотите поэкспериментировать с Quick Sync Video в FFmpeg, необходимо добавить libmfx. Самый простой способ установить эту библиотеку - использовать версию libmfx , упакованную разработчиком lu_zero.
Пример кодирования с аппаратным ускорением Quick Sync Video:

Ffmpeg -I INPUT -c:v h264_qsv -preset:v faster out.qsv.mp4

FFmpeg также может использовать аппаратное ускорение при декодировании с помощью параметра -hwaccel .

Кодек h264_qsv работает очень быстро, но видно, что даже самый медленный режим работы с аппаратным ускорением значительно быстрее только программного кодирования при самом низком качестве и самой высокой скорости.
При тестировании с кодеками H.265 вам потребуется либо получить доступ к сборке с поддержкой libx265, либо собрать собственную версию согласно инструкциям в Руководстве по кодированию для FFmpeg и H.265 или в документации X265 .
Пример H.265:

Ffmpeg -I input -c:v libx265 - preset medium -x265-params crf=28 -c:a aac -strict experimental -b:a 128k output.mp4

Дополнительные сведения об использовании FFmpeg и Quick Sync Video см. в разделе Облачные вычисления Intel QuickSync Video и FFmpeg .

Использование Intel Media SDK (sample_multi_transcode)

Для дальнейшего повышения производительности при использовании FFmpeg необходимо оптимизировать приложение с помощью Intel Media SDK. Media SDK - это межплатформенный интерфейс API для разработки и оптимизации мультимедиа приложений таким образом, чтобы использовать аппаратное ускорение блоков Intel с фиксированными функциями.
  • Если ваши приложения и решения мультимедиа предназначены для клиентских устройств, используйте пакет Intel Media SDK . Его можно загрузить бесплатно .
  • Если же ваши решения предназначены для встроенных систем, серверов или облачных платформ, доступ к Intel Media SDK можно получить с помощью Intel Media Server Studio . У этого решения есть бесплатный выпуск Community Edition и два платных выпуска: Essentials и Professional (их также можно использовать для ускорения перехода на HEVC и 4K/UHD).
Чтобы начать работать с Intel Media SDK, достаточно выполнить несколько простых действий:
  1. Загрузите Intel Media SDK для целевого устройства.
  2. Загрузите учебные руководства и прочтите их, чтобы понять, как настраивать программное обеспечение с помощью SDK.
  3. Установите Intel Media SDK. Если вы используете Linux, см. руководство по установке для Linux .
  4. Загрузите образец кода SDK , чтобы поэкспериментировать с уже скомпилированными образцами приложений.
  5. Соберите и запустите приложение Video Transcoding: sample_multi_transcode
Команды аналогичны командам FFmpeg. Примеры:

VideoTranscoding_folder\_bin\x64>\sample_multi_transcode.exe -hw -i::h264 in.mpeg2 -o::h264 out.h264
VideoTranscoding_folder\_bin\x64>\sample_multi_transcode.exe -hw -i::h265 in.mpeg2 -o::h265 out.h265

Обратите внимание, что для использования аппаратного ускорения необходимо указать параметр -hw в списке аргументов.
Этот пример также работает с декодером и кодировщиком HEVC (h.265), но его необходимо устанавливать из выпуска Intel Media Server Studio Pro.
Существует множество параметров, которые можно указывать в командной строке. С помощью параметра -u можно задать целевое использование (TU), как при использовании предустановок FFmpeg. TU = 4 используется по умолчанию. На рис. 5 показаны показатели производительности при разных настройках TU.


Рисунок 5. Примеры характеристик производительности H264 по отношению к целевому использованию

Используйте другие программные средства Intel
Для дальнейшей доработки кода можно использовать средства оптимизации и профилирования Intel, в том числе

Одна из самых больших проблем, с которыми сталкиваются пользователи программы 1С Предприятие - её медленная работа. "Торможение" начинается при росте информационной базы и увлечении количества пользователей программы. Как решить эту проблему?

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

Выбор платформы 1С Предприятие. При работе с локальной версией программы пользователь обычно не сталкивается с проблемой медленной работы, другой вопрос в работе с сетевыми версиями. Существует две разновидности платформы для сетевого пользователя: Полезное-Варианты подключения компьютеров к БД . Файл-серверная версия использует формат файла DBF, преимущество этой версии заключается в том, что не требуется дополнительного программного или аппаратного обеспечения.. Этот формат, прежде всего, разрабатывался для однопользовательских и локальных приложений, поэтому при работе более 7-10 пользователей наблюдается значительное замедление работы программы. Особенно если кто-нибудь из пользователей запустит построение отчётов или регистров.

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

Организационное решение работы с программой. Пользователей программы 1С Предприятия и 1С Бухгалтерии можно разделить на две основные группы: оперативную и аналитическую. Оперативная группа занимается вводом информации и оформлением документации, а аналитическая в свою очередь анализом результата деятельности организации. Если для пользователей первой группы необходима незамедлительная реакция системы и актуальные итоги, то для второй группы актуальность итогов в пределах последних нескольких часов не играет особого значения. Особенно "торможение" системы вызывают расчёты итогов задним числом, это и проведение документов прошлыми датами и получение отчётов с расчётом остатка и движения, т.е. основные моменты работы аналитиков. Оперативная группа по большей части выполняет операции с текущими актуальными итогами. Как выход из сложившийся ситуации, можно посоветовать аналитической группе снимать копии информационной базы, к себе, на локальный диск компьютера. В DBF-версии для этого даже нет необходимости монопольного доступа к файлам. Вы можете скопировать базу, если в ней в данный момент работают другие пользователи, для этого откройте каталог информационной базы 1С Предприятия выделите в нём все файлы кроме файлов с расширением.CDX и скопируйте их к себе на локальный диск. Укажите путь к копии базы и запустите в монопольном режиме. Как вариант можно настроить ежедневное резервное копирование. Рекомендуем также, после построения отчёта, закрыть и заново запустить программу, для освобождения выделенной памяти компьютера. По возможности "тяжёлые" процессы, такие как: переиндексация, открытие периода, перепроведение документов, расчёт итогов, запускайте на сервере, у которого каталог с базой 1С Предприятия хранится на локальном диске.

Достоинства методов в том, что обменивающиеся базы данных могут иметь совершено различные конфигурации, и информацию при переносе можно преобразовывать, используя встроенный язык 1С. Недостаток - в медлительности работы и сложности настройки "Правила конвертации". В том числе следует учесть, что при изменении хотя бы одной из конфигураций, придётся перенастраивать "Правила конвертации".

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

1) аппаратное устройство(аппаратная часть);

2) программный модуль(программная часть).

Поэтому обычно говорят о системах программно-аппаратной защиты.

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

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

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

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

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

Системы программно-аппаратной защиты широко используются на практике и многими пользователями признаются надежным средством.

Идентификация пользователя может быть основана

· на знании некоторой секретной информации (пароль, код);

· на владении некоторым специальным предметом или устройством (магнитная карточка, электронный ключ);

· на биометрических характеристиках (отпечатки пальцев, сетчатка глаза, спектральный состав голоса и т.п.).

Системы, основанные на знании некоторой секретной информации

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

Системы, основанные на владении некоторым специальным предметом или устройством

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

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

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

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

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

Системы, основанные на биометрических характеристиках

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

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

Устройства считывания отпечатков пальцев идентифицируют личность по форме и числу деталей - точек начала и конца линий на пальце.

Сканеры сетчатки глаза сканируют образцы сетчатки глаза пользователя, сосредоточиваясь на уникальных кровеносных сосудах. С помощью инфракрасного излучения с яркостью лампочки новогодней елки берутся данные по 300 точкам в области сетчатки глаза, и собранная информация преобразуется в число (стоимость такой системы защиты колеблется в пределах 6.000 долларов).

Устройства верификации голоса строят математическую модель вокального диапазона говорящего и используют ее для сравнения с образцом голоса (цена такого устройства колеблется от 1.000 до 1.500 долларов). Разработчики таких систем уделяют внимание решению проблеме обмана таких систем с помощью магнитофонов.

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

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

Аутентификация пользователя обычно реализуется по одной из двух схем: простая PIN -аутентификация или защищенная PIN -аутентификация. Обе схемы основаны на установлении подлинности пользователя посредством сравнения PIN -кода пользователя (PIN - Personal identification number , персональный идентификационный номер) с эталоном.

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

Процесс защищенной PIN -аутентификации реализуется по следующей схеме:

· защищенное приложение посылает запрос ключу (смарт-карте) на PIN -аутентификацию;

· ключ (смарт-карта) возвращает случайное 64-разрядное число;

· приложение складывает это число по модулю 2 с PIN -кодом, который ввел владелец ключа (смарт-карты), зашифровывает его DES -алгоритмом на специальном ключе аутентификации и посылает результат ключу (смарт-карте);

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

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

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

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

Новейшие стандарты и технологии (в частности, технология подключения устройств на основе USB -шины - Universal Serial Bus ) позволяют иметь дополнительные порты в удобных и легкодоступных местах компьютера и тем самым способствуют широкому применению аппаратных устройств для защиты.

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

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

n серийный номер программы;

n номер версии;

n дату выпуска (продажи) и др.

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

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

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

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

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

Электронные ключи обеспечивают также лицензирование в сетях.

Лицензия - это оговоренные при покупке программного продукта права на использование программы.

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

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

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

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

В январе 1999 года израильской компанией Aladdin Knowledge Systems была запатентована технология eToken USB (для нового поколения компьютеров с периферийной шиной USB ) на основе концептуально нового электронного ключа eToken . Электронный ключ eToken предназначен для безопасного хранения паролей, ключей шифрования, а также для защиты программного обеспечения и данных от несанкционированного использования. Устройство eToken USB представляет собой миниатюрный брелок (размер - 52 x 16 x 8 мм, вес 5 г.) с энергонезависимой (до 8 Кб) памятью, допускающей перезапись (не менее 100 тыс. раз). Ключ eToken является компромиссом между традиционным электронным ключом и смарт-картой. Для получения доступа к защищенному объекту пользователю достаточно вставить ключ eToken в USB -порт и набрать на клавиатуре личный код.

Электронный ключ eToken базируется на встроенной аппаратной системе аутентификации пользователей. Для аутентификации пользователей используется защищенная PIN -аутентификация.

Разработчику защиты предоставляется комплект разработчика - Developer ’ s Kit . В комплект разработчика входит программное обеспечение, которое позволяет организовать различные механизмы защиты.

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

Эмулирование электронного ключа - это способ взлома путем эмулирования программными или аппаратными средствами работы электронного ключа.

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

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

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

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

Заметим, что реализация эмулятора электронного ключа достаточно сложна, поэтому доступна только высококвалифицированным специалистам.

Интересное решение для защиты от эмуляции электронного ключа и защиты программ от взлома предлагает компания Актив. Програм­мно-аппаратный комплекс защиты Guardant Stealth использует аппаратные алгоритмы преобразования данных, серьезно усложняющие разработку эмулятора ключа. Электронные ключи Guardant Stealth содержат микроконтроллеры (прозрачные для пользователя), производящие вычисления по одному из нескольких оригинальных высоко сложных алгоритмов (ключ может содержать до 18 таких алгоритмов). Микроконтроллер возвращает защищенному приложению преобразованную с помощью аппаратного алгоритма входную информацию.

___________________________________________________________

Подробнее

1. Электронные ключи Guardant Aptus - Internet -ресурс (www . novex . ru )

2. Аппаратные алгоритмы электронных ключей - Системы программно-аппаратной защиты компании Актив. Электронные ключи Guardant Stealth . Internet- ресурс (www.novex.ru)

3. Система лицензирования NetHASP - С. Груздев «Лицензирование программного обеспечения в сетях» Internet -ресурс (www . aladdin . ru )

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

Аппаратное ускорение – это способ повышения быстродействия той или иной компьютерной программы и операционной системы (ОС) в целом, основанный на перераспределении нагрузки между процессором (ЦП) и видеокартой. Т.е. задачи по обработке видео и графики перекладываются с ЦП на видеокарту, что в конечном итоге позволяет не только несколько снизить нагрузку на процессор, но и добиться прироста производительности, как отдельно взятого приложения, так и всей системы, за счёт ресурсов видеокарты.

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

Рассмотрим способ отключения аппаратного ускорения на примере флеш плеера.

Откройте в вашем браузере любую веб-страницу с флеш-анимацией или видеороликом, использующим технологию Flash, кликните по флеш-объекту правой кнопкой мыши (ПКМ), и выберите в контекстном меню пункт «Параметры» (как на скриншоте).

На этом всё, так мы отключаем ускорение для приложений.

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

Чтобы выключить аппаратное ускорение в Windows, кликните ПКМ по рабочему столу, и выберите «Разрешение экрана».

Похожие статьи