Over the years, computer science kept evolving; leading to the emergence of what has become a standard in modern software development: Multitasking. Whether logical or physical, it has become a requirement for today's programs. In order to make it possible it became necessary to establish the notion of concurrency and scheduling. In this essay, concurrency will be discussed as well as two types of scheduling; pre-emptive used in threads and cooperative used in agents, their similarities and differences.
Concurrency is an essential part of multitasking; after all using concurrency signifies executing several tasks at the same time or at least to give that impression, “Concurrency is an illusion of parallelism. Thus, two tasks are concurrent if there is an illusion that they are being performed in parallel, whereas, in reality, only one of them may be performed at any time. ” (D.M.Dhamdere, 2006, p91).However, in the case of multi-core processors or multi-processors true parallelism can be achieved. In any case, in order to maintain the illusion of parallelism, executing alternately various tasks is essential, therefore, determining which task execute next is particularly serious. That is where scheduling comes forth since according to D.M.Dhamdere(2006,p91) scheduling is selecting the next process to be serviced, in order to do so different policies can be used, depending on the context in which the program is going to be used, of course combinations are also possible. Let’s focus mainly on pre-emptive scheduling commonly (used by threads) and cooperative scheduling (used by agents). Firstly pre-emptive scheduling, in this configuration, a process, thread or application can be pre-empted. This means that it can be suspended by ...
... middle of paper ...
...me needed for the scheduler to switch task; it may cause some latency but will still be better than a non scheduled batch.
In conclusion, both pre-emptive and cooperative scheduling have strengths as well as weaknesses, and those can affect performances. In the end, it all comes down to choosing the one that is appropriate to the type of result and behaviour one wants to achieve as well as the hardware available. In some cases, pre-emptive scheduling might prevail; in others it might be cooperative scheduling, but of course making use of the two together is also a possibility.
Works Cited
Microsoft MSDN (2010) Comparing the concurrency runtime to other concurrency models. Available at http://msdn.microsoft.com/en-us/library/dd998048.aspx (Accessed: 21 May 2011)
Dhamdere, M.D. (2006), Operating Systems: A concept based Approach 2E, Tata McGraw-Hill Education
3. Multi-threading occurs when multiple programs are processed at the same time or when several parts of a program are processed at the same time.
...he internet and listening to music and doing other humble task at the same time, because one tasks will go to one of the processors and the music tasks will go the other processor unless the program is coded to use multithreading.
It also includes pair programming where two developers work on the same pc, while one typing and other offered advice. This improved programs productivity and decrease error.
People often feel as if they don’t have much time. To solve this, many people multi-task to complete several tasks at once. The definition of multitasking by most people would be, “performing two or more tasks at once,” which is generally the idea. The definition of multitasking according to Merriam-Webster is the performance of multiple tasks at one time. Multitasking often is a complex process and can use different parts of the brain, for example, a telephone operator needs to be able to talk to a client while working on the computer and that requires the occipital and temporal lobe of the brain.
Today, multitasking is everywhere, and is very huge in many situations. We are guilty of, multitasking and how it has become a negative and positive impact on our lives. Nowadays, people prefer to divide people in two groups; people who masters can multitask, and those who cannot. Almost everyone place themselves in the former group, thereafter they put the rest of the people in the latter. I personally find myself multitassking many things at once, and never pay attention to it. I believe that doing more than one thing is okay. In order to get things done faster multitasking seems like the answer to the question. In Tugend’s essay, she uses certain techniques that caught the reader’s attention, stating this as “you are reading this article, are you listening to music or the radio, Yelling at your children? Checking emails”? Of course, the reader was expected to read the essay. By persuading them to believe that, what she was saying was true.
We have to exercise care when writing a java program whose behavior depends on how threads are scheduled and must operate consistently different platforms, because java does not force VM to schedule threads.
Job shop scheduling, generally can be categorized into two main categories, static or deterministic (offline) scheduling and dynamic (online) scheduling. Previous approaches to scheduling in the presence of disruptions can be broadly classified into two groups Liu et al. (2007a). One group offers, a completely reactive job dispatching scheduling, and the second group proposes control strategies to achieve system recovery from disruptions with the consideration of an initial schedule. The main difference between th...
Low multitaskers are people who really are more one-at-a-time people. (Nass 1) It could be proved that, “the more they multitask, the less deliberative they become; the less able to think and reason out a problem.” (Nass 2) Doing multiple tasks at the same time would divide attention between different tasks.
Steve Covey once said “The key is not to prioritize what’s on your schedule, but to schedule your priorities.” Multitasking was once thought to be a person being able to do two things at once, research has shown that it is simply our thoughts switching from one task to another, taking us away from accomplishing the important and urgent tasks that need our attention. Multitasking simply switches our thoughts between two tasks, resulting in poor concentration on both tasks. We are putting too much focus today on the unimportant, non-urgent tasks, and unable to focus on what needs our immediate attention until sometimes it is too late.
Discuss any 3 functions of operating systems.(9 marks)2. Discuss any 3 factors affecting the choice of an operating systems.(9 marks)3. Discuss the following types of operating systems. „Ï Multi tasking Assignment 9 1. Discuss any 3 functions of operating systems.
Multi-tasking is doing more than one task at a time and the average human will, in some way or form, do this throughout the day and many times without even knowing they are doing it. For the purposes of this exercise, I am multitasking by working on this exercise, watching a movie on the television, listening to music, and keeping up with lunch on the stove. Multi-tasking is a must in order to survive and is as easy as being able to breath, eat, think, and walk at the same time. Many jobs as well as raising children involve being able to multi-task. My job as an Army paralegal causes me to do many things at once and be able to keep track of many actions coming in and going out of my office. If I lose focus for a moment in these tasks, it
Go over the list of tasks and prioritize them from the most important to the least important. Cross off each task from the list once you complete it.
Multitasking is something we all do. With lack of time and needing to get things done fast we often find ourselves doing more than one task at a time. As a college student I find myself multitasking a lot more than I’d like to admit, but it has become such a hard habit to break. Multitasking can often make us feel more productive, but it may not be as efficient as we would like to believe. Multitasking may be causing us more stress, it can be dangerous and cause us problems, and it may cause us to waste more time than we realize and cause us to produce low quality work.
Many programers devote themselves to their craft and thus are compeled to sleep little and acomplish the work in front of them. After leaving the office, (if at all) it is not unusual to spend 8 more hours on the same project at home.
The job that is in front of the queue is then loaded into the memory and when that job is completed the next one takes its place and so on. When a job is loaded into the memory it stays in the memory until it is completed and once it is completed then it is removed.