2015-11-04 7 views
0

Я пытаюсь реализовать драйвер для/DEV/нуль &/DEV/ноль псевдо устройств в С.Есть ли разница в реализации между/dev/zero &/dev/null?

Во-первых, я хотел бы знать, как эти два отличаются в использовании?

Мой план состоит в том, чтобы зарегистрировать их как/dev/null &/dev/zero, а затем в соответствующих методах записи &; просто возвращай успех всегда.

Является ли реализация выше правильной?

ответ

4

Эта документация охватывает эти файлы псевдо-устройства довольно хорошо:

http://tldp.org/LDP/abs/html/zeros.html

Вы не сможете зарегистрировать их в качестве /dev/null и /dev/zero, так как эти вещи уже существуют. Если вы не уберете их, что я не рекомендую, если у вас нет особого сценария, требующего его, что не похоже на то, что вы делаете.

/dev/zero Предполагается производить нули, поэтому просто возврат в режиме чтения ядра (интерфейс с пользовательским пространством) будет недостаточным. Кроме того, /dev/null должен иметь возможность читать() (записываться в), чтобы он мог потреблять данные. И т. Д.

Я только начинаю повторять эту ссылку, что бессмысленно. Проверьте эту ссылку для полного описания предполагаемого поведения.