Also, they are not equal just because they both cycle thru a list. I suppose you could say the linear-vector works on the timeslices in a round-robin fashion. This does not make it equal to a traditional round-robin. As I said (and I hope you can agree with):Argh! No! Round robins do not offer the control that linear-vectors give, and they are not the same. You rotate around a list of timeslices, not tasks.
So I suppose I was just trying to distinguish between a round-robin working on tasks and a round-robin working on timeslices, calling the task one a round-robin (since that's normally what one means by a round-robin) and the timeslice one a linear-vector. Grouping them all as round-robin doesn't work because their functionality actually ends up being quite different, as noted above.In a round-robin scheduler, there is no defined point at which tasks will run or for how long. The defined part is order of tasks. The linear-vector of timeslices defines when and how long, because it queues timeslices, not tasks.
About halting: A normal system would not be dealing with timeslices at all; it would be dealing with tasks. So when there are no tasks to run, it would halt. That's all I meant.
About user-schedulers being required by Xok: I don't think this would be so, since I don't see anything that a user-scheduler is going to provide that a good libOS won't. I was actually trying to avoid external managers by trying to develop a logical system for determining shares and such in-kernel.
About improving what ain't perfect: I think the issue is that I don't see what you're trying to do as an improvement. So I see a good system with no better system being proposed. Hence comes my "don't fix what ain't broken". And I still hold to hobbyists making more mistakes than people with more experience. I also smell hubris when I hear "I can do it better" with no supporting numbers.
About realtime: I think the Xok design has the potential to efficiently allow hard realtime for the tasks that need it while allowing for a full processor load, since it is known what will be happening during all timeslices. Also, since you know where the timeslices will be, a task can easily determine whether it will be able to meet its deadlines. For example, if another realtime task is in too many critical locations, the newly starting task would realize it can't meet its deadlines without trying and failing. As I too am no expert on realtime, I could be missing some things.
So in total, I think the problem is that I don't understand why you think the Xok design is too low-level to work, and thus why it needs improvement. So the core question: Why do you think the Xok design is too low-level to work?
Pax tecum,
Qui te vexat.