Parallelization of File Descriptor Management. Revision 1.2.
Abstract
When a task opens a file, the operating system returns a file descriptor and provides an index into a pool of file structure pointers referenced from the task's file descriptor table. Each task has its own file descriptor table. Under BSD4.4 the size of a pool of file structure pointers may grow during runtime bounded by an upper limit. During the time when the pointer list is expanded, all activities must be suspended till the old list has been copied into the new list and all future references are directed to the new list. A file structure may be pointed to from one or more file descriptor tables as a result of a fork, dup, or dup2 system call. In parallelizing accesses to a task's file descriptor table, a simple spin lock named fd^spLock is used to protect all fields in the filedesc structure. In particular, fd^spLockis used to protect the allocation and deallocation of a file structure pointer.
Document Details
- Document Type
- Technical Report
- Publication Date
- Jun 04, 1993
- Accession Number
- ADA324545