Portals, an experimental feature of 4.4BSD, extend the file system name space by exporting certain open () requests to a user-space daemon. A portal daemon is mounted into the file name space as if it were a standard file system. When the kernel resolves a pathname and encounters a portal mount point, the remainder of the path is passed to the portal daemon. Depending on the portal "pathname" and the daemon's configuration, some type of open (2) is performed. The resulting file descriptor is passed back to the kernel which eventually returns it to the user, to whom it appears that a "normal" open has occurred. A proxy portalfs file system is responsible for kernel interaction with the daemon. The overall effect is that the portal daemon performs an open (2) on behalf of the kernel, possibly hiding substantial complexity from the calling process. One particularly useful application is implementing a connection service that allows simple scripts to open network sockets. This paper describes the implementation of portals for LINUX 2.0.
[1]
W. Richard Stevens,et al.
Portals in 4.4BSD
,
1995,
USENIX.
[2]
Keith Bostic,et al.
The design and implementa-tion of the 4.4BSD operating system
,
1996
.
[3]
Ken Thompson,et al.
Plan 9 from Bell Labs
,
1995
.
[4]
Robert Magnus,et al.
Linux Kernel Internals
,
1996
.
[5]
길아라.
[서평]Linux Kernel Internals(Second Edition)
,
1999
.
[6]
David L. Presotto,et al.
Interprocess communication in the ninth edition unix system
,
1990,
Softw. Pract. Exp..
[7]
John K. Ousterhout,et al.
Pseudo Devices: User-Level Extensions to the Sprite File System
,
1988
.
[8]
Samuel J. Leffler,et al.
The design and implementation of the 4.3 BSD Unix operating system
,
1991,
Addison-Wesley series in computer science.