OS Kernel Task Scheduling via Protected Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveease of task scheduling controlVSAvoidsecurity of task scheduling
Core Design Contradiction:
Ease of operationVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improveprotection of configuration structureVSAvoidmemory protection system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improvesecurity of task executionVSAvoidflexibility in task scheduling
Core Design Contradiction:
ReliabilityVSEase of operation

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3502949B1Method and system for controlling the scheduling of software tasks
Publication Date: 2022.09.21 THALES SA
  • EP3502949B1 patent drawingFigure 1~2
  • EP3502949B1 patent drawingFigure 3~4
  • EP3502949B1 patent drawingFigure 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.