автобусма
В вычислительной технике , busdma на bus_dma и bus_space — это набор интерфейсов прикладного программирования, предназначенных для того, чтобы сделать драйверы устройств менее зависимыми от кода, специфичного для платформы, тем самым позволяя легче переносить операционную систему хоста оборудование новое компьютерное . [1] [2] Это достигается за счет абстракций для сопоставления прямого доступа к памяти (DMA) через популярные машинно-независимые компьютерные шины , такие как PCI , которые используются в различных архитектурах от IA-32 (NetBSD/i386) до DEC Alpha (NetBSD/alpha). [1] Кроме того, некоторые устройства могут иметь несколько разновидностей, поддерживающих более одной шины, например ISA , EISA , локальная шина VESA и PCI , при этом используя одну и ту же базовую логику независимо от шины, и такие драйверы устройств также выиграют от этой же абстракции. [1] : §1.2 Таким образом, смыслом busdma является обеспечение максимального повторного использования кода на широком спектре платформ . [1] : §5
Примерно в 2006 году абстракции шины и DMA позволили NetBSD поддерживать 50 аппаратных платформ и 14 архитектур ЦП из единого дерева исходного кода по сравнению с моделью разветвления , используемой в портах Linux . [2]
Первоначально реализованный разработчиками операционной системы NetBSD как API-интерфейсы «bus_dma» . [1] [3] busdma был принят OpenBSD , FreeBSD и их производными; во FreeBSD он включен под зонтиком busdma (без подчеркивания). И NetBSD, и OpenBSD имеют дополнительные API «bus_space». [4] которые были объединены в версию busdma, включенную в FreeBSD. Разработчики DragonFly BSD также постепенно переводят свои драйверы на использование busdma.
Ссылки
[ редактировать ]- ^ Jump up to: а б с д и Джейсон Р. Торп; Исследовательский центр Эймса НАСА (1998). Машинно-независимая платформа DMA для NetBSD (PDF) . Материалы программы FREENIX: Ежегодная техническая конференция USENIX 1998 г. УСЕНИКС .
- «Машинно-независимая платформа DMA для Net BSD» . Усеникс . 1998.
- ^ Jump up to: а б Дэвид Чисналл (6 октября 2006 г.). «NetBSD: не только для тостеров» . ИнформИТ . Прентис Холл Профессионал . Проверено 25 июля 2019 г.
- ^ Джейсон Р. Торп; Исследовательский центр Эймса НАСА (1997). «bus_dma,… — Интерфейс отображения DMA, независимый от шины и машины» . Перекрестная ссылка BSD . NetBSD , FreeBSD , OpenBSD , DragonFly BSD .
- «BUS_DMA(9)». Страницы руководства FreeBSD .
- «BUS_DMAMAP_CREATE(9)». Сервер страниц руководства OpenBSD .
- «BUS_DMA(9)». Страницы онлайн-руководства DragonFly .
- ^ Кристофер Г. Деметриу (1997). «bus_space, … — функции манипулирования пространством шины» . Перекрестная ссылка BSD . NetBSD , FreeBSD , OpenBSD , DragonFly BSD .
- «BUS_SPACE(9)». Страницы руководства FreeBSD .
- «BUS_SPACE(9)». Сервер страниц руководства OpenBSD .
- «BUS_SPACE(9)». Страницы онлайн-руководства DragonFly .
Внешние ссылки
[ редактировать ]bus_dma(9)
разработчиков ядра NetBSD, FreeBSD, OpenBSD и DragonFly BSD. - Руководстваbus_space(9)
разработчиков ядра NetBSD, FreeBSD, OpenBSD и DragonFly BSD. - Руководства- Страница проекта преобразования драйверов FreeBSD busdma и SMPng. Архивировано 29 июля 2010 г. на Wayback Machine.
- неделя
.freebsd .org /UnifiedBusDma