Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Mocloudos - Feather-weight Cloud OS developed within
14 man-days

1,557 views

Published on

Published in: Technology
  • Thanks for replying, Kominami-san.
    Saying this alpha version, there is no inter VM communication.
    It doesn't means 'impossible or difficult' but 'I haven't see use cases yet'.

    And I was surprised. It's can easy to implement 1thread-1VM even if they use the original mruby. I'm hard to see why prefer studies didn't. I'll survey them soon.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • スライドを見て質問があります。Mocloudosでmulti mruby VMをサポートされたとのことですが、Mocloudosの機能としてそのVM間の通信機能(Unixなどでのプロセス間通信のようなもの)はありますか。組込み用途での実CPU上のmruby VMだと(私の知る限り)1CPU1VMしかないので、そもそもサポートしていません。存在するのならば応用の範囲が広がるかなと感じて質問しました。
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Mocloudos - Feather-weight Cloud OS developed within
14 man-days

  1. 1. Mocloudos Feather-weight Cloud OS developed within
 14 man-days
  2. 2. Who am I ? • Embedded Software Engineer • OSS developer • Working at Monami-ya LLC. • Founder/CEO/CTO/CFO/and some more.
  3. 3. Some My Works • Realtime OS • TOPPERS/FI4 (dev lead) • TOPPERS/HRP (dev member) • OSS • GDB (committer / write after approval) • mruby (listed in AUTHOR file) • Android-x86 (develop member) (C) JAXA (C) TOPPERS Project
  4. 4. Wish • Feather-weight cloud OS. • Runs on virtualization framework. • Works with VM based Light-weight Language like Ruby.
  5. 5. Wish • Construct my Cloud OS within 14 man-days
  6. 6. My First Choice • mruby - http://www.mruby.org/ • Xen + Stubdom - http://www.xen.org/
  7. 7. What s mruby • New Ruby runtime. http://github.com/mruby/mruby/ • Created by Matz. GitHub based CI development. • Embedded systems oriented. • Small memory footprint. • High portability. (Device independent. ISO C99 style.) • Multiple VM state support (like Lua). • mrbgem - component model.
  8. 8. mrbgem • Simple component system for mruby. • Adds/modifies your feature to mruby core. • By writing C lang source or Ruby script. • Linked statically to core runtime. • Easy to validate whole runtime statically.
  9. 9. Stubdom • Stub for Xen instances in DomU. • IPv4 network support (with LWIP stack) • Block devices support. • Newlib based POSIX emulation (partly) • Device-File abstraction like VFS.
  10. 10. Stubdom • This is just a stub. • The implementation is half baked. • More system calls returns just -1 (error) • No filesystems
  11. 11. My Additional Choice • FatFs : Free-beer FAT Filesystem • http://elm-chan.org/fsw/ff/00index_e.html • Very permissive license. • So many example uses including commercial products.
  12. 12. My Hacks • Writing several glue code as mrbgems. • Xen s block device - FatFs - Stubdom • Hacking mrbgems to fit poor Stubdom API set. • Porting mirb (mruby interactive REPL) and implementing multi-threaded telnet server. • Implementing { ISO ¦ POSIX } functions for Stubdom.
  13. 13. stack structure Xen Dom0 DomU (Stubdom) FatFs Blk-Dev mruby core mirb(CLI shell) DomU (Stubdo FatFsmrbgems Vedis = ruby style API = C API (provided by POSIX, ISO-C, and mruby)
  14. 14. More feature • Small footprint Key-Value-Store • vedis - http://vedis.symisc.net/ • Henry Spencer's Regular Expression • And user can add more feature using mrbgems.
  15. 15. Wish (again) • Feather-weight cloud OS. • Runs on virtualization framework. • Works with VM based Light-weight Language like Ruby..
  16. 16. What s Mocloudos • Feather-weight cloud OS. • Floppy disk size kernel. • Runs on virtualization framework. • Runs on Xen para-virtualization layer. • Works with VM based Light-weight Language. • mruby REPL based command line shell.
  17. 17. What s Mocloudos • multi mruby VM support. • Each mruby VM state is bound to 1 xen thread. • Extensivity by mrbgems. • KVS (NoSQL) support, and more in the future
  18. 18. I could my Cloud OS within 14 man-days. • Feb 1 : Project started. • Feb 2 : telnet service with mruby • Feb 28 : Vedis KVS integration • Mar 3 : FAT FS integration started (but it break FAT) • Mar 11 : DHCP and Socket class for mruby finished • Mar 12 : FAT FS integration finished • Moving to alpha version. \Today!/
  19. 19. Similar Product and Differences • Qubes OS • Based on Xen • My OS doesn t have strict security. Feather-weight is all. • mruby on OSv • Uses mruby • My OS doesn t have Linux level compat. They are all removed.
  20. 20. Future Plan • Source code release. • Porting to another environment. • Real devices / Full virtualization (like Bhyve) • Finding applications that it requires.
  21. 21. Conclusion • The feather-weight OS for { cloud ¦ virtualization } was born. • It was developed within 14 man-days. • Many people also can create similar one easily.
  22. 22. Conclusion • Bhyve will be an attractive host for such OSes.

×