Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
PROCESS In this chapter we introduce the concept of a process and the notion of concurrent execution. Those are at  the very heart of modern operating systems. A process is is a program in execution and is the unit of work in  a modern time-sharing system. Such a system consists of a collection of processes: Operating-system  processes executing system code, and user processes executing user code. All these processes can  potentially execute concurrently, with the CPU (or CPUs) multiplexed among them. By switching the CPU  between processes, the operating system can make the computer more productive. We also discuss the  notion of a thread (light-weight process) and interprocess communication (IPC). 4.1 Several popular microcomputer operating systems provide little or no means of concurrent processing.  Discuss the major complications that concurrent processing adds to an operating system. Answer :* A method of time sharing must be implemented to allow each of several processes to have access to the  system. This method involves the preemption of processes that do not voluntarily give up the CPU (by using a system  call, for instance) and the kernel being reentrant (so more than one process may be executing kernel code  concurrently). * Processes and system resources must have protections and must be protected from each other. Any given process  must be limited in the amount of memory it can use and the operations it can perform on devices like disks. * Care must be taken in the kernel to prevent deadlocks between processes, so processes aren’t waiting for each  other’s allocated resources.  4.2 Describe the differences among short-term, medium-term, and long-term scheduling. Answer : * Short-term (CPU scheduler) -selects from jobs in memory, those jobs which are ready to execute, and  allocates the CPU to them. * Medium-term -used especially with time-sharing systems as an intermediate scheduling level. A swapping scheme  is implemented to remove partially run programs from memory and reinstate them later to continue where they left off. * Long-term (job scheduler) -determines which jobs are brought into memory for processing.  The primary difference is in the frequency of their execution. The short-term must select a new process quite often.  Long-term is used much less often since it handles placing jobs in the system, and may wait a while for a job to finish 
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 5


This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online