Unit 5: Distributed, Real-Time, and Multimedia Systems

Similar documents
CHAPTER 16 - VIRTUAL MACHINES

CHAPTER 16 - VIRTUAL MACHINES

Virtualization. Michael Tsai 2018/4/16

COMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy

Virtualization and memory hierarchy

Server Virtualization Approaches

Virtual Machines. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Chapter 5 C. Virtual machines

Module 1: Virtualization. Types of Interfaces

Virtualization. Pradipta De

Virtualization. Dr. Yingwu Zhu

CSE 120 Principles of Operating Systems

Lecture 5: February 3

Distributed Systems COMP 212. Lecture 18 Othon Michail

Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018

Virtual Machine Systems

CS370 Operating Systems

OPERATING SYSTEMS UNIT - 1

Operating Systems Fundamentals. What is an Operating System? Focus. Computer System Components. Chapter 1: Introduction

CSCI 8530 Advanced Operating Systems. Part 19 Virtualization

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

The Challenges of X86 Hardware Virtualization. GCC- Virtualization: Rajeev Wankar 36

Last class: OS and Architecture. OS and Computer Architecture

Last class: OS and Architecture. Chapter 3: Operating-System Structures. OS and Computer Architecture. Common System Components

COS 318: Operating Systems. Virtual Machine Monitors

Virtual Machine Monitors (VMMs) are a hot topic in

e-pg Pathshala Subject: Computer Science Paper: Cloud Computing Module 23: Virtualization II Module No: CS/CC/23 Quadrant 1 e-text

Introduction. What is an Operating System? A Modern Computer System. Computer System Components. What is an Operating System?

Virtualization. Darren Alton

Operating Systems 4/27/2015

OS Virtualization. Why Virtualize? Introduction. Virtualization Basics 12/10/2012. Motivation. Types of Virtualization.

Chapter 3: Operating-System Structures

Full file at

Chapter 1: Introduction

CLOUD COMPUTING IT0530. G.JEYA BHARATHI Asst.Prof.(O.G) Department of IT SRM University

Multiprocessor Scheduling. Multiprocessor Scheduling

The Architecture of Virtual Machines Lecture for the Embedded Systems Course CSD, University of Crete (April 29, 2014)

OS and Computer Architecture. Chapter 3: Operating-System Structures. Common System Components. Process Management

CSC 5930/9010 Cloud S & P: Virtualization

OPS-9: Fun With Virtualization. John Harlow. John Harlow. About John Harlow

Background. IBM sold expensive mainframes to large organizations. Monitor sits between one or more OSes and HW

Virtualization. Virtualization

Virtual Machine Monitors!

for Kerrighed? February 1 st 2008 Kerrighed Summit, Paris Erich Focht NEC

A Review On optimization technique in Server Virtualization

Chapter 5 (Part II) Large and Fast: Exploiting Memory Hierarchy. Baback Izadi Division of Engineering Programs

Janus: A-Cross-Layer Soft Real- Time Architecture for Virtualization

What is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks

Introduction to Cloud Computing and Virtualization. Mayank Mishra Sujesha Sudevalayam PhD Students CSE, IIT Bombay

Chapter 3: Operating-System Structures

Virtualization. Operating Systems, 2016, Meni Adler, Danny Hendler & Amnon Meisels

CSCE 410/611: Virtualization!

Operating Systems: Internals and Design Principles. Chapter 2 Operating System Overview Seventh Edition By William Stallings

Cloud and Datacenter Networking

Chapter 17: Distributed Systems (DS)

Network+ Guide to Networks 6 th Edition

24-vm.txt Mon Nov 21 22:13: Notes on Virtual Machines , Fall 2011 Carnegie Mellon University Randal E. Bryant.

Virtual Machines. Part 2: starting 19 years ago. Operating Systems In Depth IX 1 Copyright 2018 Thomas W. Doeppner. All rights reserved.

Lecture 7. Xen and the Art of Virtualization. Paul Braham, Boris Dragovic, Keir Fraser et al. 16 November, Advanced Operating Systems

