Tại sao / dev / null được gọi như vậy?


8

Tôi đang tìm kiếm một số thông tin lịch sử về thiết bị null. Tại sao nó được gọi /dev/nullthay vì (ví dụ) /dev/empty?

Trang hướng dẫn của FreeBSD nói rằng "Một thiết bị null xuất hiện trong Phiên bản 7 AT & T UNIX" nhưng tôi không thể tìm thấy bất kỳ tài liệu tham khảo hoặc gợi ý nào về lý do tại sao tên đó ban đầu được chọn.

Nếu hóa ra tên ban đầu được sử dụng trong một hệ điều hành cổ xưa hơn, tôi muốn biết thiết bị ban đầu hoạt động như thế nào và tại sao tên đó được chọn.


/dev/nulllà một trong số rất ít tên đường được chuẩn hóa bởi POSIX. Và ngay cả các hệ thống không giống Unix cũng gọi nó như vậy (có lẽ vì Unix đã làm điều đó trước tiên).
Gilles 'SO- ngừng trở nên xấu xa'

1
@Gilles ok nhưng tại sao? Lịch sử đằng sau cái tên cụ thể này là gì?
Giacomo Tesio

2
Tôi đã xóa tất cả mọi thứ trừ câu hỏi cốt lõi từ đây với hy vọng điều đó làm cho nó rõ ràng hơn như một câu hỏi lịch sử; Nếu tôi đã can thiệp vào những gì bạn muốn nói, xin vui lòng quay lại.
Michael Homer

1
Trang hướng dẫn FreeBSD là chính xác nhưng hơi sai lệch. Thiết bị null, được gọi /dev/null, đã có mặt trong Phiên bản Unix 6, vào giữa những năm 1970. (BTW, /dev/zerođã được thêm vào sau đó.) Thật không may, tôi không có bằng chứng hỗ trợ.
G-Man nói 'Phục hồi Monica'

"trên unix một" luôn luôn chặn tập tin "có thể được sử dụng để chờ tín hiệu." Hóa ra, có một cuộc gọi hệ thống được sử dụng để chờ tín hiệu - pause().
Đánh dấu Plotnick

Câu trả lời:


4

nullđã được chọn vì nó loại bỏ bất kỳ dữ liệu nào được gửi , gần giống như một vị trí trống. Đó là lý do tại sao nó còn được gọi là lỗ đen.

Nó là một thiết bị nhân vật , một luồng không có kết nối với một không gian thực trong bộ nhớ. Thực tế thú vị là bạn có thể làm cho cá nhân của riêng bạn/dev/null với mknod -m 666 /dev/null c 1 3.

Ngoài ra, nó sẽ gửi EOFnếu bạn cố đọc từ nó .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.