计算机系统及启动方法

文档序号:6579334阅读:160来源:国知局
专利名称:计算机系统及启动方法
技术领域
本发明有关于计算机系统的开机程序,尤其是有关于加速 载入操作系统的技术。
背景技术
一般计算机系统中包括了基本的处理器、存储器、硬盘等 元件,由基本输入输出系统负责基本管理。而操作系统的载入 可进一 步使计算机系统完全发挥功能。计算机系统的开机程序
通常分为几个阶段首先基本输入输出系统在开机后逐一初始 化每一元件,接着从硬盘中启动开机载入器(Boot Loader)或 直接启动操作系统。由于计算机系统中的元件相当多,逐一初 始化的过程可能会耗费十秒至十六秒不等。接着依照基本输入 输出系统或开机载入器的定义,计算机系统会从硬盘中读取操 作系统以供处理器执行。从硬盘读取操作系统的过程也是相当 漫长, 一般需要四十秒至一分钟不等。由于在基本输入输出系 统逐一初始化每一元件的过程中,并不是每一元件都是载入操 作系统所需的必要元件。因此一种节省时间而更快启动操作系 统的方法是有待开发的。

发明内容
一种启动方法,用于包括一处理器、 一存储器以及一硬盘 的计算机,其中该硬盘包括一操作系统以及一开机载入器。首 先启动一基本输入输出系统。接着依据一设定文件在该存储器 中设定一预留区块。接着将该操作系统从该硬盘中拷贝至该预 留区块,构成一操作系统副本,并启动被拷贝至该预留区块的操作系统副本。
本发明另一实施例是一种计算机系统,包括一处理器、一 存储器、 一硬盘以及一基本输入输出系统。该硬盘中包括一操 作系统。该计算机系统在开机后,该处理器执行该基本输入输 出系统,依据 一 设定文件的设定在该存储器中划分 一 预留区块, 并将该操作系统从该硬盘中拷贝至该预留区块以构成 一 操作系 统副本,接着该处理器启动被拷贝至该预留区块的该操作系统 副本。
本发明可加速才喿作系统的启动。


