Micro Kernel Scheduling via Direct Switching to Reduce Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional micro kernel scheduling methods in Linux systems have high switching costs and poor real-time performance due to the one-to-one correspondence between micro kernels and threads, limiting efficient software development and debugging in IoT applications.
Innovation Solution
A method and apparatus for micro kernel scheduling that allows direct switching between micro kernels using scheduling instructions, independent of Linux threads, utilizing the setjmp/longjmp functions for stack initialization and memory allocation, and separating the micro kernel from the Linux platform using the newlib library, enabling efficient simulation and debugging.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If micro kernels are scheduled using Linux threads with one-to-one correspondence, then the system can utilize Linux scheduling mechanisms, but the switching cost increases and real-time performance deteriorates
Solution Approach 1:
The patent segments the micro kernel scheduling from the Linux thread scheduling by introducing a virtualization layer. The micro kernel runs in a virtualized environment where it can be switched independently without affecting Linux thread states, thus reducing switching overhead while maintaining compatibility with Linux scheduling mechanisms.
Solution Approach 2:
The patent introduces a virtual machine or container as an intermediary between the micro kernel and Linux threads. This intermediary layer allows the micro kernel to be scheduled and switched without directly involving Linux thread management, thereby reducing switching costs while preserving adaptability to Linux scheduling.
2Adaptability or versatility
If micro kernels are tightly coupled with Linux platform and threads, then system integration is achieved, but independence for debugging and memory leakage detection is lost
Solution Approach 1:
The patent extracts the micro kernel from the Linux platform by running it in a virtualized environment. This extraction allows the micro kernel to be independently debugged and tested for memory leakage using specialized tools without being constrained by Linux platform dependencies, while still maintaining system integration through controlled interfaces.
3Quantity of substance
If conventional logging methods are used on MCU, then resource constraints are respected, but complex program debugging becomes impossible
Solution Approach 1:
The patent enables the MCU to run a virtualized Linux environment that provides universal debugging tools and logging capabilities. This allows complex program debugging on resource-constrained MCUs by leveraging the multi-functional Linux debugging ecosystem while the virtualization layer manages resource allocation efficiently.
Data Source
AI summary
A micro kernel scheduling method and apparatus are disclosed in embodiments of this disclosure. The method is applied to a software platform and includes: receiving a scheduling instruction for a current micro kernel; and switching the current micro kernel to a target micro kernel. In some embodiments, a micro kernel is switched directly according to a scheduling instruction, and this is completed without any thread of the software platform, which solves the problems in the conventional system of high micro kernel switching cost and poor real-time performance caused by one-to-one correspondence between micro kernels and threads of the software platform.


