Operating Systems A Concept Based Approach
Format: PDF / Kindle (mobi) / ePub
After authoring a best-selling text in india, dhananjay dhamdhere has written operating systems, and it includes precise definitions and clear explanations of fundamental concepts, which makes this text an excellent text for the first course in operating systems.concepts, techniques, and case studies are well integrated so many design and implementation details look obvious to the student. Exceptionally clear explanations of concepts are offered, and coverage of both fundamentals and such cutting-edge material like encryption and security is included. The numerous case studies are tied firmly to real-world experiences with operating systems that students will likely encounter.
should be executing user programs most of the time. However, it has to be diverted to execution of the kernel code whenever a situation requiring the kernel’s attention arises in the system, e.g., when an I/O operation ends or a timer interrupt occurs, or when a program requires some service of the kernel. In Section 1.4, we used the term event for such a situation. Accordingly, we need to grasp the following details to understand how the OS operates: • How the kernel controls operation of the
— page 62 — #12 Chapter 3 Overview of Operating Systems 63 • Execution of Programs in a Multiprogramming System Example 3.1 A multiprogramming system has progiob , an I/O-bound program, and progcb , a CPU-bound program. Its operation starts at time 0. In Figure 3.4, the CPU and I/O activities of these programs are plotted in the form of a timing chart in which the x axis shows time and the y axis shows CPU and I/O activities of the two programs. Cumulative CPU and I/O activities are shown
guest OS is in operation. Some of the interrupts would arise in its own domain, e.g., an I/O interrupt from a device included in its own virtual machine, while others would arise in the domains of other guest OSs. The VM OS can arrange to get control when an interrupt occurs, ﬁnd the guest OS whose domain the interrupt belongs to, and “schedule” that guest OS to handle it. However, this arrangement incurs high overhead because of two context switch operations—the ﬁrst context switch passes
5.16 Actions of the thread library (N, R, B indicate running, ready, and blocked). the overhead of a system call for synchronization between threads, so the thread switching overhead could be as much as an order of magnitude smaller than in kernel-level threads. This arrangement also enables each process to use a scheduling policy that best suits its nature. A process implementing a real-time application may use priority-based scheduling of its threads to meet its response requirements, whereas
ﬁles, releases the memory allocated to the process, and destroys its u area. However, the proc structure is retained until the parent of Pi destroys it. This way the parent of Pi can query its termination status any time it wishes. In essence, the terminated process is dead but it exists, hence it is called a zombie process. The exit call also sends a signal to the parent of Pi . The child processes of Pi are made children of the kernel process init. This way init receives a signal when a child