CN1517868A - 信息处理装置、方法和程序 - Google Patents

信息处理装置、方法和程序 Download PDF

Info

Publication number
CN1517868A
CN1517868A CNA200410001459XA CN200410001459A CN1517868A CN 1517868 A CN1517868 A CN 1517868A CN A200410001459X A CNA200410001459X A CN A200410001459XA CN 200410001459 A CN200410001459 A CN 200410001459A CN 1517868 A CN1517868 A CN 1517868A
Authority
CN
China
Prior art keywords
initialization
group
thread
cpu101
carry out
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA200410001459XA
Other languages
English (en)
Inventor
֮
町田浩之
篠原孝夫
־
大和田清志
ʿ
山本哲士
天野克重
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Panasonic Holdings Corp
Original Assignee
Sony Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp, Matsushita Electric Industrial Co Ltd filed Critical Sony Corp
Publication of CN1517868A publication Critical patent/CN1517868A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Abstract

本发明涉及信息处理装置、方法和程序,为了启动操作系统(OS),CPU以三种模式执行初始化:所述三种模式包括第一I/O初始化(Early init)(132),在没有线程可以使用时串行地执行该初始化,该初始化不采用任何先进技术并且在执行下一操作之前等待较长时间;第二I/O初始化(136),当线程可以使用时,根据将被初始化设备之间的依赖关系并且通过屏蔽器而使所述步骤之间同步,在相互并行的多个步骤中使用可用线程而执行该初始化;第三I/O初始化(Lazyinit)(140),其中,在用户处理变得可以执行时,使用与用户处理等数量的所述线程而相互并行地执行剩余的初始化。

Description

