Process Manager Shared Memory Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern operating systems face performance issues due to hardware protection mechanisms that prevent processes from sharing data, leading to costly and time-consuming data copying, and existing multi-threading solutions are not compatible with existing applications.
Innovation Solution
A process manager that enables selected processes to be grouped as sub-processes within a shared memory space, allowing them to interact and share data without bypassing physical protections, using a processing unit and pooling function to manage incident processes and execute code in a super-process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hardware protection mechanisms are implemented to prevent processes from altering each other's critical data, then process security and reliability are improved, but data sharing capability deteriorates and performance worsens due to costly data copying
Solution Approach 1:
The patent segments the process memory model into two distinct parts: a protected code segment that maintains hardware-enforced isolation for security, and a shared data segment that allows controlled access for performance. This segmentation resolves the contradiction by allowing processes to maintain secure boundaries while enabling efficient data sharing through the shared segment, eliminating the need for costly data copying between protected process spaces.
Solution Approach 2:
The patent applies different access control qualities to different parts of the process memory space. The code segment maintains strict protection with read-only access for all processes, while the data segment allows write access for the owning process and read access for child processes. This local differentiation of access rights enables both security and performance by allowing data sharing where needed while maintaining protection where required.
2Productivity
If multi-threading solutions are implemented to accelerate process execution performance, then execution speed is improved, but compatibility with existing applications deteriorates due to required rewriting
Solution Approach 1:
The patent introduces a process manager as an intermediary layer between the operating system and existing applications. This manager transparently creates child processes, manages the shared memory space, and handles the complex memory mapping operations. Existing applications continue to execute as single-threaded programs without any modification, while the intermediary process manager provides multi-threading capabilities through its child process architecture, thus resolving the contradiction between performance improvement and compatibility.
Solution Approach 2:
The child processes created by the process manager serve multiple functions: they execute the parent process code, share the protected code segment, access the shared data segment, and can be managed independently for parallel execution. This multi-functionality allows the system to achieve acceleration benefits similar to multi-threading while maintaining compatibility with existing single-threaded applications through the universal child process model.
3Reliability
If separate address spaces are allocated to each process for hardware protection, then process isolation and security are improved, but memory efficiency deteriorates and startup time increases due to repeated copying
Solution Approach 1:
The patent merges the code segments of parent and child processes into a single shared protected segment, eliminating the need to copy code memory when creating child processes. The process manager sets up memory mappings that allow multiple processes to access the same code segment with appropriate protection bits, thus maintaining process isolation through virtual memory mechanisms while avoiding the time-consuming code copying operation that plagues traditional fork implementations.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The manager (36) has a process processing unit (38) establishing a supper process associated to a designated part of a process data memory (44) e.g. RAM, storing data of incident process (34). The processing unit executes code of the incident process while distinctly interacting with the data. A mutual function (40) loads the incident process in an address space (42) of the super process in response to a process housing condition partially concerning the incident process.