2016 年度未踏 IT 人材発掘 育成事業採択案件評価書 1. 担当 PM 竹迫良範 PM( 株式会社リクルートマーケティングパートナーズ専門役員 ) 2. 採択者氏名 クリエータ ( 代表 ): 佐伯学哉 ( 東京大学大学院 ) クリエータ : 西脇友一 ( 東京大学大学院 ) 3. 委託金支払

Similar documents
2008 年度上期未踏 IT 人材発掘 育成事業採択案件評価書 1. 担当 PM 田中二郎 PM( 筑波大学大学院システム情報工学研究科教授 ) 2. 採択者氏名チーフクリエータ : 北山朝也 ( 株式会社ソニー コンピュータエンタテインメントソフトウェアプラットフォーム開発部 ) コクリエータ :

PowerPoint プレゼンテーション

<4D F736F F D208DCC91F088C48C8F955D89BF8F915F8DA196E5504A>

ブート ~OS が起動されるまで~

2008 年度下期未踏 IT 人材発掘 育成事業採択案件評価書 1. 担当 PM 田中二郎 PM ( 筑波大学大学院システム情報工学研究科教授 ) 2. 採択者氏名チーフクリエータ : 矢口裕明 ( 東京大学大学院情報理工学系研究科創造情報学専攻博士課程三年次学生 ) コクリエータ : なし 3.

PowerPoint プレゼンテーション

大域照明計算手法開発のためのレンダリングフレームワーク Lightmetrica: 拡張 検証に特化した研究開発のためレンダラ 図 1: Lightmetrica を用いてレンダリングした画像例 シーンは拡散反射面 光沢面を含み 複数の面光 源を用いて ピンホールカメラを用いてレンダリングを行った

TFTP serverの実装

KSforWindowsServerのご紹介

スライド 1

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

Helix Swarm2018.1インストール手順

EPSON PS Folder

今週の進捗

1

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

1-1- 基 OSS 概要に関する知識 ソフトウェアの新たな開発手法となりソフトウェア業界で大きな影響力を持つようになったオープンソースについて学習する 本カリキュラム Ⅰ. 概要では オープンソースの登場から現在に至る発展の経緯や代表的なソフトウェアの特徴を理解する 講義の後半では実際にソフトウェ

ロイロノートスクールクラウド版表 クラウド サービス利 弊社が 意しているクラウドサービスへ接続し利 するシンプルなプランです サービスだけで利 することができます プラン 保存可能な容量 / ユーザー 額の場合 / ユーザー 年額の場合 / ユーザー 共 タブレット向け 1 0.8GB 40 円

Waylandを試してみた 横浜PF部 第31回勉強会

Linux開発 インストールマニュアル

Microsoft Word - appendix_b_srft.doc

提案書

講座内容 第 1 回オープンソースの理念 ( 講義 90 分 ) オープンソースという言葉の定義と概念を理解する あわせてオープンソースの基本的なライセンスを理 解する (1) オープンソースの登場と理念 1. オープンソースの定義 2. ネットスケープ社製品のソースコード公開 3. Open So

HARTING Node.js Environment for HAIIC MICA 日本語 HARTING Node.js Environment for HAIIC MICA HARTING IT Software Development Marienwerder Str. 3, E

openSUSE Build Service を使ってみよう

目次 1. 本書の役割 Windows Agent サポート OS とエディション サポート言語 Agent 稼働前提条件 Azure SDK リリース済み Windows Agent のサポート

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

仮想化基礎演習テキスト Ⅰ 第 1.0 版 演習で学ぶ仮想化基礎 ( クライアント仮想化編 ) 九州ラーニングネット株式会社 特定非営利活動法人パソコン整備士協会

使用する前に

db0215

延命セキュリティ製品 製品名お客様の想定対象 OS McAfee Embedded Control 特定の業務で利用する物理 PC 仮想 PC や Server 2003 Server 2003 ホワイトリスト型 Trend Micro Safe Lock 特定の業務で利用するスタンドアロン PC


bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows ˆ Windows10 64bit Wi

スキル領域 職種 : ソフトウェアデベロップメント スキル領域と SWD 経済産業省, 独立行政法人情報処理推進機構

Microsoft PowerPoint Quality-sama_Seminar.pptx

Installation Guide for Linux

目次 1. XQuartz インストール PlayOnMac インストール Wine のアップデート ターミナル インストール MT4/MT 既知の問題 ターミナルデータ案内 14 2

24th Embarcadero Developer Camp

LK-RZG-A02 Install Manual

Microsoft Word - CygwinでPython.docx

Windowsユーザでも 手軽に作れるiPhoneアプリ

1. 検証概要 目的及びテスト方法 1.1 検証概要 既に Red Hat Enterprise Linux 5.5 for x86-64 で動作保証されている Micro Focus Server Express 5.1 J を Red Hat Enterprise Linux Server 6.

OSS仮想マシン環境動向XenとKVM

Anniversary Update の手動アップデート PC 資料 年 8 月 2 日 Microsoft から Windows 10 2 回目の大型アップデート Windows 10 Anniversary Update が提供されました 多くのセキュリティ修正の

プロダクトオーナー研修についてのご紹介

Doxygenを用いた効率的な プログラム仕様書の作成

IntroductionForGR-PEACH.pptx

untitled

CD 起動可能な Linux KNOPPIX について 産業技術総合研究所 情報技術研究部門須崎有康

SOC Report

FUJITSU Software Systemwalker Centric Manager Lite Edition V13.5 機能紹介資料

LK-RZN-A01 Install Manual

再起動した状態になり パスワードを入力すると 図 2 のように DEXCS2011 のアイコ ンがデスクトップ上に表示される 2 端末を準備する メニューバーにある端末の形を左クリック 図 2 デスクトップ メニューバーに端末の形がない場合 図 3 メニューバー アプリケーション アクセサリー 端末

PowerPoint プレゼンテーション

Oracle SQL Developerの移行機能を使用したOracle Databaseへの移行

2-3- 基 Linux のシステム管理に関する知識 1 独立行政法人情報処理推進機構

ユーザ システム要件

Oracle Enterprise Linux 5における認証

CLUSTERPRO SSS 動作環境編

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

Microsoft PowerPoint - 鵜飼裕司講演資料shirahama_egg.ppt [互換モード]

04-process_thread_2.ppt

Linux開発 Install Manual for RZ/G Series

目次 1. はじめに 本書対象者 PALRO のアプリケーションについて Ubuntu 8.04LTS の入手について Linux 上での開発環境の構築 事前準備 Ubuntu のインストール..

構成例 システム名 : 単独サーバ業務システムユーザ数 : 1 ユーザ マルチコア CPU のサーバ 1 台で開発 運用します ソート機能を使用します COBOL SE Developer COBOL SE Server Runtime SORTKIT/Enterprise for Windows

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な

CLUSTERPRO MC ProcessSaver 1.2 for Windows 導入ガイド 第 4 版 2014 年 3 月 日本電気株式会社

X-MON 3.1.0

また IS12T はアップデート以外の動作もできませんので アラームも動作しません IS12T のバージョンによりソフトウェアアップデート所要時間は異なります また インターネットの接続速度や パソコンの性能といったお客様の利用環境により 時間が延びることがあります 本アップデートについて 本ソフト

Server Backup Manager 5.0 Debian および Ubuntu システムへの Server Backup Free のインストール 1. APT-GET をしてServer Backup Free をインストールする 2. Server Backup Free のインストール

<4D F736F F F696E74202D20834A815B836C838B835C815B835882CC95E082AB95FB F4B2E B8CDD8AB B83685D>

目次 第 1 章 環境構築 システム概要 ロードバランサ ジーンコードサーバー コンテンツサーバー (PC サイトサーバー ) コンテンツサーバー (PC サイトサーバー ) DNS... 6

