一种基于WebKit的WebOS实现方法和系统
技术领域
本发明属于移动通信技术领域,更具体地,涉及一种基于WebKit的WebOS实现方法和系统。
背景技术
WebOS(Web-basedOperatingSystem,网络操作系统)是一种基于浏览器的移动终端或PC虚拟操作系统,用户通过浏览器可以在这个WebOS上运行基于Web的在线应用的操作来实现PC操作系统上的各种操作(包括文档存储、编辑,媒体播放等等)。
在现有主流移动智能终端平台上,移动操作系统主要包括Android和IOS,以及后续的WindowPhone8平台。IOS和WindowPhone8属于相对封闭的平台,而在Android平台上,是基于Linux和驱动层上运行JAVA虚拟机和系统服务,由于事件输入和界面操作直接到访问设备硬件中间跨越多个中间层,因此流畅度相比较IOS较慢。现有的Android平台更多是拼硬件优势,向多核、高CPU频率,高内存等中高端方向发展。而同样的低价功能手机市场前景广阔,基于WebKit的WebOS实现方法可以抛开中间层,理论上流畅度基本等同于IOS,可以让目标人群功能手机用户以相对较低的价格用上智能手机。
发明内容
本发明的特征和优点在下文的描述中部分地陈述,或者可从该描述显而易见,或者可通过实践本发明而学习。
本发明所要解决的技术问题是:提供一种基于WebKit的WebOS实现方法和系统,实现抛开中间层,完全使用HTML(HypertextMarkupLanguage,超文本标记语言)、CSS(CascadingStyleSheet,级联样式表)和JAVASCRIPT实现平台和应用功能。
本发明解决上述技术问题所采用的技术方案如下:
根据本发明的一方面,提供的一种基于WebKit的WebOS实现方法,该方法包括:
步骤A、基于Linux内核和驱动层,开机后启动主引导程序依次引导链中下一引导程序,实现映像到终端设备的映射,再转交到Linux内核;
步骤B、Linux内核启动的最后,启动初始化进程挂载必要文件系统,启动系统服务或者守护进程;
步骤C、通过初始化进程孵化启动进入webkit内核进程(即BoottoWebKit进程),作为上层用户空间或应用与系统内核之间通讯的中间接口。
其中,所述开机后启动主引导程序是通过UBOOT方式启动所述主引导程序。
其中,启动系统服务或者守护进程是通过解析init.rc脚本启动系统服务或者守护进程。
其中,在步骤A中通过一系列bootloader(操作系统内核运行之前运行的一段小程序)依次引导链中的下一个引导程序,在执行最后由bootloader转交到Linux内核,所述bootloader用于在终端启动过程中显示用于展示终端厂商logo的启动画面。
其中,bootloader通过fastboot(快速启动)协议实现映像到终端设备的映射。
其中,在步骤A中在引导结束时,modem(模组)映射文件会被加载到modem处理器中运行。
其中,步骤B进一步包括:Linux内核在启动过程的最后,用户空间中的初始化进程被启动,在初始化进程启动后,Linux内核服务系统从硬件设备进行用户空间和中断调用,设备通过sysfs暴露给用户空间,初始化进程挂载必要文件系统,孵化系统服务并且在服务启动后充当服务管理器。
其中,步骤C进一步包括:初始化进程孵化启动进入WebKit内核进程,启动进入WebKit内核为应用运行时环境,同时孵化一些低权限的内容进程,Web应用和网页内容在此进行加载。
根据本发明的另一方面,还提供一种基于WebKit的WebOS实现系统,该系统至少包括:
终端设备映射模块,用于基于Linux内核和驱动层,开机后启动主引导程序依次引导链中下一引导程序,实现映像到终端设备的映射,再转交到Linux内核;
必要文件系统挂载模块,用于在Linux内核启动的最后,启动初始化进程挂载必要文件系统,启动系统服务或者守护进程;
启动进入WebKit内核进程孵化模块,用于通过所述初始化进程孵化启动进入WebKit内核进程,作为上层用户空间或应用与系统内核之间通讯的中间接口。
其中,开机后启动主引导程序是通过UBOOT方式启动主引导程序。
通过以上技术方案,本发明产生了如下技术效果:用户可以在此WebOS上使用HTML、CSS和JAVASCRIPT开发应用,且可以直接通过HTML访问硬件设备,使得智能移动终端流畅度较高、而且成本相对更加低廉。
通过阅读说明书,本领域普通技术人员将更好地了解这些技术方案的特征和内容。
附图说明
下面通过参考附图并结合实例具体地描述本发明,本发明的优点和实现方式将会更加明显,其中附图所示内容仅用于对本发明的解释说明,而不构成对本发明的任何意义上的限制,在附图中:
图1为本发明实施例提供的基于WebKit的WebOS实现方法的流程图。
图2为本发明实施例用户空间进程调用底层系统接口或者访问硬件设备方式的流程图。
图3为本发明实施例提供的一种基于WebKit的WebOS系统结构示意图。
具体实施方式
以下结合附图对本发明具体实施方式作进一步详细描述。
如图1所示,图1为本发明总体技术方案的流程图,本发明的基于WebKit的WebOS实现方法,至少包括:
步骤101、基于Linux内核和驱动层,开机后启动主引导程序依次引导链中下一引导程序,实现映像到终端设备的映射,再转交到Linux内核;
步骤102、Linux内核启动的最后,启动初始化进程挂载必要文件系统,启动系统服务或者守护进程;
步骤103、通过所述初始化进程孵化启动进入WebKit内核进程,作为上层用户空间或应用与系统内核之间通讯的中间接口。
以下介绍一个本发明的优选实施例:
首先,基于Linux内核和驱动层,开机后主引导程序开始执行,一系列bootloader依次引导链中的下一个引导程序,在执行最后由bootloader转交到Linux内核,其中所谓的bootloader是在操作系统内核运行之前运行的程序,可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境,bootloader通常用于在设备启动过程中显示用于展示厂商logo的启动画面;
其中,bootloader通过fastboot协议实现了映像到设备的映射;
其中,在引导过程结束时候,modem映射文件通常会被加载到modem处理器中运行。
然后,Linux内核在启动过程的最后,用户空间中的初始化进程被启动,在初始化进程启动后,Linux内核服务系统可以从硬件设备进行用户空间和中断等调用。许多设备通过sysfs暴露给用户空间。初始化进程挂载必要文件系统,孵化系统服务并且在服务启动后充当服务管理器。
最后,初始化进程会孵化启动进入WebKit内核进程(主系统进程),它具有很好的运行优先级,它可以使用多种方法访问大多数设备,如启动进入WebKit内核与modem进行通讯,绘制到显示用的FrameBuffer(帧缓冲器)以及与GPS、相机及其他设备进行交互。启动进入WebKit内核为应用运行时环境,同时会孵化一些低权限的内容进程,Web应用和网页内容在此进行加载。这些内容进程通过各种进程间通讯方式与启动进入WebKit内核主系统进程进行通信,如binder(一种进程间的通信机制),DBUS(一种开源的IPC通信机制),socket(套接字),pipe(管道)等。
如图2所示,作为用户空间进程调用底层系统接口或者访问硬件设备方式的流程如下:
步骤201、内容进程也即用户界面或者网络应用发起请求,如拨打电话,发送短信或者打开蓝牙、GPS设备,通过IDL(InterfaceDescriptionLanguage,接口描述语言)方式调用启动进入WebKit内核进程;
步骤202、启动进入WebKit内核主进程通过跨进程通讯方式(IPC)如DBUS方式(一种进程间通信机制)与DBUS护进程通讯,或者socket方式与RIL(RadioInterfaceLayer,无线接口层)守护进程通讯,或直接调用文件系统接口open;
步骤203、DBUS守护进程使用硬件抽象层(HAL)打开蓝牙设备,RIL守护进程通过AT指令与3G模块通讯,系统调用直接访问硬件接口打开Led灯开关等。
如图3所示,本发明还公开了一种基于WebKit的WebOS实现系统,该系统至少包括:
终端设备映射模块301,用于基于Linux内核和驱动层,开机后启动主引导程序依次引导链中下一引导程序,实现映像到终端设备的映射,再转交到Linux内核;
必要文件系统挂载模块302,用于在Linux内核启动的最后,启动初始化进程挂载必要文件系统,启动系统服务或者守护进程;
启动进入WebKit内核进程孵化模块303,用于通过所述初始化进程孵化启动进入WebKit内核进程,作为上层用户空间或应用与系统内核之间通讯的中间接口。
以上参照附图说明了本发明的优选实施例,本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明。举例而言,作为一个实施例的部分示出或描述的特征可用于另一实施例以得到又一实施例。以上仅为本发明较佳可行的实施例而已,并非因此局限本发明的权利范围,凡运用本发明说明书及附图内容所作的等效变化,均包含于本发明的权利范围之内。