So, there is priority scheduling....-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6
Each number is a consecutive priority.
What about process situations? Like:
-1: Nobody Cares about these processes.
0: Background, really low priority.
1: Background, normal.
2: Normal.
3: High priority.
4: Vital User processes.
5: Vital System Processes, non-killable.
6: Emergency, non-killable, when one of these is running ALL of the process < 4 pause.
Other then that, each one could have it's own rules for the running of the processes, or rules that define what situation process can run when others are running......
There could also be a combo of priority and situation scheduling...
Tell me what you think.
-JL
Process Situations vs. Priority
- piranha
- Member
- Posts: 1391
- Joined: Thu Dec 21, 2006 7:42 pm
- Location: Unknown. Momentum is pretty certain, however.
- Contact:
Process Situations vs. Priority
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
That is a good idea.
But doesnt Windows already utilize that?
There are already non-killable critical process usage that makes the other lower non-critical processes slow down or even halt until it is finished.
But doesnt Windows already utilize that?
There are already non-killable critical process usage that makes the other lower non-critical processes slow down or even halt until it is finished.
Website: https://joscor.com
- piranha
- Member
- Posts: 1391
- Joined: Thu Dec 21, 2006 7:42 pm
- Location: Unknown. Momentum is pretty certain, however.
- Contact:
Yeah, but in my idea you can change priority of everything. Even critical.
Yes windows does this, but to me it doesn't seem to work very well.
Windows uses priority only. I haven't come up with specific rules, but there could be a setup of automatically moving the priority/situation up or down depending on CPU usage, signals, or something.
-JL
Yes windows does this, but to me it doesn't seem to work very well.
Windows uses priority only. I haven't come up with specific rules, but there could be a setup of automatically moving the priority/situation up or down depending on CPU usage, signals, or something.
-JL
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
In my opinion the problem with Window's critical processes - like shutting down a process - is that they're processes at all.
1) Why the hell do you need a process to free an address space and remove an item from a scheduler?
2) Doesn't creating one to kill another cost more than just killing it in the first place?
In my opinion, it doesn't matter which one is full of invigorating youthful vitality. The only reason I see for prioritization at all is to allow us to define which drivers go first. We can usually figure that out using the LAPIC, and we usually tend to use more or less the same prioritization layout; give or take depending on our OS' design objectives.
1) Why the hell do you need a process to free an address space and remove an item from a scheduler?
2) Doesn't creating one to kill another cost more than just killing it in the first place?
In my opinion, it doesn't matter which one is full of invigorating youthful vitality. The only reason I see for prioritization at all is to allow us to define which drivers go first. We can usually figure that out using the LAPIC, and we usually tend to use more or less the same prioritization layout; give or take depending on our OS' design objectives.
There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies.
- C. A. R. Hoare
- C. A. R. Hoare
- AndrewAPrice
- Member
- Posts: 2299
- Joined: Mon Jun 05, 2006 11:00 pm
- Location: USA (and Australia)
Minix 3, from what I've gathered from studying it's source, priorities processes as; Kernel, Driver, Server, User. The process will not get a share of the CPU if a process in a former category still has work to do.
So the user processes get CPU time, drivers and servers are forced to do their work as fast as possible. That's why if a driver or server is using up enough CPU resources, a special process server will 'ping' it, and if it does not reply then the driver or server will be considered stuck in a loop and will be killed and restarted.
So the user processes get CPU time, drivers and servers are forced to do their work as fast as possible. That's why if a driver or server is using up enough CPU resources, a special process server will 'ping' it, and if it does not reply then the driver or server will be considered stuck in a loop and will be killed and restarted.
My OS is Perception.