Parallelization of File Descriptor Management. Revision 1.2.

reportActive / Technical Report | Accession Number: ADA324545 | Open PDF

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 tasks 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 tasks file descriptor table, a simple spin lock named fdspLock is used to protect all fields in the filedesc structure. In particular, fdspLockis used to protect the allocation and deallocation of a file structure pointer.

Security Markings

DOCUMENT & CONTEXTUAL SUMMARY

Distribution:
Approved For Public Release

RECORD

Collection: TR
Identifying Numbers
Subject Terms