×

Method for scheduling with deadline constraints, in particular in Linux, carried out in user space

  • US 9,582,325 B2
  • Filed: 11/05/2013
  • Issued: 02/28/2017
  • Est. Priority Date: 11/06/2012
  • Status: Active Grant
First Claim
Patent Images

1. A method for scheduling tasks with deadline constraints, which is based on a model of independent periodic tasks and entirely performed in user space, in which:

  • each task to be scheduled is associated with a data structure, which is defined in user space and contains at least one time information item and an information item that is indicative of a state of activity of the task, said state of activity being chosen from a list comprising at least;

    a state of a task being executed;

    a state of a task awaiting the end of its execution period; and

    a state of a task ready to be executed, awaiting a resumption condition;

    in the course of its execution, each task modifies said information item that is indicative of its state of activity and, if need be, according to a predefined scheduling policy, calls a scheduler that is executed entirely in user space;

    upon each call, said scheduler;

    sets up a queue for the tasks that are ready to be executed, awaiting a resumption condition;

    sorts said queue according to a predefined priority criterion;

    if necessary, preempts a task being executed by sending it a signal forcing it to change to said state of a task ready to be executed, awaiting a resumption condition; and

    sends said resumption condition at least to the task that is at the head of said queue;

    said data structure containing information indicative of a thread associated with said task comprising;

    a condition associated with said task;

    subsequent deadline of said task;

    worst case execution time of said task;

    best case execution time of said task; and

    actual execution time of said task;

    said scheduler using a specific function for the allocation of said task on a processor, said method for scheduling tasks being executed under an operating system that is compatible with a POSIX standard, said operating system being a Linux system.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×