Home 文章 Java基础 针对 OLPC 膝上型电脑的桌面开发

feedsky
抓虾
google reader
my yahoo
针对 OLPC 膝上型电脑的桌面开发 E-mail
User Rating: / 0
PoorBest 
作者是 Administrator   
2008-03-24 07:23:31

OLPC 和 XO 膝上型电脑

XO-1 是为世界上发展中国家的儿童设计和发布的膝上型电脑,其制造成本低廉。这种膝上型电脑的目标是为那些条件不足的孩子带去技术和访问信息的途径。它带有无线网络,允许儿童们在本地互相协作完成项目。

这种膝上型电脑最初由麻省理工学院 (MIT) 媒体实验室的全体成员在非盈利组织 “每个儿童一台膝上型电脑” 中提出。该组织包括像 Nicholas Negroponte 和早期的 Seymour Papert (人工智能领域的先驱)这样的大师级人物,他们的想法和研究对这个项目很有帮助。

该项目一直也没少了批评之声。作为一项技术,尽管这种膝上型电脑是创新性的,但一些人置疑,在一些发展中国家,把钱花在膝上型电脑上是否比花在别处更好。例如,一些 XO-1 项目的目标国家缺乏基本的教育设施(如学校和图书馆)。参见 参考资料 了解更多详情。

XO-1 膝上型电脑

XO-1 膝上型电脑的设计十分有趣,因为它包括了两个矛盾的需求。首先, XO-1 膝上型电脑必须是廉价的(售价是 140 美元),但又要功能丰富。这项设计包含一个 433MHz AMD Geode 处理器、128MB RAM,1GB NAND 闪存(代替硬盘)、7.5 英寸双模 LCD、无线网络,至还有一个视频摄像机。这种膝上型电脑也是针对非传统运行环境设计的,因而十分耐用和结实(参见图 1)。


图 1. XO-1 膝上型电脑
XO-1 膝上型电脑

无线网络基于一个 802.11b/g 和 802.11s 芯片,同时支持标准网络和网状网络。这使得膝上型电脑可以在一个对等网络中(无需单独的路由器)彼此自主地传送包。即使在 CPU 断电的情况下网状网络也能运行。

软件

尽管 XO-1 膝上型电脑的思想深具诱惑,它的物理设计和硬件设计也很出彩,但最有意思的部分是它的软件。XO-1 膝上型电脑由 GNU/Linux (基于 Fedora 项目的精简版)授权。基本输入/输出系统(BIOS)为 Open Firmware,是用 Forth 语言的一个变种编写的。被称作 Sugar 的图形用户界面(GUI)基于 X windowing 系统并用 Python 编写。这是到目前为止最为精彩的组成部分,因为它使 XO-1 成为一个直接的开发环境(Python 是一门解释性语言)。无需编译器,人人都可以开发 Sugar 活动(即,在 Sugar GUI 中的应用程序)。换言之,XO-1 膝上型电脑中的所有软件都是开源的,因而也都是免费和可修改的。

Python 的这种用途非常有趣,作为 XO-1 膝上型电脑的核心部分,它会将 Python 展示给全世界数百万儿童。由于 Python 是一门适合学习编程的语言,所以这是一种理想的决定,还可能催生一群新的 Python 迷。





回页首


XO 膝上型电脑仿真

QEMU 是一个平台虚拟化应用程序,让您能够仿真完整的计算机(处理器和相关的外部设备),用于在其上虚拟化另一种操作系统。这样,可以在 Windows 上仿真 Linux,在 Linux 上仿真 Windows,或在任何运行 QEMU 的操作系统上仿真任何其他系统。甚至可以仿真与主机架构不同的操作系统。例如,可以在 x86 主机上仿真 Arm Linux 系统。

系统仿真由平台仿真器(QEMU)、可选加速器(KQEMU)和一个同时包含内核和根文件系统的根映像(主机操作系统中的一个文件)组成。欲了解更多有关 QEMU 及其内部操作的详情,参见 参考资料

下载和安装 QEMU

用 GNU/Linux 安装 QEMU 和加速器非常简单。清单 1 提供 QEMU 的下载、构建和安装指令。


清单 1. 下载、构建、安装 QEMU
                
                $ wget http://fabrice.bellard.free.fr/qemu/qemu-0.9.0.tar.gz
$ tar xfvz qemu-0.9.0.tar.gz
$ cd qemu-0.9.0
$ ./configure
$ make
$ make install
$
            

QEMU 加速器是一个可选步骤,但我建议执行这一步骤,因为它会带来更优的性能。清单 2 提供 QEMU 加速器的下载、构建和安装指令。


