Thiết bị rỗng

Trong một số hệ điều hành, thiết bị rỗng hay null device là một tập tin thiết bị từ chối tất cả dữ liệu được ghi vào nó nhưng sau đó lại trả về kết quả báo thao tác ghi đã thành công. Thiết bị này được gọi là /dev/null trên Unix và hệ thống tương tự Unix, NUL: (xem TOPS-20) hoặc NUL trên CP/MDOS (bên trong là \DEV\NUL), nul trên OS/2 và hệ điều hành Windows mới[1] (bên trong là \Device\Null trên Windows NT), NIL: trên các hệ điều hành Amiga,[2]NL: trên OpenVMS.[3] Trong Windows Powershell$null tương đương.[4] Nó không trả dữ liệu cho bất kỳ tiến trình nào cố gắng đọc dữ liệu từ nó và sẽ ngay lập tức trả EOF.[5] Trong hệ điều hành IBM DOS/360 và các phiên bản kế nhiệm[a] và cả trong OS/360 và các phiên bản kế nhiệm[b] những tập tin như vậy sẽ được gán qua JCL cho DD DUMMY.

Trong thuật ngữ lập trình viên, đặc biệt là thuật ngữ Unix, nó cũng có thể được gọi là bit bucket[6] hay là lỗ đen.

Lịch sửSửa đổi

Theo trang trợ giúp Berkeley UNIX, Unix phiên bản 4 mà AT&T phát hành năm 1973 đã định nghĩa thiết bị rỗng.[7][8]

Sử dụngSửa đổi

Thiết bị rỗng thường được sử dụng để loại bỏ các luồng đầu ra không mong muốn của một tiến trình hoặc làm trống để thuận tiện hơn cho các luồng ghi tập tin. Nó thường được áp dụng bởi chuyển hướng.

Thiết bị /dev/null là một tập tin đặc biệt, nó không phải là một thư mục vì vậy ta không thể di chuyển toàn bộ tập tin hoặc thư mục vào trong đó bằng lệnh mv của Unix.

Tài liệu tham khảo trong văn hóa máy tínhSửa đổi

Thực thể này là nguồn cảm hứng chung cho các cụm từ thuật ngữ kỹ thuật và phép ẩn dụ của các lập trình viên Unix, ví dụ như các câu "xin vui lòng gửi khiếu nại đến /dev/null", "thư của tôi đã được lưu trong /dev/null" và "chuyển đến /dev/null"—tương ứng với những câu nói ngắn gọn là "đừng có mà gửi lời phàn nàn", "thư của tôi đã bị xóa" và "biến đi". Nhóm nhà phát triển iPhone thường sử dụng cụm từ "gửi quyên góp cho /dev/null", có nghĩa là họ không nhận quyên góp.[9] Tên nhân vật hư cấu "Dave (hoặc Devin) Null" đôi khi được sử dụng với ý nghĩa tương tự (ví dụ "gửi lời phàn nàn đến Dave Null").[10] Vào năm 1996, Leo Laporte đã tạo ra một nhân vật thực tế ảo có tên là Dev Null cho loạt phim truyền hình về máy tính và công nghệ The Site của MSNBC. Dev/null cũng là tên của một vampire hacker trong trò chơi máy tính Vampire: The Masquerade – Redemption. Một quảng cáo năm 2002 cho Titanium PowerBook G4 có đoạn The Titanium Powerbook G4 Sends other UNIX boxes to /dev/null.[11]

Thiết bị rỗng cũng là một trong những chủ đề yêu thích của những trò đùa kỹ thuật,[12] chẳng hạn như cảnh báo người dùng rằng /dev/null của hệ thống đã gần quả tải đạt 98%. Tạp chí Đức c't đã đưa tin vào ngày Cá tháng Tư năm 1995 rằng vi mạch /dev/null nâng cao có thể xử lý hiệu quả dữ liệu đến bằng cách chuyển đổi nó thành ánh sáng nhấp nháy ở trong đèn LED.

Xem thêmSửa đổi

Ghi chúSửa đổi

  1. ^ Gần đây nhất là z/VSE.
  2. ^ Gần đây nhất là z/OS.

Tham khảoSửa đổi

  1. ^ “Redirecting Error Messages from Command Prompt: STDERR/STDOUT”. support.microsoft.com. Truy cập ngày 6 tháng 3 năm 2020.
  2. ^ Commodore-Amiga, Inc. (1986). The AmigaDOS Manual. Bantam Books. tr. 12. ISBN 0-553-34294-0.
  3. ^ “OpenVMS Programming Concepts Manual”. h30266.www3.hpe.com. Bản gốc lưu trữ ngày 2 tháng 7 năm 2020. Truy cập ngày 6 tháng 3 năm 2020.
  4. ^ SteveL-MSFT. “about_Automatic_Variables - PowerShell”. docs.microsoft.com (bằng tiếng Anh). Truy cập ngày 6 tháng 3 năm 2020.
  5. ^ “Single Unix Specification Section 10.1: Directory Structure and Files”. The Open Group. Truy cập ngày 29 tháng 11 năm 2012.
  6. ^ “bit bucket”. Jargon File. Truy cập ngày 27 tháng 12 năm 2013.
  7. ^ “null(4)”. The NetBSD Project.
  8. ^ “sh(1) manual from version 4 Unix”.
  9. ^ “Dev-Team Blog - Donations to /dev/null”. 7 tháng 9 năm 2015. Bản gốc lưu trữ ngày 7 tháng 9 năm 2015. Truy cập ngày 15 tháng 11 năm 2018.
  10. ^ Goodman, Danny (2004). Spam Wars: Our Last Best Chance to Defeat Spammers, Scammers, and Hackers. New York: SelectBooks. tr. 170. ISBN 9781590790632. OCLC 1036874851.
  11. ^ “Image: unixad.jpg, (1094 × 720 px)”. Bản gốc lưu trữ ngày 26 tháng 3 năm 2013. Truy cập ngày 2 tháng 9 năm 2015.
  12. ^ “The FreeBSD Funnies”. Freebsd.org. Truy cập ngày 28 tháng 11 năm 2012.