Zephyr Project Requirements
Thread Scheduling

Thread Scheduling

Type LevelUIDREFS Title Statement Rationale Comment
TEXT

SPDX-License-Identifier: Apache-2.0

SECTION 1
Thread Scheduling
REQUIREMENT 1.1 ZEP-SRS-2-1
ZEP-SRS-2-1
Support operation on more than one CPU

The Zephyr RTOS shall support operation on more than one physical CPU sharing the same kernel state.

REQUIREMENT 1.2 ZEP-SRS-2-2
ZEP-SRS-2-2
Running threads on specific CPUs

The Zephyr RTOS shall provide an interface for running threads on specific sets of CPUs ( default is 1 CPU).

REQUIREMENT 1.3 ZEP-SRS-2-3
ZEP-SRS-2-3
Exclusion between physical CPUs

The Zephyr RTOS shall provide an interface for mutual exclusion between multiple physical CPUs.

SECTION 2
Thread Scheduling
REQUIREMENT 2.1 ZEP-SRS-2-4
ZEP-SRS-2-4
Scheduling a thread based on an event

The Zephyr RTOS shall provide an interface to schedule a thread based on an event.

REQUIREMENT 2.2 ZEP-SRS-2-5
ZEP-SRS-2-5
Deadline Scheduling Priorities

The Zephyr RTOS shall organize running threads by earliest deadline first priority.

REQUIREMENT 2.3 ZEP-SRS-2-6
ZEP-SRS-2-6
Work Queue utility capable of running preemptible work items

The Zephyr RTOS shall provide a thread-pooled work queue utility capable of running preemptible work items with specific scheduler priorities.

REQUIREMENT 2.4 ZEP-SRS-2-7
ZEP-SRS-2-7
Run user supplied functions in-order in a separate thread(s)

The Zephyr RTOS shall provide an interface for running user-supplied functions.

REQUIREMENT 2.5 ZEP-SRS-2-8
ZEP-SRS-2-8
Organize running threads into a fixed list

The Zephyr RTOS shall organize running threads into a fixed list of numeric priorities.

REQUIREMENT 2.6 ZEP-SRS-2-9
ZEP-SRS-2-9
Preemption support

The Zephyr RTOS shall support preemption of a running thread by a higher priority thread.

REQUIREMENT 2.7 ZEP-SRS-2-10
ZEP-SRS-2-10
Un-preemptible thread priorities

The Zephyr RTOS shall support thread priorities which cannot be preempted by other user threads.

REQUIREMENT 2.8 ZEP-SRS-2-11
ZEP-SRS-2-11
Time sharing of CPU resources

The Zephyr RTOS shall support time sharing of CPU resources among threads of the same priority.