清单 2. 下载、构建和安装 QEMU 加速器
                
                $ wget http://fabrice.bellard.free.fr/qemu/kqemu-1.3.0pre11.tar.gz
$ tar xvfz kqemu-1.3.0pre11.tar.gz
$ cd kqemu-1.3.0pre11
$ ./configure
$ make
$ make install
$ insmod kqemu.ko
            

注意:在清单 2 的末尾,QEMU 加速器的内核模块已经安装完毕。

获取 XO 内核和文件系统映像

准备过程的最后一步是为膝上型电脑下载和准备 QEMU 映像。清单 3 显示如何在使用前检索并提取这一映像。该映像比较大(183MB),所以下载时间会很长。同样,下载的映像解压后几乎有 1GB,所以要确保有足够可用的空间。


清单 3. 下载和提取 OLPC 映像
                
                $ wget http://olpc.download.redhat.com/olpc/streams/development/LATEST-STABLE-BUILD/
|-------10--------20--------30--------40--------50--------60--------70--------80--------9|
|-------- XML error:  The previous line is longer than the max of 90 characters ---------|
  devel_ext3/olpc-redhat-stream-development-devel_ext3.img.bz2
$ bunzip2 olpc-redhat-stream-development-devel_ext3.img.bz2
            

启动 XO-1 膝上型电脑

下载并提取 OLPC 映像之后,是时候进行测试了。用两个选项启动 QEMU,即指定可用内存量(256MB)和指定用来仿真的硬盘(上面下载的映像):


清单 4. 启动 QEMU
                
                $ qemu -m 256 -hda olpc-redhat-stream-development-devel_ext3.img
            

接下来,您会在 GNU GRUB(GRand 统一启动加载器,GRand Unified Boot loader)中看到标准的 Linux 启动。最后是启动窗口,需要您提供一个用户名(参见图 2)。提供了用户名后,您可以更改颜色方案。最后,您将看到 XO-1 膝上型电脑的主屏幕,下一节将探讨。


图 2. 首次登录 XO-1 膝上型电脑
首次登录 XO-1 膝上型电脑

如果您要离开 QEMU 并将鼠标环境返回到主操作系统,请按下 Ctrl-Alt。要返回 XO-1,在 Sugar 框架中单击,鼠标环境就返回到 QEMU。





回页首


Sugar 导航

既然已经登录并准备启动,接下来了解一下 OLPC Sugar UI。

Home 模式和框架

Sugar 中的主窗口被称为 Home 模式 (参见图 3)。这个窗口基本上就是桌面,它告诉您环境、活动等信息。该窗口的中心是 XO 图标,它代表了您和您的膝上型电脑。如果在无线网络中其他用户对您来说是可视的,那么您将会看到他们。要关闭膝上型电脑,请将鼠标光标置于 X 图标处,然后点击关闭选项。


图 3. XO-1 膝上型电脑的 Home 模式
XO-1 膝上型电脑的 Home 模式

围绕在膝上型电脑上的圆环显示了当前正在运行的活动。您可以单击这里的任何图标返回到一个运行中的活动。要返回到 Home 模式,请将鼠标移动到窗口的一个角落。这样做可以将框架返回到视图。请注意框架左上角的四个圆圈状的 “缩放” 图标:最后一个代表最近访问过的活动。单击此按钮返回该活动(该活动占据整个窗口)。倒数第二个图标(中心有一个点的图标)代表 Home 窗口。单击此图标会返回到 Home 模式。下一个图标(有三个点的图标)显示,包含附近的朋友和他们正在运行的活动。最后,第一个图标(有许多点的图标)代表整个邻域(neighborhood)。这个图标显示所有用户和他们正在共享的活动。

启动活动

框架的底部是能够运行的活动集。活动 是一个应用程序;如图 3 所示,XO-1 膝上型电脑支持多种活动。Sugar 装备了 Web 浏览器、计算器、绘图程序、新闻阅读器,以及其他可以和其他用户分享的用来在这个项目中协作的程序。要启动一个活动,在框架的下半部分单击该活动的图标。在图 4 中,我启动了 Write 活动并添加了一些文本。


图 4. Sugar 中的一个运行着的活动
Sugar 中的一个运行着的活动

控制键

使用鼠标导航已经非常简单了,但 Sugar 还允许使用控制键在应用程序和模式间更快地切换。表 1 列示了几种可用于在模式间灵活切换的重要控制键。


表 1. 在模式之间切换的控制键
控制键操作
F1切换到邻域视图
F2切换到组视图
F3切换到 home 模式
F4切换到上一活动

开发人员控制台

