Computer
Computer
A Fast Translation Method for Paging on Top of Segmentation
IEEE Transactions on Computers
Processor coupling: integrating compile time and runtime scheduling for parallelism
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
Architecture support for single address space operating systems
ASPLOS V Proceedings of the fifth international conference on Architectural support for programming languages and operating systems
Efficient software-based fault isolation
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
ICS '90 Proceedings of the 4th international conference on Supercomputing
Segmentation and the Design of Multiprogrammed Computer Systems
Journal of the ACM (JACM)
An object oriented architecture
ISCA '85 Proceedings of the 12th annual international symposium on Computer architecture
Communications of the ACM
The Multics virtual memory: concepts and design
Communications of the ACM
Virtual memory, processes, and sharing in MULTICS
Communications of the ACM
Capability-Based Computer Systems
Capability-Based Computer Systems
IBM System/38 support for capability-based addressing
ISCA '81 Proceedings of the 8th annual symposium on Computer Architecture
Extensibility safety and performance in the SPIN operating system
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Proceedings of the 28th annual international symposium on Microarchitecture
Concurrent Event Handling through Multithreading
IEEE Transactions on Computers
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
Keeping Secrets in Hardware: The Microsoft Xbox Case Study
CHES '02 Revised Papers from the 4th International Workshop on Cryptographic Hardware and Embedded Systems
Processor Mechanisms for Software Shared Memory
ISHPC '00 Proceedings of the Third International Symposium on High Performance Computing
Software environment for integrating critical real-time control systems
Journal of Systems Architecture: the EUROMICRO Journal
Mondrix: memory isolation for linux using mondriaan memory protection
Proceedings of the twentieth ACM symposium on Operating systems principles
Performance implications of multiple pointer sizes
TCON'95 Proceedings of the USENIX 1995 Technical Conference Proceedings
MOOSS2: a CPU with support for HLL memory structures
ACST'07 Proceedings of the third conference on IASTED International Conference: Advances in Computer Science and Technology
Sentry: light-weight auxiliary memory access control
Proceedings of the 37th annual international symposium on Computer architecture
Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security
Hi-index | 0.00 |
Traditional methods of providing protection in memory systems do so at the cost of increased context switch time and/or increased storage to record access permissions for processes. With the advent of computers that supported cycle-by-cycle multithreading, protection schemes that increase the time to perform a context switch are unacceptable, but protecting unrelated processes from each other is still necessary if such machines are to be used in non-trusting environments.This paper examines guarded pointers, a hardware technique which uses tagged 64-bit pointer objects to implement capability-based addressing. Guarded pointers encode a segment descriptor into the upper bits of every pointer, eliminating the indirection and related performance penalties associated with traditional implementations of capabilities. All processes share a single 54-bit virtual address space, and access is limited to the data that can be referenced through the pointers that a process has been issued. Only one level of address translation is required to perform a memory reference. Sharing data between processes is efficient, and protection states are defined to allow fast protected subsystem calls and create unforgeable data keys.