Почему / dev / null так называется?


8

Я ищу некоторую историческую информацию о нулевом устройстве. Почему он был назван /dev/nullвместо (например) /dev/empty?

Страница руководства FreeBSD гласит: «В версии 7 AT & T UNIX появилось нулевое устройство», но я не могу найти никаких ссылок или подсказок о том, почему это имя было выбрано изначально.

Если окажется, что имя первоначально использовалось в более древней ОС, я хотел бы знать, как работало оригинальное устройство и почему было выбрано это имя.


/dev/nullэто один из немногих путей, стандартизированных POSIX. И даже не-Unix-подобные системы называют это так (вероятно, потому что Unix сделал это первым).
Жиль "ТАК - перестань быть злым"

1
@ Жиль хорошо, но почему? Какая история стоит за этим конкретным именем?
Джакомо Тесио

2
Отсюда я удалил все, кроме самого основного вопроса, в надежде, что это станет более понятным как исторический вопрос; если я вмешался в то, что вы хотели сказать, пожалуйста, откатитесь назад.
Майкл Гомер

1
Страница руководства FreeBSD верна, но несколько вводит в заблуждение. Нулевое устройство под названием /dev/nullбыло представлено в версии 6 Unix в середине 1970-х годов. (Кстати, /dev/zeroбыл добавлен намного позже.) К сожалению, у меня нет подтверждающих доказательств.
G-Man говорит: «Восстановите Монику»

«В Unix« всегда блокирующий файл »может использоваться для ожидания сигналов». Оказывается, есть системный вызов, который используется для ожидания сигналов - pause().
Марк Плотник

Ответы:


4

nullбыл выбран, потому что он отбрасывает любые отправленные данные , почти как пустое место. Вот почему его также называют черной дырой.

Это символьное устройство , поток, не имеющий связи с реальным пространством в памяти. Интересным фактом является то, что вы можете сделать свой собственный/dev/null с mknod -m 666 /dev/null c 1 3.

Кроме того, он отправляет, EOFесли вы пытаетесь читать с него .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.