F001: Tasks

EpicGitLab Epic
Document Statusactive

Description

A task is an entity of work. It is the basis of any RTOS. A task can be run periodically, on a specific event or only once.

Requirements

IDTitleUser StoryPriorityStatus
F001-1TasksAs a developer, I want to create tasks, so that I can separate independent code sections.highdone
F001-2Task PrioritiesAs a developer, I want to assign priorities to tasks, so that important tasks run on time.highdone
F001-3Task PrivilegesAs a developer, I want to give tasks privileges, so that only certain tasks can access resources.lowto review
F001-4Time SlicingAs a developer, I want the CPU to be shared between tasks with equal priority, so that I don't have to bother with switching active tasks.mediumdone
F001-5Scheduling AlgorithmsAs a developer, I want to select a scheduling algorithm at compile time, so that configure the RTOS to my needs.lowto review
F001-6TicklessAs a developer, I want to disable time slicing in the scheduler, so that I can use the RTOS on ultra low power systems.lowto review
F001-7Async/AwaitAs a developer, I want to use Rusts async/await features, so that I can write code that is easier to understand than with callbacks.lowto review
F001-8Software One-Shot TimerAs a developer, I want to schedule an event at some specific time, so that I can defer an action with little overhead.mediumto review
F001-9Software Repetitive TimerAs a developer, I want to schedule periodic events in some interval, so that I can trigger short actions with little overhead.mediumto review
F001-10Kernel ISRAs a maintainer, I want to handle interrupts in the kernel, so that I can check that context and permissions are correct.mediumdone
F001-11User ISRAs a developer, I want to register interrupt service routines, so that I can handle interrupt driven events.mediumplanned
F001-12Low Latency ISRAs a developer, I want to handle time critical events without kernel interference, so that my system can react with minimal latency.lowto review

Questions

QuestionAnswer

Out of Scope

  • The worst case execution time (WCET) model will not be covered