Chapter 2: Operating-System Structures

Paperspace. Architecture Overview. 20 Jay St. Suite 312 Brooklyn, NY Technical Whitepaper

Cloud Computing Virtualization

Chapter 3: Operating-System Structures

I/O and virtualization

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

CS 350 Winter 2011 Current Topics: Virtual Machines + Solid State Drives

Operating- System Structures

CSCE 410/611: Virtualization

Some popular Operating Systems include Linux Operating System, Windows Operating System, VMS, OS/400, AIX, z/os, etc.

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania.

What is Cloud Computing? Cloud computing is the dynamic delivery of IT resources and capabilities as a Service over the Internet.

An overview of virtual machine architecture

Chapter 5 B. Large and Fast: Exploiting Memory Hierarchy

Learning Outcomes. Extended OS. Observations Operating systems provide well defined interfaces. Virtual Machines. Interface Levels

Operating System: Chap2 OS Structure. National Tsing-Hua University 2016, Fall Semester

What s New in VMware vsphere 4.1 Performance. VMware vsphere 4.1

LIA. Large Installation Administration. Virtualization

CS-580K/480K Advanced Topics in Cloud Computing. VM Virtualization II

Virtual Machines. 2 Disco: Running Commodity Operating Systems on Scalable Multiprocessors([1])

Types of Virtualization. Types of virtualization

Virtualization. join, aggregation, concatenation, array, N 1 ühendamine, agregeerimine, konkateneerimine, massiiv

MEMORY HIERARCHY DESIGN. B649 Parallel Architectures and Programming

AN OVERVIEW OF DISTRIBUTED FILE SYSTEM Aditi Khazanchi, Akshay Kanwar, Lovenish Saluja

Distributed OS and Algorithms

INNOV-4: Fun With Virtualization. Or, How I learned to love computers that don t really exist...

SNS COLLEGE OF ENGINEERING

Network+ Guide to Networks 7 th Edition

CS533 Concepts of Operating Systems. Jonathan Walpole

Xen and the Art of Virtualization

NON SCHOLAE, SED VITAE

Four Components of a Computer System

System Virtual Machines

Veeam Cloud Connect. Version 8.0. Administrator Guide

Xen and the Art of Virtualization. CSE-291 (Cloud Computing) Fall 2016

Distributed Systems. Overview. Distributed Systems September A distributed system is a piece of software that ensures that:

Disco: Running Commodity Operating Systems on Scalable Multiprocessors

1 Virtualization Recap

Virtualization. Application Application Application. MCSN - N. Tonellotto - Distributed Enabling Platforms OPERATING SYSTEM OPERATING SYSTEM

Unit- 5. Linux Systems

Operating system hardening

Transcription:

Unit 5: Distributed, Real-Time, and Multimedia Systems Unit Overview Unit 5 provides an extension to the core topics of operating systems. It introduces distributed systems and special-purpose operating systems such as real-time systems and multimedia systems. This extension introduces the ever-changing information technologies and products in which operating systems play an important role. In fact, with many operating systems, different versions are developed for different computing environments to meet the needs of different applications. For instance, both Linux and Windows have desktop, server, mobile, and embedded system versions for different devices and applications. Note: The learning activities in this unit consist primarily of readings. Unit 5 is divided into two sections: 5.1 Distributed Systems Overview 5.2 Virtual Machines Learning Objectives: When you complete Unit 5, you will be able to define the terms distributed operating system, distributed file system (DFS), and real-time computer system. You will move on to describe the general structure of distributed systems and the way in which realtime operating systems must be constructed to meet stringent timing requirements. Finally, you will be able to identify the characteristics of multimedia data and indicate how multimedia operating systems can meet the requirements of continuousmedia data. 5.1 Distributed Systems Overview Overview This section briefly introduces distributed systems and discusses the general structures and interconnections in a distributed system. This section also discusses concepts directly related to distributed operation systems, such as distributed file systems (DFS). Learning Outcomes After you have completed Section 5.1, you should be able to: Describe the overall structure of distributed systems. Discuss communications in a distributed system. Outline the particulars of a distributed file system. Reading Assignment Operating system concepts (9th ed.): Chapter 17: Distributed System. As you do the assigned reading, focus on the Key Concepts and Topics outlined below to ensure that you can meet Learning Outcomes 1-3 above. Key Concepts and Topics Distributed system Network operating system Distributed operating system Data migration A distributed system is a collection of loosely coupled nodes interconnected by a communication network. From the point of view of a specific node in a distributed system, the rest of the nodes and their respective resources are remote, whereas its own resources are local. A network operating system provides an environment in which users, who are aware of the multiplicity of machines, can access remote resources by either logging in to the appropriate remote machine or transferring data from the remote machine to their own machines. Currently, all general-purpose operating systems, and even embedded operating systems such as Android

