When I was reading a book(Linux kernel programming), I found an interesting/confusing paragraph about
mm_segment_t addr_limit(one of the member in
struct_task) as shown below:
Unlike the older kernels, since 2.4 tasks (threads) also can be within the kernel. These can access a larger address space than tasks in user space. addr_limit describes the address space, which it is possible to access using the kernel of the task.
In the first point, it says "(tasks) threads also can be within the kernel" is there. What does it mean? Are threads not necessarily within the kernel?
In the second sentence, "These can access a larger address space than tasks in user space." I don't understand what these means? If he is talking about threads, how can threads have larger address space than tasks?