Embedded Operating System
Development tools
Services for superior embedded system design.

dooroos operating systems

  •  Contacts 

  • 대한민국 운영체제의 자존심
    순수 국산기술 자체 개발

create New Value through dooroos.Embedded Operating System

Life with dooroos

dooroos inside

dooroos.embedded > KERNEL

The nano-kernel of dooroos.embedded is the most important part, responsible for very small and powerful features and the core of the kernel, is especially connected and works directly with the hardware (HAL layer) and is connected directly. It connects the kernel to the kernel, and passes the hardware interrupts, such as the trap to the driver or kernel. In addition, It provides the basic functionality to the various kernel server running on the top of the features of the nano-kernel.
The other servers uses the kenrel API and library provided by nano-kernel and will operate on the nano-kernel. dooroos.embedded will be in charge of the important kernel features. The supported features of this servers is needed in most embedded system, and connects the above kernel servers to the nano-kernel services, and implements the library's functions exported from nano-kernel completely. In addition, a complete implementation of multi-threading has the ability to do only with this servers. Of course, all the modules are the server in the form of nano-kernel, is operated on the message-based communications of nano-kernel. The this servers is divided into three servers, time server, synchronization/communication server and device server to implement the functions.

  Multi-thread kernel
dooroos.embedded supports multi-thread.
Unlimited muilti-thread support.
Fast context switch between threads
Configuration for real-time processing

  Real-time scheduling
dooroos.embedded provides the perfect hard-real-time.
Support the fixed priority-based pre-emptive scheduling
Support the round-robin scheduling in the same priority
Support the wide priority range(0-255)

  Interrupt structure for real-time processing
For the minimum delay, dooroos.embedded provides the best of the interrupt structure.
Convert hardware interrupt to the virtual interrupt.
Support the dual strucure for interrupt minimum delay (interrupt low latency)
Support the interrupt through the thread.
Support the control of the interrupt priority through driver thread

  Message management
dooroos.embedded provides capabilities for communicating a message bus to the variety servers.
Support the quick message forwarding function
Support passing the interrupt through the message-passing
Support the port concept for sending and receiving messages
Support channel concepts for message sending and receiving server.
Modularization of the kernel features through the message bus

  Provides synchronization between threads
dooroos.embedded provides the synchronization of threads.
Support the critical-section function

  Various API support
dooroos.embedded provides the API for real-time function.
API support through system call
Real-time API support through the library call
Support the various library for kernel-servers.

  Time Server
Time Server is responsible for the time and time synchronization. Time Server implements the management for the time, Time-Out, Watch-Dog timer and the Thread's quantum management. This server is run on the tick timer interrupt or the request of other modules.
Functions for time of operating system through the tick timer.
Functions for API for time.
Functions for timer support of thread.

  Synchronization Server
The synchronization and communication between the dooroos.embedded threads is provided in synchronization server. Synchronization server supports the tools; semaphore, mutex, Event mechanism. And critical-section features is not serviced directly from the server, but it is serviced by system call of nano-kernel. When you use this synchronization features, there is a significant additional burden (overhead) in real-time applications. So, the proper use of this features can lead to prevent the burden. On writing applications using this resources available here, all the problems caused to the user should be prevented by the user. For example, threads waiting for the event resources that is given by other threads will continue running after the event receving. If that event is not given, these thread does not perform forever. Also, when multiple threads are running at the same time, deadlock may occur. In conclusion, the user using the services provided by the server will need considerable attention.
Conditional Variables
Message Queue
CriticalSection : Nano-kernel function

  Device (Driver) Server
Device server of the dooroos.embedded provides the attachment / detachment of the device driver. The device driver can be attached or detached to the dooroos.embedded freely without re-boot. The device server manages the access handle. All other parts can acquire the access handle from the device server. All device driver should be registered to the device driver to be accessed.
Device Driver attach/detach function.
Access handle management to device driver.