and ios, are network operating systems. In a distributed operating system, users access remote resources in the same way they access local resources. Data and process migration from one site to another is under the control of the distributed operating system. Suppose a user on site A wants to access data (such as a file) that reside at site B. The system can transfer the data by one of two basic methods. One approach to data migration is to transfer the entire file to site A. From that point on, all access to the file is local. When the user no longer needs access to the file, a copy of the file (if it has been modified) is sent back to site B. Even if only a modest change has been made to a large file, all the data must be transferred. Computation migration Process migration Network structure Communication structure In some circumstances, we may want to transfer the computation, rather than the data, across the system; this process is called computation migration. For example, consider a job that needs to access various large files that reside at different sites, to obtain a summary of those files. It would be more efficient to access the files at the sites where they reside and return the desired results to the site that initiated the computation. A logical extension of computation migration is process migration. When a process is submitted for execution, it is not always executed at the site at which it is initiated. The entire process, or parts of it, may be executed at different sites. This scheme may be used for several reasons: Load balancing, Computation speedup, Hardware preference, Software preference and Data access. There are basically two types of networks: local-area networks (LAN) and wide-area networks (WAN). The main difference between the two is the way in which they are geographically distributed. Local-area networks are composed of hosts distributed over small areas (such as a single building or a number of adjacent buildings), whereas wide-area networks are composed of systems distributed over a large area (such as the United States). These differences imply major variations in the speed and reliability of the communications networks, and they are reflected in the distributed operating-system design. Because the sites in a WAN are physically distributed over a large geographical area, the communication links are, by default, relatively slow and unreliable. Typical links are telephone lines, leased lines, optical cable, microwave links, radio waves, and satellite channels. These communication links are controlled by special communication processors commonly known as gateway routers or simply routers that are responsible for defining the interface through which the sites communicate over the network, as well as for transferring information among the various sites. Naming Name resolution Routing Connection Naming is a mapping between logical and physical objects. For instance, users deal with logical data objects represented by file names, whereas the system manipulates physical blocks of data stored on disk tracks. Usually, a user refers to a file by a textual name. The latter is mapped to a lower-level numerical identifier that in turn is mapped to disk blocks. In computer systems; Name resolution refers to the retrieval of the underlying numeric values corresponding to computer hostnames, account user names, group names, and other named entities When a process at site A wants to communicate with a process at site B, how is the message sent? If there is only one physical path from A to B, the message must be sent through that path. However, if there are multiple physical paths from A to B, then several routing options exist. A connection is: a relationship in which a person, thing, or idea is linked or associated with something else. Contention Communication protocols Distributed file system (DFS) Naming structures In computer science, resource contention is a conflict over access to a shared resource such as random access memory, disk storage, cache memory, internal buses or external network devices. In telecommunications, a communication protocol is a system of rules that allow two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. A distributed file system is a client/server-based application that allows clients to access and process data stored on the server as if it were on their own computer.