目次 1. Serverspec とは 1.1. Serverspecとは 1.2. Serverspecで出来る事 2. セットアップ 2.1. 必要なもの 2.2. インストール 3. デモ 3.1. デモ環境について 3.2. テスト対象サーバーの登録 3.3. サンプルテストの中身 3.4.

vdi_service_details

レセプト電算ファイルのCD書き込み手順書

XAMPP で CMS のお手軽 テスト環境を手に入れよう 2011/5/21 上村崇 1

スライド 1

本当に多機能な情報機器を求めているのか という疑問もある 私は 小さなデバイス単位に機能を分散化し それぞれをインターネットを通して組み合わせることで ユーザーが簡単な操作で自分の望む情報機器を作ることができるようになるのではないかと考えている さらに 小さなデバイスをネットワークにつなぐことにより

Maple 12 Windows版シングルユーザ/ネットワークライセンス

安全な Web サイトの作り方 7 版 と Android アプリの脆弱性対策 独立行政法人情報処理推進機構 (IPA) 技術本部セキュリティセンター Copyright 2015 独立行政法人情報処理推進機構

アジェンダ 1 RED HAT ENTERPRISE LINUX について 2 主な新機能 3 11 まとめ

スライド 1

CLUSTERPRO MC ProcessSaver 2.3 for Windows 導入ガイド 第 5 版 2018 年 6 月 日本電気株式会社

スライド 1

技術レポート 1)QuiX 端末認証と HP IceWall SSO の連携 2)QuiX 端末認証と XenApp の連携 3)QuiX 端末認証 RADIUS オプションと APRESIA の連携 Ver 1.1 Copyright (C) 2012 Base Technology, Inc.

吉田坂本.pptx

2. 動的コンテンツとは動的コンテンツとは Web ブラウザからの要求に応じて動的に Web ページや画像などを生成する Web コンテンツのことをいいます Web で利用するサーチエンジンやアクセスカウンタ等は この仕組みを用いています 動的コンテンツは大きく次の二つに分類されます (1) Web

プロジェクトマネジメント知識体系ガイド (PMBOK ガイド ) 第 6 版 訂正表 - 第 3 刷り 注 : 次の正誤表は PMBOK ガイド第 6 版 の第 1 刷りと第 2 刷りに関するものです 本 ( または PDF) の印刷部数を確認するには 著作権ページ ( 通知ページおよび目次の前 )

MMUなしプロセッサ用Linuxの共有ライブラリ機構

CLUSTERPROXSingleServerSafe SingleServerSafe ご紹介 2007 年 10 月

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

ESMPRO/JMSS Ver6.0

予算上限値到達時ジョブ投入停止機能 データ収集日表示 ノード時間積表示 ジョブ課金情報 予算上限値到達でジョブ投入停止機能を有すること 最後に課金情報を集計した日時を表示すること 使用計算資源を使用ノード数と時間の積として表示すること ジョブ単位での課金情報を表示できること 1 3 基本予算管理利用

回答者のうち 68% がこの一年間にクラウドソーシングを利用したと回答しており クラウドソーシングがかなり普及していることがわかる ( 表 2) また 利用したと回答した人(34 人 ) のうち 59%(20 人 ) が前年に比べて発注件数を増やすとともに 利用したことのない人 (11 人 ) のう

Helix Swarm2018.1アップグレード手順

PowerPoint プレゼンテーション

<4D F736F F F696E74202D E A92E897CA D E83678AC7979D B838B5F F947

secuprint5 Watermark( セキュプリント 5 ウォーターマーク ) とは secuprint5 Watermark( セキュプリント 5 ウォーターマーク ) は 印刷文書内 に 社外持ち出し禁止です などのテキスト 誰が いつ 何を印刷した か 等のセキュリティ情報 また マル秘

LK-3358-A02 Install Manual

Transcription:

