SCHEDULING
Chapter 7:-
1. Multiprogramming is essential for contemporary computer systems. It is important for threads to perform concurrent I/O operations.
2. The scheduling mechanism is logically devided into 3 parts:-
i) the enqueuer - decides if the current process in the CPU should be removed from the ready list.
ii) the dispatcher - determines what is hte next readt thread for the CPU to process.
iii) the context switch - determines what process gets on the CPU and what process gets out of the CPU.
3. Internal priority determines the rank order set by the dispatcher. Like a normal priority queue, it will select a process t be executed when the CPU is available. While external priority is used when a process is created on behalf of the user. The process's thread uses and internal prority that is a function of the external priority assigned to user.
4. Non-preemptive Strategies:-
a) FCFS - First Come First Serve
b) SJN/SJF - Shortest Job First
c) Priority Scheduling - which process is most important to be ran
d) Deadline Scheduling - Which needs to be completed first
5. Preemptive Strategies:-
a) RR, Round Robin = equitable distribution of processing time among all process/threads.
b) Multiple level queues = all process of the same priority placed in same pool.
c) Foreground/Background Process :-
Foreground => thread services an interactive user
Background => ran whenever foreground thread requires CPU usage