信息处理装置、方法和程序
技术领域
本发明一般涉及信息处理装置、方法和程序,并更具体地涉及在启动操作系统时能用更少时间来处理信息的信息处理装置、方法和程序。
本专利申请要求对2003年1月8日提交的日本专利申请2003-002119享有优先权,后一专利申请的全部内容在此引作参考。
背景技术
为了启动具有限定设备驱动器结构的操作系统(以下简称为“OS”)如UNIX(注册商标)OS等的核心程序,通过查询以下表格并用少量的线程顺序地执行初始化子程序而初始化输入-输出(I/O),在所述表格中以依赖关系的顺序等而预先登记初始化子程序。
现在参照图1,示意性地示出常规I/O初始化的实例。在一般用参考号1表示的I/O初始化中,首先在LOCK2中锁定所述线程,并且为使用所述线程而进行初始化3。接着,顺序地调用并执行各个I/O初始化6而进行I/O(输入-输出)初始化4。在I/O初始化4中,通过查询预定表格5而以各个I/O初始化6的注册顺序来执行各个I/O初始化6,在表格5中登记用于每个I/O的初始化方法。
在完成I/O初始化4时,所述线程在UNLOCK7中解锁,接着,执行文件系统安装(File Systme Mount)8和初始化文件执行(Init File Execution(Exec/sbin/init))9。
可替换地,例如,在进行OS启动直到多个线程准备用于并行处理之后执行I/O初始化。
图2解释常规I/O初始化的另一实例。在一般用参考号11表示的此常规I/O初始化中,所述线程在LOCK12中锁定,为使用所述线程而进行初始化13,接着,所述线程在UNLOCK14中解锁。
当准备使用多个线程时,执行Init Function Call(并行地调用每个驱动程序的初始化子程序)15,用于查询表示相互初始化依赖关系的表格并产生多个新的核心线程15A,用于执行作为可并行处理的初始化文件子程序的设备驱动器,并且执行每个核心线程。
应指出,由于这些操作由屏蔽器16使之互相同步,因此,在执行完所有核心线程15A之前所述操作不会前进到任何的下一步骤。
与以上相似地,当执行完所有核心线程时,执行用于产生多个新核心线程17A的init Function Call(并行调用每个驱动程序的初始化子程序)17,并执行每个核心线程,并且这些操作由屏蔽器18使之互相同步。而且,当执行完所有核心线程时,执行用于产生多个新核心线程19A的init Function Call(并行调用每个驱动程序的初始化子程序)19,并执行每个核心线程,并且这些初始化由屏蔽器20使之互相同步。
当完成用于设备初始化的全部I/O初始化时,可执行在完成I/O初始化之后执行的各种初始化21,接着,执行文件系统安装22和初始化文件执行(Exec/sbin/init)9。
可替换地,当在完成文件系统安装和初始化文件执行之后用户处理变得可用时,通过普通的并行操作而执行I/O初始化。
例如,为了启动多台计算机,将被启动的计算机与已经启动的计算机通信,并因而装入OS。OS储存在主存储器中的适当位置,接着,控制交给OS。因此已接收控制的OS准备必需的页表并堆栈在主存储器中。在这完成启动。因而,可用已经启动的计算机并行地启动多台计算机,这导致减少总的启动时间(也可参见已公开的未经审查的日本专利申请295289,1994年(第4和5页,图6))。
而且,对于另一实例,在具有多个处理器的系统中,所述处理器中的父母处理器首先启动,接着,它并行地启动其它处理器,即子女处理器。因而,已经完成启动的一个处理器可用于启动多个处理器,这也导致减少总的启动时间(也可参见已公开的未经审查的日本专利申请97465,1998年(第8-10页,图3和4))。
在上述方法中,当系统进入表格中所示的特定阶段时,执行I/O初始化,所述表格用参考号31表示,在图3中示出OS启动时的硬件状态以及常规I/O初始化的时间。
表格31列出三种初始化模式。常规I/O初始化必须以表格31所示三种模式中的一种进行。“顺序”模式为以下模式:当没有线程可用时(当正执行核心程序B时),串行地执行I/O初始化。“并行”模式为以下模式:当线程可用时(正在执行核心程序C),I/O初始化分为多个步骤,步骤的数量取决于设备之间的依赖关系,并且在每个步骤中相互并行地进行I/O初始化。“Lazy(迟缓)”模式为以下模式:在启动所有核心程序并且准备执行用户处理之后,进行I/O初始化。
“顺序”模式用于在启动的初始阶段执行I/O初始化,在“顺序”模式中,串行地执行设备的初始化。从而,不能有效地利用设备初始化时的等待时间,因而不能减少OS启动时间。
而且,“并行”模式用于在启动的中间阶段执行I/O初始化,在“并行”模式中,I/O初始化分为多个初始化(初始化的数量取决于初始化之间的依赖关系)。由于该依赖关系限制并行执行初始化的顺序,因此,必须通过屏蔽器而使初始化相互同步,这限制初始化的间隔。从而,不能完全利用设备初始化时的等待时间,因而不能减少OS启动时间。而且,在此初始化模式中,在线程变得可用之前不执行I/O初始化。即,在线程可使用之前,没有设备可以使用。
进而,在“Lazy”模式中,在用户处理变得可执行之后执行I/O初始化。因而,设备不可使用的时间较长。“Lazy”模式不适用于启动由一个处理器控制的普通系统。
发明内容
因而,本发明的目的是通过提供在启动操作系统时能用更少时间处理信息的信息处理装置、方法和程序而克服相关技术的上述缺陷。
通过提供根据本发明的信息处理装置而获得以上目的,该装置包括:
第一初始化器件,用于以预定的顺序并在没有线程可以使用的第一状态下串行执行第一组初始化,该第一组初始化包括在I/O初始化中并且在第一状态下是可执行的;
第二初始化器件,以根据将被初始化设备之间依赖关系的顺序并在线程可以使用的第二状态下,使用所述线程执行第二组初始化,该第二组初始化包括在I/O初始化中、与第一组初始化不同并且在第二状态下是可执行的;以及
第三初始化器件,使用所述线程并在用户处理可以使用的第三状态下,执行第三组初始化,该第三组初始化包括在I/O初始化中并与第一和第二组初始化不同。
在根据本发明的以上信息处理装置中,以预定的方式设置第一、第二和第三组初始化,并且,包括在I/O初始化中的全部操作都包括在第一、第二和第三组初始化的任一个中。
以比设置第二和第三组初始化中更简单的方式设置第一组初始化,使得到可执行下一初始化为止的等待时间设定得更长。
第二初始化器件设计为通过在每个步骤中相互并行地执行初始化而执行第二组初始化,该第二组初始化分为多个步骤,步骤数量取决于设备之间的依赖关系。
而且,第二初始化器件设计为通过屏蔽器而使所述步骤互相同步,一直等待到完成包括在一步骤中的全部初始化为止,所述初始化将相互并行地执行,并接着相互并行地执行包括在下一步骤中的初始化。
对于需要同步化目标的用户,第三初始化器件设计为在与用户程序同步的同时执行所述初始化。
而且,通过提供根据本发明的信息处理方法而获得以上目的,该方法包括:
第一初始化步骤,用于以预定的顺序并在没有线程可以使用的第一状态下串行执行第一组初始化,该第一组初始化包括在I/O初始化中并且在第一状态下是可执行的;
第二初始化步骤,以根据将被初始化设备之间依赖关系的顺序并在线程可以使用的第二状态下,使用所述线程执行第二组初始化,该第二组初始化包括在I/O初始化中、与第一组初始化不同并且在第二状态下是可执行的;以及
第三初始化步骤,使用所述线程并在用户处理可以使用的第三状态下,执行第三组初始化,该第三组初始化包括在I/O初始化中并与第一和第二组初始化不同。
在根据本发明的以上信息处理方法中,以预定的方式设置第一、第二和第三组初始化,并且,包括在I/O初始化中的全部操作都包括在第一、第二和第三组初始化的任一个中。
以比设置第二和第三组初始化中更简单的方式设置第一组初始化,使得到可执行下一初始化为止的等待时间设定得更长。
第二初始化步骤设计为通过在每个步骤中相互并行地执行初始化而执行第二组初始化,该第二组初始化分为多个步骤,步骤数量取决于设备之间的依赖关系。
而且,第二初始化步骤设计为通过屏蔽器而使所述步骤互相同步,一直等待到完成包括在一步骤中的全部初始化为止,所述初始化将相互并行地执行,并接着相互并行地执行包括在下一步骤中的初始化。
对于需要同步化目标的用户,第三初始化器件设计为在与用户程序同步的同时执行所述初始化。
而且,通过提供允许计算机执行以下步骤的程序而获得以上目标,所述程序包括:
第一初始化步骤,用于以预定的顺序并在没有线程可以使用的第一状态下串行执行第一组初始化,该第一组初始化包括在I/O初始化中并且在第一状态下是可执行的;
第二初始化步骤,以根据将被初始化设备之间依赖关系的顺序并在线程可以使用的第二状态下,使用所述线程执行第二组初始化,该第二组初始化包括在I/O初始化中、与第一组初始化不同并且在第二状态下是可执行的;以及
第三初始化步骤,使用所述线程并在用户处理可以使用的第三状态下,执行第三组初始化,该第三组初始化包括在I/O初始化中并与第一和第二组初始化不同。
在根据本发明的以上信息处理方法中,以预定的方式设置第一、第二和第三组初始化,并且,包括在I/O初始化中的全部操作都包括在第一、第二和第三组初始化的任一个中。
以比设置第二和第三组初始化中更简单的方式设置第一组初始化,使得到可执行下一初始化为止的等待时间设定得更长。
第二初始化步骤设计为通过在每个步骤中相互并行地执行初始化而执行第二组初始化,该第二组初始化分为多个步骤,步骤数量取决于设备之间的依赖关系。
而且,第二初始化步骤设计为通过屏蔽器而使所述步骤互相同步,一直等待到完成包括在一步骤中的全部初始化为止,所述初始化将相互并行地执行,并接着相互并行地执行包括在下一步骤中的初始化。
对于需要同步化目标的用户,第三初始化器件设计为在与用户程序同步的同时执行所述初始化。
在根据本发明的上述信息处理装置、信息处理方法和信息处理程序中,以预定的顺序并在没有线程可以使用的第一状态下串行执行第一组初始化,该第一组初始化包括在I/O初始化中并且在第一状态下是可执行的;以根据将被初始化设备之间依赖关系的顺序并在线程可以使用的第二状态下,使用所述线程执行第二组初始化,该第二组初始化包括在I/O初始化中、与第一组初始化不同并且在第二状态下是可执行的;以及使用所述线程并在用户处理可以使用的第三状态下,执行第三组初始化,该第三组初始化包括在I/O初始化中并与第一和第二组初始化不同。
从以下结合附图的本发明优选实施例详细描述中,本发明的这些目的和其它目的、特征和优点将变得显而易见。
附图说明
图1解释常规I/O初始化系统的实例;
图2解释常规I/O初始化系统的另一实例;
图3示出在OS启动时的硬件状态以及常规I/O初始化的时间;
图4为示出使用根据本发明的硬盘(HDD)记录器的视频信号接收系统的构造的框图;
图5为示出图4中所示HDD记录器的构造的框图;
图6为示出与图4中所示HDD记录器一起使用的遥控器的构造的外视图;
图7解释根据本发明的I/O初始化系统的实例;
图8示出在图4所示HDD记录器的I/O初始化过程中进行的操作流程;
图9为从图8继续的流程图,示出在图4所示HDD记录器的I/O初始化过程中进行的操作;
图10为从图9继续的流程图,示出在图4所示HDD记录器的I/O初始化过程中进行的操作;
图11示出由包括在图4所示HDD记录器中的CPU执行的I/O初始化程序的构造;
图12示意性地示出在OS启动时由图4中CPU阅读的注册表的构造;
图13示出在图4所示HDD记录器中的驱动器程序的构造;
图14示意性地示出在图4所示HDD记录器中执行的I/O初始化程序;
图15示出在图4所示HDD记录器中OS启动时的系统状态与I/O初始化时间之间的关系;
图16示出用于管理I/O初始化进度的表格;
图17示出根据本发明的个人计算机的构造;以及
图18示出在图17所示个人计算机中OS启动时的系统状态与I/O初始化时间之间的关系。
具体实施方式
现在参照图4,以框图的形式示意性地示出使用根据本发明的硬盘(HDD)记录器的视频信号接收系统。
如图4所示,视频信号接收系统包括通过天线51接收经过卫星或地上天线发送的无线电波的调谐器52。根据从硬盘(HDD)记录器53提供的调谐控制信息而控制调谐器52,视频信号接收系统从此频道接收无线电波。
视频信号接收系统还包括由用户操作的遥控器55,以提供与用户对HDD记录器53的操作相应的红外线信号。
更具体地,当用户通过按遥控器55而发出从预定的广播电台接收或在预定的频道上接收无线电波的命令时,HDD记录器53向调谐器52提供用于控制调谐器52在此频道上接收无线电波的调谐控制信号。作为对调谐控制信号的响应,调谐器52将通过天线51在此频道上接收无线电波,并且向HDD记录器53提供所接收的信号。HDD记录器53在包含在其中的硬盘上记录从调谐器52输入的信号。
而且,经过遥控器55向HDD记录器53提供命令,HDD记录器53再现记录在内置硬盘中的视频数据和音频数据,并且向监视器54提供所述数据。
例如,HDD记录器53按图5所示地构造。在HDD记录器53中,接收块61从遥控器55接收红外线信号,把它转换为电信号,并把该信号提供给记录器控制器66。如图所示,记录器控制器66包括CPU(中央处理单元)101、ROM(只读存储器)102和RAM(随机存取存储器)103。CPU101把预先储存在ROM102、程序存储器68或工作存储器69中的程序和数据装入到RAM103中。通过执行各种操作,CPU101控制HDD记录器53的每个块。
RAM103适当地储存CPU101执行各种操作所必需的数据。记录器控制器66控制通信块75向调谐器52提供调谐控制信号。
在HDD记录器53中,解调器62对从调谐器52提供的信号进行解调,并且把解调信号提供给多路分配器63。多路分配器63把从解调器62提供的数据多路分解成音频数据、视频数据和EPG(电子程序指南)数据,并把它们分别提供给记录器控制器66中的音频解码器64、视频解码器65和CPU101。
音频解码器64例如借助MPEG技术对提供的音频数据进行解码,并且,把解码数据提供给记录/重放块73。视频解码器65例如借助MPEG技术对提供的视频数据进行解码,并把解码数据提供给显示转换器70。记录器控制器66中的CPU101把输入的EPG数据提供给EPG数据存储器67,在此存储器中储存所述数据。
显示转换器70把从视频解码器65提供的视频数据例如编码成基于NTSC的视频数据,并且把编码的视频数据提供给记录/重放块73。而且,显示转换器70把从视频解码器65提供的视频数据的显示尺寸转换为与监视器54的屏幕尺寸相应的尺寸,把尺寸改变的视频数据转换为基于NTSC的视频数据,接着,把此视频数据转换为模拟信号,并且把模拟信号提供给显示控制器72。
在记录器控制器66的控制之下,显示控制器72把从OSD(屏幕上显示)控制器71提供的OSD信号叠加在从显示转换器70提供的视频信号上,并且把叠加结果提供给监视器54,在此监视器上显示叠加结果。
D/A(数字-模拟)转换器74对从音频解码器64输出的音频数据进行D/A转换,还把转换得到的模拟信号提供给监视器54。监视器54从内置的扬声器提供音频信号。
记录/重放块73已经内置硬盘(HDD)104。记录/重放块73例如借助MPEG技术对音频和视频数据进行编码,结合所述数据,对所述数据进行信道编码,接着,把所述数据记录到HDD104上。
而且,记录/重放块73从HDD104读取数据,并且把所述数据分解成音频数据和视频数据。接着,它借助MPEG技术对音频数据进行解码,对解码数据进行D/A转换,把模拟数据提供给监视器54的扬声器,模拟数据从此扬声器作为声音传出,同时,借助MPEG技术对视频数据进行解码,对解码数据进行D/A转换并把模拟数据提供给监视器54的显示器,模拟数据在此显示器显示为图象。
HDD记录器53还具有由输入器件如一组控制按钮、触摸屏、键盘或鼠标组成的输入块76,输入器件由用户操作,用于把各种指令提供给HDD记录器53。与遥控器55相似地,输入块76可由用户操作,以输入指令,并且把此指令提供给记录器控制器66中的CPU101。
HDD记录器53还包括驱动器77。驱动器77由CPU101控制,以从可拆卸记录介质105如磁盘、光盘、磁光盘或半导体存储器读取计算机程序或数据,并且把所述数据提供给CPU101。如果需要的话,CPU101把因此读取的计算机程序或数据提供给RAM103或程序存储器68或工作存储器69。
图6示意性地示出遥控器55的构造。如图所示,遥控器55包括发送块111,该块发射与用户所按一个控制按钮对应的红外线信号。从发送块111发射的红外线信号由HDD记录器53的接收块61接收。
遥控器55具有电源开关按钮112,用户操作此按钮,以连接或断开HDD记录器53的电源。当此电源开关112关断时,HDD记录器53中与信号接收无关的组件退出操作,以节省电力,但主电源保持工作。从而,即使在此状态下,硬盘记录器53也可接收从遥控器55发送的控制信号。当用户在此休眠阶段(根据遥控器55的指令,电源关断)通过操作遥控器55上的电源按钮112而指令电源接通操作时,记录器控制器66的CPU101控制每个组件,以把HDD记录器53转变为操作(电源接通)阶段。应该指出,对于完全的电源关断状态(主电源关断),用户必须操作HDD记录器53中输入块76的电源按钮(未示出)。
图6所示的每个选择按钮113用于选择将在监视器54的屏幕上显示或从扬声器传送的图象或声音,或者用于选择在监视器54上显示的各种信息中所希望的信息。
还在遥控器55上设置的每个监视器控制按钮114用于接通或关断监视器54的电源,调节传送的音量或选择所需的频道。而且,设置G引导按钮115,此按钮用于显示示出每个程序详细内容的EPG图象或程序指南。
进而,遥控器55具有记录设置按钮116。此按钮116用于发出与记录有关的指令,如记录开始指令、编程指令等。而且,操作按钮117设置在遥控器55上。它们用于发出在重放记录在硬盘104中的程序时的开始、停止等的指令。
遥控器55进一步提供设置按钮118。设置按钮118用于进行与设置有关的操作,所述设置例如用于显示设定HDD记录器53的菜单屏幕。而且,设置包括横向键等的简单控制按钮119。简单控制按钮119用于操作在监视器54上显示的GUI(图形用户界面)锚点,或简化前述操作。
当用户操作输入块76以接通其主电源关断的HDD记录器53的电源时,记录器控制器66中的CPU101首先执行HDD记录器53专用的OS核心程序以启动该OS,此程序储存在ROM102中。
此时,CPU101进行如图7所示的I/O初始化,以控制HDD记录器53的每个组件。
图7示意性地示出根据本发明的I/O初始化系统。首先,CPU101读取其中记录初始化程序的表(init())131,并且开始根据表131的初始化。使用在没有线程可使用的相对较早的阶段中执行的核心程序,CPU101串行地执行第一I/O初始化(Early init)132。在第一I/O初始化132中,不必接通机械组件的电源就可执行初始化,并且在下一操作之前等待较长的时间。
例如,为了初始化硬盘104,CPU101接通硬盘104的电源,硬盘104具有旋转盘的内置马达。因而,CPU101必须等待,直到马达运转稳定。在第一I/O初始化132中,CPU101接通硬盘104的电源,然后,在马达运转稳定之前执行另一初始化,此初始化在后面进一步描述。
在第一I/O初始化132中,由于如上所述没有线程可以使用,因此,以预定的顺序串行地进行初始化。所述顺序可在CPU101所执行的核心程序中规定,或在核心程序查询的预定表中规定。
在进行第一I/O初始化132之后,CPU101在LOCK133中锁定线程,以初始化该线程,为使用该线程而进行初始化134,接着,在UNLOCK135中解锁该线程,由此使该线程可以使用。
在此阶段,CPU101执行第二I/O初始化136。在第二I/O初始化136中,CPU101根据将被初始化设备之间的依赖关系而把初始化分为多个步骤。在每个步骤中,CPU101使用可用的线程并行地执行初始化步骤。此时,CPU101通过屏蔽器使初始化步骤相互同步,并且使初始化顺序与设备之间的依赖关系相对应。
在完成以上全部初始化步骤之后,CPU101退出第二I/O初始化,并且执行用于执行用户处理的LOCK137,并接着执行文件系统安装138和UNLOCK139。
当用户处理变得可执行时,CPU101执行第三I/O初始化(Lazy init)140。CPU101使用线程相互并行地执行与用户处理等量的剩余初始化。在第三I/O初始化140中,对设备进行初始化,这与从开始OS启动直到执行OS启动为止的较长时间和设备本身不可使用的较长周期相适应。应该指出,在第三I/O初始化140中,如果需要,使用普通的同步目标而相互同步地执行并行初始化。
一旦开始执行上述第三I/O初始化140,CPU101就执行初始化文件执行(Exec/sbin/init)141,以进行各种设置,并完成所述启动。
以下结合图8-10中的流程图,如有必要结合图11-13,解释在前述初始化序列中由CPU101执行的I/O初始化。
首先,在图8的步骤S1中,CPU101从Early(早期)注册项中读取条目数量。
图11示出由CPU101执行的I/O初始化程序的结构。通过执行图11中I/O初始化程序150中从上数第一行的语句151“early_init_entry_number=N”,CPU101在图8的步骤S1中读取在图12所示Early注册项中登记的条目数量N。
图12示意性地示出由CPU101在OS启动时读取的注册表的结构。如图12所示,在注册表161的Early注册项中登记一个条目。从而,在此情况下条目数量为1(N=1)。
在图8的步骤S2中,CPU101在变量i中赋值“1”。接着,在步骤S3中,CPU101判断在Early注册项中是否还有任何要处理的条目。当判断结果是肯定的时(还有要处理条目),CPU101前进到步骤S4,在此步骤中CPU101控制驱动器执行第i个条目。在完成第i个条目的执行之后,CPU101前进到步骤S5,在此步骤中CPU101在变量i上增加值“1”,接着返回到步骤S3,在此步骤中CPU101重复后续的操作。
在步骤S3中,CPU101执行在Early注册项中登记的所有条目。当CPU101确定没有要处理条目时,CPU101前进到步骤S6。
更具体地,CPU101执行图11中从上数第2至4行的语句152中的操作,按照条目登记顺序读取并执行在Early注册项中登记的条目。如图12所示,Early注册项具有“hdd_early_init”作为将被执行的初始化。CPU101根据该条目而控制硬盘104的驱动器执行“hdd_early_init”。
图13示出硬盘104中驱动器的结构。如图13所示,用参考号170表示的驱动器包括与将在第一I/O初始化中执行的操作有关的语句171。如图13所示,CPU101根据语句171而把“power_register”的值设为“1”,以接通硬盘104的电源。
如上所述,CPU101重复图8中的步骤S3-S5,以处理Early注册项中的所有条目。
在步骤S6中,CPU101判断是否可并行地执行初始化。当确定没有线程可用并因而不可能并行执行初始化时,CPU101前进到步骤S7并等待,接着返回到步骤S6,在此步骤中CPU101重复后续的操作。也就是说,在CPU101已经完成在Early注册项中登记的操作之后,CPU101重复步骤S6和S7,并且一直等待到所述线程变得可用为止。
当通过用图11所示的其它操作来初始化所述线程、进度表和并行化而使所述线程变得可用时,并且当在步骤S6中确定可相互并行地执行初始化时,CPU101前进到图9的步骤S8。
在图9的步骤S8中,CPU101读取在第二I/O初始化时将执行的初始化步骤的阶段数量。
CPU101执行差不多在图11中间示出的语句153中的“phase_number=M”,以计算阶段登记数,并读取阶段数量。由于图12所示注册表已经登记“phase(阶段)0”至“phase 3”,因此,阶段数量为4(M=4)。
在读取阶段数量之后,CPU101在图9的步骤S9中对变量i赋值“0”,并且前进到步骤S10,在此步骤中,开始处理在每个阶段注册项中登记的条目。
在步骤S10中,CPU101判断是否存在任何要处理的阶段。当判断结果是肯定的时(存在要处理阶段),CPU101前进到步骤S11,其中,CPU101从第i个阶段注册项读取条目数量。
CPU101执行图11中从下数第10行中的语句154“phase[i]_number=P”,以计算并读取第i个阶段注册项中的条目P。当CPU101读取图12所示“phase 0”注册项中的条目数量时,条目数量P=2;当CPU101读取“ phase 1”注册项中的条目数量时,条目数量P=2;当CPU101读取“phase 2”注册项中的条目数量时,条目数量P=4;并且,当CPU101读取“phase 3”注册项中的条目数量时,条目数量P=1。
在读取条目数量之后,CPU101在图9的步骤S12中对变量j赋值“1”,并且前进到步骤S13,在此步骤中CPU101处理每个条目。
即,CPU101在步骤S13中判断是否存在任何要处理的阶段。当判断结果是肯定的时,CPU101前进到步骤S14,在此步骤中产生用于第j个条目的线程,接着前进到步骤S15,在此步骤中CPU101在变量j_的值上加“1”,并返回到步骤S13,在此步骤中重复后续的操作。
如果CPU101在步骤S13中产生用于登记在第i个阶段注册项中的全部条目的线程,并且确定不存在要处理的条目,CPU101就前进到步骤S16。
更具体地,CPU101在第二I/O初始化的第i个阶段中执行图11中从下数第9行-第7行中的语句155的操作,按登记顺序读取在“phase[i]”注册项中登记的条目,以产生用于所述条目的线程,并相互并行地执行所述线程。如图12所示,已在“phase[i]”注册项中登记将被执行的初始化“SCSI_CHIP_init”和“USB_CHIP_init”。CPU101根据所述条目而驱动SCSI(小型计算机系统界面)和USB(通用串行总线)控制器。
如上所述,CPU101重复图9中的步骤S13-S15,以处理“phase[i]”注册项中的所有条目。
在步骤S16中,CPU101通过屏蔽器而使所述初始化相互同步,并且判断第i个阶段中的全部线程是否已经执行完。当CPU101确定还未执行完所有线程时,前进到步骤S17并等待,接着返回到步骤S16,在步骤S16中CPU101重复后续的操作。也就是说,在产生用于登记在“phase[i]”注册项中的每个操作的线程之后,CPU101等待,同时重复步骤S16和S17中的操作,直到已经执行完所述线程为止。
如果CPU101在步骤S16中确定已经执行完所述阶段中的全部线程,CPU101就前进到步骤S18,在此步骤中,CPU101在变量i的值上加“1”,接着,返回到步骤S10,在此步骤中CPU101重复后续的操作。
如果CPU101在步骤S10中执行用于所有阶段注册项的全部条目并且确定没有要处理阶段,CPU101就前进到图10中的步骤S19。
更具体地,CPU101执行图11中从下数第11至第5行的操作,作为第二I/O初始化,按照阶段数量的顺序读取在每个阶段注册项中登记的条目,设置多个线程,并执行操作,同时通过屏蔽器而使所述线程相互同步。
在图10的步骤S19中,与分别从Early和阶段注册项中读取相似地,CPU101从Lazy注册项中读取条目数量。
在图10的步骤S19中,CPU101执行图11中从下数第4行中的语句157“Lazy_number=Q”,以读取在图12所示Lazy注册项中登记的条目数量Q。如图12所示,在Lazy注册项中登记一个条目。从而,条目数量Q=1。
在图10的步骤S20中,CPU101对变量i赋值“1”。接着,在步骤S21中,CPU101判断在Lazy注册项中登记的条目中是否还有要处理的条目。当判断结果是肯定的时,CPU101前进到步骤S22,在此步骤中,CPU101限制驱动器,并产生用于第i个条目的线程。接着,CPU101前进到步骤S23,在此步骤中,CPU101在变量i的值上增加值“1”,并返回到步骤S21,在此步骤中CPU101重复后续的操作。
如果CPU101在步骤S21中执行用于Lazy注册项的所有条目并确定不存在要处理条目,CPU101就退出I/O初始化。
更具体地,CPU101执行图11中从下数第3行至第1行中的操作,作为第三I/O初始化,以读取在Lazy注册项中登记的条目,设置多个线程,并用所述线程执行初始化。应该指出,如果需要的话,每个线程通常可与其它的线程同步。
如图12所示,已经在Lazy注册项中登记“hdd_lazy_init”,作为将被执行的初始化。CPU101根据该条目而控制硬盘104的驱动器,并执行图13中驱动器170的“hdd_lazy_init”。
如图13所示,驱动器170包括与将在第三I/O初始化中执行的操作有关的语句171。如图13所示,如果马达未获得任何稳定的运转并且未准备用于下一操作(if(!ready)),CPU101就根据语句172而等待(sleep(sync))。在马达准备用于下一操作的情况下,CPU101将进行随后规定的操作,如检验初始化(发出检验cmd)等。
由于如上所述地执行I/O初始化,因此,在OS启动的各个阶段中执行初始化,并且在等待过程中执行其它初始化。所以,OS启动的时间可以缩短。
例如,如图14所示,CPU101以Early模式进行HDD马达接通操作181,在此模式中没有线程可以使用。接着,CPU101以“phase 0”至“phase 3”模式执行用于USB和SCSI的初始化,直到马达稳定运转为止。
也就是说,在阶段0中,CPU101设置并执行用于SCSI_CHIP191和USB_CHIP192的线程,其中,SCSI_CHIP191用于对SCSI控制器初始化,USB_CHIP192用于对USB控制器初始化。在执行完所述线程时,CPU101转换到阶段1,在此阶段中,CPU101设置并执行用于USB海量存储器193和USB串行194的线程,其中,USB海量存储器193用于对使用可连接USB的器件作为可拆卸介质的驱动器进行初始化,USB串行194用于对控制可连接USB的器件的驱动器进行初始化。在执行完所述线程时,CPU101转换到阶段2。
在阶段2中,CPU101设置并执行用于SCSI总线195、键盘196、鼠标197和红外线198的线程,其中,SCSI总线195用于对SCSI总线控制器进行初始化,键盘196用于对输入块176的键盘进行初始化,鼠标197用于对输入块176中的鼠标进行初始化,红外线198为在接收块61中进行红外线通信而进行初始化。在执行完所述线程时,CPU101转换到阶段3,在此阶段中,CPU101设置并执行用于SCSI盘199的线程,SCSI盘199用于对控制器初始化,以控制驱动器290。在执行完所述线程时,CPU101转换到Lazy模式。
当马达获得稳定的运转时,CPU101以Lazy模式对硬盘104执行初始化程序(用户处理)。
例如,CPU101将在Lazy模式中进行等待182,直到它准备下一操作为止。当CPU101准备下一操作时,执行检验初始化183、分区检查184和文件系统安装185。
应指出,由于CPU101以Lazy模式使用用户处理,因此,例如如图14所示,CPU101适于与文件系统安装185同步地开始记录。
如上所述,CPU101可在OS启动的任何阶段中进行I/O初始化,其中,系统状态随着图15所示表211中的“新的”初始化而改变。从而,可在最佳的阶段中执行各种I/O初始化,以更少的时间启动OS。
应指出,尽管CPU101适合根据基于注册表161的进度而执行I/O初始化,其中,注册表161按上述图12所示构造,但本发明不局限于此技术,例如,CPU101可适合参照图16所示表231而执行I/O初始化,表231制作得与将被启动的OS的核心程序分离。即,在此情况下,CPU101进行的I/O初始化与以上结合图8-10所述的初始化基本相同,不同的是参照表231而不是参照注册表161进行初始化。因此,在此不描述后一技术。
在前面,已经描述根据本发明的HDD记录器的I/O初始化。然而,本发明不局限于此种I/O初始化,而是可应用于在家用电气或电子设备中包含的OS的I/O初始化。
而且,上述操作序列可由硬件或软件执行。根据本发明的I/O初始化可应用到图17所示的个人计算机251中。
如图17所示,个人计算机251中的CPU261根据储存在ROM262中的程序或从存储块286中的硬盘(HDD)287装入到RAM263中的程序,而执行各种操作。还在RAM263中适当地储存CPU261执行这些操作所必需的数据。
个人计算机251包括I/O初始化块264,该块264在CPU261的控制下,根据储存在ROM262中的程序而进行与前述在个人计算机251的启动时相似的I/O初始化。对于此初始化,OS可在个人计算机251中启动,因而,CPU261可控制个人计算机251的各种组件。
如图17所示,CPU261、ROM262、RAM263和I/O初始化块264通过总线265而相互连接,I/O接口270也连接到总线265上。
I/O接口270连接到输入块281、输出块285、存储块286和通信块288,其中,输入块281包括键盘282、鼠标283、USB相机284等,输出块285包括CRT(阴极射线管)、LCD(液晶显示器)、扬声器等,存储块286包括HDD287等,通信块288包括蓝牙模块289或调制解调器、终端适配器等。
如果需要,I/O接口270还可连接驱动器290。如果需要,可拆卸介质291如磁盘、光盘、磁光盘或半导体存储器装入到驱动器290中,从该介质读取计算机程序,以便安装到存储块286中的HDD287上。
在按以上构造的个人计算机251中,I/O初始化块264在CPU261的控制之下,执行与图8-10所示相似的I/O初始化,图8-10所示初始化由图5所示HDD记录器53中的CPU101执行。
也就是说,如图18所示,在没有线程可以使用的阶段(Early)中,I/O初始化块264对存储块286中硬盘287进行HDD马达接通操作301。
当线程在马达运转稳定之前变得可以使用时,I/O初始化块264在“phase 0”中,根据表示注册表中信息等的进度,而设置并执行用于SCSI_CHIP311和USB_CHIP312的线程,其中,SCSI_CHIP311用于对SCSI控制器进行初始化,USB_CHIP312用于对USB控制器进行初始化。
在完成以上操作之后,I/O初始化块264转换到“phase 1”,在此阶段中,块264分别设置并执行用于USB海量存储器313、USB串行314和USB相机315的线程,其中,USB海量存储器313用于对使用可连接USB的器件作为可拆卸介质的驱动器进行初始化,USB串行314用于对控制可连接USB的器件的驱动器进行初始化,USB相机315用于对输入块281中的USB相机284进行初始化。在完成这些操作时,I/O初始化块264转换到“phase 2”。
在阶段2中,I/O初始化块264设置并执行用于SCSI总线316、键盘317、鼠标318和蓝牙319的线程,其中,SCSI总线316用于对SCSI总线控制器进行初始化,键盘317用于对输入块281中的键盘282进行初始化,鼠标318用于对输入块281中的鼠标283进行初始化,蓝牙319用于对通信块288中的蓝牙模块289进行初始化。在完成这些操作之后,I/O初始化块264转换到“phase 3”,在此阶段中,块264设置并执行用于SCSI盘320的线程,SCSI盘320用于对驱动器290进行初始化。在完成此操作时,I/O初始化块264转换到Lazy模式。
当马达获得稳定的运转时,I/O初始化块264以Lazy模式对硬盘287执行初始化程序(用户处理)。
例如,I/O初始化块264以Lazy模式进行等待302,直到它准备下一操作为止。当I/O初始化块264准备下一操作时,它执行检验初始化303、分区检查304和文件系统安装305等。
由于通过I/O初始化块264启动OS,因此,个人计算机251的OS可以更少的时间启动。
在前面,已经结合附图并以一些优选实施例为实例而详细描述本发明。然而,本领域中技术人员应该理解,本发明不局限于这些实施例,只要不偏离在后附权利要求中提出和定义的本发明范围和精神,这些实施例就能以各种方式进行修改,另外构造或以各种其它的形式来体现。
例如,如图18所示,由于I/O初始化块264可以Lazy模式使用用户处理,因此它适于通过与文件系统安装305同步的用户处理而开始应用程序。
而且,如以上结合图16描述的,以进度表的形式布置I/O初始化,其中,I/O初始化块264可查询此进度表。
已经结合图17描述与CPU261分离的I/O初始化块264。然而,本发明不局限于个人计算机251的此种构造,I/O初始化块264的部分或全部功能可包括在CPU261中。
为了借助软件来执行一系列的操作,形成该软件的程序从网络或记录介质安装到包含专用硬件的计算机中、或安装到能在其中安装各种程序并执行各种功能的通用计算机中。
如图5或17所示,以上记录介质可以是可拆卸介质105或291,如磁盘(包括软盘)、光盘(包括CD-ROM=紧致盘-只读存储器和DVD=数字多用途盘)、磁光盘(包括MD=小型盘)或半导体存储器,在每一种介质内记录将要分配给用户的程序,其中,所述介质与装置本身分开。可替换地,所述介质可以是ROM102或262或者是硬盘104或287,每一种介质预先包含在装置本身内并记录将要分配给用户的程序。
用于规定记录在记录介质中的程序的步骤包括以规定顺序在时间上串行执行的操作、以及不总是串行而是并行或分别执行的操作。
而且,“系统”在此指包括多个单元的整个装置。
如前面已经描述的,本发明允许对操作系统(OS)进行I/O初始化。具体地,本发明允许以更短的时间启动OS。