图l为本发明实施例的一计算才几系统100; 图2为本发明实施例的计算机系统100的启动流程图; 图3为本发明实施例的划分预留区块的流程图; 图4为本发明实施例中载入操作系统的流程图;以及 图5为本发明实施例中各项启动阶段的时序图。 附图中符号的简单说明如下
100:计算机系统
102:处理器
104:基本输入输出系统
106:总线
110:非易失性存储器
120:主存储器
122:预留区块
124:操作系统副本
130:硬盘
132:开机载入器134:操作系统 140:芯片组。
具体实施例方式
图l为本发明实施例的一计算才几系统ioo。计算才几系统ioo
是一简化架构图,介绍了几项基本必备元件,包括处理器102, 非易失性存储器IIO,总线106,主存储器120,硬盘130以及芯 片组140。其中该非易失性存储器IIO中可储存一基本输入输出 系统104,是控制整个开才几流程的核心才几制。该石更盘130中可存 放一开机载入器(BootLoader) 132以及一操作系统134。开机 载入器132通常用来提供额外服务,可在载入操作系统之前将操 作系统所需的各种启动环境预先设置好。举例来说,该开机载 入器132可以操作多重操作系统的开机选单,或是多重开机模式 的开机选单等。
为了加速开才几,本发明实施例在基本输入输出系统104进行 初始化的阶段,基本输入输出系统10 4利用初始化 一 些非必要元 件的空文件,同时将操作系统134拷贝到主存储器120中。由于 主存储器120的读写速度往往远大于硬盘130,因此从主存储器 120中载入操作系统,可以达到加速效果。为了将操作系统134 预先拷贝到主存储器120中,必须在主存储器120中保留一预留 区块12 2以存放操作系统副本12 4 。因为主存储器12 0的空间分 配,是在才喿作系统134的一内核程序(kernel)载入以后由一存 储器管理程序(memory manager )控制。如果未保留一预留区 块,则进入操作系统的运行阶段后,操作系统为硬件驱动程序 或其它应用软件等分配存储器空间时,可能会覆盖到该操作系 统副本124的存储器空间而发生错误。因此在主存储器120中保 留一预留区块可防止后续所有软件和硬件发生冲突。详细作法将于接下来以流程图搭配图l来说明。
图2为本发明实施例的计算机系统100的启动流程图。首先 在步骤201中,启动计算机系统IOO。该处理器102首先会读取非 易失性存储器IIO,执行其中的基本输入输出系统104,然后将 主存储器120初始化。在步骤203中,为了要将操作系统134预载 入主存储器120中,必须划分出 一段固定地址的存储器空间作为 预留区块12 2使其不净皮其他软硬件所存耳又。该固定地址可以事先 定义在 一设定文件中。划分预留区块的具体方法将于图3详述。
在该主存储器120中划分了 一块预留区块122后,接着在步 骤205中,基本输入输出系统104将硬盘130初始化。唯有先将硬 盘130初始化,其中的操作系统134才有办法被读出来。该操作 系统134可以是一种映像文件(image file)的形式,而大小则 视计算机系统100的规格而不等。举例来说,该才喿作系统134可 以是一 个200MB大小的小型Linux操作系统。而假设该主存储器 120有2GB的大小,该预留区块122可以是从OxOOOOH起始的 300MB的连续空间。
接着在步骤207中,基本输入输出系统104可以开始将#:作 系统134从硬盘130中拷贝到主存储器120的该预留区块122中。 拷贝操作系统13 4的动作可能需要数秒不等,假设该硬盘13 0传 输至主存储器120的速度为每秒60MB,则拷贝200MB需要三至 四秒。在本实施例中,拷贝的进度可以被即时地记录在一个基 本输入输出系统104、开机载入器132及操作系统三者都能访问 的地方,例如一暂存器(未图示)或是主存储器120中。拷贝的 进度可以是硬盘130中下一个要拷贝的扇区(sector )。而在拷贝 进行的过程中,基本输入输出系统104还同时对计算机系统IOO 中其他的元件进4亍初始化,以充分利用时间。举例来il,基本 输入输出系统104可以同时初始化通用串4亍端口 ,音效卡,网纟各卡以及各式外围设备(未图示)。
当基本输入输出系统104初始化计算机系统100的程序完成 后,接下来进行步骤209,在载入操作系统134之前先初始化操 作系统134所需的启动环境,之后载入主存储器120中的操作系 统副本12 4 。 一般从硬盘13 0中载入操作系统13 4需要4 0至6 0秒, 但是本发明实施例中,从主存储器120中载入操作系统副本124 只需要花5至10秒。所以效能增加十分显著。
在其它实施方式中,当基本输入输出系统104初始化计算机 系统100的程序完成后,处理器102还可以批i行开才几载入器132, 该开机载入器132可以供用户在几种不同的#:作系统选择载入 哪一个操作系统,并初始化操作系统所需的启动环境。此时如 果操作系统134拷贝至主存储器120的程序还没结束,会继续由 开机载入器132在背景执行拷贝动作而不冲突,在背景执行,举 例而言是指开机载入器132在执行前述的供用户选择载入哪个 操作系统以及初始化操作系统所需的启动环境的同时,执行将 操作系统134剩余未拷贝完的部分拷贝至主存储器120。
在其它实施方式中,该处理器102不需要等到操作系统134 完全拷贝至主存储器120才开始执行该操作系统副本124,而是 可以同时进行。举例来"i兌,当基本输入输出系统104和开才几载入 器132皆完成初始化步骤时,操作系统134的拷贝进度可能只到 一半。此时处理器102就可以先执行位于操作系统副本124中的 前半段程序码。而后半^爻程序码可以运用数据串流的概念,一 边拷贝 一边执行。
更进一步地说,如果操作系统134的大小超过该主存储器 120所能提供的范围,该预留区块122可以当成是一种先进先出 (FIFO)的快取存储器,将操作系统134以数据串流的方式分 批次读入与扭j亍。图3为本发明实施例的在主存储器120中划分出 一预留区块 122的流程图。在步骤301中,进入步骤203所述的划分预留区块 的步骤,包括下列子程序在步骤303中,该基本输入输出系统 104读取一设定文件,以判断该操作系统134是不是第一次用来 开机。该设定文件可储存在储存基本输入输出系统104的非易失 性存储器110或石更盘130中,记录着上一次开才几记录,上次开才几 所用的操作系统版本、操作系统映像文件大小以及预留区块122 的大小和起始地址。如果判断这次开机所用的操作系统13 4在前 一次开机已经设定过预留区块,就不需再重复进行,而是直接 跳至步骤309。相对地,如果这次开才几所用的才喿作系统134并没 有前次开机记录或者前次开机并未设定预留区块,则进行步骤 305,根据操作系统134的映像文件大小来设定预留区块122的大 小及起始地址。举例来说,预留区块122的起始地址可以是该主 存储器120的最前端0x0000H,而预留区块122的大小可以是大 于等于该操作系统134映像文件大小的值。在设定了预留区块 122之后,进行步骤307,将该预留区块122的起始地址和大小以 及该操作系统13 4的映 <象文件的大小储存在上述设定文件中。之 后进行步骤309,该基本输入输出系统104读取上述i殳定文件中 所存储的该预留区块的设定,包括其起始地址和大小等,以划 分出该预留区块。最后在步骤311中结束预留区块的子程序。接 下来返回图2的流程,l丸行步骤203以后的步骤。前述在该主存 储器120中设定预留区块122(步骤305 )可以是由存储器管理程 序(memory management)在计算机系统IOO—次正常开才几时完 成,后续计算机系统100再次上电时,该基本输入输出系统104 通过读:f又该:没定文件就可以得知该预留区块的起始地址和大 小,从而可以在对元件进行初始化的同时,进行拷贝操作系统 的动作。图4为本发明实施例中载入操作系统的流程图。图2的步骤 209,从主存储器120载入操作系统的过程,包括下列子步骤。 步骤401中,当基本输入输出系统104和开机载入器132皆就绪 时,就准备启动操作系统。在步骤403中,该开机载入器132选 择操作系统并初始化操作系统的启动环境,如前所述,这个步 骤也可以是由基本输入输出系统104来执行,例如由基本输入输 出系统104中的服务程序的第13号中断服务程序(INT 13 )来执 行。初始化操作系统的启动环境,举例而言包括载入该操作 系统副本124的一内核程序(kernel),以启动包括处理器管理 程序,存储器管理程序(memory management)等在内的核心 抽象程序。其中该存储器管理程序启动时,由于该预留区块122 事先已被分配来存放该操作系统副本124,则所有硬件驱动程序 或其它应用软件等向该存储器管理程序申请存储器空间时,就 会避开该预留区块122。接着执行步骤405,通过驱动程序的方 式将预留区块122标记为一虚拟硬盘,或在该预留区块122上建 立 一虚拟硬盘,其中该虚拟石更盘的大小与该才乘作系统副本124 的映像文件的大小有关,指定从该虚拟硬盘启动该操作系统副 本。接着在步骤407中,处理器102便将该预留区块122视为一虚 拟硬盘,并启动储存在其中的操作系统副本124。对操作系统而 言,会将自身所在的预留区块122辨识为有别于硬盘130的另一 硬盘。在另一做法中,由于操作系统副本124和操作系统134的 内容是一致的,因此可将该预留区块122和硬盘130中的对应,兹 区结合成一镜像磁盘阵列(RAID-1 )。举例来说,在步骤405中, 由基本输入输出系统104或开机载入器132提供驱动程序,将操 作系统副本124和操作系统134的结合体标记为镜像磁盘阵列, 使处理器102在步骤407中启动储存于该镜像磁盘阵列中的该操 作系统。之后进入步骤409,进入才喿作系统正常运作阶_险。由于主存储器120的该预留区块122与硬盘130中对应磁区(sector)建 立了同步镜像关系,因此在操作系统正常运作阶段,都是直接 对主存储器120中的该预留区块122进行读写,由于主存储器120 存取比硬盘130的存耳又快速,因此在实际运作的时候,可仰赖主 存储器120进行主要的读写工作,直到累积一定的变化之后再同 步(sync)至硬盘130中,因此操作系统正常运作的效率也得以 提升。
图5为本发明实施例中各项启动阶段的时序图。其中tl代表 基本输入输出系统启动阶段,t2代表开机载入器的执行阶段, 而t3代表操作系统的载入阶段。在tl阶段中,tO代表初始化存储 器和硬盘所耗费的时间,即图2中完成步骤205所耗费的时间。 而接续tO阶段之后的tl,阶段,即代表拷贝阶段,即是图2中完成 步骤207的从硬盘拷贝操作系统到存储器所耗费的时间。综上所 述,本发明利用基本输入输出系统启动阶段的同时将操作系统 拷至存储器中,借此加速了启动操作。为了达成本发明的功效, 基本输入输出系统中加入了同时拷贝操作系统的功能。而操作 系统中也加入了特殊的存储器管理机制,可以通过该基本输入 输出系统的设定文件而得知该预留区块的位置和大小,而使操 作系统中的驱动程序避开该预留区块的存取。
在本发明其他实施方式中,除了由基本输入输出系统来实 现拷贝以外,还可以由石更件,例如是图l所示的芯片组140来实 现。开机以后,硬件例如是芯片组140可以自动检测该设定文件 中的记录,以获得该预留区块的起始地址和大小并启动拷贝动 作,将操作系统内容拷贝到主存储器的该预留区块中。
本发明实施例所述的操作系统,尤其适用Linux、 FreeBSD、 Solaris或嵌入式系统的核心(Kernel)。储存操作系统的介质不 限定为硬盘,也可以是其他大容量但是速度比存储器慢的储存装置,例如存储卡或者光盘。
以上所述仅为本发明较佳实施例,然其并非用以限定本发 明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神 和范围内,可在此基础上做进一步的改进和变化,因此本发明 的保护范围当以本申请的权利要求书所界定的范围为准。
权利要求
1.一种启动方法,其特征在于,用于包括一处理器、一存储器以及一硬盘的计算机,其中该硬盘包括一操作系统,该启动方法包括启动一基本输入输出系统;依据一设定文件的设定在该存储器中划分一预留区块;将该操作系统从该硬盘中拷贝至该预留区块,构成一操作系统副本;以及启动被拷贝至该预留区块的该操作系统副本。
2. 根据权利要求l所述的启动方法,其特征在于,进一步 包括,在该操作系统被拷贝至该预留区块的同时,该基本输入 输出系统初始化该计算坤几的元件,其中将该才喿作系统从该硬盘 拷贝至该预留区块的步骤由该基本输入输出系统完成。
3. 根据权利要求l所述的启动方法,其特征在于,其中将 该操作系统从该硬盘拷贝至该预留区块的步骤由一芯片组完 成。
4. 根据权利要求l所述的启动方法,其特征在于,其中划 分该预留区块的步骤进一步包括读取该设定文件以判断是否在前次开才几已设定该预留区块;如果未设定该预留区块,则根据该操作系统的映像文件大 小设定该预留区块;以及将该预留区块的设定以及该操作系统的映像文件大小储存 在该设定文件中。
5. 根据权利要求4所述的启动方法,其特征在于,其中设 定该预留区块的步骤由 一存储器管理程序完成。
6. 根据权利要求l所述的启动方法,其特征在于,还包括 于启动被拷贝至该预留区块的该操作系统副本之前,初始化该操作系统的启动环境,其中该初始化该#:作系统的启动环境由 一开机载入器或该基本输入输出系统完成。
7. 根据权利要求6所述的启动方法,其特征在于,还包括 在该存储器的该预留区块上建立一虚拟硬盘,其中该虛拟硬盘的大小与该操作系统副本的映像文件的大小有关;以及 指定从该虛拟石更盘启动该操作系统副本。
8. 一艮据纟又利要求6所述的启动方法,其特4i在于,该开才几 载入器进一步将该操作系统从该硬盘拷贝至该预留区块。
9. 根据权利要求6所述的启动方法,其特征在于,还包括 记录一拷贝进度,其中该基本输入输出系统、该开机载入器及 该操作系统都能读取该拷贝进度。
10. —种计算才几系统,其特征在于,包括 一处理器、 一存储器、 一硬盘以及一基本输入输出系统;其中,该硬盘中包括一#:作系统;该计算机系统在开机后,该处理器执行该基本输入输出系 统,依据一设定文件的设定在该存储器中划分一预留区块,并 将该操作系统从该硬盘中拷贝至该预留区块以构成一操作系统 副本,接着该处理器启动被拷贝至该预留区块的该操作系统副 本。
11. 根据权利要求10所述的计算机系统,其特征在于,还 包括 一 存储器管理程序,该存储器管理程序根据该操作系统的 映像文件大小设定该预留区块,并将该预留区块的设定以及该 操作系统的映像文件大小储存在该设定文件中。
全文摘要
一种计算机系统及启动方法,该启动方法用于包括一处理器、一存储器以及一硬盘的计算机,其中该硬盘包括一操作系统。该启动方法包括首先启动一基本输入输出系统。接着依据一设定文件在该存储器中划分一预留区块。接着将该操作系统从该硬盘中拷贝至该预留区块,构成一操作系统副本。最后启动该操作系统副本。本发明可加速操作系统的启动。
文档编号G06F11/14GK101604253SQ20091015994
公开日2009年12月16日 申请日期2009年7月23日 优先权日2009年7月23日
发明者勇 李 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1