Markus Franke wrote:
> Jan Kiszka wrote:
>> Scheduling takes place only based on the domain priority, each time a
>> new asynchronous event (interrupt) arrives or a domain reports to be
>> idle. There is no explicit source file or function called "scheduler",
>> you will find its logic in the dispatching code of pipelined interrupts
>> and in ipipe_suspend_domain().
> 
> As far as I understood, it is possible to run more than operating system
> on top of Adeos, at a time. Adeos is said to be a resource
> virtualization layer and the CPU is also a resource, which has to be
> shared. But if there are more than one operating system, who decides
> which one get's the CPU?

See above: each domain (which may contain an OS) has a certain priority,
and the one with the highest priority which has events pending gets the
CPU. That's what the Adeos/I-pipe patch does on event arrival or domain
suspension.

> The question is out of scope of the interrupt virtualization. It's just
> a question about CPU virtualization.
> 
> Please correct me if I missunderstood something totally. :-)
> 

Adeos doesn't do full CPU virtualisation. Therefore, the domains must
cooperate on those resources (memory management, FPU, etc.) that aren't
switched by the nano-kernel. Adeos is not qemu or kvm, if this is what
you have in mind.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Adeos-main mailing list
[email protected]
https://mail.gna.org/listinfo/adeos-main

Reply via email to