|
Warning: The download time has expired please click on the item to try again.
ABSTRACT
This article explores memory sharing and protection support in Opal, a single-address-space operating system designed for wide-address (64-bit) architectures. Opal threads execute within protection domains in a single shared virtual address space. Sharing is simplified, because addresses are context independent. There is no loss of protection, because addressability and access are independent; the right to access a segment is determined by the protection domain in which a thread executes. This model enables beneficial code-and data-sharing patterns that are currently prohibitive, due in part to the inherent restrictions of multiple address spaces, and in part to Unix programming style.We have designed and implemented an Opal prototype using the Mach 3.0 microkernel as a base. Our implementation demonstrates how a single-address-space structure can be supported alongside of other environments on a modern microkernel operating system, using modern wide-address architectures. This article justifies the Opal model and its goals for sharing and protection, presents the system and its abstractions, describes the prototype implementation, and reports experience with integrated applications.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
ALMES, G. T., BLACK, A. P., LAZOWSKA, E. D., AND NOE, J. D. 1985. The Eden system: A technical review. IEEE Trans. Softw. Eng. SE-11, I (Jan.), 43-59.
|
| |
3
|
ANDERSON, M., POSE, R. D., AND WALLACE, C. S. 1986. The password-capability system. Comput. J. 29, I (Feb.), 1-8.
|
 |
4
|
|
 |
5
|
|
| |
6
|
BEgSHAD, B., ZEKAUSKAS, M., AND SAWDON, W. 1993. The Midway distributed shared memory system. In Proceedings of the 1993 IEEE Computer Conference. 1EEE, New York.
|
 |
7
|
John B. Carter , John K. Bennett , Willy Zwaenepoel, Implementation and performance of Munin, Proceedings of the thirteenth ACM symposium on Operating systems principles, p.152-164, October 13-16, 1991, Pacific Grove, California, United States
|
 |
8
|
|
| |
9
|
CHAO, C., MACKEY, M., AND SEARS, B. 1990. Mach on a virtually addressed cache architecture. In Usenix Mach Workshop Proceedings. USENIX Association, Berkeley, Calif., 31-51.
|
 |
10
|
|
| |
11
|
COCKSHOT, W. P., ATKINSON, M. P., AND CHISHOLM, K.J. 1984. Persistent object management system. Softw. Pract. Exp. 14, i (Jan.).
|
| |
12
|
|
 |
13
|
|
 |
14
|
|
| |
15
|
DIGITAL EQUIPMENT CORPORATION. 1992. Alpha Architecture Handbook. Digital Equipment Corp., Maynard, Mass.
|
| |
16
|
DRUSCHEL, P. AND PETERSON, L. 1992a. High performance cross-domain data transfer. Tech. Rep. 92-11, Dept. of Computer Science, Univ. of Arizona, Tucson, Ariz.
|
| |
17
|
DRUSCHEL, P., PETERSON, L. L., AND HUTCHINSON, N. C. 1992b. Decoupling modularity and protection in Lipto. In Proceedings of the 12th International Conference on Distributed Computing Systems. IEEE, New York.
|
 |
18
|
|
| |
19
|
FEELEY, M. J., CHASE, J. S., AND LAZOWSKA, E.D. 1993. User-level threads and interprocess communication. Tech. Rep. 93-02-03, Dept. of Computer Science and Engineering, Univ. of Washington, Seattle, Wash.
|
| |
20
|
GARRETT, W., SCOTT, M., BIANCHINI, R., KONTOTHANASSiS, L., MCCALLUM, R., THOMAS, J., WISNIEWSKI, R., AND LUK, S. 1993. Linking shared segments. In Proceedings of the Winter 1993 Usenix. USENIX Association, Berkeley, Calif.
|
| |
21
|
GRISWOLD, W. AND NOTKIN, D. 1990. Program restructuring to aid software maintenance. Tech. Rep. 90-08-05, Dept. of Computer Science and Engineering, Univ. of Washington, Seattle, Wash.
|
| |
22
|
GROVES, R. D. AND OEHLER, R. 1990. RISC system/6000 processor architecture. IBM RISC System/6000 Technology, M. Misra, Ed. International Business Machines, Armonk, N.Y.
|
| |
23
|
Merle E. Houdek , Frank G. Soltis , Roy L. Hoffman, IBM System/38 support for capability-based addressing, Proceedings of the 8th annual symposium on Computer Architecture, p.341-348, May 12-14, 1981, Minneapolis, Minnesota, United States
|
 |
24
|
|
| |
25
|
INTERNATIONAL BUSINESS MACHINES. 1988. Application System/400 Technology. International Business Machines, Armonk, N.Y.
|
 |
26
|
|
| |
27
|
KALET, I., JACKY, J., I~OMHOUT-SHIRO, S., NIEHAUS, M., SWEENEY, C., AND UNGER, J. 1991. The Prism radiation treatment planning system. Tech. Rep. 91-10-03, Radiation Oncology Dept., Univ. of Washington, Seattle, Wash.
|
 |
28
|
Eric J. Koldinger , Jeffrey S. Chase , Susan J. Eggers, Architecture support for single address space operating systems, Proceedings of the fifth international conference on Architectural support for programming languages and operating systems, p.175-186, October 12-15, 1992, Boston, Massachusetts, United States
|
 |
29
|
|
| |
30
|
S. Krakowiak , M. Meysembourg , H. Nguyen Van , M. Riveill , C. Roisin , X. Rousset de Pina, Design and implementation of an object-oriented strongly typed language for distributed applications, Journal of Object-Oriented Programming, v.3 n.3, p.11-22, Sep./Oct. 1990
|
 |
31
|
|
| |
32
|
|
| |
33
|
|
| |
34
|
McCABE, T. 1991. Programming with mediators: Developing a graphical mesh environment. Master's thesis, Dept. of Computer Science and Engineering, Univ. of Washington, Seattle, Wash.
|
| |
35
|
MCJONES, P. R. AND SWART, G. F. 1987. Evolving the Unix system interface to support multithreaded programs. Tech. Rep. 21, DEC Systems Research Center, Palo Alto, Calif.
|
| |
36
|
MIPS COMPUTER SYSTEMS. 1991. MIPS R4000 Microprocessor User's Manual. 1st ed. MIPS Computer Systems, Inc., Sunnyvale, Calif.
|
| |
37
|
MULLENDER, S. AND TANENBAUM, A. 1986. The design of a capability-based operating system. Comput. J. 29, 4, 289-299.
|
| |
38
|
Kevin Murray , Tim Wilkinson , Peter Osmon , Ashley Saulsbury , Tom Stiemerling , Paul Kelly, Design and Implementation of an Object-Oriented 64-bit Single Address Space Microkernel, USENIX Microkernels and Other Kernel Architectures Symposium, p.31-44, September 20-23, 1993
|
| |
39
|
Toshio Okamoto , Hiaeo Segawa , Sung Ho Shin , Hiroshi Nozue , Ken-ichi Maeda , Mitsuo Saito, A Micro-Kernel Architecture for Next Generation Processor, Proceedings of the Workshop on Micro-kernels and Other Kernel Architectures, p.83-94, April 27-28, 1992
|
| |
40
|
|
 |
41
|
Fred J. Pollack , Kevin C. Kahn , Roy M. Wilkinson, The iMAX-432 object filing system, Proceedings of the eighth ACM symposium on Operating systems principles, p.137-147, December 14-16, 1981, Pacific Grove, California, United States
|
 |
42
|
David D. Redell , Yogen K. Dalal , Thomas R. Horsley , Hugh C. Lauer , William C. Lynch , Paul R. McJones , Hal G. Murray , Stephen C. Purcell, Pilot: an operating system for a personal computer, Communications of the ACM, v.23 n.2, p.81-92, Feb. 1980
[doi> 10.1145/358818.358822]
|
| |
43
|
ROSENnERC, J. 1992. Architectural and operating system support for orthogonal persistence. Comput. Syst. 5, 3 (July).
|
| |
44
|
ROSENBERG, J. AND ABRAMSON, D. 1985. MONADS-PC: A capability-based workstation to support software engineering. In Proceedings of the 18th Hawai International Conference on System Sciences. ACM, New York.
|
| |
45
|
ROZlER, M., ABROSSIMOV, V., ARMAND, F., BOULE, I., GLEN, M., GUILLEMONT, M., HERRMANN, F., LEONARD, P., LANGLOIS, S., AND NEUHAUSER, W. 1988. Chorus distributed operating systems. Comput. Syst. 1, 4.
|
 |
46
|
M. L. Scott , T. J. LeBlanc , B. D. Marsh, Multi-model parallel programming in psyche, Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming, p.70-78, March 14-16, 1990, Seattle, Washington, United States
|
| |
47
|
SHAPIRO, M. 1986. Structure and encapsulation in distributed systems: The proxy principlo. In Proceedings of the 6th International Conference on Distributed Computing Systems.
|
| |
48
|
SHEKITA, E. AND ZWILLING, m. 1990. Cricket: A mapped, persistent object store. In Proceedings of the 4th International Workshop on Persistent Object Systems: Design, Implementation and Use.
|
| |
49
|
|
| |
50
|
SOLTIS, F.G. 1981. Design of a small business data processing system. IEEE Comput. 14, 9 (Sept.).
|
 |
51
|
|
 |
52
|
|
| |
53
|
VOCHTELLO, J., RUSSELL, S., AND HEISER, G. 1993. Capability-based protection in a persistent global virtual memory system. In the 3rd International Workshop on Object-Oriented Memory Systems. IEEE, New York.
|
 |
54
|
|
 |
55
|
W. Wulf , R. Levin , C. Pierson, Overview of the Hydra Operating System development, Proceedings of the fifth ACM symposium on Operating systems principles, p.122-131, November 19-21, 1975, Austin, Texas, United States
|
| |
56
|
YARVIN, C., BUKOWSKI, R., AND ANDERSON, T. 1993. Anonymous RPC: Low Latency protection in a 64-bit address space. In Proceedings of the Summer USENIX Conference. USENIX Association, Berkeley, Calif.
|
 |
57
|
M. Young , A. Tevanian , R. Rashid , D. Golub , J. Eppinger, The duality of memory and communication in the implementation of a multiprocessor operating system, Proceedings of the eleventh ACM Symposium on Operating systems principles, p.63-76, November 08-11, 1987, Austin, Texas, United States
|
CITED BY 51
|
|
|
|
|
M. J. Feeley , W. E. Morgan , E. P. Pighin , A. R. Karlin , H. M. Levy , C. A. Thekkath, Implementing global memory management in a workstation cluster, ACM SIGOPS Operating Systems Review, v.29 n.5, p.201-212, Dec. 3, 1995
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S. Antonatos , P. Akritidis , E. P. Markatos , K. G. Anagnostakis, Defending against hitlist worms using network address space randomization, Proceedings of the 2005 ACM workshop on Rapid malcode, November 11-11, 2005, Fairfax, VA, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Godmar Back , Patrick Tullmann , Leigh Stoller , Wilson C. Hsieh , Jay Lepreau, Techniques for the design of java operating systems, Proceedings of the Annual Technical Conference on 2000 USENIX Annual Technical Conference, p.17-17, June 18-23, 2000, San Diego, California
|
|
|
|
|
|
|
|
|
Godmar Back , Wilson C. Hsieh , Jay Lepreau, Processes in KaffeOS: isolation, resource management, and sharing in java, Proceedings of the 4th conference on Symposium on Operating System Design & Implementation, p.23-23, October 22-25, 2000, San Diego, California
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Li Gong , Marianne Mueller , Hemma Prafullchandra , Roland Schemers, Going beyond the sandbox: an overview of the new security architecture in the javaTM development Kit 1.2, Proceedings of the USENIX Symposium on Internet Technologies and Systems on USENIX Symposium on Internet Technologies and Systems, p.10-10, December 08-11, 1997, Monterey, California
|
|
|
|
|
|
|
|
|
Francis M. David , Jeffrey C. Carlyle , Ellick M. Chan , Philip A. Reames , Roy H. Campbell, Improving dependability by revisiting operating system design, Proceedings of the 3rd conference on Third Workshop on Hot Topics in System Dependability, p.1-1, June 26, 2007, Edinburgh, UK
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Roxana Geambasu , Cherie Cheung , Alexander Moshchuk , Steven D. Gribble , Henry M. Levy, Organizing and sharing distributed personal web-service data, Proceeding of the 17th international conference on World Wide Web, April 21-25, 2008, Beijing, China
|
|
|
|
|
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.4
OPERATING SYSTEMS
Additional Classification:
C.
Computer Systems Organization
C.1
PROCESSOR ARCHITECTURES
C.1.3
Other Architecture Styles
Subjects:
Capability architectures**
D.
Software
D.3
PROGRAMMING LANGUAGES
D.3.3
Language Constructs and Features
Subjects:
Modules, packages
D.4
OPERATING SYSTEMS
D.4.6
Security and Protection
Subjects:
Access controls;
Information flow controls
D.4.8
Performance
Subjects:
Measurements
E.
Data
General Terms:
Design,
Experimentation,
Measurement,
Performance
Keywords:
64-bit architectures,
capability-based systems,
microkernel operating systems,
object-oriented database systems,
persistent storage,
protection,
single-address-space operating systems,
wide-address architectures
|