具体实施方式
虽然下文中说明了本发明的一些实施例,但是应了解:可在没有该等指定细节之情形下实施本发明,且可对本说明书述及的本发明做出许多特定实施例的决定,以便达到开发者的特定目标,这些特定的目标包括诸如符合与系统相关及与商业相关的限制条件,而该等限制条件将随着各实施例而有所不同。虽然此种开发的工作可能是复杂且耗时的,但是此种开发工作仍然是对此项技术具有一般知识者在得益于本发明揭示事项后所从事的日常工作。例如,并非详细示出,而是以方块图之形式示出一些所选择的态样,以避免模糊或过度地限制了本发明。熟悉此项技术者将这些说明及表示法用来描述其工作之主旨,并将其传递给其它熟悉此项技术者。现在将参照下文中述及的图式而说明本发明。
参照图1,显示范例网络100之方块图,其中复数个105之计算器110、111、112经由一个或多个通讯网络140通讯。如所例示,各计算器系统(例如,110)--亦称之为多介质存取装置或个人互联网络通讯器(PIC)--系经由一个或多个通讯链路122以可操作方式耦接至互联网络服务提供者(ISP)120。该互联网络服务提供者120耦接至互联网络140,该互联网络140复耦接至复数个网络主服务器(Web host server)150、151、152。希望存取信息于互联网络之用户使用PIC(例如,110)以执行储存于PIC已知为网络浏览器(Web browser)之应用程序。
PIC 110包括通讯硬件和软件,可使PIC 110发送和接收通讯至和从互联网络服务提供者120。通讯硬件和软件可使PIC 110与互联网络服务提供者120建立通讯链路。通讯链路可是任何种类之连接型式,包括有线连接、譬如数字用户线(digital subscriber line;DSL)之直接链路、T1、整体服务数字网络(ISDN)或电缆连接、经由蜂巢式或卫星网络之无线连接、电话调制解调器拨接存取或譬如经由局域网络之以太网络(Ethernet)或表征环(token ring)之区域数据传输系统。
当客户藉由在网络浏览器中输入命令而输入信息请求时,PIC 110送出信息之请求--譬如关于特定主题或特定网页之文件搜寻--至互联网络服务提供者120,该互联网络服务提供者120转而发送该请求经由互联网络140至适当的网络主服务器150。互联网络服务提供者120执行软件用来接收和读取从浏览器送来的请求。互联网络服务提供者120执行网络服务器应用程序,该程序监视请求、服务对该特定网络服务器上信息之请求,并将该信息传送到用户之PIC 110。
于互联网络上之各网络主服务器150、151、152具有已知之地址,用户提供该地址至网络浏览器以连接适当的网络主服务器150。若于用户之网络主服务器150无法获得该信息,则互联网络140服务为中心链路,可使网络服务器150、151、152彼此通讯以提供所需之信息。因为网络服务器150、151、152能够获得多于一个的网页,因此用户亦将指定于该用户要观看之特定网页之地址。于服务器上首页已知环球资源定位器(universal resource locator;URL)之地址为指示服务器和于服务器上网页地址之一系列号码,类似于邮局地址。为了简化起见,发展网域名称系统可使用户指定使用名称而不用号码之服务器和文件。URL藉由包括额外的信息于网域名称之末端而于属于内容提供者之一群网页中可进一步指定特定的网页。
参照图2,显示PIC 110之方块图。PIC 110包括处理器202、输入/输出(I/O)控制装置204、内存(包括易失性随机存取内存(RAM)内存206和非易失性内存207)、通讯装置211(譬如调制解调器)和显示器214。处理器202、I/O控制器204、内存206和通讯装置211经由一个或多个总线212而互连。于选择的实施例中,处理器202施行为AMD GeodeGX32位x86兼容处理器、内存206实施为128MB DDR内存和显示器214实施为CRT监视器。此外,非易失性内存207可包括实施为具有最小容量(例如,10GB)整合之3.5时硬盘机之硬盘机209。内存206、207之其中一者或二者可与PIC 110整合或设于PIC 110之外部。关于通讯装置211,可使用具有外部连接器之整合之56K ITU v.92调制解调器来支持遍及全世界之不同的电话系统,虽然亦可使用其它的调制解调器(例如,软调制解调器)。当然,应了解到其它的装置配置亦可用于处理器202、内存206、207、显示器214和通讯装置211。为了清楚和容易了解,并非所有的制成PIC 110之组件均予详细说明。此等细部处为熟悉此项技术者所已知,并可基于特定的计算器贩售商和微处理器型式而改变。而且,PIC 110依于所希望之实施方式,可包括其它的总线、装置、和/或次系统。例如,PIC 110可包括高速缓存、调制解调器、并联或串联接口、SCSI接口、网络适配卡等。
如图2所示,I/O控制装置204耦接至I/O装置205,譬如一个或多个USB端口、键盘、鼠标、音频扬声器等。I/O控制装置204亦耦接至非易失性内存207,譬如闪存或其它的只读存储器(ROM)208和/或硬盘机209。PIC 110说明为可藉由譬如调制解调器之通讯装置211而连接至通讯网络122和互联网络140,但是连接亦可藉由熟悉此项技术者已知的任何所希望之网络通讯装置建立。虽然处理器202显示为直接耦接至显示装置114,但是处理器亦可经由显示器或I/O控制器装置间接耦接至显示器214。相似地,处理器显示为透过I/O控制器204耦接至非易失性内存207,但是其亦可构思为直接耦接。
各种程序化码和软件储存在PIC内存中。例如,在起动时起始PIC110之基本输入/输出系统(BIOS)程序代码可以储存在非易失性内存207之BIOS ROM装置210中。该非易失性内存207亦储存激活加载器程序(例如,于硬盘机209之主激活记录231部分),该激活加载器程序藉由检索和加载一系列之加载机构或模块以从非易失性储存装置检索操作系统映像文件并将该操作系统映像加载易失性储存装置(例如,RAM)而加载并执行操作系统。应了解到,可藉由BIOS程序代码210和/或于MBR 231中之激活加载器而执行操作系统加载操作,该BIOS程序代码210和于MBR 231中之该激活加载器中之其中一者或二者可实施为于非易失性内存207中之激活加载装置。于各种实施情况中,非易失性内存207可以实施为ROM(只读存储器)或譬如是EPROM(可抹除PROM)之PROM(可程序ROM)、EEPROM(电可抹除PROM)、快闪RAM(随机存取内存)或适合储存BIOS之任何其它型式之内存。额外的软件和用户资料亦可储存在非易失性内存207之硬盘机209中,并由处理器202所执行和/或处理。于选择的实施例中,PIC软件和用户资料230包括主激活记录(MBR)231、初始或部分OS映像238、剩余操作系统组件232(下文中说明)、应用程序分割区233、软件更新模块234、用户资料235、和隐藏之映像恢复模块236。应用程序233可包括网络浏览器(web browser)、快闪播放器(Flash player)、用于PowerPoint之表现检视器(presentation viewer)、聊天、游戏、压缩公用软件(compression utility)、电子邮件、文字处理器、电子表格、PDF之检视软件、介质播放器和/或绘图应用软件。此外,用户资料235储存所有之用户资料,而使得用户能够直接存取于用户资料。用户资料235被保护不受其余的操作系统之影响,以防止资料被病毒或其它的方式所破坏。例如,可提供外壳(shell)/锁存过滤模块,该模块可与任何探索PIC 110内之内容之应用软件互动,以确保用户不能删除受保护或非用户之内容,譬如MBR 231、部分OS 238、剩余OS 232、应用软件233和更新模块234。或可取而代之,受保护之内容可包括储存在系统分割区239内之所有的内容。
于操作中,BIOS程序210由定位主激活记录(MBR)231而起始,该MBR 231储存激活程序之可配置态样。MBR 231一般储存于固定的位置,譬如硬盘机209或CD-ROM之第一区段。基于执行MBR程序231,BIOS程序210接着检核于MBR 231中之激活加载器程序(或指向该处之指针),然后执行激活加载器程序以判定加载哪一个操作系统和从储存装置中何处加载它。用内核非易失性储存装置之位置而程序化激活加载器程序,该激活加载器然后执行以完成操作系统码之加载。当内核被加载后,BIOS程序210将控制转移至由操作系统内核所提供之初始地址,然后操作系统被加载PIC 110内之RAM中。一旦加载和起始后,操作系统控制程序之执行并可提供譬如资源分配、排程、输入/输出控制和数据管理之服务。于选择的实施例中,BIOS 210和/或激活加载器致能PIC操作系统,其将是譬如窗口CE(Windows CE)型操作系统之嵌入封闭之操作系统,虽然任何的操作系统(包括但不限于基于窗口和基于Linux之操作系统)能由BIOS和激活加载器程序代码所支持。
欲快速和有效地加载操作系统,PIC110指定用初始二位映像加载操作系统,该初始二位映像为可执行的包含于OS内核和相较于一般具有全部操作系统功能之OS映像而具有减少的内容。举例来说,以执行于WinCE操作系统之个人计算器而言,全部OS映像(NK.bin)将方便地储存在硬盘中,但是此种习知的OS映像文件之渐增大小和复杂度增加需要加载操作系统之时间。在本发明之选择实施例中藉由储存减少的或部分的OS映像文件于已编辑去除不需要的文件,由此减少或最小化实际安装之BIN文件之大小之PIC 110上,而解决此问题。NK.bin文件亦可选择地被压缩而进一步减少其大小。
初始二进制映像之例子为图2所示之部分OS映像文件(237或238)。依照本发明之各种实施例,于起动期间之激活加载装置存取操作系统之压缩之和/或部分之映像237或238,该操作系统储存于譬如小型闪存(compact flash)208或硬盘209之非易失性内存207中。举例来说,当于起始期间加载窗口CE嵌入之操作系统,则激活加载装置搜寻部分之OS映像(例如,部分之OS 238),该部分之OS映像储存为于非易失性内存207中(例如,于硬盘机209之文件目录中)之NK.bin文件。若NK.bin文件未于第一位置发现,则激活加载装置搜寻其余的非易失性内存207或最终判定OS加载操作已经失败。若发现到NK.bin文件,则从文件分配表(File Allocation Table;简称FAT)获得第一丛集号(firstcluster number),并将该第一丛集号转换成柱面号(cylinder number)、标头号(header number)、和区段号(sector number),以便从硬盘机209检索文件资料,并将该资料转移至系统RAM中(例如,DDR内存206)。若部分OS映像(例如,238)储存为压缩文件,则可使用于BIOS 210中之解压缩器240以解压缩这些软件映像,并将该解压缩之映像直接储存在其欲往的目的地。
藉由构造部分OS映像文件(例如,238)包括内核和仅需要符合操作系统功能之预定最小临界功能之文件,然后储存部分OS映像文件作为NK.bin文件,则能减少激活时间。藉由于激活期间存取和加载部分OS映像文件238(其储存为NK.bin文件),则仅用于PIC 110之部分的操作系统被加载。于实施范例中,部分OS加载操作成功加载至少用于PIC 110之桌面。操作系统之额外的或剩余的组件232为后续所需要,其于操作系统的控制下从主要或系统分割区239(例如,C:/窗口目录)上之预定目录被加载,该操作系统配置有部分OS映像(NK.bin)以从预定的目录位置检索剩余的OS组件232。因此,初始安装部分OS映像238用能影响系统性能之作业参数,包括不初始用部分OS映像238加载之特定剩余OS组件232之位置,而预先配置。
参照图3,显示处理器202之方块图。于一个实施例中,处理器202为Geode GX2处理器,可从高级微装置公司(Advanced MicroDevices)购得。处理器202包括处理器内核310、总线或接口单元312、图形处理器314、显示控制器316、和视频处理器318。处理器202亦包括内存控制器330、I/O控制器接口332和显示装置接口334,但是应了解到这些控制器和接口亦可由处理器102之外部实施。于例示之实施例中,处理器202执行储存于内存206、207中之软件,以于激活时加载部分OS映像237、238,并于需要时后续加载剩余的OS组件232。
参照图4,显示原来软件映像400之范例文件结构和依照本发明之各种实施例配置之用于部分软件映像402之对应之文件结构。原来软件映像文件400之结构用于许多操作系统映像,譬如窗口CE操作系统(OS),于该情况,原来的OS文件储存在NK.bin文件中。如所示,原来的OS文件400储存在单块文件(single monolithic file)中,该单块文件被格式化包括文件标头(FH)401和一个或多个记录403(记录1、记录2、...、记录n)。文件标头401包含签名、映像开始将被加载之地址、和映像文件的总长度。于文件中之各记录(记录1、记录1、...、记录n)包括标头,其后跟着记录之资料酬载(payload)。记录标头(RH)包含资料之目的地地址、资料之长度、和可以为总和检查(checksum)之确认码,用来确认记录之资料的内容。
依照本发明,藉由编辑原来的OS映像文件400(例如,NK.bin)去除为了减少或最小化实际安装之部分OS映像文件402之大小之不需要之文件以形成部份OS映像文件402。于选择之实施例中,被编辑或去除之文件为那些不为PIC 110所需用来获得操作系统功能之预定的最小临界功能。于例示的范例中,部分OS映像文件402结构为文件标头404和提供操作系统功能之临界功能之选择记录(例如,记录1、记录4和记录n)之酬载406。文件标头404包含相关于储存酬载文件406之目的地之信息,同时酬载406包括必须获得操作系统功能(例如,加载和执行于显示器之桌面)之最小临界功能之记录。不包括于部分OS映像文件402之任何记录(例如,记录2、记录3、记录5、记录6等)可以储存为剩余OS组件408(例如,于图2中之剩余OS 232),该剩余OS组件408当需要时从预定的目录412(例如,C:/窗口目录)加载。利用较小之OS映像402,用来将OS映像文件从一个储存介质(互联网络服务器、文件服务器、硬盘机、内存等)转换至另一个储存介质之所需时间系减少。
可以选择使用基于读取之压缩机构以进一步减少需用来储存部分OS映像文件402之介质空间。于选择的实施例中,部分OS文件402之标头部分404不被压缩,而是压缩酬载406。压缩之映像由图2所示之BIOS 210中之解压缩器240所解压缩。于此方式,标头信息404用来直接放置酬载406于所希望之位置,而解压缩之酬载406于放置处理期间执行“快速执行(on the fly)”。此技术减少用于PIC之激活时间,而相当地改进激活性能。关于压缩OS之映像文件之进一步详细说明描述于于2005年6月30日提出申请之美国专利申请序号11/172,509中,案名为“用来产生软件映像之解压缩技术(Decompression Technique ForGeneration Software Image)”该案已让授给高级微装置公司(AdvancedMicro Device,Inc.),该案之整个内容由此并合于本案作为参考,犹如在本文中完全地提出说明。
兹参照图5,显示说明用来组合最佳化激活性能之部分OS映像之范例方法500之流程图。应了解到部分的或压缩映像文件能产生为后处理步骤,一旦原来的映像已由操作系统建立器所产生,而可使用所描述之方法以结构提供任何所希望之操作系统功能之最小临界功能之部分的或初始的OS映像。然而,为了简化之目的,图5之例子参照定义需要取用桌面功能和执行之最小OS映像而说明。
作为初始步骤,于步骤502获得全部OS映像并于全部OS映像施行除错建立处理。于此时,譬如使用于窗口CE OS之全部OS映像之大小约为34MB,包括但不限于登录文件、需用于主驱动器和OS内核之装置驱动器(譬如显示器和音频驱动器)。
接着,施行除错建立操作而使得可监视计算器之操作功能为记录从全部OS加载之文件。虽然于选择之实施例中,已使用了任何希望之除错建立工具,但是使用了微软窗口CE平台建立器(Microsoft WindowsCE Platform Builder)工具以建立WinCE映像文件(NK.bin)除错映像。无论使用了甚么除错建立工具,于步骤504记录除错输出,同时于步骤506观察屏幕以侦测何时达成操作系统功能(例如,具有桌面出现(desktop up)并于屏幕上执行)之预定最小临界功能。若未达到该临界功能功能(对决定步骤506之否定结果),则文件加载继续被记录(如于线507所示)。一旦到达了临界功能(对决定步骤506之肯定结果),则记录之文件被组合为部分OS映像(于步骤508)。在将记录之文件组合成减少或修正的映像之此处理中,使用平台建立器工具以对映像反复修正,同时记录除错输出以确保最小化之映像更正激活。于此种方式,可结构部分OS映像以仅包括于激活循环期间须提供操作系统功能之预定之最小临界功能之文件,以及任何不需要之文件可与部分OS映像文件分离储存,用于激活循环以外之后续加载。藉由制造初始OS映像文件尽可能的小,可使激活系统所需的时间最小化。
虽然考量到可使用单一除错建立操作(譬如上文中所描述者)而建构部分OS映像,但是本发明选择之实施例可使用一个或多个途径(pass)以达成所希望之结果,并获得最佳化之部分OS映像文件。举例而言,使用步骤502至508可执行手控除错建立操作以获得部分OS映像之第一近似,然后使用重复这些步骤之反复处理以进一步精制部分OS映像之组合。于此实施方式中,于步骤508之组合之部分OS映像之第一近似可不包括需要获得临界功能功能之所有的文件。欲加上遗失的文件,则于步骤510加载部分OS映像之第一近似并于部分OS映像施行除错建立操作。当记录从部分OS映像加载之文件时,于计算器的显示屏幕上观察计算器的操作。举例而言,于步骤512记录除错输出,同时于步骤514观察屏幕,以侦测何时桌面出现并执行。若未到达操作系统功能(例如,具有桌面出现于屏幕上)之预定最小临界功能(对决定步骤514之否定结果),则于步骤512取得之任何记录之遗失文件用组合步骤516而加到部分OS映像,并重复反复处理(如线517所示)。一旦到达临界功能(对决定步骤514之肯定结果),则记录之文件和遗失的文件组合为最小化之OS映像(于步骤518)。来自全部OS映像之所有其它剩余文件可以储存在硬盘中作为剩余OS组件文件而当需要时用为激活循环之外之后续的检索。
应了解到,当需要获得用于部分OS映像功能之所希望的或最佳化位准以及减少OS映像之大小时,可反复地重复步骤510至517。举例而言,于第一次途径,譬如用于窗口CE OS之全部OS映像之大小可以从大约34MB减少至大约12MB,而同时额外的反复途径能进一步减少OS映像之大小至大约8MB。
基于本发明上述揭示之特定实施例系仅作为例示用而不拿来作为限制,如对于熟悉此项技艺者而言于获得此处本发明教示之利益后很清楚本发明可以不同但相等之方式作修改和实施。因此,上述说明并不欲限制本发明于提出之特定形式,反之,将欲包含此等改变、修饰和均等,如可包括于由申请专利范围所界定之本发明之精神和范围内,而使得熟悉此项技艺者将了解其可作各种改变、替代和选择而不会脱离本发明于其最广形式之精神和范围。