2.7.1 Address Space
Memory addressable space is distinguished as system space (shared space) or task space (user space). System space can be accessed equally by all tasks, whereas a task space is accessible only by the tasks belonging to it (see Figure 2.8). Multiple tasks may in some cases belong to the sametask space. The logical address space of task space and system space depends on the CPU (and MMU) limitations and is therefore implementation-dependent, but in principle task space should be assigned to low addresses and system space to high addresses.
Figure 2.8: Address Space
Since interrupt handlers and other task-independent software are not tasks, they do not have a task space of their own. Instead, while in a task-independent portion they belong to the task executing just before entering the task-independent portion. This is the same as the task space of the currently running task returned by tk_get_tid. When there is no task in RUN state, task space is undefined. T-Kernel does not create or manage address space. Normally T-Kernel is used along with a subsystem for handling address space management and the like.
In a system with no MMU (or not using an MMU), essentially task space does not exist.

Comments