Virtual Machines Dr

Total Page:16

File Type:pdf, Size:1020Kb

Virtual Machines Dr Virtual Machine (VM) Layered model of computation Software and hardware divided into logical layers Layer n Receives services from server layer n – 1 Provides services to client layer n + 1 Virtual Layers interact through well-defined programming interface Virtual layer Machines Software emulation of hardware or software layer n Transparent to layer n + 1 Provides service to layer n + 1 as expected from real layer n Virtual layer n can run at some layer m ≠ n in real system n + 1 n + 1 n virtual n = m n –1 m –1 Virtual System Real System Modern Microprocessors — Fall 2012 Virtual Machines Dr. Martin Land 1 Modern Microprocessors — Fall 2012 Virtual Machines Dr. Martin Land 2 Examples of Virtual Systems Types of Virtual Machine Web browser exchanges data with server Process Virtual Machine VM provides application interpretation above OS Browser virtual Web server Hosted Virtual Machine Local OS Server OS Protocol Protocol Virtual machine monitor (VMM) Stack Stack Runs above primary OS / below guest OS real real Hardware Network Hardware Provides guest OS with software emulation of real hardware system Client Server System Virtual Machine Emulation of system-level hardware environment Cloud computing Runs above physical hardware and below one or more OSs Virtual Service level agreement (SLA) specifies infrastructure requirements Application Application Application Application Application User sees hardware / software configuration / performance VM Real OS OS Guest OS OS Provider assembles virtual configuration VMM VMM Meets SLA requirements Hardware OS Hardware May be implemented in any way Hardware Hardware Basic System System VM Hosted VM Process VM Modern Microprocessors — Fall 2012 Virtual Machines Dr. Martin Land 3 Modern Microprocessors — Fall 2012 Virtual Machines Dr. Martin Land 4 Process VM Example —Java Hosted VM Example — Guest OS Over OS Designed for program portability between platforms DOS command line interface over Windows Windows allocates 1 MB virtual memory space Provides standard interface to software debug Copies DOS kernel into low memory Windows Java VM located above a standard OS Application Virtual 86 System calls handled by guest DOS kernel Interface to hardware implementation dependent DOS accesses to hardware Windows I/O operations performed by calls to OS Trapped and served by Windows host OS Java compiled to bytecode Responses returned to DOS Hardware Bytecode usually run (interpreted) in Java VM Concurrent DOS windows Multiple allocations of 1 MB virtual memory spaces DEBUG Application running in virtual DOS machine Java without VM Sees 1 MB memory space allocated by Windows Java bytecode processor in IBM mainframes Register values Native machine language (ISA) is Java bytecode Windows emulates real values to DOS Execute Java bytecode without interpretation Debug emulates DOS values to user Parallels, VirtualBox, VMware, DOSBox, ... Host Windows, Linux, DOS, … as guest OSs over host OS http://java.sun.com/docs/books/tutorial/getStarted/intro/definition.html Modern Microprocessors — Fall 2012 Virtual Machines Dr. Martin Land 5 Modern Microprocessors — Fall 2012 Virtual Machines Dr. Martin Land 6 Virtual Machine in IBM z/990 Mainframe VM as System Management Tool Hardware Isolate user environments on single hardware platform CPUs, I/O system, internal communication network Multiple copies of single operating system running independently VMM (hypervisor) Multiple operating systems running concurrently Operator console for partitioning/configuring CPUs and I/O Maintain higher security Provides hardware emulation as abstraction to OS layer OS Logical partition (LPAR) runs separate instance of operating system App1 App2 App2 App3 Resource management Run z/OS, MVS, VM, Unix, Linux, Windows, … instances in parallel OS OS OS OS Non-Windows OS versions expect to see hypervisor (not hardware) Hardware redundancy User High availability VMM VMM Recovery management User sees single-user interface provided by one OS Server Server Hardware pooling User … User User … User User … User User … User User … User Assemble hardware cluster OS — LPAR OS — LPAR OS — LPAR … OS — LPAR Map applications to hardware efficiently VMM — Systems Manager — Hypervisor Load balancing Remap applications to hardware Hardware Modern Microprocessors — Fall 2012 Virtual Machines Dr. Martin Land 7 Modern Microprocessors — Fall 2012 Virtual Machines Dr. Martin Land 8 z/990 Parallel Sysplex Model Virtualization for Server Systems Parallel Sysplex Old file server model Merge 2 to 32 instances of z/OS into a single system Run one application per physical server Applications divide work and data among LPARs Server specified for worst case load High capacity for very large workloads Large number of typically underutilized servers Resource sharing Huge aggregate space capacity Dynamic workload balancing Competition from mainframes Geographical diversity VMM provides dynamic load balancing Coupled LPARs on remote physical systems Hardware provides centralized power, cooling, monitoring, backup Physical backup User … User User … User User … User User … User User … User High SAR — scalability, availability, reliability Automatic failure recovery LPAR - OS LPAR - OS LPAR - OS … LPAR - OS Lower cost per served client than server farm Continuous availability Systems Manager Hardware (processors, RAM, I/O) Virtualization in server Partition hardware resources to run independent applications User … User User … User User … User User … User User … User LPAR - OS LPAR - OS LPAR - OS … LPAR - OS Intel virtualization Coupling Systems Manager IA-32 and IA-64 ISA support Facility Hardware (processors, RAM, I/O) I/O chipset support Modern Microprocessors — Fall 2012 Virtual Machines Dr. Martin Land 9 Modern Microprocessors — Fall 2012 Virtual Machines Dr. Martin Land 10 HP Virtual Partitions (vPars) System VM Organization Hypervisor Virtual machine monitor (VMM) Lowest layer above physical hardware (host) Uniprocessor or multiprocessor system Creates virtual machine (VM) environments for guest OSs Allocates physical host resources to virtual resources VM overhead Processor intensive applications — low overhead Infrequent use of OS calls Most instructions run directly on hardware I/O intensive applications — high overhead Frequent use of OS calls Boot OS calls for I/O services run in emulation Order I/O-limited applications Program throughput limited by I/O latency Emulation adds relatively small overhead Hewlett-Packard, "Installing and Managing HP-UX Virtual Partitions (vPars)" Modern Microprocessors — Fall 2012 Virtual Machines Dr. Martin Land 11 Modern Microprocessors — Fall 2012 Virtual Machines Dr. Martin Land 12 VMM Requirements Virtualization Awareness Hardware abstraction Virtualization-aware guest OS Guest environment must replicate hardware OS written to run above VMM/hypervisor VMM must present well-defined software interface to OS Expects to interact with virtual host Does not expect full or direct control of physical hardware Protection OS code interfaces with hypervisor code Isolate guests from one another No need to remap (bluff) pointers intended for real hardware Protect VMM from guest OS and application software May be presented with view of real system for limited operations Guest software cannot change allocation of physical resources Example — mainframe OS Privilege Writes I/O outputs to hypervisor interface VMM runs in kernel mode Does not attempt to configure I/O hardware devices Guest OSs and applications run in user mode Particular OS may be given direct control of particular I/O device Hardware support for VMM Virtualization-unaware guest OS Virtualization primitives built into mainframe ISA OS written to run above physical hardware Any OS or application access to hardware causes trap to VMM Expects full and direct control of real hardware VMM catches every access to hardware abstraction layer (HAL) Requires extensive intervention and remapping by VMM Modern Microprocessors — Fall 2012 Virtual Machines Dr. Martin Land 13 Modern Microprocessors — Fall 2012 Virtual Machines Dr. Martin Land 14 Hardware Emulation Activities Full/Partial System Emulation OS sees hardware through operations Full system emulation OS instructions cause to CPU initiate memory and I/O operations VMM intervenes in every OS access to hardware I/O devices initiate DMA operations and interrupts CPU Translates guest ISA to host ISA Application Memory Translates memory size and organization Real Operation VMM Emulation OS Chipset Translates guest configuration instructions to host Hardware I/O devices Translates guest driver to host driver VMM CPU Read data or Translate data/instruction from guest to host format Memory instruction Remap address space Hardware CPU emulation example Access Write data Read/Write to real host memory Run Nintendo game on PC CPU I/O Read data or Translate data/instruction from guest to host format Translate each Nintendo instruction to IA-32 instruction set Device instruction Remap I/O port space Partial system emulation Access Write data Read/Write to real host I/O device Part of host hardware presented to OS unchanged VMM manages I/O device DMA VMM passes guest operations to host with minimal intervention I/O device DMA or IRQ actions Translate OS interrupt handlers from guest Most system VMs emulate subset/superset of real host hardware format to host format CPU emulation only in special cases Modern Microprocessors — Fall 2012 Virtual Machines Dr. Martin Land 15 Modern Microprocessors — Fall 2012 Virtual Machines Dr. Martin Land
Recommended publications
  • Running Telecom/TT-Link and Trafman Under Windows 7 (And Up) Using Dosbox
    Running Telecom/TT-Link and Trafman under Windows 7 (and up) using DOSbox 3/31/2014 Documentation written for: Telecom/TT-Link V3.97 or later. TrafMan V6.43 or later. DOSbox V0.74 or later. COM/IP V4.9.5 or later. TrafMan & Telecom/TT-Link on Windows 7 Page 1 of 10 I. Introduction and Initial Emulator Setup Microsoft discontinued support for MS-DOS level programs starting with Windows 7. This has made the operation of Telecom/TT-Link and TrafMan on systems with a Windows 7 or later operating systems problematical, to say the least. However, it is possible to achieve functionality (with some limits) even on a Windows 7 computer by using what is known as a “DOS Emulator”. Emulator’s simulate the conditions of an earlier operating system on a later one. For example, one of the most common emulators is called DOSbox (http://sourceforge.net/projects/dosbox/ ) and it is available as a free download for both PC and Mac computers. DOSbox creates an artificial MS-DOS level environment on a Windows 7 computer. Inside this environment you can run most DOS programs, including TrafMan and Telecom/TT-Link. This document describes how to utilize the DOSbox emulator for running Telecom/TT-Link and TrafMan. It should be noted, however, that other emulators may also work and this document can serve as a guide for setting up and using similar DOS emulators as they are available. Initial DOSbox Emulator Setup: 1) Download the latest release of DOSbox (0.74 or later) to your PC and install it.
    [Show full text]
  • Powershell Core Ja Sitä Edeltävät Komentorivi- Pohjaiset Hallintatyökalut
    Ismail Belmostefa PowerShell Core ja sitä edeltävät komentorivi- pohjaiset hallintatyökalut Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikan koulutusohjelma Insinöörityö 12.12.2016 Tiivistelmä Tekijä Ismail Belmostefa Otsikko PowerShell Core ja sitä edeltävät komentorivipohjaiset hallin- tatyökalut Sivumäärä 38 sivua + 2 liitettä Aika 12.12.2016 Tutkinto Insinööri (AMK) Koulutusohjelma Tietotekniikka Suuntautumisvaihtoehto Ohjelmistotekniikka Ohjaaja Kari Sundberg Ohjaajat Yliopettaja Markku Nuutinen Insinöörityön aiheena oli PowerShell Core ja sitä edeltävät komentorivipohjaiset hallinta- työkalut. Tavoite oli ymmärtää näiden asennusympäristö, alla käytetyt teknologiat ja niihin liittyvä terminologia. Tutkimustyö syntyi harjoittelutyön muistiinpanojen lopputuloksena sekä tutkimalla alan kirjallisuutta ja verkkomateriaalia. Insinöörityössä selvitettiin PowerShell Coren ja sitä edeltävien komentorivipohjaisten hal- lintatyökalujen alla käytetyt teknologiat, terminologia, käyttökohteet ja motivaatio niiden syntyyn. Koska komentorivipohjaiset hallintatyökalut on rakennettu asennusympäristön tar- joamien palveluiden päälle, palveluiden toiminnan hahmottaminen edesauttaa komentori- vin käyttöä ja soveltamista. Tutkimustyötä on hyödynnetty tietokoneen ylläpidossa, ohjel- moinnissa ja peruskäytössä. Tutkimustyö osoitti asennusympäristön kokonaiskuvan hallit- semisen tärkeyden komentorivipohjaisten työkalujen käytössä. Avainsanat DDE, OLE, COM, .NET, CMD.EXE, COMMAND.COM, WSH, MOM, PowerShell Abstract Author Ismail Belmostefa Title
    [Show full text]
  • Automated Testing of Firmware Installation and Update Scenarios for Peripheral Devices
    DEGREE PROJECT IN COMPUTER SCIENCE AND ENGINEERING, SECOND CYCLE, 30 CREDITS STOCKHOLM, SWEDEN 2019 Automated testing of firmware installation and update scenarios for peripheral devices DAG REUTERSKIÖLD KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Automated testing of firmware installation and update scenarios for peripheral devices DAG REUTERSKIÖLD Master in Computer Science Date: August 12, 2019 Supervisor: Hamid Faragardi Examiner: Elena Troubitsyna School of Electrical Engineering and Computer Science Host company: Tobii AB Swedish title: Automatisering av enhetsinstallation, uppdatering och testning med hjälp av virtuella maskiner iii Abstract This research presents an approach to transition from manual to automated testing of hardware specific firmware. The manual approach for firmware test- ing can be repetitive and time consuming. A significant proportion of the time is spent on cleaning and re-installing operating systems so that old firmware does not interfere with the newer firmware that is being tested. The approach in this research utilizes virtual machines and presents an automation framework. One component of the automation framework is an application to imitate con- nected peripheral devices to bypass hardware dependencies of firmware in- stallers. The framework also consists of automation and pipeline scripts with the objective to execute firmware installers and detect errors and abnormalities in the installation and updating processes. The framework can run on locally hosted virtual machines, but is most applicable using cloud hosted virtual ma- chines, where it is part of a continuous integration that builds, downloads, installs, updates and tests new firmware versions, in a completely automated manner. The framework is evaluated by measuring and comparing execution times with manually conducted installation and updating tests, and the result shows that the framework complete tests much faster than the manual approach.
    [Show full text]
  • Open WATCOM Programmer's Guide
    this document downloaded from... Use of this document the wings of subject to the terms and conditions as flight in an age stated on the website. of adventure for more downloads visit our other sites Positive Infinity and vulcanhammer.net chet-aero.com Watcom FORTRAN 77 Programmer's Guide Version 1.8 Notice of Copyright Copyright 2002-2008 the Open Watcom Contributors. Portions Copyright 1984-2002 Sybase, Inc. and its subsidiaries. All rights reserved. Any part of this publication may be reproduced, transmitted, or translated in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without the prior written permission of anyone. For more information please visit http://www.openwatcom.org/ Portions of this manual are reprinted with permission from Tenberry Software, Inc. ii Preface The Watcom FORTRAN 77 Programmer's Guide includes the following major components: · DOS Programming Guide · The DOS/4GW DOS Extender · Windows 3.x Programming Guide · Windows NT Programming Guide · OS/2 Programming Guide · Novell NLM Programming Guide · Mixed Language Programming · Common Problems Acknowledgements This book was produced with the Watcom GML electronic publishing system, a software tool developed by WATCOM. In this system, writers use an ASCII text editor to create source files containing text annotated with tags. These tags label the structural elements of the document, such as chapters, sections, paragraphs, and lists. The Watcom GML software, which runs on a variety of operating systems, interprets the tags to format the text into a form such as you see here. Writers can produce output for a variety of printers, including laser printers, using separately specified layout directives for such things as font selection, column width and height, number of columns, etc.
    [Show full text]
  • Virtualization Technologies Overview Course: CS 490 by Mendel
    Virtualization technologies overview Course: CS 490 by Mendel Rosenblum Name Can boot USB GUI Live 3D Snaps Live an OS on mem acceleration hot of migration another ory runnin disk alloc g partition ation system as guest Bochs partially partially Yes No Container s Cooperati Yes[1] Yes No No ve Linux (supporte d through X11 over networkin g) Denali DOSBox Partial (the Yes No No host OS can provide DOSBox services with USB devices) DOSEMU No No No FreeVPS GXemul No No Hercules Hyper-V iCore Yes Yes No Yes No Virtual Accounts Imperas Yes Yes Yes Yes OVP (Eclipse) Tools Integrity Yes No Yes Yes No Yes (HP-UX Virtual (Integrity guests only, Machines Virtual Linux and Machine Windows 2K3 Manager in near future) (add-on) Jail No Yes partially Yes No No No KVM Yes [3] Yes Yes [4] Yes Supported Yes [5] with VMGL [6] Linux- VServer LynxSec ure Mac-on- Yes Yes No No Linux Mac-on- No No Mac OpenVZ Yes Yes Yes Yes No Yes (using Xvnc and/or XDMCP) Oracle Yes Yes Yes Yes Yes VM (manage d by Oracle VM Manager) OVPsim Yes Yes Yes Yes (Eclipse) Padded Yes Yes Yes Cell for x86 (Green Hills Software) Padded Yes Yes Yes No Cell for PowerPC (Green Hills Software) Parallels Yes, if Boot Yes Yes Yes DirectX 9 Desktop Camp is and for Mac installed OpenGL 2.0 Parallels No Yes Yes No partially Workstati on PearPC POWER Yes Yes No Yes No Yes (on Hypervis POWER 6- or (PHYP) based systems, requires PowerVM Enterprise Licensing) QEMU Yes Yes Yes [4] Some code Yes done [7]; Also supported with VMGL [6] QEMU w/ Yes Yes Yes Some code Yes kqemu done [7]; Also module supported
    [Show full text]
  • International Journal for Scientific Research & Development
    IJSRD - International Journal for Scientific Research & Development| Vol. 2, Issue 02, 2014 | ISSN (online): 2321-0613 Virtualization : A Novice Approach Amithchand Sheety1 Mahesh Poola2 Pradeep Bhat3 Dhiraj Mishra4 1,2,3,4 Padmabhushan Vasantdada Patil Pratishthan’s College of Engineering, Eastern Express Highway, Near Everard Nagar, Sion-Chunabhatti, Mumbai-400 022, India. Abstract— Virtualization provides many benefits – greater as CPU. Although hardware is consolidated, typically efficiency in CPU utilization, greener IT with less power OS are not. Instead, each OS running on a physical consumption, better management through central server becomes converted to a distinct OS running inside environment control, more availability, reduced project a virtual machine. The large server can "host" many such timelines by eliminating hardware procurement, improved "guest" virtual machines. This is known as Physical-to- disaster recovery capability, more central control of the Virtual (P2V) transformation. desktop, and improved outsourcing services. With these 2) Consolidating servers can also have the added benefit of benefits, it is no wondered that virtualization has had a reducing energy consumption. A typical server runs at meteoric rise to the 2008 Top 10 IT Projects! This white 425W [4] and VMware estimates an average server paper presents a brief look at virtualization, its benefits and consolidation ratio of 10:1. weaknesses, and today’s “best practices” regarding 3) A virtual machine can be more easily controlled and virtualization. inspected from outside than a physical one, and its configuration is more flexible. This is very useful in I. INTRODUCTION kernel development and for teaching operating system Virtualization, in computing, is a term that refers to the courses.
    [Show full text]
  • MX-19.2 Users Manual
    MX-19.2 Users Manual v. 20200801 manual AT mxlinux DOT org Ctrl-F = Search this Manual Ctrl+Home = Return to top Table of Contents 1 Introduction...................................................................................................................................4 1.1 About MX Linux................................................................................................................4 1.2 About this Manual..............................................................................................................4 1.3 System requirements..........................................................................................................5 1.4 Support and EOL................................................................................................................6 1.5 Bugs, issues and requests...................................................................................................6 1.6 Migration............................................................................................................................7 1.7 Our positions......................................................................................................................8 1.8 Notes for Translators.............................................................................................................8 2 Installation...................................................................................................................................10 2.1 Introduction......................................................................................................................10
    [Show full text]
  • Download the Index
    41_067232945x_index.qxd 10/5/07 1:09 PM Page 667 Index NUMBERS 3D video, 100-101 10BaseT Ethernet NIC (Network Interface Cards), 512 64-bit processors, 14 100BaseT Ethernet NIC (Network Interface Cards), 512 A A (Address) resource record, 555 AbiWord, 171-172 ac command, 414 ac patches, 498 access control, Apache web server file systems, 536 access times, disabling, 648 Accessibility module (GNOME), 116 ACPI (Advanced Configuration and Power Interface), 61-62 active content modules, dynamic website creation, 544 Add a New Local User screen, 44 add command (CVS), 583 address books, KAddressBook, 278 Administrator Mode button (KDE Control Center), 113 Adobe Reader, 133 AFPL Ghostscript, 123 41_067232945x_index.qxd 10/5/07 1:09 PM Page 668 668 aggregators aggregators, 309 antispam tools, 325 aKregator (Kontact), 336-337 KMail, 330-331 Blam!, 337 Procmail, 326, 329-330 Bloglines, 338 action line special characters, 328 Firefox web browser, 335 recipe flags, 326 Liferea, 337 special conditions, 327 Opera web browser, 335 antivirus tools, 331-332 RSSOwl, 338 AP (Access Points), wireless networks, 260, 514 aKregator webfeeder (Kontact), 278, 336-337 Apache web server, 529 album art, downloading to multimedia dynamic websites, creating players, 192 active content modules, 544 aliases, 79 CGI programming, 542-543 bash shell, 80 SSI, 543 CNAME (Canonical Name) resource file systems record, 555 access control, 536 local aliases, email server configuration, 325 authentication, 536-538 allow directive (Apache2/httpd.conf), 536 installing Almquist shells
    [Show full text]
  • Virtual MBX Driver Help
    Virtual MBX Driver Help Virtual MBX Driver for Modbus, Modbus Plus and Modbus TCP Networks Version 9 Virtual MBX Driver Help VIRTUAL MBX DRIVER HELP Virtual MBX® Driver for Modbus, Modbus Plus and Modbus TCP Networks Version 9 Copyright © 1994-2017, Cyberlogic® Technologies Inc. All rights reserved. This document and its contents are protected by all applicable copyright, trademark and patent laws and international treaties. No part of this document may be copied, reproduced, stored in a retrieval system or transmitted by any means, electronic, mechanical, photocopying, recording or otherwise, without the express written permission of Cyberlogic Technologies Inc. This document is subject to change without notice, and does not necessarily reflect all aspects of the mentioned products or services, their performance or applications. Cyberlogic Technologies Inc. is not responsible for any errors or omissions in this presentation. Cyberlogic Technologies Inc. makes no express or implied warranties or representations with respect to the contents of this document. No copyright, trademark or patent liability or other liability for any damages is assumed by Cyberlogic Technologies Inc. with respect to the use of the information contained herein by any other party. Cyberlogic®, DHX®, MBX®, WinConX® and Intelligent • Powerful • Reliable® are registered trademarks and DirectAccess™, OPC Crosslink™, OPC Datacenter™, DevNet™ and C-logic™ are trademarks of Cyberlogic Technologies Inc. All other trademarks and registered trademarks belong to their respective
    [Show full text]
  • Windows 2000 Professional Basics
    PART I Windows 2000 Professional Basics Learn To: • Install Windows 2000 Professional • Install and organize COPYRIGHTEDremove MATERIAL programs • Add a local and a network printer CHAPTER 1 Introducing Windows 2000 Professional FEATURING: Windows 2000 Professional, Windows 2000 Server: Which is which? 4 What’s new in Windows 2000 Professional? 8 What’s not in Windows 2000 Professional? 16 Why choose Windows 2000 Professional over Windows 98? 17 How is Windows 2000 Professional different from other operating systems? 25 What are the features of Windows 2000 Professional architecture? 27 Weaknesses of Windows 2000 Professional 31 Since the advent of the personal computer, users have wanted three things in an operating system: power, stability, and usability. Windows 2000 Professional has all these and more in abundance. Since its inception in 1993, Windows NT has featured an indefatigable 32-bit architecture, complete with built-in networking and the capa- bility to run almost every piece of Windows software on the market. Windows 2000 Professional now includes an interface, which has evolved from the NT 4 Explorer shell and is even easier to use. NOTE Windows 2000 Professional is actually version 5 of Windows NT Workstation. Throughout the book, I make many references to NT in describing Windows 2000. The name change was a sign of the convergence of the Windows product lines. What does all this mean to the consumer, the person sitting at a desk 52 weeks a year who just wants to be a productive computer user? It means a lot. It means a fast, up-to-date operating system with a slew of advanced features that ensure the computer will almost never crash.
    [Show full text]
  • L38 Ñ Windows XP
    History History (cont.) (Timeline from www.cgonline.com) 10/81 — IBM PC (“Personal Computer”) 10/88 — OS/2 1.1 (Windows-like GUI, end and PC-DOS 1.0 of collaboration when IBM gets upset with Microsoft for improving Windows) 3/83 — Microsoft MS-DOS 2.0 (hard disk, file system) 5/90 — Windows 3.0 (big success!) 11/83 — Windows announced (vaporware!) 4/92 — Windows 3.1 (bug fixes etc.) 11/84 — MS-DOS 3.1 10/92 — Windows for Workgroups 3.1 (adds networking, but fails in market) 11/85 — Windows 1.0 (tiled windows, doesn’t do well in market) 5/93 — Windows NT 3.1 (visually like Windows 3.1, but stable 32-bit platform) 4/87 — IBM & Microsoft OS/2 1.0 (next generation, DOS-like command lines) 11/93 — Windows for Workgroups 3.11 (precursor to Windows 95) 12/87 — Windows/386 (uses 80386’s virtual memory to allow safe “preemptive” 5/94 — MS-DOS 6.22 (DOS final version) multitasking) 9/94 — Windows NT 3.5 6/95 — Windows NT 3.51 (faster) 1 Fall 2002, Lecture 38 2 Fall 2002, Lecture 38 History (cont.) What is Windows XP? 8/95 — Windows 95 (originally Windows I 32/64 -bit preemptive multitasking 4.0) (long file names, plug and play operating system for AMD K6/7, Intel hardware, taskbar and Start menu, IA32/64 and later microprocessors HUGE success in market!) ● Replaces Windows 95/98/Me as well as Windows NT/200 7/96 — Windows NT 4.0 (Windows 95 GUI, first successful version of NT) I Key goals 6/98 — Windows 98 (Windows 95 + ● security, reliability, ease of use Internet Explorer 4.0, success in market) ● Windows and POSIX compliance ● high performance, extensibility 2/00 — Windows 2000 (Windows NT 4.0 + plug and play, DirectX, USB, etc.) ● portability, international support 9/00 — Windows Me (Millennium Edition) I Various versions: XP Personal, XP (Windows 98 + IE 5.0, media support, Professional, XP Server last version in Windows 9x line) I Uses a micro-kernel architecture 9/01 — Windows XP (combines Windows ● Subsystems to provide OS personalities 2000 and ME, but based on NT/2000) for Win32, POSIX, etc.
    [Show full text]
  • Challenges in Firmware Re-Hosting, Emulation, and Analysis
    Challenges in Firmware Re-Hosting, Emulation, and Analysis CHRISTOPHER WRIGHT, Purdue University WILLIAM A. MOEGLEIN, Sandia National Laboratories SAURABH BAGCHI, Purdue University MILIND KULKARNI, Purdue University ABRAHAM A. CLEMENTS, Sandia National Laboratories System emulation and firmware re-hosting have become popular techniques to answer various security and performance related questions, such as, does a firmware contain security vulnerabilities or meet timing requirements when run on a specific hardware platform. While this motivation for emulation and binary analysis has previously been explored and reported, starting to either work or research in the field is difficult. To this end, we provide a comprehensive guide for the practitioner or system emulation researcher. We layout common challenges faced during firmware re-hosting, explaining successive steps and surveying common tools used to overcome these challenges. We provide classification techniques on five different axes, including emulator methods, system type, fidelity, emulator purpose, and control. These classifications and comparison criteria enable the practitioner to determine the appropriate tool for emulation. We use our classifications to categorize popular works in the field and present 28 common challenges faced when creating, emulating and analyzing a system, from obtaining firmwares to post emulation analysis. CCS Concepts: • Computer systems organization → Embedded and cyber-physical systems; Firmware; Embedded hardware; Embedded software; Real-time systems; • Hardware → Simulation and emulation. Additional Key Words and Phrases: Firmware re-hosting, system emulation, embedded systems, emulation fidelity, emulator classification, binary analysis, reverse engineering, emulation challenges ACM Reference Format: Christopher Wright, William A. Moeglein, Saurabh Bagchi, Milind Kulkarni, and Abraham A. Clements. 2020. Challenges in Firmware Re-Hosting, Emulation, and Analysis.
    [Show full text]