-
These are some properties that we seemed to have agreed on previously:
For (2), in the VM case in seL4, there is also the concept of a vCPU object, which is the virtualized CPU. I thinking For (3), does Side note: we always talked about the TCB when discussing CPU objects, but I'm starting to think they're separate from each other. TCB seems more like an execution context resource we brought up several times. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 5 replies
-
Thank you for raising these here. We do not have clear answers, yet I will jot down some thoughts and draw parallels with virtual memory wherever possible. To begin with, let's talk about a regular scenario with our VM.
Now, let's discuss a regular scenario with VM. The point of view is the VM's PD, which is the only thing CellulOS controls. What happens inside the guest VM is up to the guest kernel.
The only difference between the second and first scenarios is the TCB's link with the
So, I would call this Regarding hold edges, in the case of both a standard process PD and a VM PD, the PD only has a hold edge for a Virtual CPU resource. So, it only can execute; it is up to the scheduler which physical CPU it will map to when it gets scheduled. It is similar to virtual memory; you have a hold edge to a virtual resource with no control over what physical resource it maps to at runtime. I think that delegation could mean one or more of the following things
The fact that there are separate cap types in seL4 makes me feel that these need to be separate resource types in CellulOS, too. I agree that the TCB is different from the CPU resource. When dividing the CPU resource into time and EC, the TCB is certainly more like EC. When starting a new PD, we could say something like
|
Beta Was this translation helpful? Give feedback.
-
From our verbal discussion:
|
Beta Was this translation helpful? Give feedback.
From our verbal discussion: