You are here

What is NanoScaleFeaturesDownloadPurchaseSupport
What is NanoScale[Features]DownloadPurchaseSupport

Error message

Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in menu_set_active_trail() (line 2404 of /home/quantics/public_html/dp/includes/

NanoScale Features - Scheduling

Priority based scheduling

The scheduler is the part of the kernel that has the duty to suspend a task and resume another one when certain conditions are met. NanoScale implements a priority-based scheduling.

Priority-based scheduling uses the priority assigned to every task to determine the next task to run. This priority can be static (i.e. assigned at task creation) or dynamic (i.e. modified during run-time). The rule of such scheduler is simple: the task running on the system is always the one with the highest priority among all the tasks in the ready state. The running task can change only if it suspends itself (by calling a blocking function), or if a task with a higher priority becomes ready again (preemption).

Zero Latency

NanoScale doesn't introduce any latencies in the preemption processing: a context switch occurs as soon as an higher priority task becomes ready to run.

Round Robin Scheduling

Apart of the priority-based scheduling, NanoScale provides Round-Robin scheduling for tasks of equal priorities.

This algorithm assigns time slices to the different tasks that have the same priority level, and select them in circular order. As a result all tasks within a round-robin list share the processor equally. When a task has run for a given period of time, called a time-slice, it is preempted and added at the end of the Round-Robin list. Then, the next task of the list is selected to run.

This mechanism works in conjunction with the priority-based mechanism. A time-slice can be chosen individually for each task.

Buy Now

Purchase a license for the Individual, Basic or Full version of NanoScale.


Download the latest demo release of NanoScale, along with documentation and other porting information.

Email support

Feel free to contact us with any questions you may have.