Operating System Resource Scheduling for Real-Time Reliability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing operating systems, particularly general-purpose systems like Linux and Windows, are unsuitable for running real-time applications due to their lack of provision for concurrent execution with non-real-time tasks, leading to inefficiencies when trying to integrate real-time and non-real-time operating systems.
Innovation Solution
A system and method that modifies multiple operating systems to prioritize a critical real-time operating system, allocating hardware resources preferentially and ensuring the secondary operating system does not interfere with the critical one, using a common program to schedule and manage shared resources, and handling interrupts to prevent pre-emption of the critical system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a dual boot system is used to run either real-time or non-real-time operating systems, then one operating system can run without interference, but the other operating system cannot run concurrently and resource utilization is wasted
Solution Approach 1:
The system is segmented into distinct real-time and non-real-time operating system environments that can run concurrently on the same hardware platform. Each operating system is isolated with its own kernel space and resource management, allowing them to operate independently without interfering with each other's execution guarantees.
Solution Approach 2:
A common program or intermediary layer is introduced to manage hardware resource allocation between the real-time and non-real-time operating systems. This intermediary coordinates access to shared resources, ensuring that real-time requirements are met while allowing non-real-time systems to utilize remaining resources efficiently.
2Adaptability or versatility
If emulation is used to run general-purpose operating systems under real-time operating systems, then legacy programs can run, but performance deteriorates due to instruction interpretation overhead
Solution Approach 1:
The invention extracts the essential resource management and scheduling functions from the traditional operating system kernel into a separate common program layer. This allows the real-time operating system to maintain direct hardware access and execution efficiency while the extracted management functions coordinate with the non-real-time system to provide legacy program compatibility without emulation overhead.
3Productivity
If hardware resources are shared between real-time and non-real-time operating systems, then resource utilization improves, but real-time performance may be compromised due to resource contention
Solution Approach 1:
Different quality levels of resource access are provided to different operating systems based on their requirements. The real-time operating system receives guaranteed, high-priority access to critical hardware resources with deterministic timing, while the non-real-time operating system accesses remaining resources on a best-effort basis. This local differentiation of resource quality ensures real-time deadlines are met while maximizing overall resource utilization.
Data Source
AI summary
A method of enabling multiple different operating systems to run concurrently on the same RISC computer, comprising selecting a first operating system to have a relatively high priority (the realtime operating system, such as C5); selecting at least one secondary operating system to have a relatively lower priority (the general purpose operating system, such as Linux); providing a common program (a hardware resource dispatcher similar to a nanokernel) arranged to switch between said operating systems under predetermined conditions; and providing modifications to said first and second operating systems to allow them to be controlled by said common program.


