Hello,
 
I read the Bastei Design PDF and have a question regarding the information flow.
 
On page 5 it is stated: “When a parent calls the session function of the root interface of a server child, the server creates a new client session and returns the corresponding client_session capability. This session capability provides the actual service-specific interface. The parent can use it directly or it may pass it to other processes, in particular to another child that requested the session.“
 
If i understand it correctly:
 
Service A is pronounces to “init”.
“Init” has the capability to Service A (e.g. AHCI).
Program B is started.
If Program B requests a service (e.g. read something fromAHCI), Init looks up its root list and notifies A that the service is requested, A creates a new capability and passes it to “Init”, which passes the capability further to B.
 
Is this correct? And does this happen always?
 
Can a capability then be revoked? E.g. Program B does something which is not wanted and therefore the already given capability will be removed?
 
Best regards
Wolfgang