The duality of memory and communication in the implementation of a multiprocessor operating system
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
Improving IPC by kernel design
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Application performance and flexibility on exokernel systems
Proceedings of the sixteenth ACM symposium on Operating systems principles
Application-controlled demand paging for out-of-core visualization
VIS '97 Proceedings of the 8th conference on Visualization '97
Resource containers: a new facility for resource management in server systems
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
Operating system support for database management
Communications of the ACM
Formal requirements for virtualizable third generation architectures
Communications of the ACM
Programming semantics for multiprogrammed computations
Communications of the ACM
The distribution of faults in a large industrial software system
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
User Interaction Design for Secure Systems
ICICS '02 Proceedings of the 4th International Conference on Information and Communications Security
Design Evolution of the EROS Single-Level Store
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
Operating Systems, An Advanced Course
Extensible Kernels are Leading OS Research Astray
HOTOS '97 Proceedings of the 6th Workshop on Hot Topics in Operating Systems (HotOS-VI)
The Failure of Personalities to Generalize
HOTOS '97 Proceedings of the 6th Workshop on Hot Topics in Operating Systems (HotOS-VI)
User-level checkpointing through exportable kernel state
IWOOOS '96 Proceedings of the 5th International Workshop on Object Orientation in Operating Systems (IWOOOS '96)
ACM SIGOPS Operating Systems Review
Managing Resource Reservations and Admission Control for Adaptive Applications
ICPP '01 Proceedings of the International Conference on Parallel Processing
Understanding the Linux Virtual Memory Manager
Understanding the Linux Virtual Memory Manager
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Garbage collection without paging
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Polaris: virus-safe computing for Windows XP
Communications of the ACM - Privacy and security in highly dynamic systems
Reducing TCB complexity for security-sensitive applications: three case studies
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Preventing privilege escalation
SSYM'03 Proceedings of the 12th conference on USENIX Security Symposium - Volume 12
The slab allocator: an object-caching kernel memory allocator
USTC'94 Proceedings of the USENIX Summer 1994 Technical Conference on USENIX Summer 1994 Technical Conference - Volume 1
Mach-US: UNIX on generic OS object servers
TCON'95 Proceedings of the USENIX 1995 Technical Conference Proceedings
Lexical file names in plan 9 or getting dot-dot right
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
High-performance caching with the Lava hit-server
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
Robust composition: towards a unified approach to access control and concurrency control
Robust composition: towards a unified approach to access control and concurrency control
A microkernel API for fine-grained decomposition
Proceedings of the Fifth Workshop on Programming Languages and Operating Systems
Hi-index | 0.00 |
The GNU Hurd's design was motivated by a desire to rectify a number of observed shortcomings in Unix. Foremost among these is that many policies that limit users exist simply as remnants of the design of the system's mechanisms and their implementation. To increase extensibility and integration, the Hurd adopts an object-based architecture and defines interfaces, in particular those for the composition of and access to name spaces, that are virtualizable. This paper is first a presentation of the Hurd's design goals and a characterization of its architecture primarily as it represents a departure from Unix's. We then critique the architecture and assess it in terms of the user environment of today focusing on security. Then follows an evaluation of Mach, the microkernel on which the Hurd is built, emphasizing the design constraints which Mach imposes as well as a number of deficiencies its design presents for multi-server like systems. Finally, we reflect on the properties such a system appears to require.