Reading “Unikernels: Rise of the Virtual Library Operating System”
- 2. ⾃自⼰己紹介
• 柏原 秀蔵 (@suma90h)
• 輪輪読会いいだしっぺ
– いつも発表者の皆様に⽀支えられ
て会が開けてます
• 業務
– ミドルウェアの開発
– システムプログラミング周辺
㻞
- 3. Unikernels
ᩥ᭩ᴫせ
• ACM
queue䛾ᢏ⾡グ䠄ᐇ䛿ㄽᩥ䛨䜓䛺䛔䠅
– “Unikernels:
Library
Opera;ng
Systems
for
the
Cloud”䛸䛔䛖ㄽᩥ䛿䛒䛳䛶ෆᐜ䛿㏆䛔
• グ䛾䜹䝔䝂䝸䠖㻌Distributed
Compu;ng
• ᴫせ:
௬䝬䝅䞁䝰䝙䝍,
Xen,
Mirage
OS
– 䝋䝣䝖䜴䜵䜰䛾䛩䜉䛶䛾䝺䜲䝲䛜ྠ୍䛾㧗⣭ゝㄒ
䛾䝣䝺䞊䝮䝽䞊䜽䛷ᐇ(䝁䞁䝟䜲䝹)䛥䜜䛯䜙䠛
– 䜰䝥䝸䜿䞊䝅䝵䞁
=
OS䛭䛾䜒䛷ື䛟䜘䚸䛸䛔䛖ୡ⏺
– Mirage
OS䛾タィ䛻䛴䛔䛶᭩䛛䜜䛯グ
- 4. 䛣䜜䜎䛷䛾OS䛾ไ⣙
• OS⮬య䛿ỗ⏝ᛶ䛜䛒䜛䛾䛻㛵䜟䜙䛪䚸䝅䝇䝔䝮
䛾ᵓᡂ䜢䝅䞁䝥䝹䛻䛩䜛䛯䜑䛻1䛴䛾┠ⓗ䛻≉
䛧䛯䜰䝥䝸䜿䞊䝅䝵䞁䜢ධ䜜䜛ᵓᡂ䜢ྲྀ䜛
– 䝕䞊䝍䝧䞊䝇䝃䞊䝞,
䜴䜵䝤䛺䛹
• OS⮬య䛿ఱ䛛䛾┠ⓗ䛻≉䛧䛶䛔䛺䛔Ⅼ
– 䠖Linux:
పᾘ㈝㟁ຊ䛛䜙䝝䜲䜶䞁䝗䛾䝃䞊䝞䜎䛷
• 1✀㢮䛾䜰䝥䝸䜿䞊䝅䝵䞁䛾䝟䝣䜷䞊䝬䞁䝇ᨵၿ
䛾䛯䜑䛻䚸䛣䛾䜘䛖䛺ᰂ㌾ᛶ䜢ኻ䛖䛾䛿ཷ䛡ධ
䜜䛜䛯䛔
- 6. Mirage
OS
• 䛣䛣䛷Unikernels䛸䜆䛾䛜Mirage
OS䛾䜰䞊䜻䝔䜽䝏䝱
(figure
1䜘䜚)
– hYp://sourceforge.jp/magazine/14/07/24/154100
– hYp://www.xenproject.org/developers/teams/mirage-‐os.html
- 7. Mirage
OS䛸䛿
• ᭱㏆ὶ⾜䛾䜽䝷䜴䝗OS
(Exokernel䛸䜒䛔䛖)
• 䜰䝥䝸䜿䞊䝅䝵䞁䜢OCaml䛷᭩䛟䛾䛜≉ᚩ
• Xen䛾ୖ䛷ື䛝䚸ᵝ䚻䛺㏻ಙ䝥䝻䝖䝁䝹䜢䝃䝫䞊
䝖
• 2013ᖺ9᭶
1.0
䝸䝸䞊䝇
• 2014ᖺ8᭶
2.0
䝸䝸䞊䝇
• ヲ⣽䛿ᚋ䛾䝇䝷䜲䝗䛷䚹
- 8. Library
Opera;ng
System
• Library
Opera;ng
System
(libOS)䛸䛔䛖䜰䞊䜻
䝔䜽䝏䝱タィᡭἲ䛜⪃䛥䜜䛯
– 1990ᖺ௦䛾Exokernel,
Nemesis䛸䛛
• 䝁䞁䝉䝥䝖䛸䛧䛶䛿
– (1)䝝䞊䝗䜴䜵䜰䜔䝛䝑䝖䝽䞊䜽䝥䝻䝖䝁䝹䜢ື䛛䛩
䝷䜲䝤䝷䝸䛸䛧䛶
– (2)䜰䝥䝸䜿䞊䝅䝵䞁ᒙ䛷䜰䜽䝉䝇ไᚚ䞉isola;on䜢
ᙉไ䛩䜛䝫䝸䝅䞊䛾㞟ྜ䛸䛧䛶
- 9. libOS䛾ḞⅬ䛸ゎỴ
• 」ᩘ䛾䜰䝥䝸䜿䞊䝅䝵䞁䜢䚸ᙉ䛔䝸䝋䞊䝇
isola;on䜢ᙉไ䛧䛶䛾ᐇ⾜䛜㞴䛧䛔
• 䝕䝞䜲䝇䝗䝷䜲䝞䜢᪂つ䛻᭩䛝┤䛩ᚲせ䛜䛒
䜛
• 䛣䜜䜙䛾ၥ㢟䜢OS௬䛷ゎỴ
– VM䛸䛧䛶㉮䜛libOS䛿௬ⓗ䛺䝝䞊䝗䜴䜵䜰䛻ᑐ
ฎ䛥䛫䛩䜜䜀䜘䛔䠄ᴟㄽ䠅
– VM㛫䛾isola;on䜒䚸VMM䛻௵䛫䛶䛚䛡䜛
- 10. Mirage
OS䛸㏆௦ⓗ䛺䝥䝻䜾䝷䝭䞁䜾ゝㄒᶵ⬟
• 㟼ⓗᆺ䝏䜵䝑䜽
– 䝝䞊䝗䜴䜵䜰䛾ᶵ⬟䛻䜘䜛䛣䛸䛺䛟䝥䝻䜾䝷䝭䞁䜾
䛾䜶䝷䞊䜢㍍ῶ䛩䜛
• ⮬ືⓗ䛺䝯䝰䝸⟶⌮
– 䚷䝯䝰䝸⟶⌮䛾ᡭ㛫䛛䜙䝥䝻䜾䝷䝬䜢ゎᨺ䛩䜛
• 䝰䝆䝳䞊䝹ᛶ
– 䝂䞊䝹䛸䛧䛶䛿䚸1䛴䛾䝥䝻䜾䝷䝮䛜user-‐kernelቃ
⏺䜢⦪᩿䛩䜛䜘䛖䛻䛺䜛
- 11. Mirage
OS䛿䛺䛬OCaml䛛䠛
• 㛵ᩘᆺゝㄒ䛷䛒䜛䛜䚸௧ⓗ䛻䜒グ㏙䛷䛝䜛
• 䜸䝤䝆䜵䜽䝖ᣦྥ䜢䝃䝫䞊䝖
• ⏕ᡂ䛩䜛䝁䞊䝗䛿䝛䜲䝔䜱䝤䝁䞊䝗
• Citrix䛾Xen
Cloud
Plaeorm䜒Xen䛰䛳䛯
– ᫇䛿Xen䛾⟶⌮䝒䞊䝹䠄CLI䠅䜢Ocaml䛩䜛ヰ䜒
䛒䛳䛯
- 13. 䜎䛸䜑
• 䜆䛳䛱䜓䛡䛯䛸䛣䜝䚸グ䛰䛡䛒䛳䛶ᚋ༙䛛䜙
Mirage
OS䛾䝫䝆䝅䝵䞁䝖䞊䜽䛷䛒䜛
• OCaml䛳䛯◊✲䛸䛧䛶䛿䜘䛔䛛䜒
• Mirage
OS
ᚋ
– DARPA
– Air
Force
Research
Laboratory
(AFRL)
• Ⓨ⾲ᚋ䛾㏣グ
– ㄽᩥ䛾᪉䛰䛸䝧䞁䝏䝬䞊䜽䛜䛒䛳䛯䜚䚸OS䛸䜰䝥䝸䛰
䛸㔜」䛧䛯ᒙ䛜䛒䛳䛶Mirage
OS䛾Ⅼ䛜䛒䜛䛸䛛ゎ
ㄝ䛜䛒䜛䛭䛖䛷䛩䚹ㄽᩥ䜒୍ᗘㄞ䜣䛷䚸Mirage
OS⮬
య䜢ᐇ㝿䛻ヨ䛧䛶䜏䜛䛾䛜᪩䛭䛖䚹