Меню
Бесплатно
Главная  /  ПО  /  Основными аппаратно программными средствами используемыми. Что такое аппаратное ускорение, зачем и как его отключить в Windows

Основными аппаратно программными средствами используемыми. Что такое аппаратное ускорение, зачем и как его отключить в Windows

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

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 )

  • 6. Жизненный цикл информации. Информационная сфера. Негативные последствия внедрения информационных технологий
  • 6.1. Жизненный цикл информации. Информационная сфера
  • 6.2. Негативные последствия внедрения информационных технологий
  • Общие выводы
  • Лекция 2 Классификация информационных технологий
  • 1. Виды информационных технологий
  • 1.3. Информационная технология обработки информации и данных
  • 1.4. Технологические операции контроля данных
  • 1.6. Технология поиска информации
  • 1.7. Технологические операции передачи данных
  • 2. Выбор вариантов внедрения информационной технологии
  • Общие выводы
  • Лекция 3 Использование информационных технологий в различных предметных областях. Электронные документы, книги и библиотеки. Электронный офис
  • 1. Виды информационных технологий, используемых в различных предметных областях
  • 1.1. Информационные технологии управления
  • 1.2. Информационные технологии поддержки принятия решений
  • 1.3. Объектно-ориентированные информационные технологии
  • 1.4. Информационные технологии экспертных систем
  • 1.5. Телекоммуникационные технологии
  • 1.6. Гипертекстовые информационные технологии
  • 1.7. Информационные технологии дистанционного обучения
  • 1.8. Информационные технологии мультимедиа
  • 2. Реализация информационных технологий в различных предметных областях
  • 3. Электронные документы, книги и библиотеки. Электронный офис
  • 3.1. Электронные документы
  • 3.2. Электронные книги
  • 3.3. Электронные библиотеки
  • 3.4. Электронный офис
  • Общие выводы
  • Лекция 4 Модели процессов передачи, обработки, накопления данных в информационных системах. Системный подход к решению функциональных задач. Жизненный цикл информационных продуктов и услуг
  • 1. Информационная модель и моделирование информационных процессов
  • 2. Системный подход к решению функциональных задач
  • 3. Жизненный цикл информационных продуктов и услуг
  • 4. Жизненный цикл информационных технологий
  • Общие выводы
  • Лекция 5 Информационные технологии безопасности и защиты
  • 1. Общие положения защиты информации
  • 2. Несанкционированные действия и методы воздействия на информацию, здания, помещения и людей
  • 2.1. Основные виды и причины несанкционированных воздействий на информацию, здания, помещения и людей
  • 2.2. Вирусы
  • 2.3. Воздействия на информацию, здания, помещения, личную безопасность пользователя и обслуживающий персонал
  • 3. Средства и методы защиты информации, зданий, помещений и людей в них
  • 3.1. Основные средства и методы защиты информации
  • 3.2. Программные и технические средства защиты
  • 3.2.2. Технические средства защиты
  • 3.2.3. Программно-техническая и физическая защита от несанкционированных воздействий
  • 4. Мероприятия по обеспечению сохранности и защиты
  • Общие выводы
  • Лекция 6 Классификация информационных технологий по сферам применения. Обработка текстовой и числовой информации. Особенности обработки экономической и статистической информации
  • 1. Классификация информационных технологий
  • 2. Применение информационных технологий
  • 3. Методы обработки информации
  • 3.1. Обработки текстовой информации
  • 3.2. Обработка табличных данных
  • 3.3. Обработка экономической и статистической информации
  • Общие выводы
  • Лекция 7 Информационные технологии копирования и тиражирования информации. Оргтехника и полиграфическое оборудование
  • 1. Средства оргтехники и полиграфии для копирования и тиражирования информации
  • 2. Методы копирования и тиражирования информации
  • 3. Копировально-множительная техника
  • 4. Оргтехника
  • Общие выводы
  • Лекция 8 Программно-технические средства информационные технологии
  • Компоненты программно-аппаратных компьютерных средств
  • 2. Программное обеспечение информационных технологий
  • 3. Технические средства информационных технологий
  • Основные выводы
  • Лекция 9 Технологии открытых систем. Объектно-ориентированные информационные технологии. Распределенные системы обработки данных. Функционально-распределенные информационные технологии
  • 1. Открытые системы
  • 2. Объектно-ориентированные информационные технологии
  • 3. Распределённые системы обработки данных
  • 3.1. Распределенные базы данных
  • 3.2. Система управления распределёнными базами данных
  • Основные выводы
  • Лекция 10 Информационные технологии конечного пользователя. Стандарты пользовательского интерфейса. Критерии оценки информационных технологий
  • 1. Информационные технологии конечного пользователя
  • 2. Пользовательский интерфейс
  • 3. Стандарты пользовательского интерфейса
  • 4. Оценка информационных технологий
  • Основные выводы
  • Лекция 11 Графическое изображение технологического процесса. Обработка графической информации. Применение информационных технологий на рабочем месте пользователя
  • 1. Графическое изображение технологического процесса
  • 2. Обработка графической информации
  • 3. Применение информационных технологий на рабочем месте пользователя
  • Основные выводы
  • Лекция 12 Гипертекстовые способы хранения и представления информации. Информационные ресурсы Интернета
  • 1. Гипертекстовые информационные технологии
  • 2. Языки гипертекстовой разметки документов
  • 3. Информационные ресурсы Интернета
  • Основные выводы
  • Лекция 13 Мультимедийные технологии обработки и представления информации
  • 1. Технологии мультимедиа
  • 1.1. Аудиовидеотехнические средства
  • 2. Проекционное оборудование. Мультимедиапроекторы
  • 3. Средства информирования
  • Основные выводы
  • Лекция 14 Автоматизированные информационные системы. Экспертные системы
  • 1. Автоматизированные системы
  • 2. Автоматизированные информационные системы
  • 3. Автоматизация информационных процессов
  • 4. Экспертные системы
  • Основные выводы
  • Лекция 15 Сетевые информационные технологии. Технологии групповой работы пользователей: доска объявлений, форум, электронная почта, теле- и видеоконференции
  • 1. Сетевые информационные технологии
  • 2. Технологии групповой работы пользователей
  • 3. Сервисы Интернета
  • Основные выводы
  • Лекция 16 Интеграция информационных технологий. Корпоративные информационные системы. Технологии “клиент-сервер”. Информационные хранилища. Системы электронного документооборота
  • 1. Интеграция информационных технологий
  • 2. Корпоративные информационные системы
  • 3. Технологии “клиент-сервер”
  • 4. Информационные хранилища
  • 5. Системы электронного документооборота
  • 6. Технологии Дистанционного обучения
  • Основные выводы
  • Лекция 17 Геоинформационные и глобальные системы. Информационные технологии распространения информации. Авторские информационные технологии
  • 1. Геоинформационные и глобальные системы
  • 2. Информационные технологии распространения информации
  • 3. Информационные технологии передачи информации. Связь
  • 4. Авторские информационные технологии
  • Основные выводы
  • Лекция 8 Программно-технические средства информационные технологии

    Основные понятия:

      Hardware, Software и Brainware;

      Программа и системное программное обеспечение;

      Операционная система, утилиты и драйверы;

      Инструментальное и прикладное программное обеспечение;

      Интегрированные пакеты или пакеты прикладных программ;

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

      Архитектура компьютера;

      Системы SOHO и СМБ.

    Компоненты программно-аппаратных компьютерных средств

    Обычно для обозначения основных компонент программно-аппаратных компьютерных средств используют следующие термины:

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

    Hardware технические устройства компьютера (“железо”) или аппаратные средства, созданные, в основном, с использованием электронных и электромеханических элементов и устройств.

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

    Работой компьютеров, любых вычислительных устройств управляют различного рода программы. Без программ любая ЭВМ не больше, чем груда железа. Компьютерная программа (англ. “Program”) обычно представляет собой последовательность операций, выполняемых вычислительной машиной для реализации какой-нибудь задачи. Например, это может быть программа редактирования текста или рисования.

    2. Программное обеспечение информационных технологий

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

    Компьютерные программы, также как и любая другая машиночитаемая информация, хранятся в файлах. Пишутся (составляются, создаются) программы программистами на специальных машинных алгоритмических языках высокого уровня (Бейсик, Фортран, Паскаль, Си и др.). Хорошая программа содержит: чётко определённые и отлаженные функции, удобные средства взаимодействия с пользователем (интерфейс), инструкцию по эксплуатации, лицензию и гарантию, упаковку. Программы для пользователей могут быть платными, условно-бесплатными, бесплатными и др.

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

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

    Рис. 8.1. Структура ПО по назначению и функциональному признаку.

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

    Базовое ПО включает: операционные системы, операционные оболочки и сетевые операционные системы.

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

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

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

    Выделяют однопрограммные, многопрограммные (многозадачные), одно и многопользовательские, сетевые и несетевые ОС.

    Сетевые ОС – это комплекс программ, обеспечивающих обработку, передачу, хранение данных в сети; доступ ко всем её ресурсам, распределяющих и перераспределяющих различные ресурсы сети.

    Операционная оболочка – это программная надстройка к ОС; специальная программа, предназначенная для облегчения работы и общения пользователей с ОС (Norton Commander, FAR, Windows Commander, Проводник и др.). Они преобразуют неудобный командный пользовательский интерфейс в дружественный графический интерфейс или интерфейс типа “меню”. Оболочки предоставляют пользователю удобный доступ к файлам и обширные сервисные услуги.

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

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

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

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

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

    Программы-утилиты – это полезные программы, дополняющие и расширяющие возможности ОС. Некоторые из них могут существовать отдельно от ОС. К этому классу программ можно отнести архиваторы, программы резервного копирования и др.

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

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

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

    Инструментальное программное обеспечение или инструментальные программные средства (ИПО) – это программы-полуфабрикаты или конструкторы, используемые в ходе разработки, корректировки или развития других программ. Они позволяют создавать различные прикладные пользовательские программы. К ИПО относят: СУБД, редакторы, отладчики, вспомогательные системные программы, графические пакеты, конструкторы обучающих, игровых, тестирующих и других программ. По назначению они близки к системам программирования.

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

    ППО носит проблемно-ориентированный характер. В нём обычно выделяют две составляющие: пользовательское и проблемное прикладное программное обеспечение.

    К пользовательскому ППО относят: текстовые, табличные и графические редакторы и другие подобные программы, например, учебные и досуговые.

    Набор нескольких пользовательских программ, функционально дополняющих друг друга и поддерживающих единую информационную технологию называют пакетом прикладных программ, интегрированным пакетом программ или интегрированным программным обеспечением . Пакеты программ выполняют функции, для которых ранее создавались специализированные программы. В качестве примера приведём ППП Microsoft Office, в состав которого входят: текстовый и табличный процессор, СУБД Access, Power Point и другие программы.

    Проблемное ПО – это специализированное ППО, например, бухгалтерские программы, программы в области страхования и др.

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

    Любые компьютерные программы работают на каких-либо технических средствах информационных технологий.

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

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

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

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

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

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

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

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

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

    Аппаратные средства систем: общая классификация

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

    Кроме того, в таком разделении можно выделить три основных и наиболее содержательных класса устройств:

    • устройства ввода;
    • устройства вывода;
    • устройства хранения информации.

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

    Базовые элементы компьютера

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

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

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

    Аппаратные средства компьютера невозможно себе представить без планок оперативной памяти и жестких дисков, которые относятся к устройствам хранения. О них будет сказано несколько позже.

    Программно-аппаратные средства

    В современных компьютерах применяются и устройства гибридного типа, такие, например, как ПЗУ или постоянная энергонезависимая память CMOS, которая является основой базовой системы ввода/вывода, называемой BIOS.

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

    Средства ввода информации

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

    • клавиатура;
    • мышь (трекпад для ноутбуков);
    • джойстик;
    • цифровая камера;
    • микрофон;
    • внешний сканер.

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

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

    Средства вывода информации

    Аппаратные средства невозможно представить себе и без устройств вывода. В стандартном списке присутствуют следующие:

    • монитор;
    • принтер;
    • плоттер;
    • звуковая и видеосистема;
    • мультимедийный проектор.

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

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

    Средства хранения информации

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

    • жесткий диск (винчестер);
    • оперативная память;
    • кэш-память;
    • внешние накопители (дискеты, USB-устройства).

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

    Безусловно, главное место здесь занимают жесткие диски и «оперативка». Жесткий диск - это аппаратное средство информации (вернее, средство ее хранения), ведь на нем она хранится постоянно, а в оперативной памяти - временно (при запуске или функционировании программ, копировании содержимого в и т. д.).

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

    Устройства связи

    Необязательным классом, хотя в современном мире и очень востребованным, можно назвать и устройства, отвечающие за обеспечение связи как между отдельными компьютерными терминалами, связанными напрямую, так и в сетях (или даже на уровне выхода в Интернет). Здесь из основных устройств можно выделить такие:

    • сетевые адаптеры;
    • маршрутизаторы (модемы, роутеры и т. д.).

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

    Устройства безопасности и защиты данных

    Теперь еще об одном типе устройств. Это аппаратные средства защиты, к которым можно отнести, например, «железные» сетевые экраны, называемые еще файрволлами (firewall с английского - «огненная стена»).

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

    Взаимодействие программных и аппаратных средств

    Итак, аппаратные средства мы вкратце рассмотрели. Теперь несколько слов о том, как они взаимодействуют с программными продуктами.

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

    Заключение

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

    Архитектура процессоров 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, в том числе