Claims (18)

1.一种用于执行操作系统的I/O初始化的信息处理装置,所述装置包括:
第一初始化器件,用于以预定的顺序并在没有线程可以使用的第一状态下串行执行第一组初始化,该第一组初始化包括在I/O初始化中并且在第一状态下是可执行的;
第二初始化器件,以根据将被初始化设备之间依赖关系的顺序并在线程可以使用的第二状态下,使用所述线程执行第二组初始化,该第二组初始化包括在I/O初始化中、与第一组初始化不同并且在第二状态下是可执行的;以及
第三初始化器件,使用所述线程并在用户处理可以使用的第三状态下,执行第三组初始化,该第三组初始化包括在I/O初始化中并与第一和第二组初始化不同。
2.如权利要求1所述的装置,其中:
以预定的方式设置第一、第二和第三组初始化;以及
包括在I/O初始化中的全部操作都包括在第一、第二和第三组初始化的任一个中。
3.如权利要求1所述的装置,其中,以比设置第二和第三组初始化中更简单的方式设置第一组初始化,使得到可执行下一初始化为止的等待时间设定得更长。
4.如权利要求1所述的装置,其中,第二初始化器件通过在每个步骤中相互并行地执行初始化而执行第二组初始化,该第二组初始化分为多个步骤,步骤数量取决于设备之间的依赖关系。
5.如权利要求4所述的装置,其中,第二初始化器件通过屏蔽器而使所述步骤互相同步,一直等待到完成包括在一步骤中的全部初始化为止,所述初始化将相互并行地执行,并接着相互并行地执行包括在下一步骤中的初始化。
6.如权利要求1所述的装置,其中,对于需要同步化目标的用户,第三初始化器件在与用户程序同步的同时执行所述初始化。
7.一种用于执行操作系统的I/O初始化的信息处理方法,所述方法包括:
第一初始化步骤,用于以预定的顺序并在没有线程可以使用的第一状态下串行执行第一组初始化,该第一组初始化包括在I/O初始化中并且在第一状态下是可执行的;
第二初始化步骤,以根据将被初始化设备之间依赖关系的顺序并在线程可以使用的第二状态下,使用所述线程执行第二组初始化,该第二组初始化包括在I/O初始化中、与第一组初始化不同并且在第二状态下是可执行的;以及
第三初始化步骤,使用所述线程并在用户处理可以使用的第三状态下,执行第三组初始化,该第三组初始化包括在I/O初始化中并与第一和第二组初始化不同。
8.如权利要求7所述的方法,其中:
以预定的方式设置第一、第二和第三组初始化;以及
包括在I/O初始化中的全部操作都包括在第一、第二和第三组初始化的任一个中。
9.如权利要求7所述的方法,其中,以比设置第二和第三组初始化中更简单的方式设置第一组初始化,使得到可执行下一初始化为止的等待时间设定得更长。
10.如权利要求7所述的方法,其中,第二初始化步骤通过在每个步骤中相互并行地执行初始化而执行第二组初始化,该第二组初始化分为多个步骤,步骤数量取决于设备之间的依赖关系。
11.如权利要求10所述的方法,其中,第二初始化步骤通过屏蔽器而使所述步骤互相同步,一直等待到完成包括在一步骤中的全部初始化为止,所述初始化将相互并行地执行,并接着相互并行地执行包括在下一步骤中的初始化。
12.如权利要求7所述的方法,其中,对于需要同步化目标的用户,第三初始化器件在与用户程序同步的同时执行所述初始化。
13.一种允许计算机执行操作系统的I/O初始化的程序,所述程序包括:
第一初始化步骤,用于以预定的顺序并在没有线程可以使用的第一状态下串行执行第一组初始化,该第一组初始化包括在I/O初始化中并且在第一状态下是可执行的;
第二初始化步骤,以根据将被初始化设备之间依赖关系的顺序并在线程可以使用的第二状态下,使用所述线程执行第二组初始化,该第二组初始化包括在I/O初始化中、与第一组初始化不同并且在第二状态下是可执行的;以及
第三初始化步骤,使用所述线程并在用户处理可以使用的第三状态下,执行第三组初始化,该第三组初始化包括在I/O初始化中并与第一和第二组初始化不同。
14.如权利要求13所述的程序,其中:
以预定的方式设置第一、第二和第三组初始化;以及
包括在I/O初始化中的全部操作都包括在第一、第二和第三组初始化的任一个中。
15.如权利要求13所述的程序,其中,以比设置第二和第三组初始化中更简单的方式设置第一组初始化,使得到可执行下一初始化为止的等待时间设定得更长。
16.如权利要求13所述的程序,其中,第二初始化步骤通过在每个步骤中相互并行地执行初始化而执行第二组初始化,该第二组初始化分为多个步骤,步骤数量取决于设备之间的依赖关系。
17.如权利要求16所述的程序,其中,第二初始化步骤通过屏蔽器而使所述步骤互相同步,一直等待到完成包括在一步骤中的全部初始化为止,所述初始化将相互并行地执行,并接着相互并行地执行包括在下一步骤中的初始化。
18.如权利要求13所述的程序,其中,对于需要同步化目标的用户,第三初始化器件在与用户程序同步的同时执行所述初始化。
CNA200410001459XA 2003-01-08 2004-01-08 信息处理装置、方法和程序 Pending CN1517868A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003002119A JP4187151B2 (ja) 2003-01-08 2003-01-08 情報処理装置および方法、並びにプログラム
JP002119/2003 2003-01-08

