电视机嵌入式Linux系统下USB存储设备实现实时热拔插的方法

文档序号:7954557阅读:280来源:国知局
专利名称:电视机嵌入式Linux系统下USB存储设备实现实时热拔插的方法
技术领域
本发明涉及嵌入式操作系统领域,尤其是涉及一种在电视机嵌入式Linux系统下实时进行USB存储设备热拔插的方法。
背景技术
采用USB接口的产品不能在它正在工作时进行拔插,特别是对USB移动存贮设备,可能损坏其中的数据,一般只有格式化后才能重新使用。另外不能在短时间内频繁拔插闪盘,因为当把产品插入USB接口后,系统需要一定时间,才能作出反应,而马上又把它拔下来,则很有可能造成系统错误。
对于嵌入式Linux系统,这个问题尤其突出。在嵌入式Linux中,内核和设备支持都删减了许多;并且在嵌入式Linux中,针对USB存储设备并没有一套完整的热拔插和挂载机制。要建立这样一套机制,可以在内核中进行修改,不过这样修改技术难度较大,且不能保证内核完整性。

发明内容
本发明的目的在于提供一种在电视机嵌入式Linux系统下实时进行USB存储设备热拔插的方法。
本发明的目的是由以下技术方案实现的这种电视机嵌入式Linux系统下USB存储设备实现实时热拔插的方法,其改进之处在于在核心程序与应用级程序之间创建一个守护进程,使应用级程序实时了解USB存储设备的连接情况,该方法包括当守护进程发现USB存储设备插入时,检查是否为存储设备;若是,检查USB存储设备分区情况;
根据分区情况挂载分区;挂载完成后,向应用级程序发送成功信;当守护进程发现挂载好的USB存储设备拔出时,发出警告信息给应用级程序;根据USB存储设备拔出情况进行分区卸载。
上述电视机嵌入式Linux系统下USB存储设备实现实时热拔插的方法,所述的守护进程独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件;其监测点可以是/proc/scsi/usb-storage目录下的数字文件,具体监测周期设定为秒级。
上述电视机嵌入式Linux系统下USB存储设备实现实时热拔插的方法,根据分区情况进行挂载分区时,采用同步写入的挂载方法。
通过该方法可以在电视机嵌入式Linux系统下实时进行USB存储设备热拔插,而不会出现数据丢失的情况。该方法简单实用,不破坏内核完整性,而且响应速度快。由于不修改内核,维护调试成本大大降低。同时,提高了Linux的实时性。


图1为本发明的方法流程图。
具体实施例方式
下面结合附图对本发明作进一步详细说明请参阅图1所示,本发明在电视机嵌入式Linux上实时进行USB存储设备热拔插的方法是利用嵌入式Linux中守护进程(Daemon)来监视USB存储设备的拔插情况,并反馈给应用层的程序,由应用级程序来控制USB存储设备的挂载和卸载,从而实现实时的热拔插方法。
首先创建一个Linux的守护进程(Daemon),让其不断监测USB设备的拔插情况。守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。其监测点可以是/proc/scsi/usb-storage-?目录下的数字文件,具体监测周期可以视应用复杂度来决定,这里设定为秒级。
当守护进程发现有USB设备插入时,就会检查是否为存储设备,若是,则检查设备的分区情况。同时,根据分区的情况进行挂载分区。挂载完成后,向其它的应用层的程序发送一条消息,以便其它程序进行处理。当根据分区情况进行挂载分区时,本方法采用了“同步写入”的挂载方法,使其写入缓存失效。这样做会降低一些性能,但是,由于USB存储设备速度快,且在读出时缓存仍有效,所以其性能降低不明显,却能显著提升其稳定性,在突然掉电、写入过程中拔出均能保证写入的可靠性。
当守护进程发现有挂载好的USB设备拔出时,会立即发出警告信息给应用层的程序,并从系统中删除挂载点。由于挂载时采用同步写入方式,突然的拔出不会给系统带来任何危害。
权利要求
1.一种电视机嵌入式Linux系统下USB存储设备实现实时热拔插的方法,其特征在于在核心程序与应用级程序之间创建一个守护进程,使应用级程序实时了解USB存储设备的连接情况,该方法包括当守护进程发现USB存储设备插入时,检查是否为存储设备;若是,检查USB存储设备分区情况;根据分区情况挂载分区;挂载完成后,向应用级程序发送成功信号;当守护进程发现挂载好的USB存储设备拔出时,发出警告信息给应用级程序;根据USB存储设备拔出情况进行分区卸载。
2.根据权利要求1所述的一种电视机嵌入式Linux系统下USB存储设备实现实时热拔插的方法,其特征在于所述的守护进程独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件;其监测点可以是/proc/scsi/usb-storage目录下的数字文件,具体监测周期设定为秒级。
3.根据权利要求1所述的一种电视机嵌入式Linux系统下USB存储设备实现实时热拔插的方法,其特征在于根据分区情况进行挂载分区时,采用同步写入的挂载方法。
全文摘要
本发明涉及嵌入式操作系统领域,尤其是涉及一种在电视机嵌入式Linux系统下实时进行USB存储设备热拔插的方法。该方法的改进之处在于在核心程序与应用级程序之间创建一个守护进程,使应用级程序实时了解USB存储设备的连接情况,并根据USB存储设备插入或拔出情况进行分区自动挂载或分区卸载。该方法简单实用,不破坏内核完整性,且响应速度快,维护调试成本大大降低。在USB存储设备拔出后,不出现数据损坏。同时,提高了Linux系统的实时性。
文档编号H04N5/765GK1877550SQ20061003284
公开日2006年12月13日 申请日期2006年1月13日 优先权日2006年1月13日
发明者白骥, 郭敏强, 徐勇, 何彦, 黄黎明, 许雪松 申请人:深圳创维-Rgb电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1