2016 年度未踏 IT 人材発掘 育成事業採択案件評価書 1. 担当 PM 竹迫良範 PM( 株式会社リクルートマーケティングパートナーズ専門役員 ) 2. 採択者氏名 クリエータ ( 代表 ): 佐伯学哉 ( 東京大学大学院 ) クリエータ : 西脇友一 ( 東京大学大学院 ) 3. 委託金支払額 2,304,000 円 4. テーマ名 ハイパーバイザ技術を用いたクロス OS な Linux バイナリ互換プラットフォーム の構築 5. 関連 Web サイト https://github.com/linux-noah/noah 6. テーマ概要本プロジェクトでは 近年の CPU に搭載されているハードウェア仮想化支援機構 Intel VT-x 技術を応用することで Linux アプリケーションを事前の変換や動的な変換を用いずに直接 macos 上で動かすプラットフォームを構築した 具体的には Intel VT-x 技術によって作られたハイパーバイザの内部に カーネルではなく Linux アプリケーションそのものをロードし ハイパーバイザの機構を用いてシステムコールをトラップ さらにユーザ空間に通常のアプリケーションとして実装した仮想的なカーネルがこれをホストオペレーティングシステムのシステムコールに変換することで Linux アプリケーションを動作させる 従来のバイナリ互換技術とは異なり ユーザレベルでシステムの実装が可能であり また高速かつホストオペレーティングシステムと親和性のあるプラットフォームを実現できるのが特徴である

7. 採択理由本プロジェクトの提案時は Bash on Ubuntu on Windows の発表があったタイミングと近しいが 本プロジェクトの手法はそれとは異なる技術的アプローチを用いており OS X でも Linux バイナリ互換性を達成できるハイパーバイザフレームワークを開発することを目標としている Intel VT-x 対応の x86_64 アーキテクチャを想定し 独自の ELF ローダで sysenter システムコールをフックし 底の抜けたハイパーバイザとやりとりする 従来このような技術はマルウェアの解析やセキュリティ分野のハックとして知られてきたが バイナリエミュレーションの分野に応用することで高いバイナリ互換性を実現することができる 開発途中で技術的に困難な課題が発生すると予想されるが クリエータは過去にいくつかの要素技術を開発しており システムプログラミング能力も高いため 本プロジェクトを完遂できると考え 採択した 8. 開発目標本プロジェクトは Linux ディストリビューションの一つである Ubuntu のパッケージマネージャである apt-get を一切の変更を加えず macos 上で動作させることを目標とした 独自の ELF ローダやシステムコール変換層を開発した後 適用範囲を広げるため perl,ruby,gcc などの言語処理系を動かすことや X11 アプリケーションを実行できるようにすることも新たな目標として再設定した 9. 進捗概要 Linux 向けにビルドされた xeyes が macos 上で動作している様子を図 1 に示す ここでは X サーバとして macos の半公式アプリである XQuartz を使用している xeyes は Arch Linux の公式リポジトリからビルド済みパッケージを pacman を使用してインストールしたものである Linux のみで動くことを想定されているグラフィカルアプリケーションが一切の変更無しに macos 上で動作していることが確認できる Linux 向けにビルドされた 3D グラフィカルゲーム Doom 3 のオープンソースエンジンである dhewm3 を 無修正で macos 上で動作させることにも成功した ( 図 2)

