1166839
File descriptor
https://vi.wikipedia.org/wiki?curid=1166839
Title: File descriptor
Theo nhiều cách thì file descriptor của Unix vận hành như một dạng công năng. Công năng như vậy có thể được truyền giữa các tiến trình thông qua Unix domain socket bằng cách sử dụng lệnh gọi hệ thống codice_15. Tuy nhiên, lưu ý rằng cái thực sự được truyền đi chính là tham chiếu đến "open file description" có trạng thái khả biến đổi (offset của file, tình trạng của file, và cờ truy cập của file). Điều này gây rắc rối cho việc sử dụng file descriptor làm công năng sao cho an toàn, vì khi các chương trình chia sẻ quyền truy cập vào cùng "open file description" thì chúng có thể can thiệp vào việc sử dụng file của nhau như bằng cách thay đổi offset của file hoặc thay đổi file thành blocking hoặc là non-blocking, chẳng hạn vậy. Trong các hệ điều hành được đặc biệt thiết kế để làm hệ thống công năng, rất hiếm khi có bất kỳ trạng thái khả biến đổi nào mà bản thân nó có liên đới với công năng nào đó.
Bảng file descriptor của tiến trình trong Unix là một ví dụ về C-list (danh sách công năng).