执行多重操作系统的方法及电子装置的制作方法

文档序号:6438033阅读:99来源:国知局
专利名称:执行多重操作系统的方法及电子装置的制作方法
技术领域
本发明涉及一种执行操作系统的机制,尤其涉及一种同时执行多重操作系统的方法。
背景技术
目前计算机在同一时段内,硬件资源只能由一个操作系统掌控。倘若欲在计算机中安装多个操作系统,一般常见为在计算机的磁盘上做多重主分割,然后在这些分割的区块中分别安装不同的操作系统。而这种方法虽然能得到最好的效能,而却无法同步使用支持不同操作系统的软件。据此,为了在计算机中同时执行多重操作系统,发展出一种虚拟机器软件。
基于这种虚拟机器软件,使用者便可以同时在计算机上执行任何操作系统。进一步地说,在优先执行的其中一个指定操作系统中安装一虚拟机器软件(例如,VMWare)。然后,再将其他操作系统安装在此虚拟机器软件上,便可以一种附属性应用软件来执行其他的操作系统。
然而,如此作法并无法使得在虚拟机器软件上执行的操作系统直接掌控与享用计算机资源,使得这些操作系统执行效率远低于直接控制计算机资源的操作系统。也就是说,执行于虚拟机器软件上的操作系统所得到的周边资源是由开机后第一个执行的指定操作系统所分配与管理,因此除了指定操作系统之外,其他操作系统并不具有硬件上的独立性,其效能会受到很大的影响与限制。发明内容
为此,本发明提供一种执行多重操作系统的方法,允许多个操作系统同步被载入与执行,大幅增进作业效率。
本发明另提供一种电子装置,在开机时将硬件资源分配给各操作系统,可提高多重操作系统的效率与实用性。
本发明提出一种执行多重操作系统的方法,适用于安装有多个操作系统的电子装置。首先,执行开机程序。接着,取得电子装置现有的硬件资源。并且,依据资源配置比例,将硬件资源配置给每一个操作系统。而依据每一个操作系统所分配到的硬件资源,载入各操作系统。
在本发明的一实施例中,上述依据资源配置比例,将硬件资源配置给每一个操作系统的步骤中,依据资源配置比例,将中央处理单元的多个核心分别注册予这些操作系统。并且,依据资源配置比例,将主存储器的可用空间分配给这些操作系统,并将这些操作系统分别载入至所分配到的主存储器的可用空间中。
在本发明的一实施例中,上述依据每一个操作系统所分配到的硬件资源,载入各操作系统的步骤之前,还可先判断电子装置是否支持虚拟化技术(VirtualizationTechnology, VT),以决定利用虚拟化技术或虚拟机器(Virtual Machine, VM)软件来模拟这些操作系统各自的虚拟环境。
在本发明的一实施例中,上述执行多重操作系统的方法,可先将电子装置的储存单元分割为多个区块(partition),以将这些操作系统分别安装至所分割的区块中。并且,将这些操作系统各自的启动信息记录至固件存储器。
在本发明的一实施例中,在上述载入各操作系统之后,可在这些操作系统中择一显示于显示单元中。
另一方面,本发明提出一种电子装置,包括储存单元、主存储器、固件存储器以及中央处理单元。其中,中央处理单元分别耦接至储存单元、主存储器以及固件存储器。上述储存单元用以储存多个操作系统,固件存储器则储存了系统固件以及共存平台固件。而中央处理单元执行系统固件以进行开机程序,并且执行共存平台固件,藉以通过共存平台固件取得电子装置现有的硬件资源,而依据资源配置比例,将硬件资源配置给每一个操作系统,并且依据每一个操作系统所分配到的资源,载入各操作系统。
在本发明的一实施例中,上述硬件资源例如为中央处理单元的可用资源以及主存储器的可用空间。而中央处理单元执行共存平台固件,藉由共存平台固件依据资源配置比例,将中央处理单元的多个核心分别注册予这些操作系统。中央处理单元也藉由执行共存平台固件,将主存储器的可用空间分配给这些操作系统,并将这些操作系统分别载入至所分配到的主存储器的可用空间中。
在本发明的一实施例中,上述中央处理单元执行共存平台固件,藉由共存平台固件来判断电子装置是否支持虚拟化技术,以决定利用虚拟化技术或虚拟机器软件来模拟这些操作系统各自的虚拟环境。
在本发明的一实施例中,上述储存单元包括多个区块,这些区块分别安装这些操作系统,而固件存储器还记录了这些操作系统各自的启动信息。
在本发明的一实施例中,上述电子装置还包括显示单元,其耦接至中央处理单元,用以显示其中一个操作系统。
基于上述,在开机程序结束后以及操作系统载入之前,依据资源配置比例,将所取得的电子装置的硬件资源配置给每一个操作系统,之后,便能够同时载入多重操作系统并同步执行于电子装置上。据此,可获得高效的运行能力,并且在任何时间点,都能够让使用者随时在这些操作系统之间进行切换,满足使用者在同一时间执行支持不同操作系统的软件,大幅增进作业效率。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。


