OS Kernel Task Scheduling via Protected Configuration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for controlling the scheduling of software tasks in sensitive on-board devices and industrial command systems face challenges in ensuring high-level execution security, particularly due to the complexity and insecurity of software applications running in non-privileged mode.
Innovation Solution
Implementing a method where the kernel of the operating system controls the scheduling of software tasks in privileged mode, using a previously stored configuration structure recorded in a protected memory portion, ensuring secure execution and communication between tasks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If software applications control task scheduling in non-privileged mode, then ease of operation is improved, but security reliability deteriorates due to the large volume of software instructions that cannot be fully validated
Solution Approach 1:
The patent introduces a configuration structure as an intermediary between software applications and the task scheduling mechanism. This configuration structure, stored in protected memory and accessed in privileged mode, mediates the scheduling decisions without requiring software applications to directly control scheduling. The configuration structure contains task identifiers, priority levels, and scheduling parameters that the kernel uses to make scheduling decisions, thereby eliminating the need for software applications to handle complex scheduling logic while maintaining security.
Solution Approach 2:
The patent segments the task scheduling control into two distinct parts: a protected configuration structure stored in inaccessible memory that contains all scheduling parameters and task definitions, and the actual scheduling execution that occurs in privileged mode based on this configuration. This segmentation separates the static scheduling policy (which can be validated and protected) from the dynamic scheduling operations, allowing security to be enforced at the configuration level while maintaining operational flexibility.
2Reliability
If the configuration structure is stored in protected and inaccessible memory, then security reliability is improved, but device complexity increases due to additional memory protection mechanisms
Solution Approach 1:
The configuration structure is designed to be self-protecting through its storage location and access control characteristics. By storing the configuration structure in a specific protected memory region that is inherently inaccessible to non-privileged software, the system leverages existing memory protection capabilities of the operating system kernel rather than implementing additional complex protection mechanisms. The configuration structure essentially protects itself through its location and the privileged mode requirement for access.
3Reliability
If the kernel controls scheduling in privileged mode based on pre-stored configuration, then security reliability is improved, but ease of operation deteriorates due to reduced flexibility in task scheduling
Solution Approach 1:
The patent implements dynamics by allowing the configuration structure to be modified and updated while maintaining its protected status. The kernel can load, update, and manage configuration structures in privileged mode, enabling dynamic adjustment of task priorities, scheduling parameters, and even addition/removal of tasks. This allows the system to adapt to changing requirements while the configuration remains stored in protected memory and accessed through secure privileged operations, thus maintaining both security and flexibility.
Data Source
Figure 1~2
Figure 3~4
Figure 5
AI summary
The invention relates to a method and a control system for scheduling software tasks to be executed in a predetermined application context, the software tasks (26a,...,26z) being adapted to be implemented by a computing device in non-privileged execution mode, the computing device comprising hardware resources (14a-20a) managed by an operating system (8) with a kernel (10) executable in privileged execution mode.This process, executed by said kernel, performs a scheduling of software tasks to be executed according to a previously stored configuration structure (36) defining, for said given application context, at least one priority level associated with each software task of said application context, as well as, for each software task of said application context, information relating to the authorized communications of said task to one or more destination software tasks, and for said given application context, a set of global states, with for each global state, an indication of tasks authorized in said state, and an indication of transitions authorized between global states.