Publications (1)

Publication Number Publication Date
CN1517868A true CN1517868A (zh) 2004-08-04

Family

ID=32501209

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA200410001459XA Pending CN1517868A (zh) 2003-01-08 2004-01-08 信息处理装置、方法和程序

Country Status (5)

Country Link
US (1) US7171549B2 (zh)
EP (1) EP1437653B1 (zh)
JP (1) JP4187151B2 (zh)
CN (1) CN1517868A (zh)
DE (1) DE602004013472D1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006508A (zh) * 2010-11-15 2011-04-06 中兴通讯股份有限公司 实现交互式网络电视服务器中单板上电的装置及方法
CN101236505B (zh) * 2007-01-30 2012-07-04 国际商业机器公司 用于初始化数据处理系统的方法和数据处理系统
CN110308942A (zh) * 2019-07-05 2019-10-08 武汉斗鱼网络科技有限公司 一种初始化控制器的方法及相关装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7636941B2 (en) * 2004-03-10 2009-12-22 Microsoft Corporation Cross-domain authentication
US7733347B2 (en) * 2004-11-05 2010-06-08 Microsoft Corporation Automated construction of shader programs
US7800620B2 (en) 2004-11-05 2010-09-21 Microsoft Corporation Optimizing automated shader program construction
US7770170B2 (en) * 2005-07-12 2010-08-03 Microsoft Corporation Blocking local sense synchronization barrier
US7389410B1 (en) * 2005-07-13 2008-06-17 Symantec Corporation Automatically deriving order of initialization for computing services across multiple computing systems
JP4793628B2 (ja) * 2005-09-01 2011-10-12 横河電機株式会社 Os起動方法及びこれを用いた装置
JP2007122653A (ja) * 2005-10-31 2007-05-17 Toshiba Corp 情報処理装置及び起動制御方法
KR101046588B1 (ko) * 2005-11-16 2011-07-06 삼성전자주식회사 신호처리장치 및 그 제어방법
US7500091B2 (en) * 2005-11-30 2009-03-03 Microsoft Corporation Delay start-up of applications
KR20080015201A (ko) * 2006-08-14 2008-02-19 삼성전자주식회사 데이터 로컬리제이션을 이용하여 초기화를 수행하는전자기기 및 그 방법
US9003274B2 (en) 2007-12-21 2015-04-07 International Business Machines Corporation Scheduling start-up and shut-down of mainframe applications using topographical relationships
JP2009193301A (ja) * 2008-02-14 2009-08-27 Nec Corp 情報処理装置、情報処理装置におけるデバイス初期化方法、およびデバイス初期化プログラム
GB2471464A (en) * 2009-06-29 2011-01-05 Nokia Corp Procedure for generating a merged command list form the static lists to be used to start up or boot up the host device.
US9086933B2 (en) * 2012-10-01 2015-07-21 Nvidia Corporation System and method for launching callable functions
JP6109340B2 (ja) * 2013-12-09 2017-04-05 三菱電機株式会社 情報機器
JP6291966B2 (ja) * 2014-03-31 2018-03-14 日本電気株式会社 初期化処理高速化システム、初期化処理高速化装置、初期化処理高速化方法及び初期化処理高速化プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US169949A (en) * 1875-11-16 Improvement in ointments
US6038632A (en) * 1997-05-07 2000-03-14 Kabushiki Kaisha Toshiba Interrupt control on SMM
US6098158A (en) * 1997-12-18 2000-08-01 International Business Machines Corporation Software-enabled fast boot
JPH11265289A (ja) * 1998-03-16 1999-09-28 Mitsubishi Electric Corp 情報処理装置および情報処理装置の高速初期起動方法
KR100283243B1 (ko) * 1998-05-11 2001-03-02 구자홍 운영체제의 부팅방법
US6367074B1 (en) * 1998-12-28 2002-04-02 Intel Corporation Operation of a system
JP2000293391A (ja) * 1999-04-07 2000-10-20 Mitsubishi Electric Corp 大規模メモリシステム管理方法および装置
US6631469B1 (en) * 2000-07-17 2003-10-07 Intel Corporation Method and apparatus for periodic low power data exchange
US6839836B2 (en) * 2001-04-13 2005-01-04 Hewlett-Packard Development Company, L.P. Portable computing device with specialized operating system
US6842856B2 (en) 2001-05-11 2005-01-11 Wind River Systems, Inc. System and method for dynamic management of a startup sequence
US6928542B2 (en) * 2001-11-15 2005-08-09 Inventec Corporation Method and system for starting a multiple PDA operating system through a menu
US7243245B2 (en) * 2003-06-20 2007-07-10 International Business Machines Corporation Method and system for performing automatic startup application launch elimination

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236505B (zh) * 2007-01-30 2012-07-04 国际商业机器公司 用于初始化数据处理系统的方法和数据处理系统
CN102006508A (zh) * 2010-11-15 2011-04-06 中兴通讯股份有限公司 实现交互式网络电视服务器中单板上电的装置及方法
CN110308942A (zh) * 2019-07-05 2019-10-08 武汉斗鱼网络科技有限公司 一种初始化控制器的方法及相关装置
CN110308942B (zh) * 2019-07-05 2021-11-26 武汉斗鱼网络科技有限公司 一种初始化控制器的方法及相关装置

