Top Banner
Linux Virtualization Goes Mobile Jim Huang ( 黃敬群 ) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP
33

Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

Sep 21, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

Linux Virtualization Goes Mobile

Jim Huang ( 黃敬群 ) <jserv @ 0xlab.org>Aug 15, 2009

COSCUP

Page 2: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

關於講者

宅色夫

Page 3: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

宅色夫

自由軟體ARM SoC

環保Android

搜尋結果洽好是本議程的提綱

Page 4: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

昔有凱撒

我來,我見,我征服I came, I saw, I conquered!

Page 5: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

今有宅色夫

我宅,我色,我舒服I home, I suck, I comforted!

Page 6: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

虛擬化兩大重點

我來,我見,我征服I came, I saw, I conquered

我宅,我色,我舒服I home, I suck, I comforted

Exec. Env. #1

Modified Guest OS

Exec. Env. #2

Modified Guest OS

Exec. Env. #3

Modified Guest OS

Virtual Machine Monitor

Hardware

Virtual Hardware Virtual HardwareVirtual Hardware

Main OS

Para ModifiedDrivers

Hypervisor

儘可能「征服」硬體 ( 充分使用系統資源 )軟體予以「舒服」 ( 提高使用比例與感受 )

Page 7: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

Virtualization 技術很熱門,但不是新玩意

Page 8: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

Hypervisor: 早在 1967 年,即提出隔離Application 與 Hardware 的途徑

Page 9: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

Virtualization 技術里程碑

1972

VM/370 - 1st commercial product

2006

AMD-VVirtual PC

Open Kernel LabsOKL4

2008

RedHat → KVMSun → VirtualBoxvmware→ Trango (VMware MVP)

1998

VMware(x86)

2007

Citrix→ Xen

2003

XenVirtualLogix VLX

1967

CP-401st Full Virtualization

Hypervisor

2005

Intel VT-x, Intel VT-i

NICTA L4 Microkernel +Qualcomm

2004

Trango

2009

Intel→ WindRiver

Page 10: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

Spam and virus infected email account for over 70% of all email sent today

Mobile

User tolerance for email downtime is less than 30 minutes

走入消費性電子產品

Security Services

Virtualization 技術的轉變:Embedded/Mobile

[2006] Toshiba W47T CDMA Phone

[2007] 3G phones from HTC, LG,

[2008] Samsung SPH-m800

[2008] Instinct™ and HTC Dream (G1) with Android

Source: Open Kernel Labs.

Page 11: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

那英《征服》「就這樣被你征服 切斷了所有退路

我的心情是堅固 我的決定是糊塗

就這樣被你征服 喝下你藏好的毒

我的劇情已落幕 我的愛恨已入土」

Page 12: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

那英《征服》「就這樣被你征服 切斷了所有退路

我的心情是堅固 我的決定是糊塗

就這樣被你征服 喝下你藏好的毒

我的劇情已落幕 我的愛恨已入土」

[ 佳句偶得 ] 切斷了所有退路 → Virtualization 的概念喝下你藏好的毒 → Virtualization 的實做途徑

Page 13: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

Virtual MachinesVM 允許在單一實體的機器上,運作多個虛擬執行單元

Hardware

Virtual Machine Monitor (VMM) / Hypervisor

Guest OS(Linux)

Guest OS(NetBSD)

Guest OS(Windows)

VM VM VM

AppApp AppAppApp

Xen

VMWare

KVM

QEMU

OKL4( 本議程探討對象 )

切斷了所有退路 → Virtualization 的概念喝下你藏好的毒 → Virtualization 的實做途徑

Page 14: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

• Hardware Virtualization VMM/Hypervisor Technology Virtualizes access to hardware Host OS and each guest has full OS –

standard or special VMware, Microsoft Virtual Server, XEN,

Parallels

• OS Virtualization Virtualizes access to OS Single, standard OS kernel is

running per box Connects natively to underlying

hardware Virtuozzo, Sun Solaris Containers

切斷了所有退路 → Virtualization 的概念喝下你藏好的毒 → Virtualization 的實做途徑

針對 Embedded/Mobile,僅探討 Hardeware Virtualization

Page 15: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

Virtualization Layer

Hardware

OS

A A

OS OS

A A

OS

A A

OS

A

What Why

Abstraction 提昇系統資源使用率

Partitioning 提高安全性與平衡資源使用

Division/sharing 縮短系統反應時間

Hypervisor God!

Page 16: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

Full Virtualization

x86 硬體支援的多種保護模式

Page 17: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

Paravirtualization

Page 18: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

通用的作業系統中, user process並非真的被隔離

1) 每個 process對應到kernel memory,而 kernel位址為所有 process所共享

2) 在 kernel mode中, kernel可存取到任何page table,當然包含user process的對應表

