What is ZOS?
ZOS (Zero Operating System) is Juphoon service platform for
operating system. As a virtual operating system, it provides a unified abstract interface operation supporting multiple operating system environments, which
enable software products to be independent from application environments such as processors, compilers and operating systems. In addition, ZOS
enhanced services system to provide task management, message queues, timer management, memory management, data buffer management and log
management.
| Memory: |
Protocol memory management |
| Buffer: |
Buffer management |
| Task: |
Task management |
| Message: |
Message queues and distribution strategy |
| Timer: |
Classification timer management |
| ABNF\ASN.1: |
ABNF\ASN.1 Codec library |
| File: |
Abstract interface for file operations |
| Shell: |
Console is used to check the statistics |
|
of ZOS and other components, |
|
and control system running state. |
| FSM: |
The framework of state machine |
| Portable OS: |
Compatible interface |
|
(Related to the task / semaphore / mutex |
|
/ time / network / memory heap interface of the OS) |
| String/List/Hash... Library: |
|
Strings, lists, hash queues, semaphores and other algorithm |
| Utility Function:Protocol ABNF, ASN scanner and XML parser |
|
Protocol public libraries, debug, tracking, protocol logging |
|
and other interfaces |

ZOS Software Architecture

Why choose ZOS?
ZOS runs beyond operating systems. Compiling and running environment are associated with the operating system thread drivers,
semaphores, mutex Socket are dependent on the operating system, but most of the other functions are independent of the operating system. Many functions are different from SDK provided by the
operating system. According to the characteristics of communications software, ZOS do a lot of work for optimization on many algorithms including resource management, common data structures
and etc.
In application development, especially in communication and embedded software development, there are many types of products as well as rich choices of hardware and software platform.
The requirements for resource capacity and performance in terminal server development are different. While huge difference exists in compiling environment and system interface among various
operating systems. Hence, it is not easy to develop a versatile software system. Meanwhile, with the development of communication products and intensifying competition in the market,
the development model of one product choosing one development platform can no longer meet the need. As most developers often need to consider the multi-platform support, for example,
the client-side needs to support iPhone, Android mobile; ZOS can fully satisfy the needs of this cross-platform development.

To those companies that need to support a
variety of communication products, the benefits of using ZOS are undoubtedly to provide universality and development efficiency of the platform. Various products can reuse largely the mature
and stable functional interface to help improve product development speed and accelerate time to market.

The unique techniques of ZOS
ZOS offers a series of unique or enhanced technologies, including the unique buffer design mechanism, the state machine framework,
secure memory management technique, efficient timer strategy and garbage collection mechanism.
• The unique buffer design mechanism
The purpose of buffer mechanism is to reduce the memory copy and reduce access overhead.
There are usage constraints and access overhead for the common two-tier architecture programs (such as mbuf in FreeBSD) and STREAMS three-tier architectures. The buffer Juphoon designed
uses a more direct management approach to classify the data by sort management. This can effectively reduce the memory copy. Dbuffer can provide zero-copy of data and structure in the
protocol stack processing.
• The state machine framework
High-performance three-dimensional form of a state machine mechanism. By mapping the
state diagram to the code, users can directly achieve their own state machine (as shown on the left picture), ZOS platform drives state machine to work, consuming very few time and space resources.
• Secure memory management technique
The memory management technology of Juphoon Bucket is particularly suitable for
memory management of embedded devices. According to the upper application needs, Bucket management object can configure various types of suitable memory blocks and set magic data
in the memory blocks. This technology not only ensures the safe use of memory, but also avoids the overhead for dynamic allocating and releasing memory by the lower operating system.
• Efficient timer strategy
ZOS QTimer is a linear classification timer for signaling protocol processing.
If a large number of timers are needed, the application layer can use RTimer timer.
The design of RTimer is in response to the situation that requires a lot of timers.
RTimer is able to adapt to the demand a large number (e.g. tens of thousands) of concurrent timers while consuming very little of system space resources and CPU cycles. RTimer can be
driven by other timers such as QTimer or by interrupt driven.
Note: RTimer has applied for patent (Patent No. ZL200610161165.2)
• Garbage collection mechanism for any resources
ZOS platform provides a garbage collection mechanism, which can ensure the resources management and garbage collection, so that users do not need to worry about leak or invalid occupation of memory and resource.
These resources include memory, dbuf provided by ZOS, memory bucket, file handle, socket handle and any other computer resources that have access to handle and can pass.
Download