图1是依照本发明一实施例的电子装置的方框图。
图2是依照本发明一实施例的执行多重操作系统的方法流程图。
图3是依照本发明一实施例的中央处理单元资源配置的示意图。
图4A 图4C是依照本发明一实施例的主存储器配置示意图。
图5是依照本发明一实施例的系统架构的示意图。
图6是依照本发明另一实施例的执行多重操作系统的方法流程图。
附图标记:
100:电子装置
110:中央处理单元
120:芯片组
130:储存单元
140:主存储器
150:固件存储器
160:显示单元
151:系统固件
153:共存平台固件
301、302、303、304:核心
310:逻辑三核心中央处理单元
320:逻辑单核心中央处理单元
401、402:B10S 使用区
403:共存平台固件使用区
411、412、413:可用空间
S205 S220:本发明的执行多重操作系统的方法各步骤
S605 S627:本发明的另一执行多重操作系统的方法各步骤具体实施方式
过去多重操作系统的功能皆建立在某一已被优先执行的操作系统上,因而在效能上会受到很大的影响与限制。为此,本发明提出一种执行多重操作系统的方法及电子装置,可同步执行多个操作系统并改善效能上的影响与限制。为了使本发明的内容更为明了,以下特举实施例作为本发明确实能够据以实施的范例。
图1是依照本发明一实施例的电子装置的方框图。请参照图1,电子装置100包括中央处理单元(Central Processing Unit, CPU) 110、芯片组120、储存单元130、主存储器140、固件存储器150以及显示单元160。中央处理单元110通过芯片组120耦接至储存单元130、主存储器140、固件存储器150以及显示单元160。
中央处理单元110用以执行电子装置100中的硬件、固件以及处理软件中的数据。芯片组120为中央处理单元110对外信息交换的桥梁。在本实施例中,芯片组120包括北桥芯片与南桥芯片。而在其他实施例中,芯片组120例如为南桥芯片,而北桥芯片可与中央处理单元110互相整合。储存单元130例如为硬盘,用以储存多个操作系统。例如,储存单元130被切割为多个区块(partition),以在这些区块中分别安装上述操作系统。
而电子装置中所有构件的驱动程序以及操作系统等等,都要先载入(load)到主存储器140上面,才能供中央处理单元110读取。在此,主存储器140例如为随机存取存储器(Random Access Memory, RAM)。固件存储器150例如为快闪存储器(flash memory),用以储存各式固件。在此,固件存储器150中储存了系统固件151以及共存平台固件153。系统固件151例如为基本输入输出系统(Basic Input or Output System, BIOS)、可扩展固件接口(Extensible Firmware Interface, EFI)BIOS 或联合可扩展固件接口(UnifiedExtensible Firmware Interface, UEFI)BIOS 等。
在本实施例中,在储存系统固件151的固件存储器150中设计共存平台固件153,在开机程序结束后与操作系统载入前之间的时间点,由中央处理单元110执行共存平台固件153,以同时载入多重操作系统并同步执行于电子装置100上。例如,同时在电子装置100中执行微软的窗口操作系统以及Linux操作系统。而共存平台固件153在初始设定时,会预先在储存单元130中切割一数据缓冲磁区,以作为共存平台固件传输的媒介。另外,固件存储器150中亦记录了各操作系统的启动信息。例如,将储存单元130切割为多个区块以安装多个操作系统时,将这些操作系统的启动信息储存在固件存储器150中。
显示单元160用以显示其中一个操作系统。在各别操作系统启动的初步阶段,显示单元160将显示预设使用优先的操作系统。倘若使用者未设定,则显示共存平台固件153的使用接口,以供使用者选择欲显示的操作系统。
另外,切换操作系统的方式可利用热键(hot key)来进行切换。例如,内建数种复合热键让使用者选择与预设(如:“ctrl+alt+paup”或“ctrl+alt+pgdn”等等)。当复合热键被使用者触发时,通过共存平台固件153,达成切换操作系统的工作。此外,还可在硬件设计阶段即预留硬件设计的切换钮,例如通用型输入输出(General Purpose I/0,GP10)切换钮,当切换钮被使用者触发时,通过系统中断程序,达成切换操作系统的工作。
以下即搭配上述电子装置100来说明执行多重操作系统的各步骤。图2是依照本发明一实施例的执行多重操作系统的方法流程图。请同时参照图1及图2,在步骤S205中,中央处理单元110执行系统固件151以进行开机程序。例如,以系统固件151为BIOS而言,开机程序包括开机自我测试(Power On Self Test, POST)以及初始化周边装置。
接着,在步骤S210中,取得电子装置的多个硬件资源。之后,在步骤S215中,依据资源配置比例,将硬件资源配置给各个操作系统。在系统固件151执行完开机程序之后,由共存平台固件153取得系统的主控权,并取得中央处理单元110、主存储器140、储存单元130以及其他周边装置的可用资源以进行资源配置与管理。例如,共存平台固件153会针对所要安装的操作系统的数量以及资源配置比例来配置硬件资源。
在本实施例中,以中央处理单元的可用资源以及主存储器的可用空间为例来进行说明。共存平台固件153会依据资源配置比例,将中央处理单元110的多个核心(core)分别注册予各个操作系统,并且将主存储器140的可用空间分配给各个操作系统。在此,中央处理单元110为多核心,然而,在此并不限制中央处理单元110为多核心,在其他实施例中,中央处理单元110亦可以为单核心。
底下举一实施例来说明中央处理单元110的资源配置。图3是依照本发明一实施例的中央处理单元资源配置的示意图。在此,以图1的中央处理单元Iio为例。请参照图3,在本实施例中,假设中央处理单元110具有物理四核心(core),即核心301、核心302、核心303及核心304。其中,核心301为启动处理器(Boot Strap Processor,BSP),其他核心302、核心 303 及核心 304 为应用处理器(Application Processor, AP)。以 Intel x86 处理器架构系统而言,在开机后,会指定一个掌控整个系统的核心来作为BSP,而将其他核心视为AP。
假设电子装置100中欲安装两种操作系统,例如微软的窗口操作系统以及Linux操作系统。使用者可事先设置好资源配置比例,并将资源配置比例存放在共存平台固件153中,或者,亦可以是共存平台固件153所预设的资源配置比例。在此,假设将75%的硬件资源配置予微软的窗口操作系统,将25%配置予Linux操作系统。当执行完开机程序之后,便可藉由共存平台固件153将中央处理单元110的其中三个核心301、302及303模拟为逻辑三核心中央处理单元310而注册予微软的窗口操作系统,剩余的一个核心304则模拟为逻辑单核心中央处理单元320而注册予Linux操作系统。
另外,一般在执行完开机程序之后,系统固件151会进行主存储器140的资源汇整,在扣除系统固件151所使用的部分之后,将主存储器140的可用空间回报给操作系统。在本实施例中,通过共存平台固件153来预先拦截此回报,藉以来决定各个操作系统欲配置的硬件资源,再通过共存平台固件153将重新设定的主存储器140的可用空间分别回报给各个操作系统。
举例来说,图4A 图4C是依照本发明一实施例的主存储器配置示意图。在本实施例中,系统固件151例如为BIOS,并且假设电子装置100中欲安装微软的窗口操作系统以及Linux操作系统。
在开机时,将系统固件151载入至BIOS使用区401及BIOS使用区402 (因为系统固件151可能使用到主存储器140的不同区域),如图4A所示。而在开机程序执行完之后,将共存平台固件153载入至主存储器140的共存平台固件使用区403,如图4B所示。之后,共存平台固件153根据系统固件151的回报可以得知目前主存储器140可用空间的大小(例如为2GB),并且通过全域描述符表(Global Descriptor Table,⑶T)来了解主存储器140实际分配的情形。接着,通过共存平台固件153重新管理全域描述符表,并且运用保护模式技术与区域描述符表(Local Descriptor Table, LDT)将多重操作系统所需的主存储器140的可用空间区隔出来,如图4C所示。据此,通过共存平台固件153依据资源配置比例将可用空间411及412(例如为1.5G)分配给微软的窗口操作系统来使用,并将可用空间413 (例如为0.5G)分配给Linux操作系统来使用。
返回图2,在硬件资源配置完毕后,如步骤S220所示,依据各操作系统所分配到的硬件资源,载入各个操作系统。举例来说,在共存平台固件153中例如建有磁盘信息管理程序,可预先安排储存单元130所需的分割,将储存单元130分割为多个区块,以分别安装多个操作系统,并将各操作系统的启动信息记录于共存平台固件153中。例如,以储存单元130为硬盘而言,将硬盘切割为C槽及D槽,其中C槽用来安装微软的窗口操作系统,D槽用来安装Linux操作系统。通过共存平台固件153同时间至不同的区块中各别载入不同的操作系统至所配置的主存储器140的可用空间中,同时且各别执行这些操作系统。
举例来说,以图3及图4C而言,并假设在电子装置100中安装了微软的窗口操作系统以及Linux操作系统。在分配完硬件资源之后,微软的窗口操作系统分配到逻辑三核心中央处理单元310,以及可用空间411及412 ;而Linux操作系统分配到逻辑单核心中央处理单元320以及可用空间413。接着,逻辑三核心中央处理单元310的预设BSP(即,核心301)自储存单元130将微软的窗口操作系统的核心(kernel)载入至可用空间411及412,且,由逻辑单核心中央处理单元320的虚拟BSP (即,核心304)自储存单元130将Linux操作系统的核心(kernel)载入至可用空间413。
另外,图5是依照本发明一实施例的系统架构的不意图。请参照图5,最底层为硬件层,用以提供实体硬件接口。在硬件层上方为系统固件层,用以执行开机流程。系统固件层上方为共存平台固件层,其功能请参照上述共存平台固件153的描述。而在共存平台固件层上为虚拟化技术(Virtualization Technology, VT)层,利用虚拟化技术来分别模拟出各个操作系统的虚拟环境,以在VT层上执行操作系统。
图6是依照本发明另一实施例的执行多重操作系统的方法流程图。请同时参照图1及图6,在步骤S605中,通过执行开机程序。接着,在步骤S607中,判断是否启动共存平台固件153。例如,在执行完开机程序之后,于显示单元160中显示一选项供使用者选择是否要启动共存平台固件153。倘若不启动共存平台固件153,执行步骤S609,直接开机至预设的操作系统。倘若要启动共存平台固件153,执行步骤S610,取得电子装置现有的硬件资源。并且,在步骤S615中,依据资源配置比例,将硬件资源配置给每一个操作系统。本实施例的步骤S605、S610及S615分别与上述步骤S205、S210及S215相似,故在此不再详述。
接着,在步骤S620中,依据每一个操作系统所分配到的硬件资源,载入各操作系统。步骤S620包括了子步骤S621、S623、S625及S627。底下即对各子步骤详细描述。
在步骤S621中,判断电子装置100是否支持虚拟化技术,以决定利用虚拟化技术或虚拟机器软件来模拟这些操作系统各自的虚拟环境。倘若电子装置100不支持虚拟化技术,执行步骤S623,利用虚拟机器软件来模拟各操作系统的虚拟环境,以载入各操作系统。倘若电子装置100支持虚拟化技术,执行步骤S625,载入虚拟化技术环境以及程序库。然而,在步骤S627中,模拟各操作系统的虚拟环境,以载入各操作系统。在本实施例中,虚拟机器软件例如为VMWare,其为Intel x86架构相容性计算机的虚拟平台套装软件,允许使用者在原有的操作系统上,创建与运行多个x86虚拟平台。而虚拟化技术则是一种通过硬件实作的来模拟x86计算机平台的技术,与VMWare不同的是,VMWare是使用通过软件来模拟计算机平台的技术,效能差异性很大。据此,倘若电子装置100本身支持虚拟化技术,将可使操作系统获得更多实体资源的配置,让执行效率能大幅度提升。
综上所述,上述实施例中,在开机程序结束后以及操作系统载入之前,依据资源配置比例,将所取得的电子装置的硬件资源配置给每一个操作系统,据以同时载入多重操作系统并同步执行于电子装置上。据此,可获得高效的运行能力,并且在任何时间点,都能够让使用者随时在这些操作系统之间进行切换,满足使用者在同一时间执行支持不同操作系统的软件,大幅增进作业效率。另外,上述方法架构于系统固件之上,并承接其初始化电子装置后的硬件资源,使得后续维护作业简单化。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域的普通技术人员,当可作些许更动与润饰,而不脱离本发明的精神和范围。
权利要求
1.一种执行多重操作系统的方法,适用于一电子装置,该电子装置安装有多个操作系统,该方法包括: 执行一开机程序; 取得该电子装置的多个硬件资源; 依据一资源配置比例,将该些硬件资源配置给每一该些操作系统;以及 依据每一该些操作系统所分配到的硬件资源,载入每一该些操作系统。
2.根据权利要求1所述的执行多重操作系统的方法,其中依据该资源配置比例,将该些硬件资源配置给每一该些操作系统的步骤包括: 依据该资源配置比例,将一中央处理单元的多个核心分别注册予该些操作系统; 依据该资源配置比例,将一主存储器的可用空间分配给该些操作系统;以及 将每一该些操作系统载入至所分配到的该主存储器的可用空间中。
3.根据权利要求1所述的执行多重操作系统的方法,其中依据每一该些操作系统所分配到的硬件资源,载入每一该些操作系统的步骤之前,还包括: 判断该电子装置是否支持一虚拟化技术,以决定利用该虚拟化技术或一虚拟机器软件来模拟该些操作系统各自的虚拟环境。
4.根据权利要求1所述的执行多重操作系统的方法,其中还包括: 分割该电子装置的一储存单元为多个区块,以分别安装该些操作系统至该些区块;以及 记录该些操作系统各自的启动信息至一固件存储器。
5.根据权利要求1所述的执行多重操作系统的方法,其中依据每一该些操作系统所分配到的硬件资源,载入每一该些操作系统的步骤之后,还包括: 在该些操作系统中择一显示于一显示单元中。
6.一种电子装置,包括: 一储存单元,储存多个操作系统; 一主存储器; 一固件存储器,储存一系统固件以及一共存平台固件; 一中央处理单元,耦接至该储存单元、该主存储器以及该固件存储器,该中央处理单元执行该系统固件以进行一开机程序,并且执行该共存平台固件,藉以通过该共存平台固件取得该电子装置的多个硬件资源`,而依据一资源配置比例,将该些硬件资源配置给每一该些操作系统,并且依据每一该些操作系统所分配到的资源,载入每一该些操作系统。
7.根据权利要求6所述的电子装置,其中该中央处理单元执行该共存平台固件,藉由该共存平台固件依据该资源配置比例,将该中央处理单元的多个核心分别注册予该些操作系统,以及将该主存储器的可用空间分配给该些操作系统;其中该中央处理单元分别将每一该些操作系统载入至所分配到的该主存储器的可用空间中。
8.根据权利要求6所述的电子装置,其中该中央处理单元执行该共存平台固件,藉由该共存平台固件来判断该电子装置是否支持一虚拟化技术,以决定利用该虚拟化技术或一虚拟机器软件来模拟该些操作系统各自的虚拟环境。
9.根据权利要求6所述的电子装置,其中该储存单元包括多个区块,该些区块分别安装该些操作系统,而该固件存储器记录了该些操作系统各自的一启动信息。
10.根据权利要求6所述的电子装置,其中还包括:一显示单元,耦接至该中 央处理单元,显示该些操作系统其中之一。
全文摘要
一种执行多重操作系统的方法及电子装置。该方法包括,在执行开机程序之后,取得电子装置现有的硬件资源。并且,依据资源配置比例,将硬件资源配置给每一个操作系统,藉以载入各操作系统。
文档编号G06F9/445GK103106084SQ20111035765
公开日2013年5月15日 申请日期2011年11月11日 优先权日2011年11月11日
发明者林志仲 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1