1 / 29

Cloud computing based Chrome os

Cloud computing based Chrome os. Name - Geunsik Lim e-Mail - leemgs.at.gmail.com Nick - invain ( 인베인 ) Blog - http://blog.naver.com/invain‏/. Oct-15-2010, Fri. 본 문서는 자유롭게 수정 및 재배포가 가능 하나 , 자료 이용시 “ 자료출처 : 6 회 Kandroid Seminar( Geunsik Lim)” 내용을 명시해야 합니다 . CONTENTS.

zona
Download Presentation

Cloud computing based Chrome os

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cloud computing based Chrome os • Name - Geunsik Lim • e-Mail - leemgs.at.gmail.com • Nick - invain (인베인) • Blog - http://blog.naver.com/invain‏/ Oct-15-2010, Fri • 본문서는 자유롭게 수정 및 재배포가 가능 하나, 자료 이용시“자료출처: 6회 Kandroid Seminar(Geunsik Lim)” 내용을 명시해야 합니다.

  2. CONTENTS Technology Session What is ChromeOS? Why do ChromeOS needs in Embedded Env? Chrome webOS Demonstration Chrome App Store for Business Model Zygote based ChromeOS WebOS Limitation Open-sources for Chrome Web-browser Linux Kernel for ChromeOS Operating System-level virtualization: Container Booting Sequence for ChromeOS Summary Q&A

  3. What is Chrome OS? • What is the official Name of Chrome OS? • Chromium OS  Chromium Project + Ubuntu based on Debian • Chromium OS  Chromium webOS • Chrome OS Chrome webOS • Chromium OS is an open-source project that aims to provide a fast, simple, and more secure computing experience for people who spend most of their time on the web.  • Chrome’s support for HTML5 and its JavaScript engine(V8). - http://dev.w3.org/html5/spec/Overview.html • Chromium Project : http://www.chromium.org

  4. Zygote based ChromeOS 1/3 What is the major role of Zygote for Android platform? Source - http://www.kandroid.org/board/board.php?board=kandroidseminar4&command=body&no=5 • Chrome browser launches the zygote (#>chrome --type=zygote) which then forks of an instance of the renderer (#>chrome --type=renderer) or extension (#>chrome --type=extension) for each rendered (tab menu) or extension that it needs.

  5. Zygote based ChromeOS 2/3 The zygote process is triggered by the “--type=zygote” command line flag, which causes ZygoteMain (in ./chrome/browser/zygote_main_linux.cc) to be run. The zygote is launched from ./chrome/browser/zygote_host_linux.cc. Signaling the zygote for a new renderer happens in ./chrome/browser/child_process_launcher.cc. You can use the “--zygote-cmd-prefix” flag to debug the zygote process. If you use “--renderer-cmd-prefix” then the zygote will be bypassed and renderers will be exec'ed afresh every time. SELinux is preventing /opt/google/chrome/chrome-sandbox "write" access on oom_adj. /usr/lib/chromium-browser/chromium-browser --type=zygote Source - http://code.google.com/p/chromium/wiki/LinuxZygote

  6. Zygote based ChromeOS 3/3 init PPID PID bash Channel(26609.0x*******.********) Chromium-broswer chromium-browser (Ancestor) Chromium-broswer fork chromium-browser for plugin module Plugin Thread (e.g: Flash) chromium-browser --type=plugin exec Chromium-broswer chromium-browser --type=zygote Renderer Thread1 (Tab Browser) chromium-browser --type=renderer Renderer Thread2 (Tab Browser) Renderer Thread3 (Tab Browser) . . . . . .

  7. Chrome OS의 Entire Layout 1. UI = Chrome Browser 2. Local Web Server 3. User Application Runs On Web Server 4. Good Bye Files 5. Robust Security Network YoutubeGbooksGdocs Gmail Picasa Gcalendar Google Cloud Infrastructure Internet Chrome Web Browser Chrome Window Manager Xorg Contents System Libraries SSL OpenGL Freetype Xlib Collector Webkit glibc Sound Network Linux Kernel Telephony WebCam Devices Hardware

  8. 임베디드에서 왜 크롬OS가 필요한가? • 21세기 대부분의 소비자들은 인터넷을 사용하기 위해 컴퓨터를 ON하는 경우가 점진적으로 증가하고 있다. • 소니의 인터넷TV: 구글 안드로이드 기반의 TV플랫폼에 크롬 브라우저, Intel Chipset을 장착함으로써인터넷 검색은 물론 안드로이드마켓 다양한 애플리케이션 등을 다운로드를 목표로 함.다만, 현재의 안드로이드마켓이 스마트폰용 위주여서 TV용을 위한 소프트웨어개발도구(SDK) 공개 및 고해상도 앱개발 등이 필요. • 따라서, 로컬 애플리케이션 비즈니스모델을 가진 안드로이드와웹애플리케이션 비즈니스모델을 가진 크롬OS는 상호 보완적으로 융복합을 통해 성장해 나갈수 있음.

  9. Chrome webOS와 Android의 Win-Win전략

  10. Chrome WebStore for Business Model • Chrome WebStore  http://code.google.com/intl/ko/chrome/webstore/  http://code.google.com/intl/ko-KR/chrome/apps/docs/developers_guide.html • If you charge for your app, you can use either Chrome Web Store Payments or your own custom payment system. • Or it can be more specialized, such as a Google Chrome Extension or a web app that's been modified to be downloaded and run on the user's computer. • Google Chrome Extensions • http://code.google.com/chrome/extensions/devguide.html Webapp.json Source Webapp.crx Package Webapp.pem • JSON (JavaScript Object Notation) • CRX (Google Chrome extension)

  11. 모바일플랫폼별 주요 특징 비교내역

  12. Native vs. Web-based Application Next Generation Android Market Native apps Few APIs between apps No Recurring Revenue Client Storage(=Local Storage) Chrome WebStore Web-based apps Services & Mashups Software as Service ServerStorage ( = Cloud Computing ) Source - http://www.flickr.com/photos/civisi/2611679744/sizes/o/

  13. Limitations of WebOS • UX Support - The effective support of User interface (Haptic, Augmented Reality, Gesture, Video, Voice Recognition) • Speed & Performance - Java-script, Parsing, Network latency (WIFI Infra) • Security - Security & Privacy • Unstability - Offline Mode, Asynchronous communication support • Hardware Control - Low-level device control

  14. Operating System Market Trend

  15. ChromeOS Demonstration 1/2 Environment: i-BuddieNetBook&Core2Q9400의 VirtualBox 3.X Estimation :Chrome Webos를 Power On시 로그인화면까지 평균3~5초 소요됨. Linux Distribution : Ubuntu 8.04 or Newer(9.10 Recommended)

  16. ChromeOS Demonstration 2/2

  17. Linux Kernel for ChromeOS 1/3 • Intel Mobiln Patches(Menlow) + Ubuntu Patches(9.10 –Kamic) - Chromium webOS용 커널은넷북 하드웨어를 목표로 하고 있으므로, 인텔의 모블린(멘로우)용 커널패치들과우분투 커뮤니티의 커널패치를리눅스2.6.30 + 기반으로 하나의 커널로머지하는 방법으로 오픈소스를 비즈니스 모델에 활용. • Source Tree - git clone http://{src|git}.chromium.org/git/kernel.git - firefox http://{src|git}.chromium.org/cgi-bin/gitweb.cgi - http://kernel.ubuntu.com/git-repos/ubuntu/ubuntu-karmic.git/

  18. Linux Kernel for ChromeOS 2/3 • 저장장치는 Disk I/O Speed를 고려하여 부팅시SSD 저장장치를기본으로 이용. • KMS(Kernel mode setting) - 커널부팅시에커널모드셋팅(Intel I915 Graphics Kernel Mode Setting)을 기본으로 사용하기때문에 Xorg와 콘솔화면 간의 전환이 1초 이내로 가능. • Chrome WebOS또한 넷북을 주요타겟으로 하고 있기 때문에 SWAP 메모리 기술을 사용하지 않음. Without multihead setups, hotplug, etc - Linux 2.6.29 adds kernel based graphic mode setting - Linux 2.6.31 adds Kernel Mode Setting (KMS) support for ATI

  19. Linux Kernel for ChromeOS 3/3 Maintainer = The Chromium OS Author . e-mail : chromium-os-dev@googlegroups.com . Mandeep Singh Baines : config file for 2.6.31 . Will Drewry : config file for 2.6.30

  20. Open-sources for Chrome Web-browser

  21. Operating System-level virtualization: Container To provide process aggregations in the Linux kernel, mainly for resource tracking purposes. The basic notion of a grouping/partitioning of processes - e.g: cpusets, ResGroups, User Bean Counters, virtual server namespaces, NSProxy containers, and others . User ID Cgroup Merged into vanilla kernel 2.6.24 by Paul Menage at Jan-15-2007

  22. Group Scheduling with UserID Target#> echo 2048 > /sys/kernel/uids/497/cpu_share

  23. Group Scheduling with control groups(cgroup) App9 Target#> mount –t cgroup–o cpucpu /cgroups Target#> mkdir /cgroups/webbrowser Target#> mkdir /cgroups/db Target#> mkdir /cgroups/media Target#> pidof `firefox` > /cgroups/webbrowser/tasks Target#> echo 2048 > /cgroups/webbrowser/cpu.shares App7 App8 App4 App5 App6 Container4 App1 App2 App3 Container3 Container2 Configuration Manager Container1

  24. Booting Sequence for ChromeOS • GRUB BootLoaderconfiiguration setting information label chromeos-hdmenu label chromeos-hdkernel vmlinuzappend quiet console=tty2 init=/sbin/init boot=local rootwait root=HDROOT ronoresumenoswapi915.modeset=1loglevel=1 Linux Kernel Scheduler Initialization Memory Initialization Device Initialization And so on . . .

  25. Booting Sequence for ChromeOS /sbin/init /sbin/chromeos_startup Mounting Task Initialization Script Xorg /usr/bin/chromeos-wm Log-in Screen

  26. Booting Sequence for ChromeOS

  27. Summary • Chromium OS는 인터넷을 주로 이용하는 사용자들을 위해서 기업의 클라우딩 인프라스트럭쳐를가볍고, 빠르고, 안전한 컴퓨팅 환경을제공하기 위한 Linux커널 기반으로 크롬 웹브라우져를 개발하는 오픈소스 프로젝트임. • 로컬 애플리케이션 비즈니스모델을 가진 안드로이드와웹애플리케이션 비즈니스모델을 가진 크롬OS는 상호 보완적으로 융복합을 통해 성장 가능함. • 웹브라우저에서 실행되는 애플리케이션들을 해당 목적에 맞게 그룹화 함으로써 효과적으로 태스크들을스케쥴 및 컨트롤할수 있는 OS레벨의 가상화인 리눅스 컨테이너 “cgroup”이 활용이 증가될 것임. • Linux 커널과Ubuntu 커뮤니티의 커널패치를 하나의 커널로머지하는 방법 등을 통해 모바일플랫폼으로 공개된 Android처럼 오픈소스를 비즈니스 모델의 Best Practice으로 활용하는 또 하나의 사례 (Open Innovation).

  28. References • http://www.chromium.org/chromium-os • http://codereview.chromium.org/ • http://www.google.com/chrome • http://www.chromium.org/ • http://googlechromereleases.blogspot.com/ • http://blog.chromium.org/

  29. THANKS 지금까지 없던 새로운 시대를 열기 위해서는 끊임없이 도전하고 파괴하며,다른 기회를 만들어야 내야 한다 .이러한 사고방식이 얼마나 혁신적임을 보여주는지 이 시점에서 우리들은 깊이 생각해보아야 한다.

More Related