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
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Adeos-main mailing list [email protected] https://mail.gna.org/listinfo/adeos-main
