CN102200919B - 一种嵌入式操作系统启动运行的方法和装置 - Google Patents
一种嵌入式操作系统启动运行的方法和装置 Download PDFInfo
- Publication number
- CN102200919B CN102200919B CN 201010138012 CN201010138012A CN102200919B CN 102200919 B CN102200919 B CN 102200919B CN 201010138012 CN201010138012 CN 201010138012 CN 201010138012 A CN201010138012 A CN 201010138012A CN 102200919 B CN102200919 B CN 102200919B
- Authority
- CN
- China
- Prior art keywords
- carry
- read
- file
- basic framework
- catalogue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
本发明公开了一种嵌入式操作系统启动运行的方法和装置。本发明根据不同挂载方式将操作系统的启动调用内容划分为四个部分:基本框架部分内容少,易于在内存创建;直接挂载部分不需每次都到磁盘等慢传输速率介质上读取;临时读取部分可以在每次使用时临时从磁盘读取而不至于影响系统运行效率;数据保存部分保存在磁盘,该部分文件即使损坏也不会影响系统正常运行,且能在下次启动时重新设置生效。由于这些不同挂载方式的优点,使得本发明技术方案无需额外内存来挂载系统,也不受限于磁盘的数据传输速率影响,就能有效地提高系统资源的利用,从而保证系统能够完成复杂控制功能且能高效运行。
Description
技术领域
本发明涉及嵌入式操作系统技术领域,尤其涉及一种嵌入式操作系统启动运行的方法和装置。
背景技术
嵌入式系统是指以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式操作系统则是负责嵌入式系统的全部软、硬件资源的分配、调度工作,控制协调并发活动,其必须具有可装载性,强实时性,强稳定性等基本性能。嵌入式系统稳定性要求极高,这就使它要求在系统运行过程中不能改变原始系统文件,即能够保证系统在每次启动的时候初始化为相同的环境,从而保证系统的正常启动和需求功能的实现。因为以上原因,嵌入式操作系统目前所采用的大多都是单一系统组织形式,具体分为以下两种方法。
第一种方法是在系统运行时将整个系统完全挂载到内存中运行(如LINUX下的ROMFS格式)。这种方式由于嵌入式系统本身系统资源有限,所以在系统庞大、功能需求复杂的时候使用就受到极大的限制。
第二种方法是将系统整个做成只读文件而只在系统运行过程中对当前需求的文件进行读取使用(如LINUX下的CRAMFS格式)。这种方式受到存储只读文件的磁盘的数据传输速率远远低于系统本身内存的限制,所以在系统实时性、运行效率要求极高的情况下就不能使用了。
发明内容
本发明要解决的技术问题是提供一种嵌入式操作系统启动运行的方法和装置,有效地提高系统资源的利用和完成高效复杂的控制任务。
本发明采用了如下的技术方案:
一种嵌入式操作系统启动运行的方法,包括:
在系统启动前根据文件系统的不同挂载方式将系统启动运行需要调用的内容划分为:直接挂载部分、临时读取部分、数据保存部分;
在系统启动时挂载所述内容,包括挂载所述直接挂载部分、挂载所述临时读取部分、挂载所述数据保存部分;
系统启动完成后在运行过程中根据需要挂载数据保存部分和/或挂载临时读取部分的在系统运行时读取的部分。
进一步地,所述方法还包括:所述在系统启动时挂载所述内容具体包括:
系统启动时创建基本框架部分;
挂载所述临时读取部分的在启动过程时读取的部分到所述基本框架部分对应的目录中;
挂载所述直接挂载部分到所述基本框架部分对应的目录中;
挂载所述数据保存部分到所述基本框架部分对应的目录中。
进一步地,所述在系统启动时挂载所述内容之前,系统初始化BIOS并进行内核接管处理。
进一步地,所述系统启动时创建所述基本框架部分具体包括:系统启动时,以可读可写模式在根文件系统下创建文件目录,或者如果已经存在文件目录则将所述文件目录的属性更改为可读可写的文件权限。
进一步地,所述挂载所述直接挂载部分到所述基本框架部分对应的目录中具体包括:先分配内存空间,解压压缩文件释放到分配好的内存空间,解压后的文件位于所述目录中。
进一步地,所述挂载所述数据保存部分到所述基本框架部分对应的目录中具体包括:所述数据保存部分包括存储在磁盘的数据和用户程序,直接挂载所述数据保存部分到所述目录中。
本发明还提供一种嵌入式操作系统的启动运行装置,包括根据文件系统的不同挂载方式划分的直接挂载部分、临时读取部分、数据保存部分;
所述直接挂载部分,用于在系统启动时被挂载;
所述临时读取部分,包括在启动过程时读取的部分和在系统运行时读取的部分,所述在启动过程时读取的部分用于在系统启动时被挂载,所述在系统运行时读取的部分用于在系统运行时被挂载;
所述数据保存部分,用于在系统运行中被挂载。
进一步地,上述装置还包括基本框架部分,用于在系统启动时被创建;所述直接挂载部分被挂载到所述基本框架部分对应的目录中,所述临时读取部分被挂载到所述基本框架部分对应的目录中,所述数据保存部分被挂载到所述基本框架部分对应的目录中。
进一步地,所述直接挂载部分可读可写,在系统运行时需要频繁使用。
进一步地,所述临时读取部分可读,能临时从只读文件中读取。
本发明的有益效果在于:根据不同挂载方式将操作系统的启动调用内容划分为四个部分:基本框架部分内容少,易于在内存创建;直接挂载部分不需每次都到磁盘等慢传输速率介质上读取;临时读取部分可以在每次使用时临时从磁盘读取而不至于影响系统运行效率;数据保存部分保存在磁盘,该部分文件即使损坏也不会影响系统正常运行,且能在下次启动时重新设置生效。由于这些不同挂载方式的优点,使得本发明技术方案无需额外内存来挂载系统,也不受限于磁盘的数据传输速率影响,就能有效地提高系统资源的利用,从而保证系统能够完成复杂控制功能且能高效运行。
附图说明
图1是本发明嵌入式操作系统启动运行的方法流程示意图;
图2是本发明嵌入式操作系统启动运行的方法实施例流程示意图;
图3是本发明嵌入式操作系统启动运行装置的结构示意图。
具体实施例
下面通过具体实施例结合附图对本发明作进一步详细说明。
本发明嵌入式操作系统启动运行的方法的基本思想是充分利用操作系统的不同挂载方式的优点,将几种挂载方式集成到同一个系统中,最终实现一个可以完成复杂控制功能且保证高效运行的嵌入式操作系统。
如图1所示,在系统启动前根据文件系统挂载特点将系统启动需要调用的内容划分为基本框架部分、直接挂载部分、临时读取部分和数据保存部分。在系统上电后,初始化BIOS并进行内核接管处理。在系统启动时创建基本框架部分;然后将直接挂载部分、临时读取部分中只在启动过程中读取的内容、临时读取部分在系统运行中可临时读取的内容、数据保存部分分别挂载到基本框架部分的对应目录中。其中,基本框架部分的创建是在系统启动时,以可读可写模式在根文件系统下创建对应的各个文件目录,或者将根文件目录下对应的各个文件目录更改文件权限为可读可写;直接挂载部分被挂载的方式是在系统启动时,先分配内存空间,解压压缩文件释放到分配好的内存空间,即内存自解压;临时读取部分的挂载方式为系统启动运行时临时从只读文件中读取;数据保存部分被挂载的方式是直接加载存储在磁盘的数据和用户程序。
本发明嵌入式操作系统启动运行的方法实施例如图2所示,是以UBUNTU8.04系统为基本系统,做成嵌入式操作系统系统。内核启动后会执行如下操作:
1、内核从BIOS处接管系统所有的硬件信息,以便提供给系统使用;
2、利用初始化内存磁盘的机制来加载一些硬件设备,具体如下:
首先在根文件系统的目录下判断是否必需的文件目录,这些必须的目录分别为dev(用于存储设备文件)、etc(用于存储重要的配置文件)、bin(用于存储系统开机必须用的执行文件)、sbin(用于存储系统文件)、lib(用于存储bin与sbin的执行文件所需要的库函数和内核模块);如果没有这些文件目录则以可读可写模式临时在内存中创建,如果本来已经有对应的文件目录,则更改其文件权限为可读可写,系统基本框架创建完毕;
然后挂载启动需要的各个文件到相应目录:
(1)对于直接挂载部分:以tmpfs格式直接挂载到内存中,该部分内容包括etc、var、tmp、sys、proc、dev以及lib和usr中的部分内容等;
(2)对于临时读取部分:以cramfs格式挂载且是以只读方式挂载,包括系统运行中可临时读取的部分或者只在启动过程中读取的部分如bin、sbin以及usr和lib中没有挂载的部分;
(3)对于数据保存部分:只要所需的目录存在,不需要所有文件都挂载到目录,只有在运行时才读取所需文件;这部分内容包括如系统中的root和home目录,采用直接在磁盘存储存储数据和用户程序的方式。
至此,整个操作系统启动完成。对于一个本身系统达到1G的裁剪过的UBUNTU系统,本实施例在运行时实际使用内存只需要150M左右,对于具有256M内存的嵌入式PC已经完全能够胜任。
对应该方法,本发明提供的嵌入式操作系统的启动运行装置如图3所示,包括:
基本框架部分,用于在系统启动时被创建,该部分所具有的基本特点是内容少,易于临时在内存中创建;
直接挂载部分,用于在系统启动时被直接挂载到内存,该部分所具有的特点是可读可写,在系统运行过程中需要频繁使用,不能每次都到磁盘等慢传输速率介质上读取,此外该部分内容大小还必须在嵌入式系统资源的允许范围内;
临时读取部分,包括在启动过程时读取的部分和在系统运行时读取的部分,所述在启动过程时读取的部分用于在系统启动时被挂载,所述在系统运行时读取的部分用于在系统运行时被挂载;该部分所具有的基本特点是只需读不需写,内容庞大,系统运行过程中使用相对较少,可以每次使用时临时从磁盘读取而不至于影响系统运行效率;
数据保存部分,用于在系统运行中被挂载,该部分所具有的基本特点是,通常为单个文件,在系统运行过程中需要读写且在系统下次启动时还能保持上次关闭时的状态,该部分文件即使损坏也不会影响系统正常运行,且能在下次启动时重新设置生效。
在实际系统启动运行过程中,对于基本框架部分采用每次系统启动时进行创建的方式实现;对于直接挂载部分,采用在系统启动过程中先分配内存空间,再从压缩文件中解压释放到分配好的内存空间的方式实现;对于临时读取部分,采用系统运行过程中临时从只读文件中读取的方式进行实现。对于数据保存部分,采用磁盘存储的方式。
本发明充分考虑嵌入式操作系统的特点,运用较少的系统资源完成稳定性、实时性极高且控制要求复杂的任务;避免了目前嵌入式操作系统启动运行时采用的单一系统组织形式所产生的弊端,有效的提高系统资源的利用从而能完成高效复杂的控制任务。
本发明适用于基于Linux的嵌入式系统,但不仅限于此。
以上内容是结合具体的实施方式对本发明所做的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所述技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (5)
1.一种嵌入式操作系统启动运行的方法,其特征在于:
在系统启动前根据文件系统的不同挂载方式将系统启动运行需要调用的内容划分为:直接挂载部分、临时读取部分、数据保存部分;
在系统启动时挂载所述内容,包括挂载所述直接挂载部分、挂载所述临时读取部分、挂载所述数据保存部分;
系统启动完成后在运行过程中根据需要挂载数据保存部分和/或挂载临时读取部分的在系统运行时读取的部分;
所述在系统启动时挂载所述内容具体包括:
系统启动时创建基本框架部分;
挂载所述临时读取部分的在启动过程时读取的部分到所述基本框架部分对应的目录中,包括:临时从只读文件中读取;
挂载所述直接挂载部分到所述基本框架部分对应的目录中,具体包括:先分配内存空间,解压压缩文件释放到分配好的内存空间,解压后的文件位于所述目录中;
挂载所述数据保存部分到所述基本框架部分对应的目录中,具体包括:所述数据保存部分包括存储在磁盘的数据和用户程序,直接挂载所述数据保存部分到所述目录中。
2.如权利要求1所述的方法,其特征在于,所述在系统启动时挂载所述内容之前,系统初始化BIOS并进行内核接管处理。
3.如权利要求1所述的方法,其特征在于,所述系统启动时创建所述基本框架部分具体包括:系统启动时,以可读可写模式在根文件系统下创建文件目录,或者如果已经存在文件目录则将所述文件目录的属性更改为可读可写的文件权限。
4.一种嵌入式操作系统的启动运行装置,其特征在于,包括根据文件系统的不同挂载方式划分的直接挂载部分、临时读取部分、数据保存部分、基本框架部分;
所述基本框架部分,用于在系统启动时被创建;
所述直接挂载部分,用于在系统启动时先分配内存空间,解压压缩文件释放到分配好的内存空间,解压后的文件位于到所述基本框架部分对应的目录中;
所述临时读取部分,包括在启动过程时读取的部分和在系统运行时读取 的部分,所述在启动过程时读取的部分用于在系统启动时临时从只读文件中读取到所述基本框架部分对应的目录中,所述在系统运行时读取的部分用于在系统运行时临时从只读文件中读取到所述基本框架部分对应的目录中;
所述数据保存部分,用于在系统运行中被挂载到所述基本框架部分对应的目录中。
5.如权利要求4所述的启动运行装置,其特征在于,所述直接挂载部分可读可写,在系统运行时需要频繁使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010138012 CN102200919B (zh) | 2010-03-25 | 2010-03-25 | 一种嵌入式操作系统启动运行的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010138012 CN102200919B (zh) | 2010-03-25 | 2010-03-25 | 一种嵌入式操作系统启动运行的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102200919A CN102200919A (zh) | 2011-09-28 |
CN102200919B true CN102200919B (zh) | 2013-12-25 |
Family
ID=44661617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010138012 Expired - Fee Related CN102200919B (zh) | 2010-03-25 | 2010-03-25 | 一种嵌入式操作系统启动运行的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102200919B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473102B (zh) * | 2013-09-18 | 2016-12-07 | 中标软件有限公司 | 多操作系统的系统启动引导方法和工具 |
CN105335502B (zh) * | 2015-10-28 | 2018-09-25 | 迈普通信技术股份有限公司 | 一种文件属性的管理方法及装置 |
CN110032542B (zh) * | 2019-04-19 | 2021-04-27 | 宁波三星医疗电气股份有限公司 | 一种cramfs文件系统管理方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101038551A (zh) * | 2006-03-16 | 2007-09-19 | 南京大学 | 在移动硬盘上实现启动Linux操作系统的方法 |
CN101169726A (zh) * | 2007-11-28 | 2008-04-30 | 浪潮电子信息产业股份有限公司 | 基于MTD分区的嵌入式Linux系统在线升级方法 |
CN101231607A (zh) * | 2008-02-22 | 2008-07-30 | 浪潮电子信息产业股份有限公司 | 通过定制的嵌入式小系统维护主系统的方法 |
-
2010
- 2010-03-25 CN CN 201010138012 patent/CN102200919B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101038551A (zh) * | 2006-03-16 | 2007-09-19 | 南京大学 | 在移动硬盘上实现启动Linux操作系统的方法 |
CN101169726A (zh) * | 2007-11-28 | 2008-04-30 | 浪潮电子信息产业股份有限公司 | 基于MTD分区的嵌入式Linux系统在线升级方法 |
CN101231607A (zh) * | 2008-02-22 | 2008-07-30 | 浪潮电子信息产业股份有限公司 | 通过定制的嵌入式小系统维护主系统的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102200919A (zh) | 2011-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7620784B2 (en) | High speed nonvolatile memory device using parallel writing among a plurality of interfaces | |
US8443211B2 (en) | Hibernation or suspend using a non-volatile-memory device | |
US8996468B1 (en) | Block status mapping system for reducing virtual machine backup storage | |
CN101620539B (zh) | 开关机方法和计算机 | |
US8671241B2 (en) | Systems and methods for using reserved solid state nonvolatile memory storage capacity for system reduced power state | |
CN100538641C (zh) | 操作计算装置的方法 | |
CN105630405B (zh) | 一种存储系统及采用该存储系统的读写方法 | |
US20100058007A1 (en) | Information processing apparatus and memory management method | |
WO2010055937A1 (ja) | 計算機システム、データ保存方法およびプログラム | |
US8930732B2 (en) | Fast speed computer system power-on and power-off method | |
CN103870312A (zh) | 建立虚拟机共享存储缓存的方法及装置 | |
CN103336736A (zh) | 系统日志获取方法和装置 | |
CN108287733A (zh) | 一种虚拟机加载启动方法 | |
CN102200919B (zh) | 一种嵌入式操作系统启动运行的方法和装置 | |
CN103513956A (zh) | 一种处理器处理数据的方法以及装置 | |
KR100207889B1 (ko) | 저 전력 소비 컴퓨터 및 그의 애플리케이션 프로그램 실행 방법 | |
US8751760B2 (en) | Systems and methods for power state transitioning in an information handling system | |
CN102591797A (zh) | 辅助存储装置及其处理方法 | |
KR101392062B1 (ko) | 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법 | |
CN101349973A (zh) | 嵌入式Java处理器微码指令集动态装载方法 | |
CN101807212B (zh) | 嵌入式文件系统的缓存方法及嵌入式文件系统的缓存装置 | |
CN101826055A (zh) | 一种用于Linux系统数据缓存分配的管理方法 | |
US20100005235A1 (en) | Computer system | |
CN105589912A (zh) | 一种利用mram处理频写文件的方法及存储结构 | |
US20140122854A1 (en) | Information processing apparatus and activation method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131225 Termination date: 20210325 |