The priority scheduling algorithm is a kind of CPU scheduling algorithm where the processes that wait for the CPU are scheduled according to their priority..
scheduling algorithm
Cooperative schedulingPreemptive scheduling Rate-monotonic schedulingRound-robin schedulingFixed priority pre-emptive scheduling, an implementation of preemptive time slicingFixed-Priority Scheduling with Deferred PreemptionFixed-Priority Non-preemptive SchedulingCritical section preemptive schedulingStatic time schedulingEarliest Deadline First approachStochastic digraphs with multi-threaded graph traversal
The main advantage is that they ensure fairness to all jobs, regardless of its priority and also provide quick response time depending on the CPU time the job needs. The main disadvantage is that it provides indefinite postponement to process.
Preemptive scheduler reruns scheduling decision when process becomes ready. If the new process has priority over running process, the CPU preempts the running process and executes the new process. Non-preemptive scheduler only does scheduling decision when running process voluntarily gives up CPU. In effect, it allows every running process to finish its CPU burst.
1.) in preemptive scheduling we prempt the currently executing process, in non preemptive scheduling we allow the current process to finish its CPU burst time... 2.) in preemptive scheduling the process is forcibly sent to waiting state when a process with higher priority comes to CPU, in non preeemptive scheduling the process at running state can not be forced to leave the CPU until it completes........
Priority based algorithm
Windows XP uses a quantum-based, preemptive priority scheduling algorithm
The Least Slack Time scheduling algorithm is used for assigning priority based on the slack time (temporal difference between the deadline, ready time and run time) of a process.
disadvantages of priority scheduling
scheduling algorithm
Advantages of Priority Scheduling-1.Simplicity.2.Reasonable support for priority.3.Suitable for applications with varying time and resource requirements.Disadvantages of Priority Scheduling-1.Indefinite blocking or starvation.2.A priority scheduling can leave some low priority waiting processes indefinitely for CPU.3.If the system eventually crashes then all unfinished low priority processes gets lost.
Priority scheduling is a CPU scheduling algorithm where each process has a priority associated with it. Shortest job first (SJF) is a scheduling algorithm where the process with the shortest burst time is scheduled first. The relationship between the two is that a priority scheduling algorithm can be used where the priority of a process is determined by its burst time, effectively making it similar to a shortest job first algorithm.
same as linux use.
Cooperative schedulingPreemptive scheduling Rate-monotonic schedulingRound-robin schedulingFixed priority pre-emptive scheduling, an implementation of preemptive time slicingFixed-Priority Scheduling with Deferred PreemptionFixed-Priority Non-preemptive SchedulingCritical section preemptive schedulingStatic time schedulingEarliest Deadline First approachStochastic digraphs with multi-threaded graph traversal
The round-robin scheduling algorithm allocates CPU time to processes by sequentially assigning the CPU to processes of equal priority that are in the state of being able to use the CPU. (Not blocked) This works by appearing to evenly distribute the CPU amongst CPU ready processes. Processes that are waiting on something, such as an I/O event, particularly waiting on the user to press Enter, are not considered for allocation. Often, there is a priority assigned to the process, which factors in the allocation strategy. Processes that are mostly I/O intensive tend to have higher priority, giving them good response time. Processes that are mostly CPU intensive tend to have lower priority, so they don't interfere with overall system responsiveness.
Strictly speaking, nonpreemptive scheduling is when the scheduler does not stop the process from running in order to switch it with a different process, but instead, it lets the process to complete and then schedules a different process depending on the a scheduling algorithm is uses.
The main advantage is that they ensure fairness to all jobs, regardless of its priority and also provide quick response time depending on the CPU time the job needs. The main disadvantage is that it provides indefinite postponement to process.