logo
ПЗ_А

2.3.2.Принципы работы драйверов в ос Linux

В основе операционной системы Linux лежат два пространства – пользовательское и пространство ядра [14]. Каждый драйвер Linux выполняется в пространстве ядра и предоставляет специальный интерфейс, с помощью которого процессы, работающие в пространстве пользователя, могут обращаться к аппаратуре и другим ресурсам операционной системы. Т.о. приложение посылает запросы операционной системе, а та в свою очередь их выполняет. Существование таких интерфейсов и тот факт, что приложение не может напрямую обращаться к ресурсам, является ключевым моментом в обеспечении многозадачности, стабильности системы и отсутствии конфликтов.

Интерфейсы драйверов Linux построены на системных вызовах, которые предназначены для достижения следующих целей:

Рис. 2.19. Интерфейс системных вызовов в ОС Linux.

Организация интерфейса системных вызовов представлена на рис. Рис. 2 .19. Для получения доступа к соответствующему системному вызову используется библиотека C (GNU C Library). Этот язык используется для написания всех драйверов в ОС Linux.