[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
re: Inferno scheduler
- To: inferno@interstice.com
- Subject: re: Inferno scheduler
- From: philw@plan9.bell-labs.com
>I think for every limbo program I start a new Dis Virtual machine is >started. Is this correct? >If so, does this mean that all different limbo programs are scheduled by >the Process scheduler that also schedules the device processes? No this is incorrect. There is a kernel level scheduler in proc.c which is equivalent to the windows or unix scheduler in emu. There is a separate run queue for Dis threads maintained by the virtual machine and a separate scheduler which maps virtual threads onto physical threads. You will find that if you start several hundred threads which participate in channel communication that you will have only as many processes as required to prevent the VM from blocking in the OS. >Then does that mean that when I am running three multithreaded limbo >programs, three instances of the "application scheduler" exist in three >separate user-spaces? The system is fundamentally a single address space for all threads. the VM+compiler is its own MMU. >Also I am not sure wheither both schedulers (in Native Inferno) are >using multiple priority run queues using a round-robin mechanism. >I think it's only the OS scheduler so in the emulator the priorities >must be supported by the host OS?? thats about right. We dont use a scheduler interface in EMU at the moment and the first statement applies to the native kernel where we do all our real time stuff like MPEG decoding. phil
- Prev by Date: Re: Inferno ad in PCWeek Dec 9
- Next by Date: Re: new groups
- Prev by thread: Inferno scheduler
- Next by thread: Re: new groups
- Index(es):