pqrtos Documentation
Developed by Pekka Paalanen <pq@iki.fi> during the course Real-time Operating Systems and Programs at Lappeenranta University of technology. All source code is available and licensed under the Gnu General Public License version 2. If you would like a different license, please contact Pekka Paalanen.
All comments and suggestions from documentation typo fixes to core design changes are welcome. However, it is unlikely that this kernel will be developed further.
Hardware environment is Atmel AVR atmega128.
Features:
- runtime task creation and deletion
- pre-emptive task switching
- max 16 task priority levels, each level can contain multiple tasks
- time slicing
- counting semaphores
- mutexes with priority boost to prevent priority inversion
- mailboxes with optional wait to send, wait until received
- periodic task wake-up
- terminal I/O service (buffered serial I/O)
Interrupt safety of OS calls:
OS functions are safe to call from interrupt context, except the functions: OS_init(), OS_start(). Function semantics may differ in interrupt context, see the documentation for individual functions. As a rule of thumb all OS calls that target the current task do not make sense in interrupt context, as the current task is random. This includes all calls that may sleep. Sleeping inside an interrupt handler is prohibited anyway.
Generated on Mon Nov 26 19:18:54 2007 for pqrtos by
1.5.2