Design an Efficent Scheduler

The electronic forum deals with the topics related to analog and digital circuits and systems (i.e. ASIC, FPGA, DSPs, Microcontroller, Single/Multi Processors etc) and their programming such as HDL, C/C++, etc.
Forum rules
The electronic forum deals with the topics related to analog and digital circuits and systems (i.e. ASIC, FPGA, DSPs, Microcontroller, Single/Multi Processors, PCBs etc) and their programming such as HDL, C/C++, etc.

Re: Design an Efficent Scheduler

Unread postby Sumbal_Amjad » Wed Apr 01, 2015 8:36 pm

Name: Sumbal Amjad
CMS# 7439

Scheduling:
Scheduling is a process by which shared data or information of the system sends effectively and achieve the target according to requirements more effectively. Scheduling is basically intelligent system. This performs multitasking and multiplexing simultaneously. The scheduler is mainly concerned with execution per unit time, latency and response time.
To explain the run time application, I am giving one of the best example which is task scheduler. As it schedules and coordinates tasks at run time. Task is basically the work that performs a specific job and can run normally parallel with so many other tasks.
The Task Scheduler manages the details that are related to efficiently scheduling tasks on computers that have multiple computing resources. The Task Scheduler also uses the newest features of the underlying operating system. Therefore, applications that use the Concurrency Runtime automatically scale and improve on hardware that has expanded capabilities. The work which is performed by task group items, parallel algorithms and asynchronous agents are all task’s examples.
Types of schedulers:
There are three types of schedulers.
1- LONG TERM SCHEDULER: It is the job scheduler. This process is performed where we want to create new process. It can control multi-programs, almost minimal in time sharing systems. Long term scheduler selects process from pool and executes loads into memory, they determines which programs are admitted to the system for processing.
2- MEDIUM TERM SCHEDULER: It is the part of process swapping scheduler, reduces the degree of multiprogramming means this is used to improve multiprogramming by allowing multiprocess that we need that is input or swapping in other processes that were ready in queue. It is the part of time sharing system and its speed is in between short term and long term schedulers. Medium term schedulers can re-introduced process into memory and execution can be continued.
3-SHORT TERM SCHEDULER: It is the CPU scheduler, also called dispatcher. can control degree of programming but provides lesser control, minimal in time sharing. It only selects those processes which are ready to execute. Its speed is fastest among the two.
Scheduling Criteria:
Scheduling criteria is also called as scheduling methodology. Key to multiprogramming is scheduling.Different CPU scheduling algorithm have different properties .The criteria used for comparing these algorithms include the following:
CPU Utilization: Keep the CPU as busy as possible. It range from 0 to 100%. In practice, it range from 40 to 90%.
Throughput: Throughput is the rate at which processes are completed per unit of time.
Turnaround time: This is the how long a process takes to execute a process. It is calculated as the time gap between the submission of a process and its completion.
• waiting time: Waiting time is the sum of the time periods spent in waiting in the ready queue.
Response time: Response time is the time it takes to start responding from submission time.It is calculated as the amount of time it takes from when a request was submitted until the first response is produced.
Fairness: Each process should have a fair share of CPU.
Reference: http://www.go4expert.com/articles/types ... ng-t22307/
Last edited by Sumbal_Amjad on Thu Apr 02, 2015 6:16 am, edited 2 times in total.
User avatar
Sumbal_Amjad
 
Posts: 1
Joined: Sat Mar 28, 2015 1:36 pm
Location: Rawalpindi
Has thanked: 0 time
Been thanked: 0 time

Re: Design an Efficent Scheduler

Unread postby M.irfan Malik » Wed Apr 01, 2015 9:41 pm

M.Irfan Malik CMS:7481
Scheduling is a process used to allocate valuable resources of computer e.g. time needed by processor, memory & bandwidth, spider's web, flow of data & applications that need them during run time. Scheduling is done for the guarantee of distribution of equal resources to balance the system load by giving some priorities according to some rules. Because of this our computer system is able to attend all requests and to achieve a good service of quality.
The objective of Scheduling in Operating System is to maximize the utilization of CPU by running some process at all times with the help of multi programming. While operation the processor migrates among various scheduling queues and the selection process of these queues is done with the help of scheduler. Scheduling affects the system performance by deciding which process will progress and which will delay.
Types of Scheduling in operating systems:
Long-term Scheduling:
Whenever a new process is created long term scheduling is performed and the new process is put into the ready queue but there is an overhead on the operating system “if the number of ready processes is ready queue becomes very” to maintain these long lists, by dispatching increase. Long term scheduling manages it by allowing limited number of ready queues and also decides the programs to be admitted into the system for processing.
Medium-term Scheduling:
It decides which processes are to be postponed and which are to be resumed during run time.
Short-term Scheduling:
Short term scheduling decides the distribution of CPU resources to the ready process and for how long these resources can be used.it is also known as dispatching.
Scheduling Criteria:
This is also known as scheduling methodology. Different scheduling algorithm have different properties and to compare these algorithm following criteria is used.
CPU Utilization, Throughput, Turnaround time, Waiting time, Response time and
Fairness:
This means that each process that are to be executed have a fair share of CPU.
Non-preemptive Scheduling:
In this scheduling once a process start then it stops only if it terminates or block itself or by request by operating system.
Preemptive Scheduling:
In this mode, by the operating system currently running process may be moved to the ready State or interrupted.
User avatar
M.irfan Malik
 
Posts: 3
Joined: Wed Apr 01, 2015 9:33 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Design an Efficent Scheduler

Unread postby umar » Wed Apr 01, 2015 9:53 pm

