The website "dmilvdv.narod.ru." is not registered with uCoz.
If you are absolutely sure your website must be here,
please contact our Support Team.
If you were searching for something on the Internet and ended up here, try again:

About uCoz web-service

Community

Legal information

Драйвер “memory”: открытие устройства как файл

Драйвер “memory”: открытие устройства как файл

Предыдущая  Содержание  Следующая V*D*V

Функцией пространства ядра, которая соответствует открытию файла в пользовательском пространстве (fopen), в вызове register_chrdev является член open структуры file_operations. В данном случае это функция memory_open. Она принимает в качестве аргумента: структуру inode, которая посылает в ядро информацию о старшем и младшем номере, и структуру file с информацией о различных операциях, которые можно выполнять с файлом. В рамках настоящей статьи ни одна из этих функций подробно рассматриваться не будет.

 

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

 

Функцию memory_open можно увидеть ниже:

 

<memory open> =

 

int memory_open(struct inode *inode, struct file *filp) {

 

    /* Success */

    return 0;

}

 

Эта новая функция теперь показана в Таблице 5.

 

События

Пользовательские функции

Функции ядра

Загрузка модуля

insmod

module_init()

Открытие устройства

fopen

file_operations: open

Чтение устройства

 

 

Запись в устройство

 

 

Закрытие устройства

 

 

Удаление модуля

rmmod

module_exit()

 

Таблица 5. События драйвера устройства и связанные с ними интерфейсные функции в пространстве ядра и пользовательском пространстве.

Предыдущая  Содержание  Следующая