Mỗi quá trình có bảng mô tả tập tin riêng của mình. Mô tả tệp 4 trong quy trình 1234 điểm trong bảng quy trình 1234. Mô tả tệp 4 trong quy trình 5678 điểm trong bảng quy trình 5678. Một trường hợp bạn phải làm quen là các mô tả tệp 0, 1 và 2, cho mỗi quy trình là đầu vào tiêu chuẩn, đầu ra tiêu chuẩn và lỗi tiêu chuẩn, chỉ ra bất cứ nơi nào chúng được chuyển hướng đến.
Một quá trình có thể mở cùng một tệp nhiều lần. Điều này có thể xảy ra ngẫu nhiên, ví dụ như khi đầu ra tiêu chuẩn và lỗi tiêu chuẩn của một quá trình được chuyển hướng đến cùng một thiết bị đầu cuối hoặc đến cùng một tệp. Các mục trong bảng tệp bên dưới (ví dụ: Linuxstruct file
) mang nhiều thông tin hơn về tệp; chúng cũng chứa các chế độ mở (ví dụ đọc hoặc ghi) và trạng thái khác (như cờ, ví dụ: close-on-exec). Ví dụ, một quy trình có thể có một thiết bị đầu cuối được mở để chỉ đọc trên bộ mô tả tệp 0 và cùng một thiết bị đầu cuối được mở để ghi chỉ trên bộ mô tả tệp 2. Các mục trong bảng tệp cũng chứa vị trí của quy trình trong tệp; một quá trình có thể muốn đến lseek
hai vị trí khác nhau trong cùng một tệp và do đó sẽ sử dụng dup
để có được hai thẻ điều khiển cho tệp đó.
4
trong cả hai quá trình đều liên quan đến số lượng fd mở của chính nó. Fd0-2
(stdin, stdout, sdterr) luôn được mở cho một quy trình mới và các số không chỉ dành riêng cho quy trình đó.