|
Life with dooroos |
|
|
|
|
dooroos.RealTime > MICRO KERNEL |
|
|
|
MICRO KERNEL | |
|
|
Profile |
|
Micro-kernel uses the kenrel API and library provided by nano-kernel and
will operate on the nano-kernel. dooroos.RealTime will be in charge of
the important kernel features.
The supported features of micro-kernel 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-tasking has the ability to do only with micro-kernel 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 micro-kernel is divided into three servers, time server,
system server and synchronization/communication server to implement the functions.
|
|
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/task. |
|
System Server |
|
The system server is responsible for the management of the resources of the dooroos.RealTime.
The system server provide all the services for the creation, destruction and management of the kernel objects and objects that are used by applications.
or the other server creation of another server, everything destroyed and the management of the service is provided.
Therefore, in order to receive the service that is needed the object,
all the service requester should get the objects from here to use the object and
after use of the objects, should be returned to this server.
Another servers in dooroos.RealTime are guaranteed allocation and destruction of objects through this system server.
|
|
Memory management function through nano-kernel memory management support block.
|
|
round-robin scheduling in the same priority.
|
|
broad priority level (0-255)
|
|
Synchronization Server |
|
The synchronization and communication between the dooroos.RealTime 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.
|
|
Semaphore |
|
Mutex |
|
Event |
|
Conditional Variables |
|
Message Queue |
|
Signal and CriticalSection : Nano-kernel function |
|
|
|