Version 18 (modified by Xiaochen Pan, on 08/19/12 at 02:46:50) (diff) |
---|
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="175pt"|Subarea ! width="175pt"|Subsubarea ! width="262pt"|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="125pt"|Subarea ! width="125pt"|Subsubarea ! width="187pt"|Written Tests
|rowspan="10"|Multiprocessor Communications Interface Layer(MPCI) |Initialization |
|get_packet |
|return_packet |
|send_packet |
|receive_packet |
|common endian format conversion |
|alignment of data structure |
|floating point number representation |
|negative integer representation |
|announce packet |
|Task Dispatching Interface | |
|Symmetric Multiprocessing | | |}
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 | | |}