在多种存储介质上完整运行操作系统的方法及操作系统的制作方法

文档序号:6531731阅读:194来源:国知局

专利名称::在多种存储介质上完整运行操作系统的方法及操作系统的制作方法
技术领域
:本发明涉及计算机领域,尤其涉及一种在多种存储介质上完整运行操作系统的方法及操作系统。
背景技术
:计算机技术的发展已经经历了五十多年,作为其硬件架构经过多次革命和发展,成本持续降低,性能逐年翻番。而作为其灵魂和核心的软件-操作系统,因为垄断的原因,成本上涨了近十倍。在现有技术中,各种计算机包括x86或非x86架构的计算机,都以硬盘为操作系统的主要存储介质,主要是因为硬盘的速度快,容量大,可读写。但是硬盘的缺点也显而易见,首先是移动性差,即使是移动硬盘,与U盘或CF卡、MMC卡、SD卡等相比还是体积大、且笨重;其次是处于物理可读写状态,容易受到非法程序的影响,如病毒感染,黑客入侵,间谍程序驻留。再次是某些应用成本高,与同样容量的CD、DVD相比成本高几十到几百倍。而且长期以来由于安装复杂、驱动麻烦、数据恢复困难而使得绝大部分用户不敢随便重装操作系统;加之受到硬盘损坏、病毒感染、黑客入侵及间谍程序驻留等影响,使得含有重要数据的计算机成为事故高发地段,进而使得维护成本节节上升,形成IT行业投资的瓶颈。为了解决上述问题,本
技术领域
人员一直在不断努力,寻求能够不感染病毒,抵御黑客的操作系统,同时也在加强对硬件的即插即用,驱动非交互安装的研究。但是到现在为止,操作系统的安装、配置、升级以及和应用软件的无缝集成,都是没有解决的难题。随着存储介质的不断发展,接口速度的不断加快,操作系统运行于多种存储介质已经是必然的趋势,这也满足人们希望提高操作系统的移动性、易用性的要求。对计算机启动的分析,则基本是行业常识在“计算机启动过程详解”(2003-09-24,http∥www.blueidea.com/computer/system/2003/854.asp)和“win98启动过程详解”(2003-2-2111:34:24,腾龙信息)这两篇技术文件里,以dos+windows98为例详细解释。描述了从计算机加电,根据启动顺序(软盘、硬盘或光驱)选择存储介质进行系统引导,初始化dos内核,挂载存储介质为c盘,配置硬件驱动(在config.sys如光驱等),运行预设程序(autoexec.bat),GUI(图形用户界面)的引导和初始化工作的细致过程和原理。对光盘启动计算机的技术改进的描述在“启动光盘制作完全手册”(2002-11-29,JFXIE授权cdbest.net发布http∥www.cdbest.net/2003/ReadNews.asp?NewsID=1104)一文里表述了启动光盘的相关标准可启动CD-ROM(或称可引导光盘)的概念早在1994年(辉煌的DOS年代)就被提出来了,当时CD-ROM还是PC机的一个昂贵的附属设备(CD-ROM加声卡在当时被称为多媒体套件,带多媒体套件的电脑被称为多媒体电脑),而且在DOS平台下实现光盘引导还存在一些技术上的困难要在载入DOS之前就必须检测到CD-ROM,而这一点,当时从软件上是无法实现的,惟一的解决之道就是修改电脑主板上的BIOS(或是SCSI与IDE控制器上的BIOS),使之在硬件级而不是软件级首先识别CD-ROM,并自动加载CD-ROM上的启动引导器(存放在CD-ROM上特定区域的一段特殊代码,用以控制CD-ROM的启动)。1995年1月25日,PhoenixTechnologies与IBM联合发表了可启动CD-ROM格式规范(BootableCD-ROMFormatSpecification)1.0--E1Torito规范,该规范中定义了可启动CD-ROM的数据结构与映像数据的配置及光盘制作的一些详细说明。实际上,该规范也隐含地制定了能够读取可启动CD-ROM光盘的BIOS的规范,使得符合E1Torito规范的可启动CD-ROM在电脑上能够正常启动。另外上海金诺公司申请的专利(中国,公开号CN1409224A公开日期为2003年4月9日),在光盘引导后,先后在内存中创建虚拟软驱和虚拟硬盘,将光驱上的操作系统、应用软件和缺省配置都载入到内存中的虚拟硬盘内,用虚拟硬盘完成平常硬盘的工作,并且把有改动和增减的数据和配置保存到可写的存储介质上。这种技术方案中的虚拟软驱的方法是早已公知的技术,一般称为“软盘模拟”。用虚拟硬盘运行确实是一个少用的方法,只是内存虚拟硬盘大小受制于内存,而且将光驱上的操作系统、应用软件和缺省配置都载入到内存中的虚拟硬盘内会消耗不少时间,但是也会提高运行速度和稳定度,适合于系统维护、安全方面的小的应用。对其他存储介质的改进和设想在“制作Linux的优盘启动盘”一文(2003年1月8日《开放系统世界》杂志——赛迪网)里,具体记载了制作一个从优盘启动并且运行的简单的linux系统。在“u盘上的LINUX”(源于www.Linuxaid.com.cn网站,发表于2004年1月29日)也描述了更为详细的过程,但是都限于简单的linux系统。另外新加坡的专利(新加坡特科2000国际有限公司,公开号CN1536484A,公开日期为2004年10月13日)里,把上面两篇文章的基本内容进行了概念化的扩展,前面的启动部分都是公知技术,仅仅概念化的描述到操作系统的加载,至于如何才能正确加载操作系统(前面的技术文件里面指出了虚拟软驱和虚拟硬盘,加载initrd.img等方法)以及操作系统本身运行的任何特点和功能,都没有涉及。总之,现有技术大部分还只是研究和发展光盘启动技术,个别的研究涉及光盘外的其他存储介质,不过仅限于从从这些存储介质启动一个最简单的应急用的操作系统,主要作为系统维护工具,至于如何使这个操作系统能够在各种不同的硬件配置的计算机正常运行GUI(用户图形界面)等大部分用户和应用程序必需的基础关键应用则没有公开的技术资料涉及。而关于操作系统仅仅在不同存储介质上如何启动的技术分析和实现方法则是比较成熟,有很多公开的技术资料谈及这些。存在这种问题和缺点的原因在于计算机的硬件配置多种多样,而操作系统在不同硬件配置的计算机上启动后根本无法针对不同的网卡、声卡、鼠标、触摸板、显示卡、显示器等硬件自动安装驱动程序和重新配置,一般只有对计算机比较熟悉的用户和专业人员甚至是厂家技术支持服务人员才能完成这样的工作。更何况希望在硬盘以外的存储介质解决以上技术难题,这些存储介质有些容量小,所能容纳的驱动程序和配置程序有限,有些是只读存储器,不能进行操作系统运行时必须的临时文件的读写。这些都大大限制了在硬盘外的存储介质上完整运行操作系统的可能,使得这方面的技术探索成为公认的难题。要解决这方面的问题,遇到最大的困难首先是如何尽最大可能的驱动和配置计算机的网卡、声卡、鼠标、触摸板、显示卡、显示器等硬件,而且是自动驱动和配置,如果每次都需要手工安装驱动或配置,那么使用者就只会限制在专业人员的范围。其次是如何在只读的存储器上运行时建立临时文件的映射和使用,在容量小的存储介质上尽可能安装多的相关文件,提高存储介质的有效存储容量。
发明内容本发明要解决的问题是提供一种在多种存储介质上完整运行操作系统的方法及操作系统,以克服现有技术不能自动配置、驱动计算机设备的缺陷。为达到上述目的,本发明提供了一种在多种存储介质上完整运行操作系统的方法,包括以下步骤A、设置计算机使其支持从存储介质启动;所述存储介质中储存有计算机操作系统和应用程序。根据计算机类型的不同,设定计算机启动顺序的方式也不同,例如,在x86计算机中使用BIOS设定从存储介质启动计算机、在苹果机采用OpenFirmware设定从存储介质启动计算机。B、计算机加电后,根据启动顺序选择从步骤A预设的存储介质(光盘、U盘、读卡器、移动硬盘、硬盘等等)启动,激活操作系统引导器就可以加载操作系统内核。C、采用非交互方式循环驱动计算机设备,直到所述计算机设备驱动或使用成功,进行下一程序的运行。例如,可以通过循环加载计算机设备的驱动的方式实现非交互方式循环驱动计算机设备。其中,所述循环加载可以是按设定顺序加载所有驱动,如从最可能的驱动试到少用的驱动以及通用的标准驱动逐一轮流,直到某个驱动加载成功;也可以在人工设定的几个驱动范围内轮流加载,直到某个驱动加载成功。另外,所述计算机驱动并不一定能加载成功,只是可以增加加载成功的比率,因此,当无法加载成功时,程序运行完毕,进行下一程序的运行。步骤C中可以采用预设条件的方式判断计算机设备驱动或使用是否成功,所述预设条件可以根据计算机设备中的自身信息设定、也可以通过人工增加预设信息。其中,预设信息可以根据实际设备灵活设置,如USB、串行鼠标的类型信息、显示卡的分辨率、显示器的刷新率和显示模式、XWindow中的log文件记录等。当从计算机设备返回的信息符合预设条件时,则该计算机设备驱动或使用成功,否则,循环加载相关或通用驱动,直到该计算机设备驱动或使用成功。当操作系统文件储存在只读存储介质或文件系统具有只读特性(包括可读写存储介质以只读状态挂载运行和压缩的只读文件系统等等)时,步骤B与C之间还包括建立完整文件系统的步骤。其中,建立完整文件系统是通过可读写存储介质实现的,所述可读写存储介质包括易失性可读写存储介质或非易失性可读写存储介质。如果是光盘等只读存储介质或操作系统存储在包含压缩的文件系统的文件(如压缩的磁盘镜像文件)里,则一般首先在内存创建虚拟磁盘,并建立用于存储临时文件的相关目录并布置好,然后用挂载设备的方式把它们挂载到虚拟磁盘的一个目录下。而如果计算机系统中具有非易失性可读写存储介质(硬盘、U盘等),则可以不在内存创建虚拟磁盘,直接用硬盘、U盘建立完整文件系统。所述建立完整文件系统的步骤具体为在内存生成虚拟磁盘,将存储介质或文件系统挂载到虚拟磁盘上,再把虚拟磁盘里面目录重新映射和调整到最适合应用软件运行的结构;例如,可以将存储介质或文件系统挂载到虚拟磁盘的一个目录下,并通过目录链接或设备加载的方式,把虚拟磁盘里面目录重新映射和调整到与硬盘运行相似的结构。步骤C进一步包括采用非交互方式驱动计算机硬件,及采用非交互方式初始化用户图形界面运行用户图形界面程序。其中,所述采用非交互配置和驱动计算机硬件是通过按预设顺序循环测试性加载相关或通用驱动实现的。所述按预设顺序循环测试性加载相关或通用驱动实现非交互驱动计算机硬件具体包括以下步骤C11、读取计算机硬件信息;C12、判断是否检测到计算机硬件信息,如果检测到,加载相应硬件驱动,转步骤C14,否则转步骤C13;C13、按预设顺序循环测试性加载相关或通用驱动;C14、判断该计算机硬件的驱动程序是否被无异常加载,如果是,转步骤C15,否则转步骤C13;C15、运行下一步程序。步骤C12和C13之间还包括生成配置文件和/或激活所述计算机硬件。步骤C14之后,通过运行测试性应用程序确定该硬件是否可用。按照预设顺序探测性加载相关或通用驱动、激活所述计算机硬件和运行测试性应用程序确定该硬件是否可用都是通过包含预设条件方式实现的,该方法包括根据硬件特性或软件运行特点预先设定一反馈信息;程序运行后,提取相应的反馈信息,与所述预设反馈信息比较,如果相同,则该步骤成功;否则,转步骤C13依次往下执行,直到所述硬件能正常使用。其中,采用非交互方式初始化和运行用户图形界面程序是通过按预设顺序使用多种相关驱动和/或多种标准驱动和/或多种模式进行配置实现的。即,根据初始化过程的信息反馈的预设字符和返回码来判断是否成功,不成功就依次启动更基础的标准配置,直到初始化成功后才进行下面程序的运行,具体包括以下步骤C21、判断是否检测到显示卡或显示器,如果检测到,则转步骤C23,否则转步骤C22;C22、按预设顺序使用多种相关驱动和/或多种标准驱动和/或多种模式进行配置,并转步骤C24;C23、生成配置文件;C24、启动图形用户界面;C25、通过预设条件判断或测试软件测试所述用户图形界面程序是否启动成功,如启动成功则正常运行该用户图形界面程序,否则,转步骤C22。根据预设信息进行搜索包含操作系统的存储介质,按照程序预先设定好的标记搜索预设文件名或标记性特殊文件,进行挂接存储介质的搜索操作。一旦搜索到上述储存介质里面有相关系统运行文件,所述储存介质就成为包含操作系统的存储介质,按一定方式挂载。存储介质中存储的操作系统和应用程序,用压缩文件系统的技术保存和运行,将不包含启动程序在内的操作系统及应用程序的系统文件压缩,形成包含压缩文件系统的文件,可以作为存储介质挂载;或存储介质中存储的操作系统和应用程序,用只读文件系统的技术保存和运行。所述存储介质包括可读写存储介质和具有只读特性的存储介质或文件系统,所述可读写存储介质用于保存应用程序运行数据的临时文件目录和保存硬件信息的目录是即时生成的;所述具有只读特性的存储介质或文件系统用于存储包含启动程序在内的操作系统及应用程序。采用文件系统叠加(包括目录合并、内容合并、可堆叠文件系统)方式把内存的虚拟磁盘的目录和内容合并到非易失性可读写存储介质,使内存的虚拟磁盘的文件实际存放在非易失性可读写存储介质,达到只读存储介质或只读文件系统或只读状态运行的可读写存储介质的模拟可读写,称之为模拟可读写技术。所述文件系统叠加方式进一步包括将内存的虚拟磁盘中挂载的只读文件系统的目录和内容全部合并到非易失性可读写存储介质里面;当要删除一个文件时,设定一个特定的标记,在访问文件的时候,首先访问非易失性可读写存储介质里面的文件;增加新文件或修改旧文件,都是在非易失性可读写存储介质里面对应目录放置相关文件。所述文件系统叠加方式根据启动参数开关,控制通过目录链接和设备加载的方式,形成只读、可读写、临时文件内存运行和硬盘、U盘目录映射内存读写不同方式。本发明还提供了一种在多种存储介质中完整运行的操作系统,包括存储介质,用于存储启动程序在内的操作系统及应用程序;计算机设备,包括计算机硬件;所述在多种存储介质中完整运行的操作系统在启动计算机后,使计算机从预设存储介质引导,直到加载操作系统内核,初始化操作系统;并且在采用非交互方式驱动计算机设备中,依据预设条件来判断驱动和使用是否成功。其中,所述存储介质为只读存储介质或可读写存储介质。所述计算机设备还包括用户图形界面设备及应用程序;本发明采用非交互方式初始化和运行用户图形界面设备及应用程序,该方式是通过按预设顺序使用多种相关驱动和/或多种标准驱动和/或多种模式进行配置实现的。当所述存储介质为只读存储介质时,该系统中还包括内存,用于加载操作系统时,创建虚拟磁盘,建立用于存储临时文件的目录,并将存储介质挂载到虚拟磁盘的一个目录下,把虚拟磁盘里面目录重新映射和调整到与硬盘运行相似的结构。与现有技术相比,本发明具有以下优点本发明在启动计算机后,使计算机从预设存储介质引导,直到加载操作系统内核,初始化操作系统;然后采用非交互方式循环驱动计算机设备,直到所述计算机设备驱动、配置或使用成功。解决操作系统安装困难、配置困难的问题,在驱动上完全非交互驱动计算机设备,如鼠标、触摸屏和指点杆等指点设备,屏幕分辨率、刷新率等;并解决了非交互配置硬件和进入图形用户界面的难题,提供完整运行操作系统的可实施方法。本发明的进一步有益效果为通过预设条件来判断设备的驱动、配置或使用是否成功,如果计算机设备返回信息符合预设条件,则该计算机设备驱动、配置或使用成功,否则,循环加载相关或通用驱动,直到该计算机设备驱动、配置或使用成功。这种方法大大提高设备的正确驱动、配置和使用的概率,解决现有技术存在的一旦设备检测不到或检测错误就无法正确驱动、配置、使用该设备的常见问题。本发明的进一步有益效果为当在内存创建虚拟磁盘,并建立用于存储临时文件的相关目录并布置好,然后用挂载设备的方式把它们(包含操作系统的只读存储介质,压缩文件系统,只读文件系统等)挂载到虚拟磁盘的一个目录下,并通过目录链接和设备加载等方式,把虚拟磁盘里面目录重新映射和调整到平时硬盘运行的结构,让系统看起来好像是普通在普通的硬盘上运行一样,如此建立运行系统的完整的文件系统,该种完整的文件系统消耗内存很少,为后面运行图形用户界面和大型应用程序打下系统基础。本发明的进一步有益效果为可以从多种存储介质包括U盘、读卡器内存储卡、光盘、硬盘、火线接口存储设备里面的存储介质等运行系统,具有移动性。本发明可以从物理上只读的存储介质运行,如光盘、U盘锁定不可写状态、读卡器不可写状态,提高操作系统安全性,物理上解决操作系统文件被病毒和黑客等恶意程序修改和入侵问题。本发明的进一步有益效果为本发明支持透明压缩运行,提高存储介质的有效存储容量(大约增加2-3倍),所以节省了存储介质读取数据的时间。通过使用压缩文件系统的技术,可以把硬盘上1.2G的内容压缩到400-500M,很方便放到光盘或512M的U盘。另外,即使在硬盘运行也一样可以用这种方法增加有效存储容量。因此,在CPU运行速度的发展远远超过存储介质运行速度的发展的情况下,具有较大的优势。本发明的进一步有益效果为使用文件系统叠加方式达到模拟读写的效果,可以使只读存储介质如同硬盘一样使用。本发明的进一步有益效果为利用存储介质的只读物理属性,在物理原理上隔绝非法程序(病毒,黑客程序,后门软件,间谍软件,流氓软件等)储存或运行于存储介质,提高系统安全性;或利用可读写存储介质只读状态运行或只读文件系统,从文件系统底层防止非法程序(病毒,黑客程序,后门软件,间谍软件,流氓软件等)储存于存储介质,提高系统安全性。本发明的进一步有益效果为提高操作系统和应用软件的集成性方便集成各种应用。可以实现上网、聊天、听歌、记事、查字典、看照片、办公,游戏等等,同时可以与行业应用集成。本发明的进一步有益效果为使用多种中文图形窗口桌面管理系统、非交互挂载存储系统,实现完美中文挂载,方便用户使用。同时通过调整输入法启动顺序,支持在英文或其他文字的图形窗口桌面管理系统里面输入中文或其他相应的文字。本发明的进一步有益效果为应用程序的运行环境已经预配置好,也能够实现预设自启动程序和打开固定网页等功能。本发明的进一步有益效果为解决操作系统和应用程序安装后只能在本机运行的问题,增加操作系统和应用程序运行的灵活与移动性,使用户在移动应用环境下感受如同在本机。本发明的进一步有益效果为应用程序完整集成,大力降低安装配置成本,基本免除维护成本。本发明的进一步有益效果为软件升级只要更换新的介质,不用安装配置。图1是本发明在多种存储介质上完整运行操作系统的方法的基本原理的流程图;图2是本发明用非交互方式循环法进行计算机硬件非交互配置的流程图;图3是本发明用户图形界面配置的流程图;图4是本发明中用可读写存储介质和非压缩文件系统结合为例的主流程图;图5是本发明用只读存储介质和只读压缩文件系统结合为例的详细流程;图6是本发明多种存储介质上完整运行的操作系统的一个实施例结构图。具体实施例方式下面本发明将结合附图,对本发明的最佳实施方案进行详细描述。首先要指出的是,本发明中用到的术语、字词及权利要求的含义不能仅仅限于其字面和普通的含义去理解,还包括进而与本发明的技术相符的含义和概念,这是因为发明者要适当地给出术语的定义,以便对本发明进行最恰当的描述。因此,本说明和附图中给出的配置,只是本发明的首选实施方案,而不是要列举本发明的所有技术特性。本发明要认识到,还有各种各样的可以取代本发明方案的同等方案或修改方案。本发明在多种存储介质上完整运行操作系统的方法的基本原理流程如图1所示,包括步骤s101,设置计算机使其支持从存储介质启动,并设定从存储介质启动计算机。根据计算机类型的不同,设定计算机启动顺序的方式也不同,例如,在x86计算机中使用BIOS设定从存储介质启动计算机、在苹果机采用OpenFirmware设定从存储介质启动计算机。所述存储介质中存储有计算机操作系统或应用程序。所述操作系统包括Linux,BSD系列(freeBSD,openBSD,netBSD),各种unix(Solaris,AIX,HP-unix等),微软的DOS,windows等。所述计算机以中央处理器分类包括x86,x86-64,PPC,PPC64,Eden,Xbox,IA-64,Sparc64,Alpha,Mips,HPPA等。本发明可以采用多种存储介质,从数据稳定性来分,有非易失性存储介质(不依靠电源仍然能够保证数据不会被丢失)和易失性存储介质(如内存)。从能否便携,可分为移动存储介质和固定存储介质,其中移动存储介质包括闪存盘(U盘)、移动硬盘、闪存卡(如CF卡、SD卡)、MO等;固定存储介质如普通硬盘、ROM等。从数据可否读写可分为只读存储介质或可读写存储介质,其中只读存储介质包括ROM、CDROM、DVDROM等;可读写存储介质包括闪存盘(U盘)、移动硬盘、闪存卡(如CF卡、SD卡)、MO、EEPROM等。从存储介质的构成分,包括磁盘存储、光存储、磁光存储、ROM、快闪闪存存储器(各厂家生产的这类产品分别称为优盘、U盘、FreshMemory、USBFRESHDISK、USB-FreshDriver等)。上述存储介质与计算机操作系统通信的接口包括IDESCSISATAUSBfireware(IEEE1394)等。步骤s102,启动计算机,使计算机从预设存储介质引导,直到加载操作系统内核,初始化操作系统。计算机加电后,根据启动顺序选择从预设的存储介质(光盘、U盘、读卡器、移动硬盘、硬盘等等)启动,激活操作系统引导器就可以加载操作系统内核。内核可以初始化系统,检测并激活关键的硬件设备。而要在非硬盘存储介质上也可以达到如同在硬盘上一样完整运行操作系统的效果,就必须建立可以正常运行系统的完整的文件系统,为了兼容长期以来在硬盘下运行的应用环境的特点,这个文件系统最好与硬盘文件系统相似,使得应用软件在运行的时候可以与在硬盘上运行的模式一样。建立完整的文件系统有很多种方法,本发明通过挂载存储介质,并映射为与硬盘运行相似的结构来建立完整的文件系统。如果是移动硬盘或U盘等可读写存储介质,其挂载方式与硬盘基本一样。但是如果是光盘等只读存储介质或操作系统存储在包含压缩的文件系统的文件(如压缩的磁盘镜像文件)里,那与可读写存储介质的方式完全不一样,一般首先在内存创建虚拟磁盘,并建立用于存储临时文件的相关目录并布置好,然后用挂载设备的方式把它们挂载到虚拟磁盘的一个目录下,并通过目录链接和设备加载等方式,把系统介质(虚拟磁盘)里面目录重新映射和调整到平时硬盘运行的结构,而那些需要读写的文件和目录都会重新安排映射到可读写的虚拟存储里面,让系统看起来好像是在普通的硬盘上运行一样,如此建立运行系统的完整的文件系统。步骤s103,采用非交互方式循环驱动计算机设备,直到所述计算机设备驱动、配置或使用成功。实际领域中可以通过各种不同方式判断计算机设备驱动、配置或使用成功,本例中采用预设条件(所述预设条件可以根据计算机设备中的自身信息设定、也可以通过人工增加预设信息)的方式判断设备的驱动、配置或使用是否成功,即当从计算机设备返回的信息符合预设条件时,则该计算机设备驱动、配置或使用成功,否则,循环加载相关或通用驱动,直到该计算机设备驱动、配置或使用成功。由于所述计算机设备包括计算机硬件(包括主板、CPU、鼠标、触摸屏和指点杆等指点设备、声卡、网卡、显示卡、显示器等)和硬件驱动程序、硬件配置程序、硬件测试程序、用户图形界面程序、窗口管理器、应用程序等,因此本发明可以采用非交互方式配置和驱动计算机硬件,也可以采用非交互方式配置和运行用户图形界面程序。上述非交互配置都是必须自动完成,不用用户手工选择,其中,自动检测这些设备并且正确配置这些设备的方法包括两种一种是根据内核初始化的信息反馈加载设备,内核初始化的时候,会从BIOS等信息源中获得和激活很多基本硬件设备,内核本身也提供探测硬件的机制,以便初始化操作系统。已有技术会根据内核提供的这些信息,加载(load)相应的模块。另一种是通过非交互方式循环法循环加载设备驱动,因为有些设备并不能被正确检测,而且内核检测的设备也有限,所以很多硬件设备并不能够用上述方法成功配置,就采用非交互方式循环法方式,具体就是探测性加载相关和通用驱动和挂载相关设备,根据模块加载(load)或设备挂接(mount)甚至运行功能测试性程序等方式,根据信息反馈的预设字符和返回码来判断是否成功,如果符合预定的预设字符和返回码就按照预设的程序继续运行,这样可以正确配置更大范围的硬件。该方法的流程如图2所示,包括步骤s201,读取计算机硬件信息。步骤s202,判断是否检测到计算机硬件信息,如果检测到,加载相应硬件驱动,则转步骤s204,否则执行步骤s203。步骤s203,按预设顺序循环测试性加载相关或通用驱动;其中,按照预设顺序循环探测性加载相关或通用驱动是通过非交互方式循环法实现的,该方法包括根据硬件特性或软件运行特点预先设定一反馈信息;程序运行后,提取相应的反馈信息,与所述预设反馈信息比较,如果相同,转步骤204;否则,再循环探测性加载相关或通用驱动。步骤s204,判断该计算机硬件的驱动程序是否被无异常加载,如果是,转步骤s205,否则转步骤s203。步骤s205,运行下一步程序。在计算机硬件配置完成后,就可以进行最关键的图形用户界面的初始化了,因为现在的应用程序几乎都是图形界面的,因此能否正确进入图形界面就成为是否能完整运行操作系统的关键。而要完成这个任务确实有很大的困难,因为这必须正确驱动和配置显示卡和显示器,不过这两种硬件设备种类繁多,虽然本发明尽量包含更多的驱动甚至包括专门的3D显卡的驱动,但是一个操作系统不可能包含所有的这些设备的驱动程序,另外如何正确设置显示模式使用户有很好的视觉感受也是很令人头痛的事情。正因为如此,包括windows在内的所有操作系统,在不同的显示设备的计算机上都必须手工安装指定的显示卡驱动程序,手工配置显示模式。本发明通过寻求显示卡的一些最基本的共同特点,进行驱动来提高驱动的成功率。显示器则利用显示器的国际基本标准,通过程序取得显示器的详细信息。对于个别不支持标准的显示器,一般通过自动设置适中的显示器的分辨率和垂直回扫频率范围和水平回扫频率范围来达到进入图形用户界面的目的,成功率比现有技术大大提高,通过这种配置还不能正确运行图形界面的硬件,基本都是人工配置也无法成功的古董级硬件。下面对相关标准举例说明,虽然以后技术和标准会变化,但是总是有同样规律可以寻找和利用,因此,这个技术方法有较大的适用范围显示卡的基本标准-VGA(VideoGraphicsArray);VESA(VideoElectronicsStandardsAssociation);fbdev(FrameBufferDevice)等。显示器的基本标准-vbe(VESA的BIOS级扩展)等。本发明依然通过非交互方式循环法循环初始化图形用户界面,根据初始化过程的信息反馈的预设字符和返回码来判断是否成功,不成功就依次启动更基础的标准配置,直到初始化成功后才进行下面程序的运行,具体流程如图3所示,包括以下步骤步骤s301,判断是否检测到显示卡或显示器,如果检测到,则转步骤s303,否则转步骤s302;步骤s302,按预设顺序使用多种相关驱动和/或多种标准驱动和/或多种模式进行配置,转步骤s304;步骤s303,生成配置文件;步骤s304,启动图形用户界面;步骤s305,通过预设条件判断或测试软件测试所述用户图形界面程序是否启动成功,如启动成功则正常运行该用户图形界面程序,否则,转步骤s302。另外,本发明提供了一种自动搜索可能的存储介质的方法,因为很多种类的存储介质,包括U盘在内的设备的启动,因为与启动相关的标准还不成熟或者普及,还远远不能达到像软盘、硬盘、光盘那样的几乎在每台计算机上能够正常启动,这就会形成在光盘启动,U盘运行的情况,这种情况在新的存储介质发展过程中一直会存在很久。为了解决这个问题,本发明提供的解决方案为自动搜索可能的存储介质,具体分为以下几步首先,在操作系统引导器加载操作系统内核后,加载映象文件到内存,形成简单的基础运行系统。在映象文件里面,有专用的程序和驱动相互配合,利用内核在初始化阶段探测到的很多PC硬件资源和提供的探测机制,同时通过非交互方式循环法循环探测性加载相关和通用驱动和挂载相关设备来搜索光盘、USB、火线、硬盘、scsi,ide-raid等储存介质的相关系统运行文件(对于特殊驱动可以临时在软盘和U盘等可挂载设备中加载)。然后,在上述已经挂接存储介质的基础之上,按照程序预先设定好的标记搜索预设文件名或标记性特殊文件,比如somelabel或含有预设标记和格式的文件,进行挂接存储介质的搜索操作。一旦搜索到上述储存介质里面有相关系统运行文件,根据流程图1中所述方法形成完整的文件系统。由于有些存储介质的容量有限,像U盘、CF卡、SD卡等一般流行的是128M到256M,CD-ROM最大也只有700M左右,而一个具有图形用户界面操作系统体积一般都在1G以上,何况为了能够适应存储介质在不同硬件配置的计算机上运行,还要尽量多包含各种驱动程序,这使体积更加庞大,同时还要集成常见应用软件,所以在上述的存储介质上完整运行图形用户界面的操作系统首先碰到的就是存储介质的容量问题,解决方法是采用压缩的方式存储数据,但是一般的压缩方式不能满足要求,因为它们都要完全解压缩后才能运行里面的程序,这样时间长,对内存要求大,基本没有实际价值。本发明采用的方法是压缩文件系统(compressedfilesystem),该系统能够以很好的比例压缩硬盘里面的操作系统和相关应用,同时具备完整的文件系统特性,更加有价值的是,在使用过程中,不必首先解开压缩文件,因为这个压缩文件系统可以作为一个存储介质那样被挂载(mount,消耗内存只有几百K到几M),使得它对操作系统来说就像是一个磁盘。运行程序的时候,该系统像一个磁盘那样只把必要的文件拷贝到内存中,在这个过程中自动解压缩。对于只读的存储介质或压缩文件系统上完整运行操作系统,本发明的方法与现有技术不同的是绝对不把该几十M到几百M文件载入到内存,但是本发明也在内存形成一个虚拟存储,它的结构与硬盘相同,首先使用内存,如果内存不够,根据情况使用硬盘作为扩展存储容量的来源。本发明整个文件系统虽然目录结构和文件与硬盘基本相同,但是它们的属性却完全不一样,这个文件系统里面除了用于保存应用程序运行数据的临时文件目录和保存硬件信息的目录是即时生成的,真正建立在可读写的虚拟存储上,具有可读写的属性外,其他的目录和文件其实都是映射到只读存储介质上或只读的压缩文件系统上,根本不可能被修改。这就具有下面的特征在只读存储介质上运行操作系统和应用软件,在物理原理上隔绝非法程序(病毒,黑客程序,后门软件,间谍软件,流氓软件等)储存或运行于存储介质,提高系统安全性。或通过压缩文件系统运行操作系统和应用软件,从文件系统底层防止非法程序(病毒,黑客程序,后门软件,间谍软件,流氓软件等)储存于存储介质,提高系统安全性。上述用在只读存储介质和压缩只读文件系统的技术,完全可以用在可读写的存储介质上,只是把它当成只读存储介质处理就可以,这样的好处还是从文件系统底层防止非法程序(病毒,黑客程序,后门软件,间谍软件,流氓软件等)储存于存储介质,提高系统安全性。当然还可以延长存储介质的寿命,扩大有效存储容量。另外,本发明可以实现模拟可读写(即文件系统叠加方式,包括目录合并、内容合并、可堆叠文件系统)技术。在使用只读存储介质或文件系统完整运行操作系统的时候,就会碰到两个问题一是如何保存用户的软件配置和产生的数据文件等问题,现有技术一般是在内存建立一个虚拟磁盘,把运行过程的临时文件和产生的数据文件先放到虚拟磁盘里面,再手工启动软件复制到软盘或U盘等可读写存储介质里面。但这是一个手工完成的过程,需要耗费用户时间和精力,而且在硬盘上使用习惯了的用户也经常没有这种习惯,经常是用完电脑直接关机,认为文件只要保存了就一定存在,而没有想到是保存在内存里面的虚拟磁盘,一断电就会丧失所有的资料。二是如何进行软件的删除和安装、升级等维护工作。本发明采用与上述技术方案不同的模拟可读写的方案解决这个问题。针对上述第一个问题,本发明把内存的虚拟磁盘的目录和内容合并到到可读写的存储介质里面,用户运行操作系统和应用软件产生的数据都会即时地保存在硬盘、U盘等存储介质里面,即使突然断电也不会丢失已经保存的资料,而且节省内存。针对上述第二个问题,本发明把内存的虚拟磁盘包括挂载的只读文件系统全部的目录和内容合并到到硬盘等非易失性可读写存储介质里面,当要删除一个文件时,做一个特定的标记,在访问文件的时候,首先访问非易失性可读写存储介质里面的文件,使得系统看起来好像真的把只读存储器上的文件删除了一样。增加新文件和修改旧文件,则在对应目录放置相关文件。这样使得原来只读的存储介质和只读的文件系统看起来好像完全可以读写,与硬盘等可读写存储介质一样,可以安装删除软件,可以自动保存相关设置和产生的数据。至于是否启用这种技术或者在什么时候启用这种技术,即可以在系统启动的时候通过参数开关来决定,也可以在系统运行一定时间后,根据需要手工启动,兼顾安全性和易用性。经过以上的技术方法的综合和灵活运用,本发明可以在不同的存储介质特别是只读存储介质上完整运行操作系统,在不同硬件配置的计算机上成功启动用户图形界面,而且消耗的内存和CPU还很低,因此可以运行大型应用软件,而这些在
背景技术
所述的产品和方案里面以及微软等公司自己出品的WindowsPE都未能表明支持的事实和明确指出支持的理由,包括office系列,大型游戏,CAD,三维设计渲染软件,支持中文的office软件如中文2000、永中office,和vmware、qemu等虚拟机软件(表明在里面可以再安装windows、BSD、unix等操作系统)。下面结合具体实施例的流程图对本发明进行详细描述。请参照图4(主流程,用可读写存储介质和非压缩文件系统结合为例);和图5(详细流程,用只读存储介质和只读压缩文件系统结合为例)。因为图5包含所有图4的技术特征,因此下面实施方式按照图5展开说明,步骤的标号与图4中的标号一致。为了更明确说明实施方式,在每条说明下专门列出可实施技术举例,所属
技术领域
的技术人员,在不需要创造性劳动的情况下,只要根据具体情况选择相关技术,进行一般标准的代码编写和技术组合,就能够实现该发明。本实施方式可以在多种硬件平台和多种操作系统基础上实现。硬件方面由于现在x86的硬件最为普及,对存储介质的支持也最多,所以硬件平台首先选用x86。操作系统方面包括多种操作系统实现,有Linux,BSD系列(freeBSD,openBSD,netBSD),unix(Solaris,AIX,HP-unix等),微软的DOS,windows等。因为微软系列的版权问题,本发明不能随意合法的修改其系统。同样的原因本发明也排除了各种私有的unix,当然它们基本也不支持x86。余下的主要是linux和BSD系列,其实这几类系统除了内核不同以外,有90%以上的软件包都是从同样的源代码编译的,本发明也成功地实现了多种硬件平台上的多种操作系统的实施。但是鉴于linux系统的硬件支持更加完整,本发明的实施技术举例建立在linux的基础之上。下面的实施技术举例包含了所有的技术方案。步骤s401,要能够从各种存储介质启动操作系统,关键就是操作系统引导器的安装,这些操作系统引导器都有完整的说明,具体步骤如下首先在x86系列计算机的BIOS里面设置从存储介质启动的启动顺序,计算机加电自举后,按照BIOS里面的设定从可引导的介质(包括光盘、USB/火线接口设备、硬盘、软盘等)启动计算机,读取存储介质的启动信息,激活操作系统引导程序,引导程序就可以加载操作系统的内核,在需要支持更多的存储介质等硬件的驱动情况下,加载映象文件,形成简单的基础运行系统。其中,操作系统引导程序可以用到的实施技术包括Isolinux(对光盘启动支持良好)、syslinux(支持USB、光盘等引导)、grub(支持USB、光盘、硬盘、火线等设备引导,支持菜单编辑)、lilo(传统的引导器,支持硬盘等引导)ntload(支持硬盘引导)。内核文件指linux内核,现在实现的主要是linux2.4和2.6的内核。映象文件可以采用包含loop_rootfs文件格式的系统,在linux下一般称为initrd.img,在很多linux版本里面都会包含,本身就是一个包含一些驱动和基本系统运行的所有文件的简单的基础运行系统。根据内核是否包含压缩模块,支持非压缩格式和压缩后的格式,在内存中释放形成简单的基础运行系统。在加载映象文件前,内核在内存形成一个虚拟存储,它的结构与硬盘相同,首先使用内存,如果内存不够,根据情况使用硬盘作为扩展存储容量的来源,这个简单的基础运行系统就在虚拟存储里面运行。步骤s402,搜索含有相关系统运行文件的储存介质,在映象文件里面,有专用的程序和驱动相互配合,利用内核在初始化阶段探测到的很多PC硬件资源和提供了的探测机制,同时通过非交互方式循环法循环探测性加载相关和通用驱动和挂载相关设备来搜索光盘、USB、火线、硬盘、scsi,ide-raid等储存介质的相关系统运行文件。对于特殊驱动可以临时在软盘和U盘等可挂载设备中加载。加载设备的方法包括多种,本实施例仅举例说明一种是根据内核初始化的信息反馈加载设备在内核初始化的时候,会从BIOS等信息源中获得和激活很多基本硬件设备,以便运行基本系统。本发明根据内核提供的这些信息,加载(load)相应的模块,并且按照对应的文件系统格式(比如ext2/ext3/iso9660/reiserfs/vfat/reiser等)挂载(mount)相应的储存介质,并且读其文件名和目录。另一种是非交互方式循环法加载设备当有些设备并不能够用第一种方法成功加载,就采用非交互方式循环法加载对于不能正确自动检测的设备,探测可能的驱动和配置比如加载相关和通用驱动,具体就是从最有可能的驱动到少用的驱动逐一轮流加载,直到某个驱动加载成功(可以用程序检测从/proc下的相应硬件信息文件,也可以检测某些命令的返回信息,如lsmod)才终止这个过程。根据与设备相关的应用程序的运行状态来确认驱动和配置的正确性驱动加载后,就进行设备的激活,根据设备的属性用相应的激活程序,如存储介质用挂载(mount),显示卡、显示器用启动X服务器等图形用户界面的方式具体应用设备,再根据设备激活和应用的信息反馈(一般包含预设字符或成功、失败的返回码),来确认设备是否被正确驱动、配置和使用。如果与设备相关的应用程序启动不正常,判断设备没有被正确驱动、配置和使用,回到还没有测试加载的驱动进行重复流程。直到设备被正确驱动、配置和使用。对于存储介质也一样,用非交互方式循环法循环探测性加载相关和通用驱动和挂载相关设备,根据模块加载(load)和设备挂接(mount)的信息反馈的特定字符和返回码来判断是否成功,如果符合预定的特定字符和返回码就按照特定的文件系统格式(比如ext2/ext3/iso9660/reiserfs/vfat/reiser等)挂载相应的存储器,并且读其文件名和目录。对于确实需要特殊驱动才能驱动的硬件,可以把驱动放在内核支持的储存介质里面(比如软盘和U盘),在系统启动的时候进行读取,完成相关后续工作。步骤s403,搜索预设文件名或标记性特殊文件,在已经挂接储存介质的基础之上,按照程序预先设定好的标记搜索预设文件名或标记性特殊文件,比如somelabel或含有预设标记或格式的文件,程序运行转到步骤s404。步骤s404,建立运行系统的完整的文件系统一旦搜索到上述储存装置里面有相关系统运行文件,这个储存装置就成为包含操作系统的系统介质,马上挂载这个系统介质到一个目录下,用挂载存储介质的方法挂载系统介质里面压缩文件包含的只读压缩文件系统,并通过目录链接和设备加载的方式,把系统介质里面目录重新映射和调整到平时硬盘运行的结构,接着创建临时文件需要的相关目录,让系统看起来好像是普通在普通的硬盘上运行一样,如此建立运行系统的完整的文件系统。只读文件系统的模拟可读写方式在建立运行系统的完整的文件系统时,会根据启动参数开关,控制通过目录链接和设备加载的方式,形成只读、可读写、临时文件内存运行和硬盘、U盘目录映射内存读写等不同方式。比如,如果搜索发现并可以正确挂接USB盘,马上搜寻DIR/DIR这个预设文件名的文件。如果发现有DIR/DIR这个预设文件名的文件,即刻挂接USB盘到虚拟存储的一个目录下,如/mydisk目录;然后,将DIR/DIR这个预设文件名的文件,挂到/pressfiles目录下;然后,在这个虚拟存储上建立一些目录和文件,主要是/tmp、/var、/etc、/proc、/home等目录,用来存放操作系统运行时必须产生的临时文件和硬件设备信息文件等等过程文件;最后,用快捷方式(ln-nsf)或类似技术(如mount-bind等)映射调整所有文件和目录,把虚拟磁盘里面目录重新映射和调整到平时硬盘运行的结构一样,例如把在挂载压缩只读文件系统目录下的/pressfiles/usr、/pressfiles/boot、/pressfiles/lib等变成/usr、/boot、/lib,让系统看起来好像是普通在普通的硬盘上运行一样,与在硬盘上运行系统基本一样。对于压缩的只读文件系统,具有下面两个特点一个是压缩的文件系统,内部结构类似硬盘里面的文件系统,只读属性;另一个是在内核模块的支持下,可以用设备挂载的方式挂载,使它看起来就像一个磁盘,也确实同磁盘一样,程序运行时才把必要的文件释放到内存,方便运行。这个过程,用户时感觉不到的。现在可以用以下技术做到,新的技术也在研发之中如cramfs(可以用loopback的方式就可以挂载,有一定限制压缩的目标每个文件大小不可超过16MB;整个压缩文件不可超过256MB)、SquashFS(支持linux2.4和2.6内核,压缩文件实际使用可以达到1G以上)、zisofs(比较旧的技术,稳定性强)。本实施例可实现只读存储介质和/或只读方式挂载的的可读写存储介质和/或只读文件系统模拟可读写,采用文件系统叠加(包括目录合并、内容合并、可堆叠文件系统)技术,内核模块可以使用unionFS(支持linux2.6内核,在快速发展成熟中)、和ovlfs(现在只linux2.4内核,非常稳定)。相关启动参数开关类型包括(1)启用文件系统叠加,但挂载在内存中;/bin/mount-tunionfs-onoatime,dirs=/ramdisk=rw/DIR=ro/UNIONFS/UNIONFS;(2)启用文件系统叠加,但挂载在硬盘某个分区如将/dev/hda5挂载为unionfs,/bin/mount-tunionfs-onoatime,dirs=/dev/hda5=rw/DIR=ro/UNIONFS/UNIONFS;(3)启用文件系统叠加,但挂载在硬盘某个分区的预设目录如将/dev/hda5/ramdisk/RW挂载为unionfs,/bin/mount-tunionfs-onoatime,dirs=/dev/hda5/ramdisk/RW=rw/DIR=ro/UNIONFS/UNIONFS;(4)将内存里的UNIONFS储存到硬盘中以便下次读取mkdir-p/mnt/分割区代号/UNIONFS;cp-r/ramdisk/RW//mnt/分割区代号/UNIONFS/。系统启动后应用模拟可读写,在系统以只读文件系统正式运行一段时间后(比如进入GUI界面运行ERP、CRM等业务应用软件,这样安全性强),如果临时需要安装升级软件,可以临时加载内核模块,启用模拟可读写,但挂载在硬盘某个分区的预设目录。如insmodunionfs;/bin/mount-tunionfs-onoatime,dirs=/dev/hda5/ramdisk/RW=rw/DIR=ro/UNIONFS/UNIONFS。步骤s405,搜索和配置相关设备和结构。搜索和配置相关设备和接口,利用内核在初始化阶段探测到的很多PC硬件资源和提供的探测机制,同时通过非交互方式循环法循环探测性加载相关和通用驱动和挂载相关设备来搜索相关设备和接口,包括apic,agp,apm,audio,ddc,dhcp,fstab,firewire,pcmcia,scsi,swap,USB等等,主要进行接口激活。这一步类似步骤s402,也用三种方法进行搜索探测。如果是储存介质,就按照对应的文件系统格式(比如ext2/ext3/iso9660/reiserfs/vfat/reiser等)加载相应的储存介质;非储存介质根据获取详细硬件信息,进行相应的接口和设备激活。步骤s406,非交互配置鼠标、触摸屏和指点杆等指点设备、声卡、显卡、显示器、网卡等设备。通过步骤s405的探测,非交互配置鼠标、触摸屏和指点杆等指点设备、声卡(ALSA和OSS)、显卡、显示器、网卡等设备。特别是鼠标、显卡、显示器的配置最为关键。从步骤s405完成读取硬件信息的功能,然后将这些硬件信息转换成硬件配置文件并保存下来,然后调用相应驱动程序驱动硬件设备。如果不能正确驱动,还会通过非交互方式循环法循环探测性加载相关驱动来获得正确配置和驱动。其中,声卡包含ALSA和OSS等驱动包非交互循环测试加载使用。其中,鼠标类型检测和配置,也是循环检测这些类型,并从反馈信息中判断配置是否成功。(1)USB鼠标加载uhci-hcdohci-hcd等相关模块,通过lsUSB的反馈信息判断是否存在USB鼠标。(2)PS/2接口鼠标linux内核标准支持。(3)串口鼠标加载serial等相关模块,从/dev/ttyS*读到鼠标的类型信息。最后通过获取/dev/mouse的信息来确定鼠标是否被正确配置。步骤s407,非交互启动图形界面(X服务器等)。首先进行显示卡和显示器检测,Xconfigurator下有系列程序如ddcprobe等探测和配置显示卡的显卡驱动模块,显示器的分辨率和刷新率,具体包括垂直回扫频率范围和水平回扫频率范围等等,如果显示卡是包含在操作系统自带驱动程序的系列之内,可以形成正确的配置,使用相应的驱动程序驱动图形用户界面。但也有检测不到或检测不正确的情况,比如把新的型号设备检测成旧的就是常见的情况之一,这在微软的windows系列也会存在。因此只有启动图形用户界面进行实际测试才能判断。启动图形界面,同时监测是否启动成功,如果没有成功进入图形界面,会用非交互方式循环法循环尝试启动与检测到的驱动类似的近似驱动、相关驱动,然后是通用驱动。通用驱动的使用举例轮流使用下面的通用标准驱动显卡和显示器,直到正确启动为止。VESA(VideoElectronicsStandardsAssociation)基本绝大部分显示卡支持这种运行方式。这是国际视频电子标准协会(VideoElectronicsStandardsAssociation)制定的称为VESA的协议,其实在dos下很多程序就把它就开始作为一个标准显示模式进行编程了。XFree864.x下可以支持很多显示卡的图形初始化。fbdev(FrameBufferDevice)在有时显示卡对应的XFree86驱动程序不能正常工作时,而您又需要比较丰富的色彩时,启动FrameBuffer往往是必须的选择。启动FrameBuffer时,XFree86启动的分辨率由FrameBuffer的启动模式决定。帧缓冲(FrameBuffer)设备是指一种不带视频加速的X11支持设备。启动此方式的优点主要有两点其一是在控制台方式工作时,您能设置更大的控制台显示区,比如设置1024x768分辨率大小的控制台;其二是可以在其上启动XF86_FBDev(对于XFree864.x下,使用启动模块fbdev);启动FrameBuffer必须设置内核的启动显示模式,设置这个参数是通过内核参数vga实现的。对于某个特性如显示模式的色深也同样可以采取类似的方法,从最常用的16位色,24位、32位、8位色深一一测试,当然大部分在16位色就成功了。根据预设条件-Xwindow启动后的信息反馈的预设字符和返回码(Xwindow启动过程中会有log文件记录运行状态,启动成功后有特定程序X正在运行,还有一些检测程序可以检测正在运行的X服务器的分辨率、色深等等,这些都是确定Xwindow是否运行成功的信息源)来判断是否成功,如果符合预定的预设字符和返回码就进行下面程序的运行。步骤s408,启动中文等相应输入法。在这步启动中文等相应输入法可以同时应用多种中文图形窗口桌面管理系统,也可以在英文或其他文字的图形窗口桌面管理系统里面输入中文或其他相应的文字。步骤s409,进入中文图形窗口桌面管理系统,根据参数开关非交互挂载存储系统。现在可以支持的图形窗口桌面管理系统实施技术包括fluxbox,icewm,kde,larswm,twm,wmaker,gnome,xfce,技术上还可以支持其他的窗口桌面管理器,本质上这些管理器都只是一个应用程序。非交互挂载存储系统实施技术包括硬盘(支持fat/ext2/ext3/reiserfs/vfat/reiser/NTFS/HPFS等格式,对于FAT/NTFS分区的通过设定本地编码和挂载编码如UTF8等实现完美中文挂载)、USB接口设备(包括U盘,移动硬盘,读卡器的MMC/SD/CF/XD等存储卡)、火线设备、光驱(CD和DVD)、软盘。步骤s410,加载上网、聊天、听歌、记事、查字典、看照片、办公、游戏等应用程序运行环境,使程序可以正常运行。应用程序的运行需要已经配置好的运行环境,这种环境同系统核心,设备驱动以及在系统内安装了那些应用软件都是互相有关联的,在本发明中,这些都事先预配置好,进行保存。在系统启动后,进行恢复加载,使得应用程序的运行如同在硬盘运行一样。具体实现方式包括1.把相关设定保存在预设目录/etc/myconfig/中,系统启动时复制到应用程序相应的配置目录下。2.通过提取U盘或硬盘等储存介质里面指定目录获取相关设定,参数类似myconfig=/dev/sdal。3.通过非交互搜索U盘或硬盘等储存介质里面指定目录获取相关设定,参数类似myconfig=scan。4.把相关设定保存在预设映象文件里面,通过loopback的方式挂载映象文件,获取相关设定,可以指定也可以搜索相关映象文件比如myhome=/mnt/sdal/myconfig.imgmyhome=scan。步骤s411,运行预设自启动程序和打开预设网页、文件,用户不能随意更改。如果运行在只读介质上,所以不能随意更改。可以作为广告、网站、程序、专业行业应用的入口,这些程序可以做到全屏,用户无法关闭也无法启动另外的程序,具有很强的定制和安全特性。具体实现方式包括1、自启动浏览器,打开预设网站或主页Autostartfirefoxwww.163.com。2、自启动演示应用程序,打开指定演示文档AutostartOpenofficedemo.ppt。3、自启动多媒体播放程序,播放指定影片Autostarttotemdemo.avi。4、自启动指定的政府电子政务程序。5、自启动企业的ERP系统。步骤s412,进入用户图形环境,等待用户交互操作应用程序。系统等待用户通过鼠标、触摸屏和指点杆等指点设备和键盘输入指令和信息,进行处理,输出计算机处理信息,等同一般系统正常操作。本发明还提供了一种在多种存储介质上完整运行的操作系统,如图6所示,包括存储介质100(包括只读存储介质或可读写存储介质,本实施例以只读存储介质为例说明),用于存储启动程序在内的操作系统及应用程序;内存200,用于加载操作系统时,创建虚拟磁盘,建立用于存储临时文件的目录,并将存储介质挂载到虚拟磁盘的一个目录下,把虚拟磁盘里面目录重新映射和调整到与硬盘运行相似的结构。其中所述存储介质100中包括操作系统单元101、启动程序单元102和驱动程序单元103。存储介质100为只读存储介质,所述只读存储介质用于存储包含启动程序在内的操作系统及应用程序。还包括可读写存储介质300,所述可读写存储介质300用于保存应用程序运行数据的临时文件目录和保存硬件信息的目录是即时生成的;计算机设备400,包括计算机硬件(鼠标、计算机接口等计算机硬件设备)和显示输出设备(显示卡、显示器等图形界面配置设备)。所述在多种存储介质中完整运行的操作系统根据存储介质的各种启动标准读取存储介质的启动信息,加载操作系统的内核,在启动计算机时,从预设存储介质启动,直到加载操作系统的内核;并且在采用非交互方式循环驱动计算机设备中,依据预设条件等来判断驱动和配置是否成功。综上所述,本发明可以做到操作系统的免安装,免配置,集成应用,免维护,最大限度降低用户成本。使操作系统和应用软件完全集成,方便升级。同时把运行介质扩大到光盘、U盘和存储卡上,可以从技术底层避免病毒、间谍软件的感染,并且有效地抵御黑客的入侵。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。权利要求1.一种在多种存储介质上完整运行操作系统的方法,其特征在于,包括以下步骤A、设置计算机使其支持从存储介质启动;B、启动计算机,使计算机从预设存储介质引导,直到加载操作系统内核,初始化操作系统;C、采用非交互方式循环驱动计算机设备,直到所述计算机设备驱动或使用成功或程序运行完毕,进行下一程序的运行。2.如权利要求1所述在多种存储介质上完整运行操作系统的方法,其特征在于,所述步骤C中依据预设条件来判断设备的驱动或使用是否成功。3.如权利要求2所述在多种存储介质上完整运行操作系统的方法,其特征在于,当操作系统文件存放在只读存储介质或文件系统具有只读特性时,步骤B与C之间还包括建立完整文件系统的步骤。4.如权利要求3所述在多种存储介质上完整运行操作系统的方法,其特征在于,所述建立完整文件系统是通过可读写存储介质实现的,所述可读写存储介质包括易失性可读写存储介质或非易失性可读写存储介质。5.如权利要求4所述在多种存储介质上完整运行操作系统的方法,其特征在于,易失性可读写存储介质包括内存,使用内存建立完整文件系统的步骤具体为在内存生成虚拟磁盘,将存储介质或文件系统挂载到虚拟磁盘上,再把虚拟磁盘里面目录重新映射和调整到最适合应用软件运行的结构。6.如权利要求5所述在多种存储介质上完整运行操作系统的方法,其特征在于,将存储介质或文件系统挂载到虚拟磁盘的一个目录下,并通过目录链接或设备加载的方式,把虚拟磁盘里面目录重新映射和调整到与硬盘运行相似的结构。7.如权利要求2所述在多种存储介质上完整运行操作系统的方法,其特征在于,步骤C进一步包括采用非交互方式驱动计算机硬件,及采用非交互方式运行用户图形界面程序。8.如权利要求7所述在多种存储介质上完整运行操作系统的方法,其特征在于,所述采用非交互驱动计算机硬件是通过按预设顺序循环测试性加载相关或通用驱动实现的。9.如权利要求8所述在多种存储介质上完整运行操作系统的方法,其特征在于,所述按预设顺序循环测试性加载相关或通用驱动实现非交互驱动计算机硬件具体包括以下步骤C11、读取计算机硬件信息;C12、判断是否检测到计算机硬件信息,如果检测到,加载相应硬件驱动,转步骤C14,否则转步骤C13;C13、按预设顺序循环测试性加载相关或通用驱动;C14、判断该计算机硬件的驱动程序是否被无异常加载,如果是,转步骤C15,否则转步骤C13;C15、运行下一步程序。10.如权利要求9所述在多种存储介质上完整运行操作系统的方法,其特征在于,步骤C12和C13之间还包括生成配置文件和/或激活所述计算机硬件。11.如权利要求9所述在多种存储介质上完整运行操作系统的方法,其特征在于,步骤C14之后,通过运行测试性应用程序确定该硬件是否可用。12.如权利要求8至11中任一项所述在多种存储介质上完整运行操作系统的方法,其特征在于,按照预设顺序循环探测性加载相关或通用驱动、激活所述计算机硬件和运行测试性应用程序确定该硬件是否可用都是通过包含预设条件方式实现的,该方法包括根据硬件特性或软件运行特点预先设定一反馈信息;程序运行后,提取相应的反馈信息,与所述预设反馈信息比较,如果相同,则该步骤成功;否则,转步骤C13依次往下执行,直到所述硬件能正常使用。13.如权利要求7所述在多种存储介质上完整运行操作系统的方法,其特征在于,采用非交互方式初始化和运行用户图形界面程序是通过按预设顺序使用多种相关驱动和/或多种标准驱动和/或多种模式进行配置实现的。14.如权利要求13所述在多种存储介质上完整运行操作系统的方法,其特征在于,采用非交互方式初始化和运行用户图形界面程序具体包括以下步骤C21、判断是否检测到显示卡或显示器,如果检测到,则转步骤C23,否则转步骤C22;C22、按预设顺序使用多种相关驱动和/或多种标准驱动和/或多种模式进行配置,并转步骤C24;C23、生成配置文件;C24、启动图形用户界面;C25、通过预设条件判断或测试软件测试所述用户图形界面程序是否启动成功,如启动成功则正常运行该用户图形界面程序,否则,转步骤C22。15.如权利要求1所述在多种存储介质上完整运行操作系统的方法,其特征在于,根据预设信息进行搜索,得到并挂载包含操作系统的存储介质。16.如权利要求15所述在多种存储介质上完整运行操作系统的方法,其特征在于,按照程序预先设定好的标记搜索预设文件名或标记性特殊文件,一旦搜索到上述储存介质里面有相关系统运行文件,所述储存介质就成为包含操作系统的存储介质,按一定方式挂载。17.如权利要求1所述在多种存储介质上完整运行操作系统的方法,其特征在于,存储介质中存储的操作系统和应用程序,用压缩文件系统的技术保存和运行。18.如权利要求17所述在多种存储介质上完整运行操作系统的方法,其特征在于,将不包含启动程序在内的操作系统及应用程序的系统文件压缩,形成包含压缩文件系统的文件,作为存储介质挂载。19.如权利要求1所述在多种存储介质上完整运行操作系统的方法,其特征在于,存储介质中存储的操作系统和应用程序,用只读文件系统的技术保存和运行。20.如权利要求1所述在多种存储介质上完整运行操作系统的方法,其特征在于,所述存储介质包括可读写存储介质和具有只读特性的存储介质或文件系统,所述可读写存储介质用于保存应用程序运行数据的临时文件目录和保存硬件信息的目录是即时生成的;所述具有只读特性的存储介质或文件系统用于存储包含启动程序在内的操作系统及应用程序。21.如权利要求20所述在多种存储介质上完整运行操作系统的方法,其特征在于,采用文件系统叠加方式把易失性可读写存储介质包括内存的虚拟磁盘目录和内容合并到非易失性可读写存储介质,使内存的虚拟磁盘的文件实际存放在非易失性可读写存储介质。22.如权利要求21所述在多种存储介质上完整运行操作系统的方法,其特征在于,所述文件系统叠加方式进一步包括将内存的虚拟磁盘中挂载的只读文件系统的目录和内容全部合并到非易失性可读写存储介质里面;当要删除一个文件时,设定一个特定的标记,在访问文件的时候,首先访问非易失性可读写存储介质里面的文件;增加新文件或修改旧文件,在对应目录放置相关文件。23.如权利要求21所述在多种存储介质上完整运行操作系统的方法,其特征在于,所述文件系统叠加方式根据启动参数开关,控制通过目录链接和设备加载的方式,形成只读、可读写、临时文件内存运行和硬盘、U盘目录映射内存读写不同方式。24.一种在多种存储介质中完整运行的操作系统,其特征在于,包括存储介质,用于存储启动程序在内的操作系统及应用程序;计算机设备,包括计算机硬件;所述在多种存储介质中完整运行的操作系统在启动计算机后,使计算机从预设存储介质引导,直到加载操作系统内核,初始化操作系统;并且在采用非交互方式驱动计算机硬件中,依据预设条件来判断驱动和使用是否成功。25.如权利要求24所述在多种存储介质中完整运行的操作系统,其特征在于,所述计算机设备还包括用户图形界面设备及应用程序;采用非交互方式初始化和运行用户图形界面设备及应用程序是通过按预设顺序使用多种相关驱动和/或多种标准驱动和/或多种模式进行配置实现的。26.如权利要求24或25所述在多种存储介质中完整运行的操作系统,其特征在于,所述存储介质为只读存储介质或可读写存储介质。27.如权利要求26所述在多种存储介质中完整运行的操作系统,其特征在于,所述存储介质为只读存储介质时,该系统中还包括内存,用于加载操作系统时,创建虚拟磁盘,建立用于存储临时文件的目录,并将存储介质挂载到虚拟磁盘的一个目录下,把虚拟磁盘里面目录重新映射和调整到与硬盘运行相似的结构。全文摘要本发明公开了一种在多种存储介质上完整运行操作系统的方法,包括以下步骤设置计算机使其支持从存储介质启动;启动计算机,使计算机从预设存储介质引导,直到加载操作系统内核,初始化操作系统;采用非交互方式循环驱动计算机设备,直到所述计算机设备驱动、配置或使用成功。本发明还公开一种在多存储介质上完整运行的操作系统。本发明在存储介质等预安装完成,非交互驱动多种硬件和指点设备,非交互循环配置屏幕显示分辨率、色深、刷新率等并驱动使用,解决了非交互配置驱动硬件和进入图形用户界面的难题;并使用压缩文件系统,增加有效存储容量;可以在只读存储介质上运行,物理上解决操作系统文件被病毒和黑客等恶意程序修改和入侵问题。文档编号G06F9/445GK1744040SQ20051003751公开日2006年3月8日申请日期2005年9月27日优先权日2005年9月27日发明者胡元志申请人:胡元志
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1