= TestSuite/tasks = = Tasks Management = = Task Management = {| class="wikitable" |- !width="200pt"|General Area Written Test | width="300pt"|sp* |} {| class="wikitable" |- ! width="200pt"|Subarea ! width="300pt"|Written Tests |- | create task | |- | obtain task id | |- | start task | |- | restart task | |- | suspend task | |- | resume task | |- | delay task | |- | change task priority | |- | change task mode | |- | notepad locations | |- | task deletion | |- | monitor task | |- | debug manager | |- | critical section | spcritical* |} = Interrupt Management = {| class="wikitable" |- !width="200pt"|General Area Written Test | width="300pt"|sp* |} {| class="wikitable" |- ! width="200pt"|Subarea ! width="300pt"|Written Tests |- | establish ISR | |- | enable and disable interrupts | |- | flash interrupt | |- | check whether ISR in process | |} = Posix Process Management = {| class="wikitable" |- ! width="200pt"|Subarea ! width="300pt"|Written Tests |- | exit | |- | Process Environment Manager | psxid*, sysconf |} = Posix Thread Management = {| class="wikitable" |- !width="200pt"|General Area Written Test | width="300pt"|psx*, spthreadq01, psxclassic*, psxgetrusage, psxhdrs |} {| class="wikitable" |- ! width="200pt"|Subarea ! width="300pt"|Written Tests |- |initialization |psxautoinit |- |destroy | |- |set and get detach state | |- |set and get thread stack size | |- |set and get thread stack address | |- |set and get thread scheduling scope | |- |set and get inherit scheduler flag | |- |set and get scheduling policy | |- |set and get scheduling parameters | |- |create thread | |- |exit thread | |- |detach thread | |- |join thread |psxeintr_join |- |get thread id | |- |compare thread id | |- |dynamic package initialization | |- |set thread scheduling parameters | |- |get thread scheduling parameters | |- |thread cancellation |psxcancel, psxcleanup* |- |remove cancellation handler | |- |Key Management |psxkey* |- |Spinlock |psxspin* |}= Task Communication and Synchronization = {| class="wikitable" |- !width="200pt"|General Area Written Test | width="300pt"| |} {| class="wikitable" |- ! width="200pt"|Subarea ! width="200pt"|subsubarea ! width="300pt"|Written Tests |- |rowspan="3"| event | build event set | |- | send event | |- | receive event | |- |rowspan="6"| message |create message queue | |- |obtain message id | |- |receive message | |- |send message | |- |broadcast message | |- |delete message | |- |rowspan="5"| semaphore |create semaphore | |- |obtain semaphore id | |- |acquire semaphore | |- |release semaphore | |- |delete semaphore | |- |rowspan="3"| signal |build signal set | |- |establish ASR | |- |send signal set | |- |rowspan="5"| barrier |create barrier | |- |get id of barrier | |- |delete a barrier | |- |wait a barrier | |- |release a barrier | |}= Posix Thread Communication = {| class="wikitable" |- !width="200pt"|General Area Written Test | width="300pt"| |} {| class="wikitable" |- ! width="150pt"|Subarea ! width="150pt"|Subsubarea ! width="225pt"|Written Tests |- | rowspan="16"|signal |add signal to/delete signal from signal set | |- |fill a signal set | |- |signal is member of set | |- |empty a signal set | |- |examine and change signal action | |- |send a signal to a thread | |- |examine and change process blocked signals | |- |examine and change thread blocked signals | |- |send signal to a process | |- |examine pending signals | |- |wait for a signal | |- |suspend process execution | |- |synchronously accept a signal(with and without timeout) | |- |queue a signal to a process | |- |schedule alarm | |- |schedule alarm in microseconds | |- | rowspan="9"|semaphore |initialize an unnamed semaphore | |- |destroy an unnamed semaphore | |- |open and close a named semaphore | |- |unlink a semaphore | |- |wait on a semaphore | |- |non-blocking wait on a semaphore | |- |wait on a semaphore for a specified time | |- |unblock a semaphore | |- |get the value of a semaphore | |- | rowspan="13"|mutex |Initialize a mutex attribute set | |- |destroy a mutex attribute set | |- |set and get the blocking protocol | |- |set and get the priority ceiling | |- |set and get the visibility | |- |initialize a mutex | |- |destroy a mutex | |- |lock a mutex | |- |poll to lock a mutex | |- |lock a mutex with timeout | |- |unlock a mutex | |- |dynamically set the priority ceiling | |- |get the current priority ceiling | |- | rowspan="8"|condition variable | initialize a condition variable attribute set | |- |destroy a condition variable attribute set | |- |set and get process shared attribute | |- |initialize and destroy condition variable | |- |signal a condition variable | |- |broadcast a condition variable | |- |wait on a condition variable | |- |wait with a timeout a condition variable | |- | rowspan="7"|message | open or create a message queue | |- | close a message queue | |- | remove a message queue | |- | send a message to a message queue | |- | receive a message from a message queue | |- | notification of receipt of a message on an empty queue | |- | set and get the attribute of a message queue | |- | Barrier | | psxbarrier* |} = Tasks Scheduling = {| class="wikitable" |- !width="200pt"|General Area Written Test |width="300pt"| |} {| class="wikitable" |- ! width="150pt"|Subarea ! width="150pt"|Subsubarea ! width="225pt"|Written Tests |- |rowspan="5"|Round Robin |set task priority level | |- |task preemption | |- |task time slicing control | |- |manual round-robin selection | |- |dispatching task | |- |rowspan="9"|Rate Monotonic |create rate monotonic period | |- |get id of period | |- |cancel a period | |- |delete a rate monotonic period | |- |conclude current/start next period | |- |obtain status from a period | |- |obtain statistics from a period | |- |reset statistics for a period/all periods | |- |print period statistics report | |- |Earliest Deadline First | | |- |Constant Bandwidth Server Scheduler | | |- |Simple Priority Scheduler | | |- |rowspan="4"|Posix Schedule Management |get minimum priority value | |- |get maximum priority value | |- |get time slicing quantum | |- |yield the processor | |} = Multiprocessing Communication and Synchronization = {| class="wikitable" |- !width="200pt"|General Area Written Test |width="300pt"| |} {| class="wikitable" |- ! width="200pt"|Subarea ! width="300pt"|Written Tests |- |Multiprocessor Communications Interface Layer(MPCI) | |- |Task Dispatching Interface | |} = Fatal Error = {| class="wikitable" |- !width="200pt"|General Area Written Test |width="300pt"| |} {| class="wikitable" |- ! width="200pt"|Subarea ! width="200pt"|Subsubarea ! width="300pt"|Written Tests |- | invoke the default fatal error handler | |- | user supplied fatal error handler | |- | RTEMS fatal error handler | |}