Cambridge International AS and A Level Computer Science

Similar documents
Cambridge International AS and A Level Computer Science

Hypervisor Software and Virtual Machines. Professor Howard Burpee SMCC Computer Technology Dept.

OCR LEVEL 2 CAMBRIDGE TECHNICAL

Software. Programming Language. Software. Instructor Özgür ZEYDAN. Bülent Ecevit University Department of Environmental Engineering

Multi-core Programming System Overview

Programming for GCSE Topic H: Operating Systems

Virtual Machines.

International Engineering Journal For Research & Development

4.1 Introduction 4.2 Explain the purpose of an operating system Describe characteristics of modern operating systems Control Hardware Access

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

Basic Computer Skills Module 2. Software Concepts

Virtual Machines. Virtual Machines

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines

CHAPTER 1 ENGINEERING PROBLEM SOLVING. Copyright 2013 Pearson Education, Inc.

Machine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.

Introduction to Virtual Machines

Processor Architectures

IOS110. Virtualization 5/27/2014 1

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

NEW! CLOUD APPS ReadyCLOUD & genie remote access

Virtual Machines. Virtualization

Chapter 4. Learning Objectives. Learning Objectives. Building an E-commerce Web Site. Building an E-commerce Web Site: A Systematic Approach

VMware Virtualization and Software Development

Module I-7410 Advanced Linux FS-11 Part1: Virtualization with KVM

VIA COLLAGE Deployment Guide

evm Virtualization Platform for Windows

Network Station - Thin Client Computing - Overview

Syllabus INFO-UB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

ORACLE VIRTUAL DESKTOP INFRASTRUCTURE

Virtualization. Pradipta De

Chapter 5: System Software: Operating Systems and Utility Programs

Virtualization: What does it mean for SAS? Karl Fisher and Clarke Thacher, SAS Institute Inc., Cary, NC

Running Windows on a Mac. Why?

VIA CONNECT PRO Deployment Guide

Online Transaction Processing in SQL Server 2008

COS 318: Operating Systems. Virtual Machine Monitors

CPS221 Lecture: Operating System Structure; Virtual Machines

Chapter 1 Basic Introduction to Computers. Discovering Computers Your Interactive Guide to the Digital World

Parallels Virtuozzo Containers

OPERATING SYSTEMS Software in the Background. Chapter 2

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Introduction to Android

AC Wi-Fi Range Extender RE580D. Highlights

Virtual Machines. Adapted from J.S. Smith and R. Nair, VIRTUAL MACHINES, Morgan-Kaufmann Teodor Rus.

Windows Server 2008 R2 Hyper-V Live Migration

Maximizer CRM 12 Summer 2013 system requirements

SEACW DELIVERABLE D.1.6

Virtualization for Cloud Computing

Data Centers and Cloud Computing

AC Wi-Fi Range Extender RE355. Highlights. Description

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages

Chapter 13: Program Development and Programming Languages

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

Practical Programming, 2nd Edition

Discovering Computers

Leveraging Virtualization for Higher Business Continuity within Industrial Facilities

Introduction Need Solution Benefits...4. Product Overview...5. System Requirements, Scalability, and Licensing...6. Background...

VMware and CPU Virtualization Technology. Jack Lo Sr. Director, R&D

VDI can reduce costs, simplify systems and provide a less frustrating experience for users.

VMware Server 2.0 Essentials. Virtualization Deployment and Management

Software: Systems and Application Software

Course Title: Virtualization Security, 1st Edition

Minimum Computer System Requirements

WJEC GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

IBM Web Conferencing: Troubleshooting Guide

Performance tuning Xen

Full and Para Virtualization

Choosing a Mobile Application Development Approach

Hardware & Software Requirements for BID2WIN Estimating & Bidding, the BUILD2WIN Product Suite, and BID2WIN Management Reporting

CS 40 Computing for the Web

Chapter 1: Introduction. What is an Operating System?

