本发明专利技术涉及信息处理装置、方法和程序,为了启动操作系统(OS),CPU以三种模式执行初始化:所述三种模式包括第一I/O初始化(Early init)(132),在没有线程可以使用时串行地执行该初始化,该初始化不采用任何先进技术并且在执行下一操作之前等待较长时间;第二I/O初始化(136),当线程可以使用时,根据将被初始化设备之间的依赖关系并且通过屏蔽器而使所述步骤之间同步,在相互并行的多个步骤中使用可用线程而执行该初始化;第三I/O初始化(Lazy init)(140),其中,在用户处理变得可以执行时,使用与用户处理等数量的所述线程而相互并行地执行剩余的初始化。
【技术实现步骤摘要】
本专利技术一般涉及信息处理装置、方法和程序,并更具体地涉及在启动操作系统时能用更少时间来处理信息的信息处理装置、方法和程序。本专利申请要求对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初始化中并与第一和第二组初始化不同。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:町田浩之,篠原孝夫,大和田清志,山本哲士,天野克重,
申请(专利权)人:索尼株式会社,松下电器产业株式会社,
类型:发明
国别省市:JP[日本]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。