1. Location transparency: The name of a file does not reveal any hint of the file s physical storage location. 2. Location independence: The name of a file does not need to be changed when the file s physical storage location changes. Both definitions relate to the level of naming discussed previously, since files have different names at different levels (that is, user-level textual names and system-level numerical identifiers). A location-independent naming scheme is a dynamic mapping, since it can map the same file name to different locations at two different times. Name scheme Remote file access File replication The purpose of these naming schemes is to name networked servers, wireless access points or client computers, but it can also be used to name projects, products, variables, streets, pets, kids, or any other project where unique names and remember-able names are required. Remote access (file) is the ability to get access to a computer or a network from a remote distance. In corporations, people at branch offices, telecommuters, and people who are travelling may need access to the corporation's network. File Replication Service is a Microsoft Windows Server service for distributing shared files and Group Policy Objects. It replaced the Lan Manager Replication service, and has been partially replaced by Distributed File System Replication. Study Questions 1. What is a distributed operating system, and what are the main tasks that a distributed system supports? In a distributed operating system, users access remote resources in the same way they access local resources. Data and process migration from one site to another is under the control of the distributed operating system. The main tasks a distributed operating system support include the following: Data Migration, Computation Migration and Process Migration. 2. What is a distributed file system, and what are the naming schemes of DFS? A distributed file-system (DFS) is a protocol that allows a network administrator to serve up files from multiple servers using a single distributed name space. There are three main approaches to naming schemes in a DFS. In the simplest approach, a file is identified by some combination of its host name and local name, which guarantees a unique system-wide name. The second approach was popularized by Sun s network file system, NFS. NFS is found in many systems, including UNIX and Linux distributions. NFS provides a means to attach remote directories to local directories, thus giving the appearance of a coherent directory tree. The third approach allows for a single global name structure, which spans all the files in the system. Ideally, the composed file-system structure is the same as the structure of a conventional file system. Learning Activities Download and review the PowerPoint slides or pdf for Chapter 17 of OSC9ed. 5.2 Virtual Machines 5.2 Virtual Machines Overview This section covers types of virtual systems, and differences in purpose and implementation. It is not that important to go into details of memory management and tables, as much as knowing general configurations and structure. Learning Outcomes After you have completed Section 5.2, you should be able to: Describe various virtual machines technologies. Describe methods used to implement virtualization. List the most common hardware features that support virtualization. Reading Assignment Operating System Concepts (9th ed.): Chapter 16: Virtual Machines. As you do the assigned reading, focus on the Key Concepts

and Topics outlined below to ensure that you can meet Learning Outcomes 1-3 above. Key Concepts and Topics Virtual machines Virtual machine manager (VMM) Hypervisor Paravirtualization Generally, with a virtual machine, guest operating systems and applications run in an environment that appears to them to be native hardware. This environment behaves toward them as native hardware would but also protects, manages, and limits them. The fundamental idea behind a virtual machine is to abstract the hardware of a single computer (the CPU, memory, disk drives, network interface cards, and so forth) into several different execution environments, thereby creating the illusion that each separate environment is running on its own private computer. The virtual machine manager (VMM) creates and runs virtual machines by providing an interface that is identical to the host. Each guest process is provided with a virtual copy of the host Usually, the guest process is in fact an operating system. A single physical machine can thus run multiple operating systems concurrently, each in its own virtual machine. A hypervisor or virtual machine monitor is computer software, firmware or hardware that creates and runs virtual machines. Paravirtualization, a technique in which the guest operating system is modified to work in cooperation with the VMM to optimize performance. Rather than try to trick a guest operating system into believing it has a system to itself, paravirtualization presents the guest with a system that is similar but not identical to the guest s preferred system. The guest must be modified to run on the paravirtualized virtual hardware. The gain for this extra work is more efficient use of resources and a smaller virtualization layer. Emulators Disk partitioning Xen VMware Emulation is used when a host system has one architecture and the guest was compiled for a different architecture. Every instruction the guest wants to execute must be translated from its instruction set to that of the native hardware. Although this method involves some perform penalty, it is balanced by the usefulness of being able to run old programs on newer, incompatible hardware or run games designed for old consoles on modern hardware. Disk partitioning or disk slicing is the creation of one or more regions on a hard disk or other secondary storage, so that an operating system can manage information in each region separately. The Xen VMM, which is the leader in paravirtualization, has implemented several techniques to optimize the performance of guests as well as of the host system. For example, as we have seen, some VMMs present virtual devices to guests that appear to be real devices. Instead of taking that approach, the Xen VMM presents clean and simple device abstractions that allow efficient I/O, as well as good communication between the guest and the VMM about device I/O. For each device used by each guest, there is a circular buffer shared by the guest and the VMM via shared memory. For memory management, Xen does not implement nested page tables. Rather, each guest has its own set of page tables, set to read-only. Xen requires the guest to use a specific mechanism, a hypercall from the guest to the hypervisor VMM, when a pagetable change is needed. This means that the guest operating system s kernel code must be changed from the default code to these Xen-specific methods. To optimize performance, Xen allows the guest to queue up multiple page-table changes asynchronously via hypercalls and then check to ensure that the changes are complete before continuing operation. Xen allowed virtualization of x86 CPUs without the use of binary translation, instead requiring modifications in the guest operating systems like the one described above. Over time, Xen has taken advantage of hardware features supporting virtualization. As a result, it no longer requires modified guests and essentially does not need the paravirtualization method. VMware, Inc. is a subsidiary of Dell Technologies that provides cloud computing and platform virtualization software and services. It was the first commercially successful company to virtualize the x86 architecture.

