Microkernel IPC Channel Shared Memory Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional operating systems, including microkernel configurations, face inefficiencies and security vulnerabilities due to resource-intensive inter-process communication (IPC) methods that require numerous system calls and copying actions, and tight coupling between user-space processes can compromise security.
Innovation Solution
The implementation of an IPC channel with a message buffer mapped to both the kernel and user-space virtual address spaces, allowing one-way communication with reduced system calls and copy actions, while maintaining process isolation through controlled access rights.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional IPC methods are used in microkernel configuration, then process isolation and security are improved, but communication efficiency deteriorates due to multiple system calls and copy actions
Solution Approach 1:
The patent merges the kernel space message buffer with user space virtual address spaces through mapping, allowing producer and consumer processes to access the same physical memory region without requiring data copying. This eliminates multiple system calls and copy actions while maintaining process isolation through controlled access rights, directly resolving the contradiction between security and communication efficiency
Solution Approach 2:
The patent introduces an intermediary mechanism where the kernel establishes virtual address space mappings that mediate between isolated user processes. The message buffer acts as an intermediary shared resource that enables direct communication without compromising process isolation, allowing efficient data transfer while maintaining security boundaries
2Productivity
If shared memory regions are used for IPC, then communication efficiency is improved, but security deteriorates due to tight coupling between processes
Solution Approach 1:
The patent applies local quality by implementing selective access rights for different processes to the same message buffer. The producer process has write access while the consumer process has read access, but neither process can compromise the other. This localized access control enables efficient shared memory communication while maintaining security through role-specific permissions
3Reliability
If multiple copy actions are performed for IPC, then process isolation is maintained, but resource consumption increases
Solution Approach 1:
The patent merges the virtual address spaces of the kernel, producer process, and consumer process to map to the same physical message buffer. This eliminates the need for multiple copy actions between separate memory regions while maintaining process isolation through virtual memory management and access control, directly reducing resource consumption
Data Source
AI summary
In one embodiment, a method includes creating, by a computing device, an inter process communication (IPC) channel for communication from a producer process to a consumer process. The IPC channel includes a message buffer mapped to a first virtual address space of a kernel of an operating system and to a second virtual address space of the consumer process in a user space of the operating system. A sender handle for the message buffer is sent to the producer process. The kernel receives a request, which includes the sender handle, to send a message from the producer process to the consumer process through the IPC channel. Responsive to a determination that the request is permitted, the kernel writes the message to the message buffer using the sender handle, such that message written in the message buffer is accessible to the consumer process through the second address space.


