All of lore.kernel.org
 help / color / mirror / Atom feed
* [Adeos-main] Scheduling of different domains in Adeos
@ 2007-02-25  9:49 Markus Franke
  2007-02-25 10:15 ` Jan Kiszka
  0 siblings, 1 reply; 6+ messages in thread
From: Markus Franke @ 2007-02-25  9:49 UTC (permalink / raw)
  To: adeos-main

Dear Adeos Developers/Users,

while I was reading some papers about Adeos I was wondering how
scheduling is done with Adeos, if there are several domains (e.g. each
is an own operating system) working on top of it. Is there some kind of
a master-scheduler which selects the domain which is allowed to run next
based on a static priority?

Thanks for enlightment,

Markus Franke






^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Adeos-main] Scheduling of different domains in Adeos
  2007-02-25  9:49 [Adeos-main] Scheduling of different domains in Adeos Markus Franke
@ 2007-02-25 10:15 ` Jan Kiszka
  2007-02-26 15:20   ` Markus Franke
  0 siblings, 1 reply; 6+ messages in thread
From: Jan Kiszka @ 2007-02-25 10:15 UTC (permalink / raw)
  To: Markus.Franke; +Cc: adeos-main

[-- Attachment #1: Type: text/plain, Size: 714 bytes --]

Markus Franke wrote:
> Dear Adeos Developers/Users,
> 
> while I was reading some papers about Adeos I was wondering how
> scheduling is done with Adeos, if there are several domains (e.g. each
> is an own operating system) working on top of it. Is there some kind of
> a master-scheduler which selects the domain which is allowed to run next
> based on a static priority?
> 

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().

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Adeos-main] Scheduling of different domains in Adeos
  2007-02-25 10:15 ` Jan Kiszka
@ 2007-02-26 15:20   ` Markus Franke
  2007-02-26 16:57     ` Jan Kiszka
  0 siblings, 1 reply; 6+ messages in thread
From: Markus Franke @ 2007-02-26 15:20 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: adeos-main

[-- Attachment #1: Type: text/plain, Size: 833 bytes --]

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?
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. :-)


Regards,
Markus Franke

[-- Attachment #2: Markus.Franke.vcf --]
[-- Type: text/x-vcard, Size: 245 bytes --]

begin:vcard
fn:Markus Franke
n:Franke;Markus
adr;quoted-printable:;;Vettersstra=C3=9Fe 64/722;Chemnitz;Saxony;09126;Germany
email;internet:Markus.Franke@domain.hid
x-mozilla-html:FALSE
url:http://www.tu-chemnitz.de/~franm
version:2.1
end:vcard


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Adeos-main] Scheduling of different domains in Adeos
  2007-02-26 15:20   ` Markus Franke
@ 2007-02-26 16:57     ` Jan Kiszka
  2007-02-27  7:52       ` Markus Franke
  0 siblings, 1 reply; 6+ messages in thread
From: Jan Kiszka @ 2007-02-26 16:57 UTC (permalink / raw)
  To: Markus.Franke; +Cc: adeos-main

[-- Attachment #1: Type: text/plain, Size: 1360 bytes --]

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 #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Adeos-main] Scheduling of different domains in Adeos
  2007-02-26 16:57     ` Jan Kiszka
@ 2007-02-27  7:52       ` Markus Franke
  2007-02-27 10:13         ` Jan Kiszka
  0 siblings, 1 reply; 6+ messages in thread
From: Markus Franke @ 2007-02-27  7:52 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: adeos-main

[-- Attachment #1: Type: text/plain, Size: 927 bytes --]

Jan Kiszka wrote:
> 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.

Ok, this I know already.

> 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.

So if you want to get working more than one operating system, each
embodied in it's own domain, you have to adapt the operating systems in
order to get also some kind of CPU virtualization. But these changes are
not part of the Adeos-Patches for the Linux kernel, right?

Has anybody ever tried to set up a system with let's say two Linux
kernels working on top of Adeos, simultaneously?

Regards,
Markus

[-- Attachment #2: Markus.Franke.vcf --]
[-- Type: text/x-vcard, Size: 245 bytes --]

begin:vcard
fn:Markus Franke
n:Franke;Markus
adr;quoted-printable:;;Vettersstra=C3=9Fe 64/722;Chemnitz;Saxony;09126;Germany
email;internet:Markus.Franke@domain.hid
x-mozilla-html:FALSE
url:http://www.tu-chemnitz.de/~franm
version:2.1
end:vcard


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Adeos-main] Scheduling of different domains in Adeos
  2007-02-27  7:52       ` Markus Franke
@ 2007-02-27 10:13         ` Jan Kiszka
  0 siblings, 0 replies; 6+ messages in thread
From: Jan Kiszka @ 2007-02-27 10:13 UTC (permalink / raw)
  To: Markus.Franke; +Cc: adeos-main

[-- Attachment #1: Type: text/plain, Size: 1374 bytes --]

Markus Franke wrote:
> Jan Kiszka wrote:
>> 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.
> 
> Ok, this I know already.
> 
>> 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.
> 
> So if you want to get working more than one operating system, each
> embodied in it's own domain, you have to adapt the operating systems in
> order to get also some kind of CPU virtualization. But these changes are
> not part of the Adeos-Patches for the Linux kernel, right?

They are included as far as Linux as root domain is concerned, i.e. the
lowest prioritised domain, hosting the whole stack.

> 
> Has anybody ever tried to set up a system with let's say two Linux
> kernels working on top of Adeos, simultaneously?

Don't know, but I also don't think so. There is still quite a difference
between stacking Linux and Xenomai on top of Adeos (with Linux as root).
Xenomai was built with the constraints of running cooperatively on top
of Linux already in mind.

Jan



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-02-27 10:13 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-25  9:49 [Adeos-main] Scheduling of different domains in Adeos Markus Franke
2007-02-25 10:15 ` Jan Kiszka
2007-02-26 15:20   ` Markus Franke
2007-02-26 16:57     ` Jan Kiszka
2007-02-27  7:52       ` Markus Franke
2007-02-27 10:13         ` Jan Kiszka

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.