一种实现操作系统隔离的系统及方法

文档序号:6639332阅读:273来源:国知局
专利名称:一种实现操作系统隔离的系统及方法
技术领域
本发明涉及一种实现操作系统隔离的系统及方法,特别涉及一种实现操作系统中存储空间完全隔离的运行环境的系统及方法,属于计算机操作系统与计算机安全领域。
背景技术
计算机操作系统是计算机中最重要的系统,用于管理计算机硬件设备,并为各种应用软件提供运行环境。因此,操作系统的可靠性与安全性十分重要。
如今,越来越多的应用被部署在单一操作系统环境中,导致用户计算环境变得非常复杂,更加难以管理与维护。更为重要的是在病毒和间谍软件泛滥的今天,如此复杂的计算环境无疑使得各种计算机安全防护技术漏洞百出,甚至是形同虚设。
对于家庭用户来说计算机在家庭生活中扮演的角色越来越重要,用户在计算机上进行各种应用,如游戏,娱乐,上网,看电影,处理图象,视频,甚至进行网络电子交易。这些应用被简单的安装到单一操作系统环境中,使得应用环境变得异常复杂,直接导致系统负载过重而出现不稳定、频繁宕机、数据丢失等现象。虽然可以在计算机中安装多个操作系统来实现不同的应用,但这又造成管理的复杂度和计算资源的浪费。另一方面,家庭用户普遍缺乏计算机维护和安全方面的知识和经验,这就使得家庭计算机毫无保护地暴露在网络中,经常受到病毒和黑客的攻击,当用户使用被病毒和间谍软件感染的计算机玩游戏和上网娱乐时,就会遭受黑客的攻击而造成个人隐私的泄密。更为严重的是如果使用这样的环境去进行网络电子交易,将给黑客窃取银行帐号造成可乘之机。此外,对于家庭计算机应用来说,一机多用已经是一个普遍的现象。目前的操作系统支持多用户的功能,但这种多用户功能并不能真正地隔离不同用户的软件环境和数据环境,当一个用户环境被破坏后,直接的后果就是导致整个计算机操作系统环境的崩溃。总而言之,对于家庭用户来说,他们最需要的将是一个多应用、多用户相互隔离,并且具有自主安全防御能力的计算机,从而简化计算机维护,提高计算机安全性。
对于企业计算机用户来说为了保持市场的竞争力,企业的IT部门必须随时做到既要满足对先进信息技术和IT服务日益增长的需求,同时又要控制计算机故障发生的频率、减少维护成本和影响,并不断提高企业信息的安全性,从而实现降低IT基础设施的总拥有成本。这给计算机的可管理性与安全性提出了更高的要求。在企业IT环境中,在单一计算机环境中部署的应用越来越复杂,直接降低了计算机的稳定性和可靠性,从而使得计算机出现故障的频率不断升级,给IT管理成本以及造成了严重的后果。另一方面,企业需要将企业IT应用和员工私人环境进行隔离,从而避免企业信息泄密,提高企业的IT系统的安全性。
对于政府计算机用户来说在对IT安全特别关注的政府部门,实现内网和外网的隔离是IT应用方面的一个基本要求。目前,政府部门通过一人双机或者使用硬件隔离的方式来实现内网和外网的隔离,从而保障政府信息系统的安全性。但无论哪种方式都需要较高的IT投资,同时也增加了IT管理的难度和复杂度,缺乏良好的应用扩展性。
对于教育计算机用户来说在教育行业中,为了满足不同的教学目的,IT管理员需要频繁的为计算机分发新的操作系统和软件。除此之外,计算机的软件系统还会经常被破坏,IT管理员为了不影响教学,需要快速的修复操作系统和应用环境。这就极大地增加了计算机管理的复杂度和难度,对计算机管理的效率提出了极高的要求。
综上所述,在IT应用中,计算机的可管理性,可维护性,以及计算机的安全性问题给计算机消费者和企业造成了巨大的时间成本和经济成本;同时现有技术在解决计算机安全性和可靠性方面,以及保护用户隐私方面都存在缺陷。因此,需要一种技术方案,能够将用于不用应用目的的应用软件安装在相互隔离的操作系统环境中,以保障应用软件的安全性和可靠性。并且通过相互隔离的操作系统环境保护用户数据和隐私的安全,并且该技术方案不过多的占用磁盘空间,保障计算机的效率没有较大的改变。

