Уровень абстракции

редактировать

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

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

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

A знаменитый афоризм из Дэвида Уиллера гласит: «Все проблемы в компьютерных науках могут быть решены с помощью другого уровня косвенного обращения». Часто это намеренно неправильно цитируется, заменяя слово «косвенность» словом «абстракция». Его также иногда ошибочно приписывают Батлеру Лэмпсону. Вывод Кевлина Хенни из этого: «... кроме проблемы слишком большого количества уровней косвенного обращения».

Содержание
  • 1 Архитектура компьютера
  • 2 Ввод / вывод
  • 3 Графика
  • 4 См. Также
  • 5 Ссылки
Архитектура компьютера

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

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

Ввод / вывод

В операционной системе Unix большинство типов операций ввода и вывода считаются потоками байтов, считываемых с устройства или записано на устройство. Эта модель потока байтов используется для файлового ввода-вывода, ввода-вывода сокета и ввода-вывода терминала, чтобы обеспечить независимость устройства. Для чтения и записи в устройство на уровне приложения программа вызывает функцию для открытия устройства, которое может быть реальным устройством, например терминалом, или виртуальным устройством, например, сетевым портом или файлом в файловой системе.. Физические характеристики устройства определяются операционной системой, которая, в свою очередь, представляет собой абстрактный интерфейс, который позволяет программисту считывать и записывать байты с / на устройство. Затем операционная система выполняет фактическое преобразование, необходимое для чтения и записи потока байтов на устройство.

Графика

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

См. Также
Ссылки
Последняя правка сделана 2021-06-08 19:47:14
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте