Claims
- 1. A method comprising:
determining which system resources of a computer system, if any, are to remain under control of a resident operating system of the computer system and which of the system resources are to be placed under control of one or more customized execution environments (CE2s) that are to be established within the computer system; and partitioning the system resources among the resident operating system and the one or more CE2s by associating one or more partitions of the system resources with the one or more CE2s.
- 2. The method of claim 1, wherein said partitioning the system resources comprises the resident operating system configuring the one or more partitions using hardware-based isolation techniques provided by one or more processors of the computer system.
- 3. The method of claim 2, further comprising the resident operating system entering a dormant state.
- 4. The method of claim 1, wherein said partitioning the system resources comprises the operating system configuring the one or more partitions using a secure-platform interface.
- 5. The method of claim 4, further comprising the resident operating system retaining full control of one or more of the partitions and remaining active after said partitioning the system resources.
- 6. The method of claim 1, wherein said partitioning the system resources comprises a system administrator configuring the one or more partitions using hardware partitioning capability provided by the computer system.
- 7. The method of claim 6, further comprising separately booting the resident operating system and the one or more CE2s within their respective configured partitions.
- 8. The method of claim 1, further comprising a CE2 of the one or more CE2s making use of capabilities of the computer system not supported by the resident operating system.
- 9. The method of claim 1, wherein a CE2 of the one or more CE2s comprises both statically linked system code and data modules and application code and data modules.
- 10. The method of claim 1, wherein functional capabilities of a CE2 of the one or more CE2s is strictly limited to only those services required by a small set of predetermined applications.
- 11. The method of claim 1, wherein an application within a CE2 of the one or more CE2s is limited to a single thread of execution in a processor controlled by the CE2.
- 12. The method of claim 1, wherein a CE2 of the one or more CE2s utilizes hardware capabilities not supported by the resident operating system.
- 13. The method of claim 1, wherein services provided to an application within a CE2 of the one or more CE2s enable the application to recover and continue from a system error.
- 14. The method of claim 1, wherein a CE2 of the one or more CE2s is non-portable.
- 15. The method of claim 1, wherein services provided to an application within a CE2 of the one or more CE2s utilize no general-purpose operating system abstractions.
- 16. The method of claim 1, wherein services within a CE2 employ entirely different resource management strategies than those used by a general-purpose operating system.
- 17. A method comprising:
an operating system of a computer system receiving information regarding a customized execution environment (CE2); the operating system partitioning system resources of the computer system, including one or more processors and one or more ranges of physical memory, by (i) determining which of the system resources, if any, are to remain under control of the operating system and which of the system resources are to be placed under control of the CE2, and (ii) associating a first partition of the system resources with the CE2; and the operating system surrendering full control of the first partition of the system resources to the CE2.
- 18. The method of claim 17, wherein the information regarding a CE2 includes a directive to partition resources and an associated partition descriptor, the partition descriptor identifying resources needed by the CE2 and indicating how partitions are to be configured.
- 19. The method of claim 17, wherein said associating a first partition of the system resources with the CE2 comprises disassociating those of the system resources in the first partition from the operating system and reconfiguring interrupts.
- 20. The method of claim 17, further comprising:
the operating system retaining full control of a second partition of the system resources; and isolating the second partition of the system resources to protect the system resources associated with the operating system from the CE2 by employing hardware isolation.
- 21. The method of claim 20, further comprising isolating the first partition of the system resources to protect the system resources associated with the CE2 from the operating system by employing hardware isolation.
- 22. The method of claim 20, wherein the hardware isolation comprises establishing one or more disjoint sets of protection keys for one or more operations on one or more ranges of virtually addressed memory in the first or second partitions of the system resources.
- 23. The method of claim 20, wherein the hardware isolation comprises establishing one or more disjoint sets of region identifiers for one or more operations on one or more ranges of virtually addressed memory in the first or second partitions of the system resources.
- 24. The method of claim 20, wherein the hardware isolation comprises associating one or more ranges of memory in the second partition of the system resources with a processor in the second partition, and associating one or more ranges of memory in the first partition of the system resources with a processor in the first partition.
- 25. The method of claim 24, wherein said associating one or more ranges of memory in the second partition of the system resources with a processor in the second partition, and said associating one or more ranges of memory in the first partition of the system resources with a processor in the first partition, comprises employing a region-identifier-based memory partitioning mechanism.
- 26. The method of claim 17, further comprising:
receiving an indication that the CE2 is terminating; and the operating system assuming control of the first partition of the system resources.
- 27. A system comprising:
one or more storage devices having stored thereon software images of a resident operating system and customized control environment and services associated with one or more custom execution environments (CE2); one or more processors, coupled to the one or more storage devices, to execute the resident operating system and the customized control environment and services, where: a determination is made with respect to which portion, if any, of resources of the system, including the one or more processors and memory of the system, are to remain under control of the resident operating system and which portion of the resources are to be placed under control of the one or more CE2s; and the resources are partitioned among the resident operating system and the one or more CE2s by associating one or more portions of the resources with the one or more CE2s.
- 28. A server comprising:
one or more storage devices having stored thereon software images of an operating system and customized control environment and services associated with a concurrent custom execution environment (C2E2), the operating system capable of establishing a first partition of system resources for use and control by the operating system and a second partition of system resources for use and control by the C2E2; one or more processors, coupled to the one or more storage devices, to execute the operating system and the customized control environment and services, where: a first portion of the one or more storage devices, a first portion of the one or more processors, a first portion of memory, and a first portion of one or more input/output (I/O) devices are associated with the first partition by the operating system; a second portion of the one or more storage devices, a second portion of the one or more processors, a second portion of the memory, and a second portion of the one or more input/output (I/O) devices are associated with the second partition by the operating system; the first partition is isolated to protect the system resources associated with the operating system from the C2E2 by employing hardware-based security measures; and full control of the second partition is surrendered to the C2E2 by the operating system initializing and invoking the customized control environment and services in the second portion of memory.
- 29. The server of claim 28, wherein the second partition is isolated to protect the system resources associated with the C2E2 from the operating system by employing hardware-based security measures.
- 30. The server of claim 28, wherein the customized control environment and services are non-portable.
- 31. The server of claim 28, wherein the first partition includes at least one processor.
- 32. The server of claim 28, wherein the second partition includes at least one processor.
- 33. The server of claim 28, wherein the one or more storage devices have stored thereon a software image of a customized application for which a computational structure of the customized control environment and services has been tuned.
- 34. The server of claim 33, wherein the customized application comprises a web edge engine.
- 35. The server of claim 34, wherein the web edge engine comprises a web server.
- 36. The server of claim 34, wherein the web edge engine comprises an application server.
- 37. The server of claim 34, wherein the web edge engine comprises a communication server.
- 38. The server of claim 28, wherein a communication channel is maintained between the first partition and the second partition, and wherein a dynamic content generator executes within the first partition and provides dynamic content to the web server via the communication channel.
- 39. The server of claim 28, wherein the hardware-based security measures comprise use of one or more of region identifiers, protection identifiers, and memory page access rights values.
- 40. An operating system comprising:
a means for partitioning system resources into at least a first partition to remain under the control of the operating system and a second partition that is to be placed under the full control of a concurrent custom execution environment (C2E2); an interface means to hardware-based isolation features for protecting the system resources of the first partition against access by the C2E2; a means for transferring full control of the system resources of the second partition to the C2E2, including initializing and invoking customized control and services associated with the C2E2; and a means for providing communication between the first partition and the second partition.
- 41. The operating system of claim 40, further comprising a means for reincorporating partitioned system resources.
- 42. The operating system of claim 40, further comprising:
separate means for operator control of the operating system and the C2E2; and separate interface means for monitoring the operating system and the C2E2.
- 43. An operating system comprising:
a means for communicating with one or more concurrent custom execution environments (C2E2s) operating within and controlling respective hardware-enforced partitions of system resources separate from a hardware-enforced partition of system resources in which the operating system resides; and a means for causing a C2E2 of the one or more C2E2s to begin processing or to terminate.
Parent Case Info
[0001] This application claims the benefit of U.S. Provisional Application No. 60/451,848 filed Mar. 4, 2003 and U.S. Provisional Application No. 60/497,870 filed Aug. 25, 2003, both of which are hereby incorporated by reference in their entirety.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60451848 |
Mar 2003 |
US |
|
60497870 |
Aug 2003 |
US |