IQware EMR Integration & Migration Architecture

System requirements for Qlik Sense. Qlik Sense 3.0 Copyright QlikTech International AB. All rights reserved.

Virtualization with Windows

Terminal Server Software and Hardware Requirements. Terminal Server. Software and Hardware Requirements. Datacolor Match Pigment Datacolor Tools

Local Area Networks: Software and Support Systems

New Mexico Broadband Program. Basic Computer Skills. Module 1 Types of Personal Computers Computer Hardware and Software

9/26/2011. What is Virtualization? What are the different types of virtualization.

Mobile Hybrid Cloud Computing Issues and Solutions

Virtualization Technologies

Tablets in Data Acquisition

ATSBA: Advanced Technologies Supporting Business Areas. Programming with Java. 1 Overview and Introduction

SOFTWARE UNIT 1 PART B C O M P U T E R T E C H N O L O G Y ( S 1 O B J A N D O B J 3-2)

A Beginners Guide To Responsive, Mobile & Native Websites 2013 Enhance.ie.All Rights Reserved.

A Modular Approach to Teaching Mobile APPS Development

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

CA ARCserve Family r15

KVM: A Hypervisor for All Seasons. Avi Kivity avi@qumranet.com

Transcription:

Topic support guide Cambridge International AS and A Level Computer Science 9608 For examination from 2017 Topic 3.4.2 Virtual machine

Cambridge International Examinations retains the copyright on all its publications. Registered Centres are permitted to copy material from this booklet for their own internal use. However, we cannot give permission to Centres to photocopy any material that is acknowledged to a third party even for internal use within a Centre. Cambridge International Examinations 2016 Version 1

Contents Introduction... 2 How to use this guide... 2 Learning objectives... 2 Prior knowledge... 2 1. Key terms... 3 2. Theory... 4 2.1 What is a virtual machine?... 4 2.2 Types of virtual machine... 4 2.3 Virtual machines within virtual machines... 6 2.4 Running virtual machines simultaneously... 6 2.5 The Java Virtual Machine... 7 2.6 Benefits and limitations of virtual machines... 8 3. Online resources... 9 3.1 Websites... 9 4. Class and homework activities... 10 4.1 Quiz... 10 4.2 Homework questions... 11 Topic support guide 9608 Topic 3.4.2 Virtual machine 1

Introduction Introduction How to use this guide The aim of this guide is to facilitate your teaching of Cambridge International AS and A Level Computer Science topic 3.4.2 Virtual machine, part of the advanced theory topic 3.4 System software. The guidance and activities in this resource are designed to help teachers devise programmes of study which provide teaching time devoted to theory work as well as activities that consolidate learning. Section 1 lists some key terms used in this topic and their definitions. Section 2 introduces virtual machines, gives examples of how they are used and lists some benefits and limitations. Section 3 lists some online resources that you or your learners may find useful. Section 4 gives ideas for class and homework activities. Learning objectives Using this document should help you guide learners in the following syllabus learning objectives: show understanding of the concept of a virtual machine give examples of the role of virtual machines show understanding of the benefits and limitations of virtual machines. Prior knowledge Before you begin teaching this topic you should: understand what virtual machines are and what they do, including the difference between system and process virtual machines be familiar with different ways in which virtual machines are used be familiar with how the Java Virtual Machine works understand some benefits and limitations of virtual machines. 2 Topic support guide 9608 Topic 3.4.2 Virtual machine

Key terms 1. Key terms Word/phrase byte code compiler emulator guest host machine code process virtual machine source code system virtual machine virtualisation virtual machine Meaning intermediate code that a virtual machine converts into machine code a program that converts source code into machine code software that runs a virtual machine the emulated system/program the computer that runs the emulated virtual machine code written as instructions that the processor understands an emulation of a single process code written in a high-level language an emulation of a complete computer system/operating system the process of creating and running a virtual machine software emulation of another computer/program/operating system Topic support guide 9608 Topic 3.4.2 Virtual machine 3

