gameboy rom free

Download Report

Transcript gameboy rom free

Virtual machines,
emulators & mobile devices
Computer Science Higher
Lesson 11: Virtual machines,
emulators & mobile devices Learning intentions
 To understand the need for emulators & virtual machines
 To know what is meant by the terms emulator, virtual machine and mobile
device.
Success criteria
 I can describe the role of an interface within a computer system
 I can explain why an interface is required within a computer system
Virtual machines
As computing science has evolved it has become more common to replicate
aspects of different systems within another system.
Virtual machines
 Virtual machines allow users to access a virtual operating system while
using their own operating system.
 A virtual machine is a self-contained operating environment that behaves
as if it is a separate computer.
 For example a piece of software called VM Ware can let you run Windows
programs on a Mac.
Virtual machines
Virtual machines can also be created to run a program. The VM can protect
the rest of the computer from being accessed by the program directly. This
makes the program's execution much safer. This approach is called
sandboxing. Sandboxing is used with Java, Python, Javascript and many
other languages to separate the code being executed from the host
computer.
Examples of virtual machines include PC-based solutions such as VirtualBox or
VMWare, server based “Virtual Private Servers” such as Xen, or sandboxed
Virtual Machines for programming languages such as Java.
Virtual machines
Emulators
Emulators allow your computer to act
like the actual hardware of the
emulated system, such as a console
system like a GameBoy or a computer
system like the Apple 2. They can also
emulate the hardware of various
classic arcade games.
Older games consoles, handheld
gaming devices and arcade games
are commonly available as emulators.
Emulators
 Emulators are complex pieces of software,
and most emulators do not perfectly emulate
the abilities of the system it is trying to copy.
 To the right is a screenshot of an iPhone app
emulating a PS1
 Emulators used in processor design also allow
software to be designed and tested before
the hardware it will run on exists.
Emulators
Emulators are concerned with creating software to respond in a way that the
traditional hardware and software would have responded. The most popular
emulators allow desktop PCs to run software that lets the user play games
from bygone devices. A ROM image of the original game has been created
so that it can be read by the emulator software from the computer's backing
storage.
Emulators are also useful for mobile developers. A PC can run an emulated
version of an Android or iOS phone, and the emulator can be configured with
different OS versions, screen sizes and hardware devices, to allow full testing
of an app.
Mobile devices
 With the improvement in wireless bandwidth and
miniaturisation of component, mobile devices such as
smart-phones and tablets have become increasingly
popular.
 Most software development for mobile devices is done on
conventional desktop hardware, the use of emulators has
become a common method for testing mobile applications.
 Using an emulator means that applications can be tested
and debugged on a variety of different mobile platforms
before they need to be tested on the mobile devices
themselves.
Mobile devices
 Applications for mobile devices need to use
a touch-screen interface, present data on a
small size display, and cope with limited
bandwidth.
 Mobile apps will be using unreliable/wireless
communication
 Mobile apps can use sensors to detect
location (GPS), movement
(accelerometer), image data (digital
camera)
Summary
 An emulator is software which duplicates the function of one computer
system in another.
 A virtual machine is an emulation of a complete computer system which
can be used to run alternative operating systems, or several copies of a
single operating system.
 Mobile devices have features which require quite different types of software
from conventional desktop systems.