[关闭]
@wenshizhang 2017-05-04T15:06:53.000000Z 字数 4087 阅读 559

基于Linux的嵌入式启动优化的研究

论文 开题分析 周报 启动


基于Linux嵌入式系统启动加速的研究

一. 所选课题的目的和意义

  随着科学技术的蓬勃发展,计算机被更多的人使用,并与人类对额生活结合的越来越紧密,越来越多的智能产品出现在人们眼前。搭载智能操作系统的无人机、车载电脑、家庭智能设备等嵌入式终端成为了互联网关键入口和创新平台,目前,全球嵌入式终端市场正在以爆炸性的态势增长,嵌入式终端被应用到工业、医疗、交通、军事等各个领域。就近而言,智能手机、智能电视、智能洗衣机层出不穷,甚至整个家庭、房屋都可能出现全智能化的情况。
  近年来,Linux凭借其开源和稳定等优良特性广泛应用与嵌入式系统上。随着Linux kernel的不断膨胀和智能设备提供功能不断复杂化,启动时间越来越长,对用户的影响越来越大。因此加快启动速度已经成为嵌入式待解决的关键问题之一。
  

二. 本课题的国内外发展现状

  根据国际电气和电子工程师协会(IEEE)的定义,嵌入式系统是“控制、监视或者辅助装置,机器和设备运行的装置”。目前国内一个普遍被认同的定义是:以应用为中心,计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用操作系统。因此需要在启动速度、实时性、系统尺寸、电源管理等方面进行优化。
  RTLinux是由美国新墨西哥州的fsmlabs(finite state machine labs, 有限状态机实验室)公司开发的、利用linux开发的面向实时和嵌入式应用的操作系统。RTLinux是Linux在实时性方面的扩展,采用已获得专利的双核技术:一个微型的RTLinux内核把原始的Linux内核作为它在空闲时的一个线程来运行。遵循传统的Linux启动流程,并没有做太大的优化。
  QNX是加拿大Blackberry (黑莓)公司开发的一个分布式、嵌入式实时操作系统。目前QNX系统已普遍应用于车载终端。QNX启动过程是:打开设备电源,自动加载器(Boot Loader)为加载操作系统和软件做准备,加载器加载(OS kernel),kernel执行完后启动必要的驱动程序和服务,启动第一个应用程序,应用程序显示界面。为了更好的用户体验,生产商提出开机自动续播技术,在启动后自动续播关机前的播放源。这需要在启动第一个应用程序之后,启动额外的服务判断播放源。因此启动速度是十分不尽人意的。
目前对加速嵌入式设备启动的方式主要有三种:

三. 本课题研究的主要内容和重点及可行性分析

本课题研究的主要内容:

本课题可行性分析

  本课题通过对suspend机制的分析,发现系统在关机之前,内核调用pm_suspend函数检查状态标志,同步文件系统,分别调用suspend_freeze_processes函数suspend_devices_and_enter挂起系统进程和挂起设备。最后运行注册好的suspend_ops函数保存系统状态。本课题在系统运行过程中记录系统状态,因此需要对上述过程进行修改。近年来,在vmware等虚拟机已经实现了系统运行中创建快照,可以参考其实现。综上,本课题可行。

四. 研究条件或实验条件

本课题在ARM体系结构下,选用硬件平台是friendly arm 6410,软件平台是涉及到的语言有汇编语言和C语言。使用printk得到优化前后的开机时间,进行对比得出结论。

五. 预期达到的水平和目标

本课题在研究原本的快照启动的前提下,提出安全的稳定的性能较高的快照创建优化策略,在不影响系统的正常运行且用户透明的前提下,下一次操作系统启动时使用此快照,缩短启动时间。

六. 难点和创新之处

本课题的主要难点概括如下:
1.如何在系统运行情况下得到寄存器状态
2.如何在对用户透明的记录进程的全部数据
3.如照中的文件系统数据与元数据
4.如何增量式创建快照
5.在内核中调试困难

本课题创新之处在于:
1.快照创建采用增量方式,节省创建快照的开销
2.快照一致性问题在系统运行中解决,并不需要启动后扫描外存同步系统装填,加快了启动速度

七. 存在的问题和技术关键

本课题存在的主要问题有以下几个方面:
1.
本课题涉及的关键技术主要有:
1.基于Suspend/Resume机制的快照启动技术
2.Linux内核守护进程技术
3.Linux内存管理技术

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注