Theory 2. Theory 2.1 What is a virtual machine? Computers vary in the hardware they use, and run different programs and operating systems. Sometimes we might want to have the functionality and capability of another computer system running on our own computer. It may be that the hardware for the other system no longer exists or is unavailable, or we may wish to have several versions of a computer running simultaneously on one hardware system. We can use software to emulate the other computer system so that our computer can behave like that system. This emulation is known as a virtual machine. The process of creating and running a virtual machine is known as virtualisation. The computer that runs the virtual machine is known as the host. The virtualised system is known as a guest. Virtualisation software, known as an emulator, creates a virtual implementation of the guest system on the host computer, providing the host with the functions and programs of the guest. The emulator translates the instructions of the guest computer so that the host computer can understand them. The emulator also provides a bridge that allows the virtual machine to use the user interface, via the host operating system (I/O input/output), allowing the user to interact with the software running on the virtual machine. Host operating system Virtual machine Hardware (including I/O) I/O request User 2.2 Types of virtual machine 2.2.1 System virtual machines System virtual machines emulate the software of another computer system completely. They allow the host computer to have all the software functionality of the guest system. System virtual machines run the operating system of the guest system within the operating system of the host, 4 Topic support guide 9608 Topic 3.4.2 Virtual machine

Theory allowing programs supported by the guest operating system to be run on the host computer. As a result, system virtual machines are often used to allow the host computer to run an operating system written for another hardware platform. Users running Apple operating systems often use a Microsoft Windows virtual machine to run the Windows operating system on Apple computers. Similarly, users of Apple- or Windows-based computers often run Linux as a virtual machine. The system virtual machine allows full use of the guest computer operating system and the programs that run on it. Another use of system virtual machines is to provide access to programs that current operating systems no longer support. Many old DOS and Windows 3.1, 95 and 98 programs are not supported in Windows 8 and 10. Through using a system virtual machine for these old operating systems, such programs can still be run. System virtual machines often require substantial processing power and memory. This is inevitable, as many modern operating systems require fast processors and plenty of memory. When emulating these operating systems, the more capable a host computer is, the faster and more capable the guest operating system will be. A host computer with limited resources may still be able to run a system virtual machine but it may have degraded performance. A Windows 10 system virtual machine running in an Apple OS X environment. 2.2.2 Process virtual machines Process virtual machines emulate a single program. They are often used to support a programming language, allowing programs created in that language to run on a variety of systems. They are frequently used to emulate old video game systems and arcade games. Topic support guide 9608 Topic 3.4.2 Virtual machine 5

Theory 2.3 Virtual machines within virtual machines It is possible to run one virtual machine within another. For example, a user wanting to play an emulated old arcade game could run the arcade game process virtual machine, within a Windows system virtual machine, on an Apple-based computer. The host computer s operating system provides an interface to the guest virtual machine, which in turn provides an interface to the process virtual machine within it. Host computer environment (Apple) System virtual machine (Windows) Process virtual machine (arcade game) within the virtual machine User The number of virtual machines within virtual machines is limited only by the hardware s performance and available memory of the host computer. 2.4 Running virtual machines simultaneously Host server Domain name server virtual machine Web server virtual machine Print server virtual machine 6 Topic support guide 9608 Topic 3.4.2 Virtual machine

Theory If a host system is powerful enough, several virtual machines can be run side-by-side on one computer. A good example of this is the increasing use of virtual machines to run several virtual servers, such as a domain name server, web server and print server, on one physical server. The host server maintains the virtual machines and allows them to act as though they are all separate computers. 2.5 The Java Virtual Machine Many programs are written in high-level languages such as Visual Basic, C++, Python and Java. Before these programs can be run they need compiling. A compiler takes the high-level language source code and converts it into machine code. This machine code is a set of instructions specific to the processor architecture that the compiler is running on. As a result, this code can only be run on processors that share the same instruction set. The Java compiler does not convert a high-level language into machine code, but into an intermediate language called byte code. This still needs translating into machine code before it can be run on a processor. The Java Virtual Machine is a virtual machine that reads and translates byte code into different machine codes for many different processor architectures and operating systems. This means that Java programs can be run on any computer that has this virtual machine, including desktop PCs, laptops, tablets, smartphones and smart TVs. Desktop with Java Virtual Machine Java program Java byte code Tablet with Java Virtual Machine Smartphone with Java Virtual Machine Topic support guide 9608 Topic 3.4.2 Virtual machine 7

