supporting utilities and libraries and usually a large amount of application software to fulfill the distribution’s intended use. The operating systems of the 1980’s were: the DOS family, SUN OS, GNU, LISA OS, and Windows. The 1990’s saw the deployment of the Windows family, Linux, and MAC OS. The Windows XP, Vista, and System 7, from Microsoft, OS X and iOS from Apple and Linux dominate the 2000’s. iOS is used by iPhone and iPAD. Linux is a free and secure OS used by PCs, supercomputers and workstations; there are over 600 distributions with 5 main bases, Debian, Gentoo, Pacman, RPM, Slackware. The Android is an OS based on Linux used in many mobile devices; its development is lead by Google. Problem 2. Virtualization simplifies the use of resources, isolates users from one another, supports replication and mobility, but exacts a price in terms of performance and cost. Analyze each one of these aspects for: (i) memory virtualization, (ii) processor virtualization, and (iii) virtualization of a communication channel. Memory virtualization. It does simplify the use of systems as it allows an application to run on systems with different sizes of physical memory. It confines a user to its own virtual address space and the DAT (Dynamic Address Translation) helps isolate processes from one another. It can affect the performance when the working set of a process is larger than the physical memory available. It increases slightly the cost of the hardware, the complexity of the kernel, and it adds to the diﬃculties for processor virtualization. Processor virtualization. It is critical for concurrency, a thread being a virtual processor. It is also critical for cloud computing, in particular for the IaaS paradigm; it allows multiple operating systems and applications to run on the same server. The price to pay is the overhead for context switching in the case of multi-threading and the overhead introduced by a hypervisor in the case of VMs. Communication channel virtualization. Communication protocols support ﬂow control, er- ror control, and congestion control thus, they simplify the development of applications. Ap- plications end up operating on virtual bit pipes with desirable properties, e.g., error-free. Problem 3. Virtualization of the processor combined with virtual memory management pose multiple challenges; analyze the interaction of interrupt handling and paging. 39
Context switching could involve multiple components of a OS kernel including the Virtual Memory Manager (VMM), the Exception Handler (EH), the Scheduler (S), and the Multi- level Memory Manager (MLMM). When a page fault occurs during the fetching of the next instruction, multiple context switches are necessary as shown in Figure 9. Application thread 1 Virtual Memory Manager Exception Handler Scheduler Multi-Level Memory Manager Application thread 2 IR PC Translate (PC) into (Page#,Displ) Is (Page#) in primary storage?
You've reached the end of your free preview.
Want to read all 96 pages?
- Summer '17
- ALBERT DOMINIC
- The Land, cloud service, Cloud delivery models, Cloud Computing delivery