Bash on Ubuntu on Windows

Slides:



Advertisements
Similar presentations
1 Symbian Client Server Architecture. 2 Client, who (a software module) needs service from service provider (another software module) Server, who provide.
Advertisements

An Overview Of Virtual Machine Architectures Ross Rosemark.
Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines J. LeVasseur V. Uhlig J. Stoess S. G¨otz University of Karlsruhe,
MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September.
Operating System Structure. Announcements Make sure you are registered for CS 415 First CS 415 project is up –Initial design documents due next Friday,
System Software Matt Bardsley Comm 165. System Software System software handles technical details Consists of four types of programs.
MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University.
ELEC6200, Fall 07, Oct 29 Westrom: Virtual Machines 1 Kenneth Westrom ELEC-6620.
Chapter 6 - Implementing Processes, Threads and Resources Kris Hansen Shelby Davis Jeffery Brass 3/7/05 & 3/9/05 Kris Hansen Shelby Davis Jeffery Brass.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Operating System Support for Virtual Machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
Red Hat Installation. Installing Red Hat Linux is the process of copying operating system files from a CD, DVD, or USB flash drive to hard disk(s) on.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
9/13/20151 Threads ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original slides.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Operating System Support for Virtual Machines Samuel T. King, George W. Dunlap,Peter M.Chen Presented By, Rajesh 1 References [1] Virtual Machines: Supporting.
Virtualization Concepts Presented by: Mariano Diaz.
Operating System Support for Virtual Machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
2001 Networking Operating Systems (CO32010) 1. Operating Systems 2. Processes and scheduling 3.
Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1.
Advanced Design and System Patterns The Microkernel Pattern.
Davydenko Vladimir, Mc Girr Stephen, Purcell Sean.
Overview Multithreading Models Threading Issues Pthreads Solaris 2 Threads Windows 2000 Threads Linux Threads Java Threads.
Introduction to Computer Operating Systems
AoE and HyperSCSI on Linux PDA Prepared by They Yu Shu.
Introduction Why are virtual machines interesting?
VMM Based Rootkit Detection on Android
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Find – used to find files corresponding to a certain criteria find starting_dir matching_criteria [options] Examples: find /usr –name startx find /usr.
VMware Recovery Software RECOVER DATA FROM CORRUPT VMDK FILE.
Virtualization Neependra Khare
Welcome to the Virtual Machine Mark Cyzyk The Sheridan Libraries Johns Hopkins University.
Operating System Simulator
Virtualization-optimized architectures
Computer System Structures
Introduction to threads
Android Mobile Application Development
Outline Installing Gem5 SPEC2006 for Gem5 Configuring Gem5.
Chapter 2: Operating-System Structures
NEWS LAB 薛智文 嵌入式系統暨無線網路實驗室
UBUNTU INSTALLATION
Chapter 12: File System Implementation
CASE STUDY 1: Linux and Android
Lecture 4: Operating System Structures
Chapter 5: Threads Overview Multithreading Models Threading Issues
Operating System Structure
Containers and Virtualisation
R

Containers in HPC By Raja.
KERNEL ARCHITECTURE.
What is an Operating System?
Virtual Machines.
Running other code under LINUX
Hands-On Virtualization in the Classroom
OS Virtualization.
Chapter 5: Threads Overview Multithreading Models Threading Issues
Virtualization Layer Virtual Hardware Virtual Networking
Run Bash scripts from Windows 10
Operating System Support for Virtual Machines
Virtual Machines (Introduction to Virtual Machines)
LINUX System : Lecture 7 Lecture notes acknowledgement : The design of UNIX Operating System.
Operating Systems: A Modern Perspective, Chapter 3
Chapter 5: Threads Overview Multithreading Models Threading Issues
Introduction to Virtual Machines
Computer System Structures
Lab 1: Getting Started.
Introduction to Virtual Machines
Operating Systems Structure
Presentation transcript:

Bash on Ubuntu on Windows Taiwan Evolutionary Intelligence Laboratory Lin, Yuen-Jen

Outline Background Architecture Technical details Demo

Background Threatened in developer market by Linux and Mac OS X Cooperate with Canonical From project Astoria (abandoned), which originated to run Android apps on Windows 10

Background Bash on Ubuntu on Windows: Service that users can use Linux on Windows Windows Subsystem for Linux (WSL): the function build in Windows that Bash on Ubuntu on Windows relies on.

Architecture

Architecture User mode session manager Pico sessions Pico drivers

Architecture Linux Application Windows Application Pico Driver NT kernel

Technical details Pico process Pico Drivers File systems

Pico process Decouple OS dependencies from the underlying host OS Run in the “library OS” Separate the host OS from trying to manage the user- mode address space inside it. When Windows kernel detect system calls from a pico process, it passes to pico provider to handle.

Pico Process

Pico drivers Difference between Linux and Windows: System calls, Application Binary Interface (ABI) What Pico drivers have to do: Transfer Linux system calls to Windows system calls Pass the parameters using the registers defined by the Linux ABI

Pico drivers

File Systems Linux uses the Virtual File System (VFS) VolFs: the file system designed to emulate VFS in WSL. DrvFs: designed to facilitate interoperability with Windows. Windows drives, such as C: and D:, are mounted under /mnt.

File Systems

Demo

Demo

Demo

Demo

Demo

Demo

What is different from containers Translation between different syscall systems Different level of separation

Conclusion New way for using Linux on Windows machine Looks powerful but limits exist

Reference WSL blog, https://blogs.msdn.microsoft.com/wsl/ Image source: WSL blog http://en.community.dell.com/techcenter/os- applications/w/wiki/6950.lxc-containers-in-ubuntu- server-14-04-lts