Theory 2.6 Benefits and limitations of virtual machines Using virtual machines brings several benefits: They allow modern systems to use programs that run on obsolete or unsupported platforms They allow platform-independent programs to run on multiple platforms They allow one computer to behave as several computers simultaneously They can be easily backed up, copied and re-installed. This has particular benefits in corporate environments where network downtime can lead to loss of revenue. The virtual machines can be installed on another computer and be up and running again quickly. Virtual machines also have limitations: They emulate software, not hardware. Users trying to get the full functionality from software for another platform may find that they still cannot use the software correctly. For example, an emulation of a driving video game that requires a steering wheel might not be able to operate the game correctly Emulation requires processing power and memory. Running a virtual machine may take a substantial amount of these resources, resulting in reduced performance from the host computer If the host system lacks sufficient resources, the virtual machine will also suffer from poor performance and be difficult to use. 8 Topic support guide 9608 Topic 3.4.2 Virtual machine

Online resources 3. Online resources The following are useful resources for understanding virtual machines. The content of websites is dynamic and constantly changing. Schools are strongly advised to check each site for content and accessibility prior to using it with learners. Cambridge International Examinations is not responsible for the accuracy or content of information contained in these sites. The inclusion of a link to an external website should not be understood to be an endorsement of that website or the site's owners (or their products/services). 3.1 Websites BBC Bitesize GCSE Computer Science basic description of the types of virtual machine; the previous page describes the hierarchy of software languages and codes: www.bbc.co.uk/education/guides/zgmpr82/revision/3 BBC Bitesize Higher Computing Science virtual machines and emulators: www.bbc.co.uk/education/guides/zsnbr82/revision/15 Introduction to virtual machines from National Instruments, including the benefits of virtualisation, particularly for engineering: www.ni.com/white-paper/8708/en/ Description of the Java Virtual Machine: www.careerbless.com/java/basics/javaarchitecture.php Slides from Michigan Technology University useful mainly for diagrams of system and process virtual machines: www.cs.mtu.edu/~zlwang/virtualmachines/slides/introduction.ppt Topic support guide 9608 Topic 3.4.2 Virtual machine 9

Class and homework activities 4. Class and homework activities 4.1 Quiz 1. A virtual machine is: a. a hardware emulation of another system b. a software emulation of another system or program* c. a method of backing up data 2. Virtualisation software provides: a. a bridge between the host computer s hardware and the emulated software* b. a bridge between the guest computer s hardware and software c. a bridge between the host computer s operating system and the emulated software 3. A system virtual machine emulates: a. a single program b. the hardware and software of a guest system c. the operating system of a guest system* 4. A process virtual machine: a. emulates a single program* b. tells the operating system which processes to handle next c. emulates the operating system of a guest system 5. The Java Virtual Machine translates: a. source code into object code b. source code into byte code c. byte code into machine code* 10 Topic support guide 9608 Topic 3.4.2 Virtual machine

Class and homework activities 4.2 Homework questions 1. Give three situations where a user might wish to use a virtual machine 2. Describe three advantages of using virtual machines 3. Explain how the use of virtual machines may allow software to run on multiple platforms without alteration 4. Describe a situation where using virtual machines might not be a good idea 5. A network manager is considering using virtual machines to host his network explain the benefits of doing this Topic support guide 9608 Topic 3.4.2 Virtual machine 11