3) copy_from, copy_to page

page

.

.

.

.

Addresslocation inphysicalmemory

.

.

.

.

Address location

inphysicalmemory

Page Directory

Page Tablefor kernel mapping

Page Tablefor user mapping

Kernel mapping

User mapping

CR3

Page 19: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

Interposition TSC Isolationunseal

seal

Hypervisor

trapping kernel / user interactions

Linux Kernel Interrupt Handler

Trusted Process

Virtual Addr.

Kernel Space

User Spaceof Process

dataaddr 1

addr 2

seal

Fast IPC 成為Embedded Hypervisor

成敗的關鍵

Page 20: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

等等,小小的手機跑什麼虛擬化?

Page 21: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

Mobile/Consumer Electronics 生態改變

產品設計 難以預料的安全要求

大量引入客製化與 open source

軟體

隱藏的災難 需要更彈性的設計

Executives?component?

Component 相互隔離依據需求組合 Component有彈性的組合與迴避複雜的授權爭議

Page 22: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

LOVER = Linux Optimized for Virtualization,

Embedded, and Realtime(OSDC.tw 2007)

OKLabs → OKL4 → L4 microkernel

WindRiver → Wind microkernel

TRANGO (now VMware MVP)

VirtualLogix VLX → Sun Microsystems Chorus

Page 23: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

VMware MVP 讓你舒服!(video demo)

同時在Nokia N810 Tablet上執行WinCE與Android

Page 24: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

Component 相互隔離依據需求組合 Component有彈性的組合與迴避複雜的授權爭議

成本效益Time-to-Market(OKL4)

Page 25: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

Android onQualcomm Platform

(Source: QCT)

Android onQualcomm Platform

(Source: QCT)

OKL4 introduces virtualization technology.OKL4 introduces virtualization technology.

Qualcomm specific components:OpenMAX, Qcamera, GPS, QCRILQualcomm specific components:

OpenMAX, Qcamera, GPS, QCRIL

Page 26: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體
Page 27: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

Mobile/Consumer Electronics 生態改變

產品設計 難以預料的安全要求

大量引入客製化與 open source

軟體

隱藏的災難 需要更彈性的設計

Executives?component?

安全性安全性

Page 28: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

Mobile/Consumer Electronics 生態改變

產品設計 難以預料的安全要求

大量引入客製化與 open source

軟體

隱藏的災難 需要更彈性的設計

component?

複雜的授權複雜的授權

Page 29: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

Mobile/Consumer Electronics 生態改變

產品設計 難以預料的安全要求

大量引入客製化與 open source

軟體

隱藏的災難 需要更彈性的設計

component?

特製的 Driver特製的 Driver

Smaller TCB Fault isolation Control access using caps Improves separation of trusted and

un-trusted subsystems

OKL4 on Openmoko demoOKL4 on Openmoko demo

Page 30: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

虛擬化虛擬化

讓你舒服

OKL4 特色:緊繃 (capability)

有彈性 (component)身手矯健 (Fast IPC)嬌小可愛 (10k LoC)蘿莉 (10 years dev)

免授權金 (BSD License)隨時等你來開 .... 發

OKL4 特色:緊繃 (capability)

有彈性 (component)身手矯健 (Fast IPC)嬌小可愛 (10k LoC)蘿莉 (10 years dev)

免授權金 (BSD License)隨時等你來開 .... 發

Page 31: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

OK:LinuxOK:AndroidOK:SymbianOK:Windows

Page 32: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

我來,我見,我征服I came, I saw, I conquered

我宅,我色,我舒服I home, I suck, I comforted

切斷了所有退路 → Virtualization 的概念喝下你藏好的毒 → Virtualization 的實做途徑

產品設計 難以預料的安全要求

大量引入客製化與 open source

軟體

隱藏的災難 需要更彈性的設計

Executives?component?

Virtualization Goes Mobile

整體運算模式的轉變、多元的消費性電子產品設計需求安全性要求、與 open source 軟體銜接、引入專屬技術

與功能導向的運算

Page 33: Linux Virtualization Goes Mobile · Linux Virtualization Goes Mobile Jim Huang (黃敬群) <jserv @ 0xlab.org> Aug 15, 2009 COSCUP 關於講者 宅色夫 宅色夫 自由軟體

參考資料• The Motorola Evoke QA4: A Case Study in Mobile Virtualization,

Gernot Heiser, Open Kernel Labs, Inc.

• Embedded VMM for Portable Virtual Machines, Naveen Kalla, Patrice Guelah, and Scott R. Armstrong

• VMX Framework Performance and Power Management White Paper, VirtualMetrix, Inc.

• OKL4: http://en.wikipedia.org/wiki/OKL4

• OKLabs: http://www.ok-labs.com/

• L4HQ → L4 Community: http://l4hq.org/