发明内容
本发明的目的是通过对单一操作系统进行隔离,创建应用环境完全隔离的不同的操作系统环境,并且在不同的操作系统环境中安装所需的应用软件,并使得不同操作系统环境的使用者信息得到保护;使用者可以根据操作目的选择合适的操作系统环境,从而增加操作系统和应用软件的可靠性和安全性。为实现上述目的,本发明提供了一种实现操作系统隔离的系统,包括一母操作系统模块,所述母操作系统模块包括一个操作系统的内核,用于提供完成操作系统必需的基本功能的软件程序;所述母操作系统模块对其独享磁盘空间及磁盘空白空间进行读访问;至少一个子操作系统模块,包括用户对所述母操作系统模块所做的任何修改信息;同所述母操作系统模块交互,对所述母操作系统模块的独享磁盘空间进行读访问;所述子操作系统模块对其独享磁盘空间及磁盘空白空间进行读/写访问;一系统隔离模块,所述系统隔离模块与所述母操作系统模块交互,用于根据用户指令引导和/或建立子操作系统模块,指定和/或修改所述母/子操作系统模块的独享磁盘空间和磁盘空白空间;所述系统隔离模块还分别同所述母/子操作系统模块交互,用于监控所述母/子操作系统模块对磁盘的读/写访问;
一外存访问控制模块,同所述系统隔离模块交互,记录所述母/子操作系统模块的独享磁盘空间。
为实现上述目的,本发明还提供了一种实现操作系统隔离的方法,包括如下步骤步骤1、系统隔离模块监控当前子操作系统模块对磁盘的读/写访问;步骤2、如果是读访问,系统隔离模块根据外存访问控制模块的记录返回母操作系统模块和/或当前子操作系统模块独享磁盘空间中的数据;步骤3、如果是写访问,系统隔离模块根据外存访问控制模块的记录写入当前子操作系统模块的独享磁盘空间或磁盘空白空间中,并修改外存访问控制模块的记录。
因此,本发明具有以下优点1、使用本发明实现操作系统隔离的系统和方法,可以在不占用更多磁盘空间的前提下基于单一操作系统创建不同的相互隔离的子操作系统模块,使用者可以灵活选择使用;2、使用本发明实现操作系统隔离的系统和方法,可以根据每个子操作系统模块的创建目的,有针对性的安装应用软件,降低每个操作环境中应用软件的数量,减少系统冗余,增加系统的安全性和可靠性;3、使用本发明实现操作系统隔离的系统和方法,每个子操作系统模块的不安全因素不会对其他子操作系统模块产生影响,增加系统的安全性和可靠性;4、使用本发明实现操作系统隔离的系统和方法,可以保护不同子操作系统模块下使用者的信息。
下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为本发明实现操作系统隔离的系统的结构图;
图2为本发明实现操作系统隔离的系统中外存访问控制模块的示意图;图3为本发明实现操作系统隔离的系统的实施例1的基于传统计算机架构下的系统示意图;图4为本发明实现操作系统隔离的系统的系统隔离模块监控并拦截磁盘I/O访问的处理流程图;图5为本发明实现操作系统隔离的系统的实施例2所示的基于虚拟机计算机架构下的系统示意图;图6为本发明实现操作系统隔离的系统中的基于虚拟机计算机架构下的又一实施例的示意图;图7为本发明实现操作系统隔离的系统中的磁盘空间分布示意图。
具体实施例方式
本发明实现操作系统隔离的系统的实施例1参见图1,包括母操作系统模块1、子操作系统模块21、子操作系统模块22、系统隔离模块3和外存访问控制模块4。
母操作系统模块1可以仅包括一个用于完成最基本功能的操作系统内核,所谓操作系统内核指用于提供操作系统必需的基本功能的软件程序;这个完成最基本功能的操作系统内核可以为Linux或者Unix或者Windows的内核,本实施例中以Windows为例。
母操作系统模块1也可包括内核和内核之外的软件程序在内,即包括内核和操作系统内核之外的应用程序,用于提供操作系统必需的基本功能和其他用户选择的功能。比如,如果管理员设定所有的操作环境中都有Office软件,就可以将Office软件安装在母操作系统模块1中。
子操作系统模块可以为一个或多个,包括对所述母操作系统模块1所做的任何修改信息。本实施例中以两个为例,其中,子操作系统模块21为在母操作系统模块1基础上安装了Office软件、翻译软件和计算软件程序,同时对IE进行了屏蔽;子操作系统模块21同母操作系统模块1共同构成一个完整的办公操作系统环境,可以进行文字处理及数据计算,但是不可以上网;子操作系统模块22为在母操作系统模块1基础上安装了的游戏软件和多媒体播放软件,同母操作系统模块1共同构成一个完整的娱乐操作系统环境,可以游戏、看视频文件以及上网等。
子操作系统模块21和22分别同母操作系统模块1交互,可以对母操作系统模块1的独享磁盘空间中的数据进行读取访问。子操作系统模块21和22分别具有各自的独享磁盘空间,可以对其独享磁盘空间及磁盘空白空间进行读/写访问。
系统隔离模块3监控母操作系统模块1和子操作系统模块21或22对磁盘的读/写访问,拦截所有对母操作系统模块1的独享磁盘空间的写访问。
如图2所示,外存访问控制模块4位于硬盘存储器的磁盘空间中,它由多个文件所组成。其中,外存访问控制模块4包括母操作系统模块1的磁盘位图文件41,子操作系统模块21的磁盘位图文件4211,子操作系统模块22的磁盘位图文件4221,以及子操作系统模块21的索引文件4212和子操作系统模块22的索引文件4222。
如图3所示,为基于传统计算机架构下的系统示意图,在传统计算机架构下,计算机系统每次只能运行一个操作系统,其结构为最底层为计算机硬件,包括CPU、硬盘、内存、显卡、I/O接口等。系统隔离模块3在此架构下可设置在计算机中的基本输入输出模块即BIOS中或者计算机扩展固件接口即EFI中;也可以设置在母操作系统模块1的内核之中或内核之外。
在本实施例1中,系统隔离模块3被设置在母操作系统模块1的内核当中。在指定母操作系统模块1之前,用户首先需要在计算机中安装一个操作系统(在本实施例1中指的是Windows操作系统),然后,用户可以根据需要对此操作系统进行必要的配置,如安装和配置硬件驱动程序,配置网络地址,调整Windows桌面分辨率等。同时可以根据需要安装一些应用软件,如一些病毒防护软件和个人防火墙。因为在每个子操作系统模块中都需要用到这些软件。此外,用户需要将系统隔离模块3设置在上述操作系统内核之中。在本发明实施例1中的系统隔离模块3作为操作系统的驱动程序被设置在上述操作系统内核之中。在完成上述准备工作之后,用户可以通过系统隔离模块3指定上述的操作系统为母操作系统模块1。当指定了母操作系统模块1之后,系统隔离模块3同时在外存访问控制模块4中为母操作系统模块1创建母操作系统磁盘位图文件41。此后,系统隔离模块3将监控并拦截所有对磁盘的读/写访问,不允许任何程序和系统改写母操作系统模块1中的程序和数据。
母操作系统模块1的母操作系统磁盘位图文件41记录母操作系统模块1的磁盘存储块状态,用于标识所述母操作系统模块1在磁盘上的独享磁盘空间;举例来说,如果磁盘上某个块单位(如以扇区为单位,则为某个扇区)上存有母操作系统模块1的有效数据,则在母操作系统磁盘位图文件41对应的位置标志为1,否则标记为0。
当用户通过系统隔离模块3指定了母操作系统模块1之后,则可以根据需要通过系统隔离模块3与母操作系统模块1交互而创建子操作系统模块21和22。系统隔离模块3同时在外存访问控制模块4中为子操作系统模块21和22分别创建子操作系统位图文件4211和4221,同时在外存访问控制模块4中为子操作系统模块21和22分别创建子操作系统索引文件4212和4222。
子操作系统磁盘位图文件4211和4221记录子操作系统模块21和22的磁盘存储块状态,用于标识子操作系统模块21和22在磁盘上的独享磁盘空间;举例来说,如果磁盘上某个块单位(如以扇区为单位,则为某个扇区)上存有子操作系统模块21的有效数据,则在子操作系统磁盘位图文件4221对应的位置标志为1,否则标记为0。
子操作系统索引文件4212和4222标识所有被系统隔离模块3转储的数据的调用地址与转储后的存储地址及二者间的对应关系。比如,当操作者在办公环境中对母操作系统模块1的显卡驱程进行改写时,显然,系统隔离模块3将拦截该操作,母操作系统模块1中的写有显卡驱程的地址A0的数据不可能被改变;但同时,办公环境中的操作者看到的却是显卡驱程被改变的效果;这是由于系统隔离模块3将改写的驱程存储于该子操作系统模块21的独享磁盘空间或者空白磁盘空间的地址A1中,并在索引文件中记录该实际存储地址A1和调用该改写驱程的地址A0;当计算机启动,加载子操作系统模块21的同时,系统隔离模块3检查该索引文件,即将地址A1的数据读取出来,而不读取A0中的数据;因此,在该子操作系统模块21构成的办公环境中,是母操作系统模块1中的显卡驱程被改变了的效果。
当完成了子操作系统模块21和22的创建之后,用户即可在计算机启动时根据自己的需要选择启动任意一个子操作系统模块。根据系统隔离模块3设置的位置不同,其与母操作系统模块1的启动顺序也有不同系统隔离模块3设置在BIOS或EFI时,先于母操作系统模块1启动,启动顺序为系统隔离模块3紧随计算机硬件启动,系统隔离模块3引导提示用户选择进入哪一个操作系统环境,比如,操作者选择娱乐环境。然后系统隔离模块3引导母操作系统模块1启动,并在母操作系统模块1引导完成后加载子操作系统模块22,从而为用户形成完整得娱乐操作系统环境。
当系统隔离模块3设置在母操作系统模块1的内核之中或内核之外时,与母操作系统模块1同时启动,启动顺序为计算机硬件启动,母操作系统模块1与系统隔离模块3同时启动,并提示用户选择进入哪一个操作系统环境,比如,操作者选择办公环境,则系统隔离模块3引导加载子操作系统模块21,构成完整的办公操作系统环境。
当计算机启动之后,母操作系统模块1和系统隔离模块3按照上述不同情况分别被加载运行。同时,系统隔离模块3也会根据用户的选择加载指定的子操作系统模块21或22。此后,用户可以在当前加载的母操作系统模块1和子操作系统模块21或22中执行安装软件,修改配置,编辑文件等操作。但无论何种情况,系统隔离模块3一直在监控对磁盘的读写访问,只要发生读写磁盘的访问都会被系统隔离模块3拦截,并根据不同的情况分别进行处理,以实现操作系统的隔离。
系统隔离模块3一直监控母/子操作系统模块对磁盘的读写访问,如图4所示,如果发现是读磁盘访问,系统隔离模块3首先从读磁盘访问调用者那里获取读磁盘的目标地址A0,然后,系统隔离模块3使用目标地址A0查询当前运行的子操作系统模块21或22的子操作系统索引文件4212或4222,如果子操作系统索引文件4212或4222中的A0位置存在相应的索引地址A1,则系统隔离模块3从磁盘地址A1位置读取数据,并返回给调用者。否则,系统隔离模块3则从磁盘地址A0位置读取数据,并返回给调用者。
如果系统隔离模块3发现是写磁盘访问,系统隔离模块3首先从写磁盘访问调用者那里获取写磁盘的目标地址B0,然后,系统隔离模块3使用目标地址B0查询当前运行的子操作系统模块21或22的子操作系统索引文件4212或4222,如果子操作系统索引文件4212或4222中的B0位置存在相应的索引地址B1,则系统隔离模块3将数据写入B1位置,并结束写访问。否则,系统隔离模块将数据写入磁盘空白空间,该写入地址为存储地址B2;同时,系统隔离模块在子操作系统模块21或22的子操作系统索引文件4212或4222中B0所指示的位置记录该存储地址B2,并将当前运行的子操作系统模块21或22的子操作系统磁盘位图文件4211或4221中B2所指示的位置标记为1,表示此位置的数据为子操作系统模块21或22所有,此后,系统隔离模块3结束写访问。
当用户选择启动到任一子操作系统模块时,通过系统隔离模块3与外存访问控制模块的交互作用,可以确保用户不会看到磁盘上其他子操作系统模块的独享磁盘空间中的数据。比如用户选择启动进入子操作系统模块21,系统隔离模块3只从外存访问控制模块中调用母操作系统磁盘位图文件41、子操作系统磁盘位图文件4211和子操作系统索引文件4212,因此,对于母操作系统模块1来说,它只能看到和读取自己的独享磁盘空间中的内容,对于子操作系统模块21来说,它只能看到母操作系统模块1的磁盘独享空间和自身的独享磁盘空间以及空白磁盘空间,但看不到其他子操作系统模块所占用的独享磁盘空间,而且,通过系统隔离模块3的拦截作用,子操作系统模块21也不可能将数据写入母操作系统模块1的独享磁盘空间和其他子操作系统模块的独享磁盘空间中。因此,采用上述原理,即可确保母操作系统模块1不可被更改,而且,各个子操作系统模块之间实现相互隔离,最终实现了操作系统的隔离。
另外,子操作系统模块21或22的独享磁盘空间是可以改变的,例如,当子操作系统模块21执行写访问,将数据写入磁盘空白空间地址A3时,系统隔离模块3就将子操作系统磁盘位图文件4211的对应位置进行标识,该空白磁盘空间即变为该子操作系统模块21的独享磁盘空间。当子操作系统模块22执行写访问,将数据写入磁盘空白空间A4时,系统隔离模块3就将子操作系统磁盘位图文件4221的对应位置进行标识,该空白磁盘空间即变为该子操作系统模块22的独享磁盘空间;当子操作系统模块21启动时,磁盘空白空间A4的数据不会被读取,因此,对于子操作系统模块21来说磁盘空白空间A4的数据为不可见。
在计算机磁盘空间允许的情况下,子操作系统模块的数量无限制。
本发明实现操作系统隔离的系统的实施例2参见图5所示,为本发明的实施例2的示意图,为虚拟机架构下实现操作系统隔离。在支持虚拟机技术的计算机架构下,虚拟内存管理模块(VirtualMemory Manager,简称VMM)是虚拟机技术中最核心的部分,运行于所有其他操作系统之下,为运行于其上的操作系统分配和协调系统资源。例如VMWare公司的VMWare软件,微软公司的Virtual PC软件,以及XenSource公司的Xen软件都是支持虚拟机技术的软件。在VMM的作用下,同一个计算机系统中能够同时运行两个或者多个操作系统,在本实施例中,只以一个母操作系统模块1为例,其中,母操作系统模块1又由系统隔离模块3引导建立了2个子操作系统模块21和22。
系统隔离模块3位于VMM中,与VMM同时启动,启动顺序为计算机硬件启动;VMM与系统隔离模块3启动;母操作系统模块1启动;子操作系统模块21和22根据据用户选择启动其中一个或多个。
系统隔离模块3位于VMM中,它能够监控并拦截所有母/子操作系统模块对磁盘的读/写访问,并与外存访问控制模块交互作用,实现操作系统的隔离。
本发明实现操作系统隔离的系统的实施例3参见图6所示,为虚拟机架构下实现操作系统隔离的又一实施例的示意图。虚拟机系统中设有管理操作系统模块或服务操作系统模块5(称为副操作系统模块),和母操作系统模块1(也称为主操作系统模块)同时运行或先于母操作系统模块1运行,监控母操作系统模块1的状态,并为母/子操作系统模块提供磁盘访问接口。
系统隔离模块3设置在副操作系统模块的内核之中或内核之外,启动顺序为计算机硬件启动;VMM启动;副操作系统模块与系统隔离模块启动;母操作系统模块启动;子操作系统模块21和22根据用户选择启动其中一个或多个。
本发明的实施例2和3中,母操作系统模块1可以为一个以上,比如,可以在一台计算机系统中同时安装Windows内核和Linux内核,它们都构成母操作系统模块1;在非虚拟机的计算机架构下同时仅运行一个所述母操作系统模块,即或者运行Windows或者运行Linux;在虚拟机的计算机架构下同时运行至少一个母操作系统模块,即Windows内核和Linux内核可以同时运行。另外,在非虚拟机的计算机架构下同时仅运行一个所述子操作系统模块,即或者运行子操作系统模块21或者运行子操作系统模块22;在虚拟机的计算机架构下同时运行至少一个子操作系统模块,即可以让子操作系统模块21和22同时运行。
多个母操作系统模块彼此独立设置,由系统隔离模块指定每个母操作系统模块的独享磁盘空间并记录于外存访问控制模块。
本发明实现操作系统隔离的系统的实施例4参见图7,可以在磁盘中设置磁盘共享区域,用户可以通过系统隔离模块指定子操作系统模块是否可以访问磁盘共享区域,如可以指定子操作系统模块可以访问磁盘共享区域,而指定另外的子操作系统模块不可以访问磁盘共享区域。同时还可以设定指定子操作系统模块对磁盘共享区域的访问方式,如可以指定某些子操作系统模块使用只读的方式访问磁盘共享区域,其他的子操作系统模块使用读/写的方式访问磁盘共享区域。在某些情况下,用户需要通过磁盘共享区域在两个或者多个子操作系统模块中交换数据。
本发明实现操作系统隔离的系统的实施例5实现操作系统隔离的系统中还包含第二代子操作系统模块,是由系统隔离模块在第一代子操作系统模块基础上引导建立的;比如,用户可以在娱乐环境的子操作系统模块基础上创建多个第二代子操作系统模块,并分别在不同的第二代子操作系统模块中安装不同的游戏软件。此刻,一个二代子操作系统模块,一代子操作系统模块和母操作系统模块共同构成一个具体到某个游戏环境的完整操作系统。在其中一个游戏环境中不会看到其他的游戏。
当一个子操作系统被引导建立了二代子操作系统时,其独享磁盘空间立即被系统隔离模块设置为不可改写。
由于不同子操作系统模块构成的环境互相不可见即隔离,因此,可以构建彼此保密的操作系统环境。比如,家庭用户可在一台计算机中基于一个母操作系统模块为每个家庭成员创建子操作系统模块,形成各自的操作环境;一个家庭成员在自己的操作环境工作时,完全不会影响到其他人数据,也不可以随意访问其他成员操作环境中的文件和数据,保护家庭成员的个人隐私。
或者,允许政府和企业用户基于一个母操作系统模块,将工作环境与私有环境完全隔离开,实现针对工作环境的诸如网络隔离,网络安全等方面的自动化管理与控制。可以在创建具有很高安全性的子操作系统模块,用来进行网上交易和网上金融事务处理,用户不必在其他的低安全级别的系统环境中进行交易,而是创建一个专门用于网上交易的子操作系统模块等。本发明的实施例8,是实现操作系统隔离的方法的具体实施例。
本发明实现操作系统隔离的方法的实施例1,是在母操作系统模块安装完成后,安装系统隔离模块;系统隔离模块建立磁盘位图文件和索引文件,以备对磁盘读/写进行监控,步骤如下步骤11、系统隔离模块在外存访问控制模块中创建所述母操作系统模块的磁盘位图文件,标识所述母操作系统模块的独享磁盘空间,该磁盘位图文件不可更改;步骤12、系统隔离模块引导建立一个或多个子操作系统模块,并在外存访问控制模块中为每个子操作系统模块创建磁盘位图文件和索引文件;所述磁盘位图文件标识所述子操作系统模块的独享磁盘空间,所述索引文件标识所有被所述系统隔离模块转储的数据的调用地址与转储后的存储地址及二者间的对应关系;初始时,所述磁盘位图文件与索引文件为空;步骤13、系统隔离模块根据上述磁盘位图文件标识磁盘空白空间,该磁盘空白空间为所述母操作系统模块的磁盘位图文件及子操作系统模块的磁盘位图文件中标识的独享磁盘空间以外的磁盘空间。
系统隔离模块对磁盘读/写进行监控,包括系统隔离模块监控当前子操作系统模块对磁盘的读/写访问;如果是读访问,系统隔离模块根据外存访问控制模块的记录返回母操作系统模块和/或当前子操作系统模块独享磁盘空间中的数据;如果是写访问,系统隔离模块根据外存访问控制模块的记录写入当前子操作系统模块的独享磁盘空间或磁盘空白空间中,并修改外存访问控制模块的记录。具体的步骤如下(流程图)步骤101、系统隔离模块监控当前子操作系统模块对磁盘的读/写访问;步骤102、系统隔离模块判断为读访问还是写访问;如果是读访问,执行步骤103;否则,执行步骤107;步骤103、系统隔离模块提取当前运行的子操作系统模块发起的读取磁盘数据操作的调用地址A0;步骤104、系统隔离模块根据调用地址A0查询当前子操作系统模块的索引文件;如果索引文件中记录有该调用地址A0及与其对应的存储地址A1,执行步骤105;否则,表明该操作所请求的数据就在调用地址的位置执行步骤106;步骤105、系统隔离模块从存储地址A1位置读取数据并返回给当前子操作系统模块,结束读访问;步骤106、系统隔离模块从调用地址的位置读取数据并返回给当前子操作系统模块,结束读访问。
步骤107、系统隔离模块提取当前运行的子操作系统模块发起的写入磁盘数据操作的调用地址B0;步骤108、系统隔离模块根据调用地址B0查询当前子操作系统模块的索引文件;如果索引文件中记录有该调用地址B0及与其对应的存储地址B1,执行步骤109;否则执行步骤110;步骤109、系统隔离模块将该数据写入到存储地址B1位置,结束写访问;步骤110、系统隔离模块将数据写入磁盘空白空间,该写入地址为存储地址;同时,系统隔离模块在所述子操作系统模块的索引文件中该调用地址位置记录该存储地址,并将当前运行的子操作系统模块磁盘位图文件中的该存储地址的对应位置标记为有数据状态,结束写访问。
最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式
进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
权利要求
1.一种实现操作系统隔离的系统,其特征在于包括一母操作系统模块,所述母操作系统模块包括一个操作系统的内核,用于提供完成操作系统必需的基本功能的软件程序;所述母操作系统模块对其独享磁盘空间及磁盘空白空间进行读访问;至少一个子操作系统模块,包括用户对所述母操作系统模块所做的任何修改信息;同所述母操作系统模块交互,对所述母操作系统模块的独享磁盘空间进行读访问;所述子操作系统模块对其独享磁盘空间及磁盘空白空间进行读/写访问;一系统隔离模块,所述系统隔离模块与所述母操作系统模块交互,用于根据用户指令引导和/或建立子操作系统模块,指定和/或修改所述母/子操作系统模块的独享磁盘空间和磁盘空白空间;所述系统隔离模块还分别同所述母/子操作系统模块交互,用于监控所述母/子操作系统模块对磁盘的读/写访问;一外存访问控制模块,同所述系统隔离模块交互,记录所述母/子操作系统模块的独享磁盘空间。
2.根据权利要求1所述的实现操作系统隔离的系统,其特征在于所述母操作系统模块为一个或多个;所述多个母操作系统模块独立设置,由所述系统隔离模块指定每个母操作系统模块的独享磁盘空间并记录于所述外存访问控制模块。
3.根据权利要求1所述的实现操作系统隔离的系统,其特征在于所述系统隔离模块设置在BIOS或EFI中,先于所述母操作系统模块启动。
4.根据权利要求1所述的实现操作系统隔离的系统,其特征在于所述系统隔离模块设置在所述母操作系统模块的内核之中和/或内核之外,与所述母操作系统模块同时启动。
5.根据权利要求1所述的实现操作系统隔离的系统,其特征在于还设有虚拟内存管理模块,该虚拟内存管理模块先于母/子操作系统模块运行;所述系统隔离模块设置在虚拟内存管理模块中,与虚拟内存管理模块同时启动。
6.根据权利要求1所述的实现操作系统隔离的系统,其特征在于所述系统还设有管理操作系统模块或服务操作系统模块,该管理操作系统模块或服务操作系统模块与母/子操作系统模块同时运行,或者,先于母/子操作系统模块运行,并为母/子操作系统模块提供磁盘访问接口;所述系统隔离模块设置在所述管理操作系统模块或服务操作系统模块的内核之中和/或内核之外。
7.根据权利要求1所述的实现操作系统隔离的系统,其特征在于所述外存访问控制模块包括母操作系统磁盘位图文件,用于记录所述母操作系统模块的磁盘存储块状态,标识所述母操作系统模块在磁盘上的独享磁盘空间;子操作系统磁盘位图文件,用于记录所述子操作系统模块的磁盘存储块状态,标识所述子操作系统模块在磁盘上的独享磁盘空间;子操作系统索引文件,用于标识所有被所述系统隔离模块转储的数据的调用地址与转储后的存储地址及二者间的对应关系。
8.根据权利要求1-7任一所述的实现操作系统隔离的方法,其特征在于包括如下步骤步骤1、系统隔离模块监控当前子操作系统模块对磁盘的读/写访问;步骤2、如果是读访问,系统隔离模块根据外存访问控制模块的记录返回母操作系统模块和/或当前子操作系统模块独享磁盘空间中的数据;步骤3、如果是写访问,系统隔离模块根据外存访问控制模块的记录写入当前子操作系统模块的独享磁盘空间或磁盘空白空间中,并修改外存访问控制模块的记录。
9.根据权利要求8所述的实现操作系统隔离的方法,其特征在于所述步骤1之前还包括如下步骤步骤11、系统隔离模块在外存访问控制模块中创建不可更改的母操作系统磁盘位图文件,标识所述母操作系统模块独享磁盘空间,该磁盘位图文件;步骤12、系统隔离模块引导建立一个或多个子操作系统模块,并在外存访问控制模块中为每个子操作系统模块创建对应的子操作系统磁盘位图文件和索引文件;所述子操作系统磁盘位图文件标识所述子操作系统模块的独享磁盘空间,所述索引文件标识所有被所述系统隔离模块转储数据的调用地址、转储后的存储地址及二者间的对应关系;步骤13、系统隔离模块根据所述母操作系统磁盘位图文件和所述子操作系统磁盘位图文件标识磁盘空白空间,该磁盘空白空间为所述母操作系统模块的磁盘位图文件及子操作系统模块的磁盘位图文件中标识的独享磁盘空间以外的磁盘空间。
10.根据权利要求8所述的实现操作系统隔离的方法,其特征在于所述步骤2具体为步骤201、系统隔离模块提取当前运行的子操作系统模块发起的读取磁盘数据操作的调用地址;步骤202、系统隔离模块根据调用地址查询当前子操作系统模块的索引文件;步骤203、如果索引文件中该调用地址位置记录有该调用地址对应的存储地址,所述系统隔离模块从存储地址位置读取数据并返回给当前子操作系统模块;步骤204、如果索引文件中的调用地址位置的记录为空,则表示该操作所请求的数据就在调用地址的位置,所述系统隔离模块从调用地址的位置读取数据并返回给当前子操作系统模块。
11.根据权利要求8所述的实现操作系统隔离的方法,其特征在于所述步骤3具体为步骤301、系统隔离模块提取当前运行的子操作系统模块发起的写入磁盘数据操作的调用地址;步骤302、系统隔离模块根据调用地址查询当前子操作系统模块的索引文件;步骤303、如果索引文件中该调用地址的位置记录有该调用地址对应的存储地址,系统隔离模块将该数据写入到存储地址位置;步骤304、如果索引文件中该调用地址位置记录为空,则系统隔离模块将数据写入磁盘空白空间,该写入地址为存储地址;同时,系统隔离模块在所述子操作系统模块的索引文件中该调用地址位置记录该存储地址,并将当前运行的子操作系统模块磁盘位图文件中的该存储地址的对应位置标记为有数据状态。
全文摘要
本发明涉及一种实现操作系统隔离的系统及方法,包括一母操作系统模块,至少一个子操作系统模块,包括用户对所述母操作系统模块所做的任何修改信息;一系统隔离模块和一记录所述母/子操作系统模块的独享磁盘空间的外存访问控制模块。所述系统隔离模块根据用户指令引导和/或建立子操作系统模块,指定和/或修改所述母/子操作系统模块的独享磁盘空间和磁盘空白空间;并监控所述母/子操作系统模块对磁盘的读/写访问。本发明实现操作系统隔离的系统和方法,可以在不占用更多磁盘空间的前提下创建不同的操作系统环境,并实现操作系统的隔离;减少了系统冗余,增加系统的安全性和可靠性;保护不同子操作系统模块下使用者的信息。
文档编号G06F9/46GK1920731SQ20051009338
公开日2007年2月28日 申请日期2005年8月23日 优先权日2005年8月23日
发明者张兴明, 梁金千 申请人:北京软通科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1