I/O
AI bổ sungNó là gì?
Viết tắt của Input/Output — quá trình trao đổi dữ liệu giữa chương trình và thế giới bên ngoài (bàn phím, màn hình, ổ cứng, mạng, v.v.).
Dùng để làm gì?
Đọc/ghi file, gọi API, truy vấn database, in log, nhận input từ người dùng... — mọi thao tác ra vào dữ liệu đều là I/O.
Chạy ở đâu?
Hệ điều hành (kernel) quản lý, chương trình yêu cầu qua system call.
Nó thường đi với gì?
File system, Network socket, Database driver, Stream/Buffer, Event loop (Node.js, Go, Java NIO).
App của mình khi nào cần?
Mọi ứng dụng thực tế đều cần I/O — trừ khi chỉ tính toán thuần túy trong RAM.
Khi nào không cần?
Chương trình demo thuật toán, benchmark CPU, hoặc chạy hoàn toàn trong bộ nhớ không đọc/ghi gì.
Từ khóa lỗi thường gặp
EIO, EAGAIN, EWOULDBLOCK, Broken pipe, Connection reset, Timeout, Disk full, Permission denied
Một câu để nhớ
I/O = cửa ngõ: chương trình không tự lớn lên được, phải qua cửa này để 'ăn' dữ liệu và 'xuất' kết quả.