Zephyr (operating system): Difference between revisions

Content deleted Content added
Introiboad (talk | contribs)
No edit summary
Introiboad (talk | contribs)
No edit summary
Line 70:
=== Security ===
A group is dedicated to maintaining and improving the security.<ref>{{Cite web|url=http://www.techrepublic.com/article/linux-foundation-announces-zephyr-project-an-open-source-iot-operating-system/|title=Linux Foundation announces Zephyr Project, an open source IoT operating system - TechRepublic|last=Wallen|first=Jack|date=2016-02-18|website=[[TechRepublic]]|publisher=[[CBS Interactive]]|access-date=2017-01-12}}</ref> Also being owned and supported by a community means the eyes of the world's open source developers are vetting the code, which significantly increases Zephyr security.<ref name=":0" />
 
=== Single address-space ===
 
Combines application-specific code with a custom kernel to create a monolithic image that gets loaded and executed on a system’s hardware. Both the application code and kernel code execute in one shared address space.
 
=== Highly configurable ===
 
Allows an application to incorporate only the abilities it needs, as needed, and to specify their quantity and size.
 
=== Resources defined at compile-time ===
 
Requires all system resources be defined at [[compile time]], which reduces code size and increases performance.
 
=== Minimal error checking ===
 
Provides minimal run-time error checking to reduce code size and increase performance. An optional error-checking infrastructure is provided to assist in debugging during application development.
 
=== Development services ===
 
The development services offer several familiar services for development, including:
# Multi-threading services for both priority-based, non-preemptive cooperative threads and priority-based, preemptive threads with optional round robin time-slicing.
# Interrupt services for both compile-time and run-time registration of interrupt handlers.
# Inter-thread synchronization services for binary semaphores, counting semaphores, and mutex semaphores.
# Inter-thread data passing services for basic message queues, enhanced message queues, and byte streams.
# Memory allocation services for dynamic allocation and freeing of fixed-size or variable-size memory blocks.
# Power management services such as tickless idle and an advanced idling infrastructure.
 
==See also==