Thread Scheduling
|
Type
|
Level
|
UID
|
STATUS
|
TYPE
|
COMPONENT
|
REFS
|
Title
|
Statement
|
USER_STORY
|
|---|---|---|---|---|---|---|---|---|---|
|
TEXT
|
|
|
SPDX-License-Identifier: Apache-2.0 |
||||||
|
SECTION
|
1 |
|
|
|
|||||
|
REQUIREMENT
|
1.1 |
|
|
|
|
|
|
The Zephyr RTOS shall support operation on more than one physical CPU sharing the same kernel state. |
|
|
REQUIREMENT
|
1.2 |
|
|
|
|
|
|
The Zephyr RTOS shall provide an interface for running threads on specific sets of CPUs ( default is 1 CPU). |
As a Zephyr RTOS user I want Zephyr OS to be able to specify the CPU core or the set of CPU cores on which a thread shall be executed. |
|
REQUIREMENT
|
1.3 |
|
|
|
|
|
|
The Zephyr RTOS shall provide an interface for mutual exclusion between multiple physical CPUs. |
As a Zephyr RTOS user I want Zephyr OS to provide synchronization mechanisms between the CPU cores and the access to common resources. |
|
SECTION
|
2 |
|
|
|
|||||
|
REQUIREMENT
|
2.1 |
|
|
|
|
Parents:
|
|
The Zephyr RTOS shall provide an interface to schedule a thread based on an event. |
As a Zephyr RTOS user, I want to be able to execute work which reacts on events and interrupts the current executed work. |
|
REQUIREMENT
|
2.2 |
|
|
|
|
|
|
The Zephyr RTOS shall organize running threads by earliest deadline first priority. |
As a Zephyr RTOS user, I want to be able to schedule threads by earliest deadline first. |
|
REQUIREMENT
|
2.3 |
|
|
|
|
|
|
The Zephyr RTOS shall provide a thread-pooled work queue utility capable of running preemptible work items with specific scheduler priorities. |
As a Zephyr RTOS user, I want to be able to add work items in a thread work queue with different priorities and these shall be scheduled according their priorities. |
|
REQUIREMENT
|
2.4 |
|
|
|
|
|
|
The Zephyr RTOS shall provide an interface for running user-supplied functions. |
As a Zephyr RTOS user, I want to be able to run functions in-order in a separated thread/threads. |
|
REQUIREMENT
|
2.5 |
|
|
|
|
|
|
The Zephyr RTOS shall organize running threads into a fixed list of numeric priorities. |
As a Zephyr RTOS user, I want that the OS organize running threads in a fixed list of numeric priorities. |
|
REQUIREMENT
|
2.6 |
|
|
|
|
|
|
The Zephyr RTOS shall support preemption of a running thread by a higher priority thread. |
As a Zephyr RTOS user, I want that the OS preempt running threads by a thread with higher priority. |
|
REQUIREMENT
|
2.7 |
|
|
|
|
|
|
The Zephyr RTOS shall support thread priorities which cannot be preempted by other user threads. |
As a Zephyr RTOS user, I want to be able to configure thread prioritizes which cannot be preempted by other user threads. |
|
REQUIREMENT
|
2.8 |
|
|
|
|
|
|
The Zephyr RTOS shall support time sharing of CPU resources among threads of the same priority. |
As a Zephyr RTOS user, I want to be able to configure my RTOS in the way, that the CPU resources are shared evenly among executed threads of the same priority. |