Независимость от устройства - Device independence

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

Мэйнфреймы и миникомпьютеры

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

  • ПРОЧИТАТЬ (11,21, КОНЕЦ = 9900) ИМЯ
    21 ФОРМАТ (A20)
в FORTRAN сказал использовать «unit» 11 - без имени файла.
  • ПРОЧИТАЙТЕ CUSTFILE, В КОНЦЕ ПЕРЕЙДИТЕ К ВЫПОЛНЕНИЮ.
в КОБОЛ выполняет нечто подобное.

Настольные компьютеры

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

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

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

Виртуализация и эмуляция

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

Использование World Wide Web

Интернет доступен с любого устройства при любых обстоятельствах и для всех людей. В Консорциум World Wide Web (W3C) инициировал Рабочую группу по независимости устройств, целью которой является объединение сеть, что делает его доступным из многих типов Интернет-устройства. Его миссия - избежать разбиения сети на пространства, доступ к которым имеют только подмножества устройств.

Одной из ключевых публикаций Рабочей группы по независимости устройств является Составные профили возможностей / предпочтений рекомендация.

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

Смотрите также

внешняя ссылка