Saya pikir ini sebagian besar karena alasan historis.
Sebuah file descriptor Unix adalah kecil int
nilai, dikembalikan oleh fungsi seperti open
dan creat
, dan diteruskan ke read
, write
, close
, dan sebagainya.
Setidaknya dalam versi awal Unix, deskriptor file hanyalah sebuah indeks ke dalam array struktur ukuran-tetap per proses, di mana setiap struktur berisi informasi tentang file yang terbuka. Jika saya ingat dengan benar, beberapa sistem awal membatasi ukuran tabel ini hingga 20 atau lebih.
Lebih banyak sistem modern memiliki batas yang lebih tinggi, tetapi telah mempertahankan skema umum yang sama, sebagian besar di luar inersia.