由于 Sugar 是构建在 Linux 操作系统上的,开发工作需要访问一个 shell。可以按下 Alt-= 来访问 shell,这样会打开一个登录提示符。在这里,键入 root 调用一个友好的 Bash 提示符。也可以通过开发人员控制台访问 shell,如图 5 所示。此控制台包含五个选项卡,分别用于访问资源面板、日志查看器、当前面板(用于无线型 XO-1 膝上型电脑)和一个终端(Bash shell)。


图 5. 开发人员控制台
开发人员控制台

如果想返回到 Sugar,请按下 Ctrl-Alt-F3。 shell 仍然是活动的,因此可以方便地在 Sugar 和 Bash 之间来回切换。

其他快捷键还有 Alt-F,用来开关框架(即,窗口外围的边界)。可以按住 Alt-C 退出当前活动,按住 Ctrl-Alt-Backspace 终止 Sugar GUI。

扩展 XO 膝上型电脑

下载 XO-1 膝上型电脑的文件系统映像意味着您将同时得到其中的内核和根文件系统。该文件系统包含启动 XO-1 膝上型电脑的所有必要应用程序和 OLPC 组件。但这并不意味着不能扩展该软件。文件系统中的常驻包之一 YUM (Yellow-dog Updated, Modified) 是一个包管理系统,用于简化软件包的下载、安装和配置。

用 YUM 既可以下载和安装新包,也可以更新系统中所有现有的包。例如,清单 4 显示如何更新自上一次更新之后更改过的包。


清单 5. 使用 YUM 安装新的更新
                
-bash-3.2# yum -y update
Loading "installonlyn" plugin
Setting up Update Process
olpc_development          100% |==========================| 1.1 kB    00:00
primary.xml.gz            100% |==========================| 2.9 MB    00:17
olpc_devel: ################################################### 11448/11448
olpc_devel_kernel_repo    100% |==========================|  951 B    00:00
olpc_devel: ################################################### 23/23
No Packages marked for Update/Obsoletion
-bash-3.2#





回页首


更多信息

有关 XO 膝上型电脑开发活动的完整信息,包括活动开发背后的细节、Python 编程和 Sugar API for Python,请参阅 “针对 OLPC 膝上型电脑的应用程序开发。”

分享这篇文章……

digg 提交到 Digg
del.icio.us 发布到 del.icio.us
Slashdot Slashdot 一下!



参考资料

学习
  • 您可以参阅本文在 developerWorks 全球站点上的 英文原文

  • 在 Tim 的文章 “Sugar、XO 膝上型电脑和 OLPC”(developerWorks,2007 年 4 月)中,介绍了 Sugar 这个 XO 膝上型电脑新颖的用户界面。

  • developerWorks interview with OLPC visionary Walter Bender(developerWorks,2007 年 4 月)中了解有关 OLPC 的观点,所面临的挑战以及迄今为止所取得的进展。

  • 官方的 OLPC Web 站点 介绍了 OLPC 项目的基本原理和观点,并探讨膝上型电脑将如何使全世界的儿童获益。

  • Wikipedia 上有一篇很棒的文章 XO-1 膝上型电脑介绍,介绍了它的历史、设计、软件和功能。膝上型电脑是创新性的,但一些 批评者 置疑,对于一些发展中国家来说,把钱花在膝上型电脑上是否比花在其他地方更好。

  • 在 “System emulation with QEMU”(developerWorks,2007 年 9 月)中,可以了解到 QEMU,以及它作为平台仿真器的用途。该文章向您介绍了虚拟化,接着讨论了 QEMU 的内部机制及用途。欲了解更多与虚拟化和 Linux 解决方案相关的详情,请查阅 “Virtual Linux”(developerWorks,2006 年 12 月)。

  • 有关 XO-1 的 活动和项目 列表在 laptop.org 站点上可找到。在早期,这份清单内容很少,但如今可以找到大量的活动,范围涵盖教育活动、音频和视频播放器、媒体创建工具、编程工具以及必要的网络应用程序(如浏览器、提要阅读器和邮件程序)。甚至还能找到多种游戏(Python 是一门伟大的游戏开发语言)。

  • developerWorks Linux 专区 寻找更多有关 Linux 开发人员的参考资料,浏览 最受欢迎的文章和教程

  • 浏览 developerWorks 上的全部 Linux 技巧Linux 教程

  • 随时关注 developerWorks 技术事件和网络广播


获得产品和技术
  • 订购 SEK for Linux,这是一套含两张 DVD 的软件包,包含用于 Linux 的 IBM 最新试用软件,有 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere®。

  • IBM 试用软件 (可以直接从 developerWorks 下载)构建您的下一个 Linux 开发项目。


讨论


最近更新 ( 2008-03-24 07:23:31 )
 
Java家,