PROTECTION DOMAINS IN A SINGLE ADDRESS SPACE
 Inventors: James W. Wendorf, Cortlandt Manor, N.Y.; Kamlesh Rath, Hackensack, N.J.; Dinesh Verma, Ossining, N.Y.
 Assignee: Philips Electronics North America Corporation, New York, N.Y.
[ * ] Notice: This patent issued on a continued prosecution application filed under 37 CFR 1.53(d), and is subject to the twenty year patent term provisions ol 35 U.S.C. 154(a)(2).
 Appl. No.: 621,759
 Filed: Mar. 22, 1996
 Int. CI. G06F 12 14
 U.S. CI 395/726; 711/145
 Field of Search 395/726, 670,
395/674; 711/145, 209, 163
 References Cited
U.S. PATENT DOCUMENTS
5,280,614 1/1994 Munroe 395/650
5,390,310 2/1995 Wetland 395/413
5,581,722 12/1996 Wetland 395/417
FOREIGN PATENT DOCUMENTS
2260004 3/1993 United Kingdom G06F 12/14
Intel 1486 Microprocessor Technical Report.
"SPARC Relerence MMU Architecture" Sun Microsystems,
Version 8, Dec. 11, 1990.
Protection among threads executing in the same address space ol a computer system is provided without using virtual memory techniques. This is achieved by grouping the threads into protection domains, each ol the threads in a protection domain having the same rights to access memory as the other threads in that protection domain, so that each thread in a protection domain can access all the information available to the others. At least one protection domain, relerred to herein as the "system" domain, which typically is the protection domain ol the operating system and has unrestricted access to the entire memory, is predefined prior to execution ol any threads. Prior to execution, the single address space is divided into non-overlapping pages. Each page has at least one access permission set for it. Only threads that belong to a protection domain having permission to access a page may do so. During operation, when a request to access memory is issued by an executing thread, it is determined whether or not the protection domain ol the executing thread has permission to perform the requested type ol access. II the protection domain ol the executing thread is permitted to perform the type ol access requested, access is granted and the executing thread's execution proceeds normally. However, il the protection domain ol the executing thread does not have permission to perform the requested type ol access, a protection lault is generated.
22 Claims, 6 Drawing Sheets