Program scheduling and simulation in an operating system environment

von: bernard lampard

GRIN Verlag , 2014

ISBN: 9783656587422 , 97 Seiten

Format: PDF, ePUB

Kopierschutz: frei

Windows PC,Mac OSX geeignet für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Apple iPod touch, iPhone und Android Smartphones

Preis: 27,99 EUR

Mehr zum Inhalt

Program scheduling and simulation in an operating system environment


Research Paper (postgraduate) from the year 2011 in the subject Computer Science - Commercial Information Technology, grade: A, Massachusetts Institute of Technology, language: English, abstract: CPU scheduling is a technique used by computer operating systems to manage the usage of the computer's central processing unit. In a multi-programming environment whereby several processes are running on the same processor, it is essential to use scheduling criteria to avoid collisions in the computer's operations. This will help users in a given information technology oriented firm to share server spaces and resources like printers and file storage spaces. In the multi-tasking environment, a program called CPU scheduler selects one of the ready processes and allocates the processor to it. There are a number of occasions when a new process can or must be chosen to run: When a running process block and changes its state to 'Blocked', When a timer for a running process expires, When a waiting process unblocks and changes its state to 'Ready', and When a running process terminates and changes its state to 'Exit' (Wikipedia, 2013). Different types of scheduling programs referred to as algorithms can be employed in CPU scheduling instances. Among the most popular scheduling algorithms is Shortest Job First (SJF). SJF gives the processor to the process with the shortest next time allocation known as the burst. If there are processes with similar CPU bursts in the event queue, the scheduler uses First Come First Served algorithm which allocates the first process to arrive in the queue to the processor regardless of its burst time. It operates under the assumption that the length of the next CPU burst of each of the processes in ready queue is known (CPU scheduling, 2013). The SJF algorithm can be used in both pre-emptive and non-preemptive methods. The algorithm can be preemptive or not. Shortest Job First with preemption uses priority measure to determine the next process to be given the CPU. The processes will be having different CPU bursts and different priority levels allocated to them. The process with the least priority magnitude is always picked next. A process already allocated the processor can be preempted the CPU and allocation done to another process with higher priority when such a process arrives in the queue. SJF with non-preemptive operates in the normal procedure whereby the job with the least CPU burst in the waiting queue is always picked next for allocation of the CPU and the rest of the processes have to wait no matter their urgency. Based on the introduction above, it is essential to use the right CPU scheduling strategy to help us achieve