PharOS
Posted: Sat Jul 21, 2018 3:20 am
Hello all,
I guess this is the right place to announce a new OS
My team has created an open-source RTOS designed for critical systems (https://sourceforge.net/projects/rtospharos/). It is licensed under Apache 2.0.
Down to the features:
- fixed-priority preemptive scheduler (256 priority levels)
- partitions (each partition contains a set of threads)
- native support for periodic, sporadic and aperiodic threads
- Memory protection (partitions)
- Time protection (a thread is not allowed to execute for more time than it is configured to)
- Set of intra-partition objects (semaphores, events, message queue, timers, futures)
- Set of inter-partition objects (message queue, channel for zero-copy transfer, resource)
- Inter-partition filter - application defined methods that allow/reject communication between partitions (operate on a separate stack, on the memory area of the callee partition but on the time window of the caller thread)
- support for a wide variety of ARM CPUs
It is relatively a new OS, more or less one year since its first release. For each release there is a quite extensive User Manual with working examples (see the latest release in https://sourceforge.net/projects/rtospharos/files/).
You are quite welcome to make comments, ask questions, request new features, etc
We believe it is well commented so it could be a learning experience for newcomers to this area, but could also be for more experienced OS developers (we hope so).
Please enjoy it,
Pedro
I guess this is the right place to announce a new OS
My team has created an open-source RTOS designed for critical systems (https://sourceforge.net/projects/rtospharos/). It is licensed under Apache 2.0.
Down to the features:
- fixed-priority preemptive scheduler (256 priority levels)
- partitions (each partition contains a set of threads)
- native support for periodic, sporadic and aperiodic threads
- Memory protection (partitions)
- Time protection (a thread is not allowed to execute for more time than it is configured to)
- Set of intra-partition objects (semaphores, events, message queue, timers, futures)
- Set of inter-partition objects (message queue, channel for zero-copy transfer, resource)
- Inter-partition filter - application defined methods that allow/reject communication between partitions (operate on a separate stack, on the memory area of the callee partition but on the time window of the caller thread)
- support for a wide variety of ARM CPUs
It is relatively a new OS, more or less one year since its first release. For each release there is a quite extensive User Manual with working examples (see the latest release in https://sourceforge.net/projects/rtospharos/files/).
You are quite welcome to make comments, ask questions, request new features, etc
We believe it is well commented so it could be a learning experience for newcomers to this area, but could also be for more experienced OS developers (we hope so).
Please enjoy it,
Pedro