Chapter 3 Introduction to MR308
- 31 -

3.5.2 Module Overview

The MR308 kernel modules are outlined below.
Scheduler
Forms a task processing queue based on task priority and controls operation so that the high-priority
task at the beginning in that queue (task with small priority value) is executed.
Task Management Module
Exercises the management of various task states such as the RUNNING, READY, WAIT, and SUS-
PENDED state.
Task Synchronization Module
Accomplishes inter-task synchronization by changing the task status from a different task.
Interrupt Management Module
Makes a return from the interrupt handler.
Time Management Module
Sets up the system timer used by the MR308 kernel and starts the user-created alarm handler30 and
cyclic handler.31.
System Status Management Module
Gets the system status of MR308.
System Configuration Management Module
Reports the MR308 kernel version number or other information.
Sync/Communication Module
This is the function for synchronization and communication among the tasks. The following three func-
tional modules are offered.
Eventflag
Checks whether the flag controlled within the MR308 is set up and then determines whether or not
to initiate task execution. This results in accomplishing synchronization between tasks.
Semaphore
Reads the semaphore counter value controlled within the MR308 and then determines whether or
not to initiate task execution. This also results in accomplishing synchronization between tasks.
Mailbox
Provides inter-task data communication by delivering the first data address.
Data queue
Performs 32-bit data communication between tasks.
Memory pool Management Module
Provides dynamic allocation or release of a memory area used by a task or a handler.
Extended Function Module
Outside the scope of µITRON 4.0 Specification , this function performs reset processing on short data
queues and objects.
30 This handler actuates once only at preselected times.
31 This handler periodically actuates.