Live migration Cloud computing Virtual CPU (VCPU) Page tables Some VMMs include a live migration feature that moves a running guest from one physical server to another without interrupting its operation or active network connections. If a server is overloaded, live migration can thus free resources on the source host while not disrupting the guest. Cloud computing, is made possible by virtualization in which resources such as CPU, memory, and I/O are provided as services to customers using Internet technologies. A virtual CPU (vcpu) also known as a virtual processor, is a physical central processing unit (CPU) that is assigned to a virtual machine (VM). By default, virtual machines are allocated one vcpu each. A page table is the data structure used by a virtual memory system in a computer operating system to store the mapping between virtual addresses and physical addresses. Virtual machine control structure Control partition Java virtual machine (JVM) Memory over commitment Virtual Machine Control Structures (VMCSs) are provided to manage guest and host state, as well as the various guest execution controls, exit controls, and information about why guests exit back to the host. In the control partition, a guest operating system provides services (such as networking) via daemons to other guests, and the hypervisor routes I/O requests appropriately. A Java virtual machine (JVM) is an abstract computing machine that enables a computer to run a Java program. There are three notions of the JVM: specification, implementation, and instance Memory over commitment is the ability to allocate more virtual resources than available physical resources. ESX Server offers users the ability to overcommit memory and CPU resources on a physical machine. Network address translation (NAT) Bytecode Garbage collection The VMM can provide a network address translation (NAT) address. The NAT address is local to the server on which the guest is running, and the VMM provides routing between the broader network and the guest. The VMM also provides firewalling, moderating connections between guests within the system and between guests and external systems. For each Java class, the compiler produces an architecture-neutral bytecode output (.class) file that will run on any implementation of the JVM. The JVM automatically manages memory by performing garbage collection the practice of reclaiming memory from objects no longer in use and returning it to the system. Study Questions 1. What are the three types of traditional virtualization? Server virtualization is the masking of server resources, including the number and identity of individual physical servers, processors, and operating systems, from server users. The server administrator uses a software application to divide one physical server into multiple isolated virtual environments. Client (or Desktop) Virtualization. Storage Virtualization. 2. What are four benefits of virtualization? It saves your Investments on IT Hardware. It requires low power consumption. It offers you centralized management of your IT operation. It offers more reliability and security compared to non-virtualized environment. Learning Activities Find some articles and technical documents on modern virtual machines. Explain the reason behind the recent success of virtual machines, although they have been around for a long time. What forms of virtualizations are expected in the future?

Download and review the PowerPoint slides or pdf for Chapter 16 of OSC9ed. Supplementary Unit Activities Explore surveys and technical documents about distributed operating systems, and virtual machines. Try to identify an existing problem of interest and a possible solution to it. You may consider this problem for Assignment 4 of the course. Share your findings and opinions with your classmates and tutor on the course discussion forum.