Muhammad Umar Iftikhar , 7347
Schedulers is the method by which threads, processes or data flows are given access to system resources (e.g. processor time, communications bandwidth). This is usually done to share system resources effectively or achieve a target quality of service.
The long-term scheduler, or admission scheduler, decides which jobs or processes are to be admitted to the ready in main memory; that is, when an attempt is made to execute a program, its admission to the set of currently executing processes is either authorized or delayed by the long-term scheduler. Thus, this scheduler dictates what processes are to run on a system, and the degree of concurrency to be supported at any one time – whether many or few processes are to be executed concurrently, and how the split between I/O-intensive and CPU-intensive processes is to be handled. The long term scheduler is responsible for controlling the degree of programming.
In general, most processes can be described as either I/O-bound or CPU-bound. An I/O-bound process is one that spends more of its time doing I/O than it spends doing computations. A CPU-bound process, in contrast, generates I/O requests infrequently, using more of its time doing computations. It is important that a long-term scheduler selects a good process mix of I/O-bound and CPU-bound processes. If all processes are I/O-bound, the ready queue will almost always be empty, and the short-term scheduler will have little to do. On the other hand, if all processes are CPU-bound, the I/O waiting queue will almost always be empty, devices will go unused, and again the system will be unbalanced. The system with the best performance will thus have a combination of CPU-bound and I/O-bound processes. In modern operating systems, this is used to make sure that real-time processes get enough CPU time to finish their tasks.
Long-term scheduling is also important in large-scale systems such as batch processing systems, computer clusters, supercomputers and render farms. In these cases, special purpose job scheduler software is typically used to assist these functions, in addition to any underlying admission scheduling support in the operating system.Acting as the primary resource allocate, the long-term scheduler admits more jobs when the resource utilization is low, and blocks the incoming jobs from entering the ready queue when utilization is too high.
User avatar
umar
 
Posts: 2
Joined: Wed Apr 01, 2015 9:19 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Design an Efficent Scheduler

Unread postby M.irfan Malik » Wed Apr 01, 2015 9:57 pm

MUHAMMAD ABDULLAH CMS 7352 SCHEDULING:
Scheduling means arrangement, preparation and planning. Scheduling is process by which we divide different resources to perform different tasks or various operation at running time by setting different priorities and rules. Scheduling is done to avoid over loading of system and to ensure the satisfaction of user for performing different tasks.ie if we take example of computer. If we download an application or any software and run this application or software in computer.at this instant the antivirus can detect the virus, our computer will give the priority to antivirus to handle the situation. This type of handling is known as scheduling. Scheduling also give the quality of services and fairness of application.
State Process Model
Two state process model
1-Running:
The process is created by Operating System that process in system is in the running state
2- Not Running:
The process that are not running but they saved in queue.
Operating system –process Schedulers:
Three type of schedulers in operating system.
1-Short Term Scheduler
2-Medium Term Scheduler
3-Long Term Scheduler
1-Short Term Scheduler
It is also known as CPU scheduler. Speed is fast then medium scheduler. And also have low level control the multiprogramming system and also negligible in time sharing system.
2-Medium Term Scheduler
It is also known as transaction scheduler. Speed lies between short and long term scheduler and also reduce multiprogramming degree and time sharing system.
3-Long Term Scheduler
It is also known as job scheduler and have less speed then short term scheduler and also control multiprogramming degree and have negligible time sharing system and also select the process and loads into execution memory.


References:
http://www.tutorialspoint.com/operating ... duling.htm
User avatar
M.irfan Malik
 
Posts: 3
Joined: Wed Apr 01, 2015 9:33 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Design an Efficent Scheduler

Unread postby junaid05 » Wed Apr 01, 2015 10:45 pm

Scheduler
The scheduler is the component of the operating system that is responsible for deciding whether the currently running process should continue running and, if not, which process should run next. There are four events that may occur where the scheduler needs to step in and make this decision:
1. The current process goes from the running to the waiting state because it issues an I/O request or some operating system request that cannot be satisfied immediately.
2. The current process terminates.
3. A timer interrupt causes the scheduler to run and decide that a process has run for its allotted interval of time and it is time to move it from the running to the ready state.
4. An I/O operation is complete for a process that requested it and the process now moves from the waiting to the ready state. The scheduler may then decide to preempt the currently-running process and move this newly-ready process into the running state.
A scheduler is a preemptive scheduler if it has the ability to get invoked by an interrupt and move a process out of a running state to let another process run. The last two events in the above list may cause this to happen. If a scheduler cannot take the CPU away from a process then it is a cooperative, or non-preemptive scheduler.
Long-term scheduler
The long-term, or admission, scheduler decides which jobs or processes are to be admitted to the ready queue; that is, when an attempt is made to execute a program, its admission to the set of currently executing processes is either authorized or delayed by the long-term scheduler. Thus, this scheduler dictates what processes are to run on a system, and the degree of concurrency to be supported at any one time
Mid-term scheduler
The mid-term scheduler temporarily removes processes from main memory and places them on secondary memory or vice versa. This is commonly referred to as "swapping out" or "swapping in". The mid-term scheduler may decide to swap out a process which has not been active for some time, or a process which has a low priority, or a process which is page faulting frequently, or a process which is taking up a large amount of memory in order to free up main memory for other processes, swapping the process back in later when more memory is available, or when the process has been unblocked and is no longer waiting for a resource.
Short-term scheduler

The short-term scheduler decides which of the ready, in-memory processes are to be executed next following a clock interrupt, an IO interrupt, an operating system call or another form of signal.
User avatar
junaid05
 
Posts: 2
Joined: Wed Apr 01, 2015 9:24 pm
Has thanked: 0 time
Been thanked: 0 time

PreviousNext

Return to Electronics

Who is online

Users browsing this forum: No registered users and 1 guest

cron