Also Published As

Publication number Publication date
EP1437653A3 (en) 2004-08-11
JP2004213530A (ja) 2004-07-29
DE602004013472D1 (de) 2008-06-19
JP4187151B2 (ja) 2008-11-26
US7171549B2 (en) 2007-01-30
EP1437653A2 (en) 2004-07-14
US20040139439A1 (en) 2004-07-15
EP1437653B1 (en) 2008-05-07

Similar Documents

Publication Publication Date Title
CN1517868A (zh) 信息处理装置、方法和程序
CN1279440C (zh) 卸载系统
CN1790376A (zh) 信息处理装置、输入设备以及方法、程序和信息处理系统
CN1233165C (zh) Mpeg编码装置和mpeg解码装置以及编码程序
CN1303549C (zh) 内容使用方法和系统,用于该系统的服务器和电子设备
CN1104812C (zh) 控制电子节目指南显示的设备和方法
CN1273917C (zh) 用于搜索和提供内容的系统和方法
CN1133128C (zh) 图像显示单元和运动图像检索系统
CN101046812A (zh) 一种数据库表记录构造与检查的方法及其装置
CN1758237A (zh) 改变遥控器操作按钮的功能分配的组合设备和方法
CN1731851A (zh) 记录控制设备、方法及程序
CN1912948A (zh) 学习遥控装置、系统及其遥控方法
CN1579092A (zh) 信息处理系统、信息处理装置及方法、记录媒体及程序
CN1586071A (zh) 内容自动记录装置及方法、记录媒体及程序
CN1770111A (zh) 具有温度传感器的处理器系统及其控制方法
CN1477866A (zh) 视频数据的记录和再现装置
CN1596445A (zh) 创作装置和创作方法
CN1910696A (zh) 具有交互图形流的存储介质及用于再现该介质的设备
CN1465177A (zh) 内容喜好程度计算方法和内容接收装置
CN1439224A (zh) 接收存储装置、发送装置、广播系统、接收存储方法、发送方法、广播方法、程序以及媒体
CN1791205A (zh) 数据记录控制装置及方法、程序、数据记录系统及装置
CN1610881A (zh) Gui应用开发支持设备、gui显示设备和方法及计算机程序
CN1706184A (zh) 记录设备与记录预约处理方法
CN1700201A (zh) 图像处理装置、图像处理系统、图像处理方法
CN1701599A (zh) 决定适当的数据候选的数据输出装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication