Question about process and thread in tutorials
* I have question about process and thread in tutorials. 1. sel4 doesn't have process concept.But making new process is exist in tutorial hello-4.What is the exactly difference trhead in hello-2 and process in hello-4?2. In tutorials hello-4, where can I find access path that hello-4 process link hello-4-app?It means I think hello-4 process should designate hello-4-app's path.*
A process is mainly identified by one or more threads that run on its own
virtual memory space. That concept applies not only to seL4 but to all the
OS in general.
In the hello-2, the thread shares the same vspace as the root task (the
root task obtain the vspace from the kernel through the simple interface on
Task 7, then is shares it with the newly created thread in Task 9).
In hello-4, the root task creates a new virtual memory space in Task 1. In
Task 2 this new vspace is given to the process creation function (that
internally uses it to create the process Page Directory). Then when the
thread is created in Task 6 (the sel4utils_spawn_process is just a utility
function that set up the TCB and the registers of a new thread), it
supplies the newly created vspace + PD instead of sharing the one from the
kernel (root task).
There is not really a dynamic linking process in seL4. The child process
application is stored together in the same image as the root task, in a
separate ELF section.
When the root task call sel4utils_configure_process_custom (Task 2), it
takes the name of the app and end up calling sel4utils_elf_load() that
scans throguh all the ELF sections and find the one with the given name.
Once it gets it, it uses that base address to identify the entry point of
the child process. Those ELF-related operations are defined in the
util_libs/libelf.
Keep in mind that I don't have clear many aspects of seL4, but I hope this
help answering your questions.
Regards,
Fabrizio
On Tue, Jun 19, 2018 at 10:49 PM, 송대영
* I have question about process and thread in tutorials. 1. sel4 doesn't have process concept.But making new process is exist in tutorial hello-4.What is the exactly difference trhead in hello-2 and process in hello-4?2. In tutorials hello-4, where can I find access path that hello-4 process link hello-4-app?It means I think hello-4 process should designate hello-4-app's path.*
_______________________________________________ Devel mailing list Devel@sel4.systems https://sel4.systems/lists/listinfo/devel
participants (2)
-
Fabrizio Bertocci
-
송대영