図 1 Arch Linux の xeyes バイナリが動作 図 2 Doom 3 のゲームも無修正で動作 本システムはゲストプログラムからのシステムコールをトラップしてエミュレートする ( 図 3) ゲストプログラムがシステムコールを発行するとそれがハイパーバイザによってトラップされゲストプログラムの動作は一時停止し 処理はホストプログラムに移る ホストプログラムはトラップの原因となったゲストプログラムのシステムコールを解析し ( 図 3 の上側の write システムコール ) それと等価なシステムコールを macos に向かって発行する ( 図 3 の下側の write システムコール ) ホストプログラムでのシステムコールの発行が完了するとその戻り値に応じて 同じ状況で Linux システムコールが返すと想定される戻り値をゲストプログラムに返却する その後ゲストプログラムを再開するとゲストプログラムからはあたかも Linux カーネルが存在してシステムコールをハンドルしたように見える 本システムの設計では ゲストプログラムのプロセスとホストプログラムのプロセスが一対一に対応する ゲストプロセスがハイパーバイザ内で fork を発行すると ホストプロセスもホストオペレーティングシステム上で fork を発行し 実際にホストプロセスの数が 2 つに増える fork によって新しくできたホストプロセスは 新しいハイパーバイザを一つ作り 内部で fork されたゲストプロセスを実行することになる この設計により 仮想マシンによる完全なカーネルのエミュレーションと違い 本システムはゲストプロセスのスケジューリングや プロセス間の通信などをホストオペレーティングシステムの機構に任せることができ 非常に軽量な設計を保つことができる 例として cat file grep mitou というコマンドが 本システム上の Bash で実行されたときの動作イメージを示す ( 図 4)

図 3 システムコールトラップの動作 図 4 cat file grep mitou の動作 Linux アプリケーションを他のオペレーティングシステム上で動作させるシステムとしては 本プロジェクトの他に Windows Subsystem for Linux, Linuxulator flinux,user Mode Linux といったシステムが存在する さらに Linux アプリケーションを他の OS 上で使用するという目的では 完全な仮想マシンを使って実際の LinuxOS を動かすことも広く行われている また Linux とある程度互換性のある POSIX 互換性を達成するシステムとして Cygwin, MinGW + MSYS2 などが広く用いられている バイナリ互換 カーネルの修正不要 高親和性の 3 つ観点からこれらのシステムの比較を行うと 本システムは表 1 に示すように多くのシステムに対して優位性がある 表 1 本システムと関連システムとの比較

10. プロジェクト評価本プロジェクトの掲げる目標はかなり壮大で クリエータがあれもこれもやりたいとアイディアが発散してしまうと プロジェクト期間中の実装時間が足りなくなってしまい トイプログラムのまま実用的な品質まで達せず プロジェクトが中途半端に失敗してしまうリスクを心配した PM としてはクリエータに対して あれもこれもやりたいだろうけど今は我慢しよう あえてこの選択肢をやらないことによってコードも綺麗になって開発のスピードも維持できる など選択と集中のアドバイスに徹することにした 結果 メインの技術以外の周辺のエミュレーションレイヤの開発にも時間を割けるようになり Linux の X11 グラフィックアプリケーションを macos 上で実行できるまで完成度を高めることができた 実行パフォーマンスについても他プロダクトとの定量比較を実施して アーキテクチャの先進性と競合優位性を確保した 開発合宿や他 PM と共同で開催した進捗報告合宿では 都度新しいデモを動かすために必要な機能を追加開発していくというデモ開発駆動の手法が非常に役に立った 大きなプロジェクトを複数人チームで進めていくには 適切なマイルストーンを都度設定し 達成目標のゴールを明確にしておくことが重要ということも学べたかもしれない 11. 今後の課題本プロジェクトはオープンソースで開発は進めているものの 開発者である本クリエータ 2 人以外の外部のコミッタやユーザコミュニティが存在しないため 今後どのようにして持続的な開発を続けていくかが課題である 今後も対応するシステムコールの数やオプションの種類を増やし バイナリ互換の完成度を高めていく必要がある 技術的には非常にモダンで興味深いアーキテクチャのため 開発協力者をさらに増やせるかどうかに鍵がかかっている 英語圏向けの Web サイトを作ったり 論文を投稿したり Linux カーネル技術者向けの国際会議で積極的に対外発表するなどして 本プロジェクトに興味を持ってくれる開発者仲間を集めて欲しい 本プロジェクトのキラーアプリケーションは何か という問いに対してもユーザコミュニティと一緒に考え 提案当初は思いもつかなかった新しい使い方を発明して欲しい