diff --git a/docs/arch/scheduler b/docs/arch/scheduler new file mode 100755 index 0000000..745a185 --- /dev/null +++ b/docs/arch/scheduler @@ -0,0 +1,18 @@ +Documentation for Ubix Scheduler. + +Definitions: + +Task - In Ubix, a task is a group of instructions to run on the processor. Typically, this is in the form of a program THREAD. + +Process - A grouping of one or more tasks, usually loaded from an executable file. All of the tasks in a process will share the same ADDRESS SPACE. When a process is created, it will initially contain one task. + +Thread - Term used in unix environments to describe an Ubix TASK. + +Address Space - Section of virtual memory to which a task has access to. + +Priority - Importance placed on a task when the scheduler chooses a task to run. There are two different types of priority in Ubix. A static priority is given when a task is created. In addition, a task contains a dynamic priority which is usually the same as the static priority. At times, such as to prevent priority inversion or to minimize the running of a CPU hogging task, this dynamic priority is changed. Ubix will implement 32 different priorities, 31 being the highest priority and 0 being the lowest. + + + + +