Setiap proses memiliki tabel deskriptor file sendiri. File deskriptor 4 dalam proses 1234 poin di dalam tabel proses 1234. File deskriptor 4 dalam proses 5678 poin di dalam tabel proses 5678. Kasing yang harus Anda ketahui adalah deskriptor file 0, 1 dan 2 yang untuk setiap proses merupakan input standar, output standar, dan kesalahan standar, yang menunjukkan ke mana pun diarahkan.
Suatu proses dapat membuka file yang sama lebih dari sekali. Ini dapat terjadi secara kebetulan, misalnya ketika standar output suatu proses dan kesalahan standar dialihkan ke terminal yang sama atau ke file yang sama. Entri tabel file yang mendasarinya (misalnya Linuxstruct file
) membawa lebih dari informasi tentang file; mereka juga berisi mode pembuka (mis. baca atau tulis) dan status lainnya (seperti flag, mis. close-on-exec). Sebagai contoh, suatu proses mungkin memiliki terminal dibuka untuk membaca hanya pada file descriptor 0 dan terminal yang sama dibuka hanya untuk menulis pada deskriptor file 2. Entri tabel file juga berisi posisi proses dalam file; suatu proses mungkin ingin ke lseek
dua posisi berbeda dalam file yang sama, dan demikian juga akan digunakan dup
untuk mendapatkan dua pegangan ke file itu.
4
dalam kedua proses relatif terhadap jumlah sendiri dari open fd's. Fd0-2
(stdin, stdout, sdterr) selalu dibuka untuk proses baru dan angka-angka tidak dicadangkan hanya untuk proses itu.