CN1251074C - 计算机的重启动方法 - Google Patents
计算机的重启动方法 Download PDFInfo
- Publication number
- CN1251074C CN1251074C CNB2004100033815A CN200410003381A CN1251074C CN 1251074 C CN1251074 C CN 1251074C CN B2004100033815 A CNB2004100033815 A CN B2004100033815A CN 200410003381 A CN200410003381 A CN 200410003381A CN 1251074 C CN1251074 C CN 1251074C
- Authority
- CN
- China
- Prior art keywords
- module
- program
- mentioned
- interrupt
- address
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000003780 insertion Methods 0.000 claims description 61
- 230000037431 insertion Effects 0.000 claims description 61
- 230000008569 process Effects 0.000 claims description 44
- 238000003860 storage Methods 0.000 claims description 32
- 238000012856 packing Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 62
- 238000007726 management method Methods 0.000 description 17
- 230000014509 gene expression Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000033228 biological regulation Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000033458 reproduction Effects 0.000 description 2
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003760 hair shine Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Retry When Errors Occur (AREA)
Abstract
在计算机中使由多个装入模块构成的操作系统重启动的方法,首先,将此操作系统重启动过程中被操作的一个装入模块保存到存储器中。使这一个装入模块处理的插入为可接收状态。然后将这一个装入模块以外的装入模块装入上述计算机的存储器中。由此,在操作系统的重启动过程中,使这个装入模块的插入处理成为可能。
Description
本申请是申请号为98117852.9、申请日为1998年7月2日的原案申请的分案申请,该原案的在先申请为JP97-191840,在先申请日为1997年7月2日。
技术领域
本发明涉及操作系统的重启动方法,特别涉及操作系统因软件故障而中断时的操作系统重启动方法。
背景技术
在现有的各种操作系统中,从核心程序分离出用于控制与计算机相连接的硬件的设备驱动程序模块。而且,从磁盘装置等次级存储装置装入核心程序需要的设备驱动程序并利用。在具有上述功能的操作系统中,采用利用从操作系统中夺取时钟插入并进行管理的实时处理驱动程序,在计算机中执行严格时间限制的系统控制的方式。通过这种方式,实时处理驱动程序夺取原来操作系统应接收的时钟插入优先于操作系统处理执行实时处理。然后使控制返回操作系统。
这样的实例在“The RTX Real-Time Subsystem for Windows NT”(USENIXWindows NT Workshop-August 11-13,1997,pp33-37)中予以描述。在此文献中,通过OS的一部分模块的变更和特殊的设备驱动程序,从OS夺取作为实时控制对象的设备的插入,并由与OS无关的程序执行插入处理。由此,能够与OS处理无关地处理插入并提高实时性。
在实时处理中,确保可靠性是一个大问题。在上述方式中,实时处理模块不依赖于操作系统的核心程序。由此,即使操作系统因软件故障而中断,也能够继续进行实时处理。而且在操作系统因故障而中断时,会通知实时处理模块。由此,在实时处理模块一侧,能够执行与操作系统的中断相对应的处理。在上述实例中,对作为实时控制对象的设备的插入处理进行控制,以便于即使在OS因故障而中断时也继续进行该处理。
但是,在现有方式中,在重启动因软件故障而中断的操作系统时,实时处理驱动程序也会中断。即,存在不能同时执行操作系统的重启动处理和实时处理的问题。这是由于为了在操作系统重启动时对处理器复位而丢失了用于实时处理模块工作的虚拟存储的内容和插入处理用的信息。该问题是因为当具有在非常短的周期内不能中断而必须控制的硬件的情况下,在重启动操作系统时其控制中断。在现有技术中,不管时钟插入,在操作系统的重启动中,操作系统不能接收硬件产生的外部插入。
例如在由多个计算机构成的簇结构计算机系统中,相隔预定时间询问其它的计算机是否正在工作,如果在预定时间没有回答,则判断为该计算机中断执行,从而执行变更系统结构的处理。在这种情况下,为了做出计算机是否中断的判断,必须等待一段时间。如果在操作系统的重启动中不能进行插入处理,则需要把判断为计算机中断的预定等待时间设定为较长的时间。为此,而产生了开始系统再构成之前的时间的问题。如果在操作系统的重启动中也接收到响应该询问的外部插入并能够返回回答,则能够缩短上述的预定时间。从而,能够缩短开始再构成之前的时间。
在现有的重启动方法中,存在为了执行存储器检测和硬件构成识别等处理而使操作系统启动之前的时间变长的问题。
发明内容
本发明的目的是在操作系统重启动时,能够执行独立于操作系统而执行处理的外部插入处理。
为了达到上述目的,根据本发明的一种由多个装入模块构成的操作系统在一台计算机中的重启动的方法,其特征在于,包括下列步骤:对作为非中断模块而登录的装入模块在维持所述登录模块的处理环境下执行重启动;将上述操作系统重启动过程中被操作的上述多个装入模块中的一个保存到存储器中;使上述一个装入模块处理的插入成为可接收状态;将上述一个装入模块以外的装入模块装入上述计算机的存储器中。
另外,根据本发明的一种重启动的方法,用于具有主存储装置、处理器、磁盘、外部设备和连接这些的总线并允许该处理器进行时钟插入处理的一台计算机中的、由软件即多个装入模块构成的操作系统中,其特征在于,包括下列步骤:将在上述操作系统的启动时将存储在上述主存储装置中的上述多个装入模块保存到上述磁盘中;对作为非中断模块而存储到主存储装置中的上述多个装入模块中管理时钟插入的模块的重启动,在维持该模块的虚拟地址、与该虚拟地址对应的地址转换表、存储了该模块的物理存储器、有关该模块应处理的插入的设定的情况下执行上述多个装入模块中的重启动装入;即使在上述操作系统的重启动中,也使之成为可接收上述时钟插入处理的状态;通过上述重启动装入将保存在上述磁盘中的内容装入到上述主存储装置,将上述管理时钟插入的模块以外的装入模块装入上述主存储装置中的状态重现。
附图说明
图1是适用于本发明实施例的计算机构成图。
图2是用于管理装入模块及空的存储器空间的数据结构图。
图3是用于管理硬件占用资源的数据结构图。
图4是页面表及插入处理程序表的数据结构图。
图5是用于管理非中断模块的数据结构图。
图6是模块构成文件。
图7是用于存储模块的装入模块文件。
图8是检测出软件故障时的处理流程图。
图9是操作系统重启动处理的第一流程图。
图10是操作系统重启动处理的第二流程图。
图11是非中断模块的初始化顺序流程图。
图12是重启动装入程序的处理流程图。
图13是本发明第二实施例的计算机启动顺序的处理流程图。
图14是本发明第二实施例的操作系统重启动处理的流程图。
具体实施方式
下面,参照附图说明本发明的第一及第二实施例。
(1)第一实施例
图1是本发明第一实施例中所使用的计算机的构成图。计算机100由处理器101、主存储器102、只读存储器103、磁盘105、外部设备106和107、插入控制器104、连接各构成部件的总线108以及插入信号总线109构成。
在只读存储器103中,存有执行计算机初始化处理的程序,初始化程序被配置在在处理器101为复位状态时控制转移的地址上。存在只读存储器103中的程序在主存储器102中建立表示硬件结构的数据。而且处于磁盘105上的预定区域中的数据被装入到主存储器102中,并被作为程序传送到控制中。在此例中,装入程序114位于磁盘105的预定区域,并被装入主存储器102中而被执行。
继承了处理的装入程序114将核心程序111装入主存储器中,设定处理器101的虚拟地址变换机构,将处理器转换到虚拟地址模式,并执行核心程序111。此时,装入程序将硬件结构数据传送到核心程序111中。核心程序111参照硬件结构数据,执行核心程序111所管理的硬件设备的初始化处理,并按照模块结构文件110的内容将从核心程序111中分离出的程序模块装入主存储器102中,执行各个模块的初始化处理。例如,如果模块结构文件110的内容是装入重启动装入程序113、设备驱动程序112,则核心程序111将这些内容装入主存储器并执行各自的初始化程序。图1示出了核心程序111、重启动装入程序113及设备驱动程序112被装入主存储器中。最后,核心程序111生成初始进程,结束计算机的启动过程。
在这样的计算机系统中,当在操作系统核心程序111因软件故障而中断并对处理器复位及按照上述过程重启动操作系统时,在重启动期间,虚拟地址模式被解除且不能接收来自外部设备106及107的插入。这里,说明了:外部设备106所产生的插入是核心程序111因软件故障而中断并进行重启动期间必须处理的插入,由设备驱动程序112来进行管理的。本发明在进行核心程序111的重启动处理期间能够持续接收特定的插入并提供可以执行插入处理的重启动过程。
设备驱动程序112是被编程为不利用核心程序111提供的服务来处理外部设备106的插入的模块。这里,设备驱动程序112作为非中断模块被登录到重启动装入程序113的非中断模块管理表500中。重启动装入程序113是在核心程序111因软件故障而中断并进行核心程序111的重启动时所执行的模块,执行原样维持作为非中断模块而被登录到管理表500中的模块的处理环境的核心程序111的重启动处理。
所谓的非中断模块的处理环境,是指配置非中断模块的虚拟地址、与其对应的地址转换表、存储模块的物理存储器、非中断模块应处理的插入的插入处理程序的设定。地址转换表被设定在页面表410,插入处理程序被设定在插入处理程序表430中。地址空间信息和硬件资源信息被存储在资源管理数据115中。
重启动装入程序113参照非中断模块管理表500,原样保持非中断模块确保的地址区域和插入处理程序的设定,进行核心程序111的重新装入和执行。由此,能够保证非中断模块插入处理的连续性。
图2示出了表示本发明的操作系统核心程序111的地址空间的数据结构。
200是记录装入到核心程序111的地址空间中的模块的装入模块管理表。各个模块作为文件被存储到磁盘等次级存储装置中,并由操作系统装入程序或核心程序111装入到主存储器中。装入模块管理表200包含被装入到主存储器中的各个模块的模块名称201、模块代码区域起始虚拟地址202、代码区域大小203、数据区域起始虚拟地址204、数据区域大小205及模块接口信息206。
模块接口信息206是被装入的模块提供给核心程序111的接口程序的起始地址。通过登录接口程序206,核心程序111能够利用被装入的模块的功能。
图2的207至211存有模块名称为设备驱动程序#1的模块的代码起始地址、大小、数据起始地址、大小及接口程序信息。在此图的装入模块管理表200中,示出了核心程序111、重启动装入程序113、设备驱动程序#1及设备驱动程序#2被装入核心空间。
220是表示核心程序111的虚拟地址空间的空区域的核心虚拟空间空区域列表。列表220指出表示空区域的空数据块结构230。空数据块结构230包含空区域的起始虚拟地址232、该空区域的大小233及指向表示下一个空区域的空数据块结构的指针231。231存有下一个空数据块结构240的地址。此图的220中,示出了核心程序111的虚拟地址空间中分别从地址232、242开始、大小为233、243的2个空区域。
250是表示物理存储器的空区域的物理存储器空区域列表。物理存储器空区域列表250的结构与核心程序虚拟空间空区域列表220的结构相同。空数据块结构260及270分别表示物理存储器的空区域。此图中的列表250与220一样,表示2个空的物理存储器区域。
下面说明管理与计算机相连的外部设备的数据结构。
图3示出了表示本发明与计算机相连的外部设备所占用的资源的数据结构。300是表示用于控制外部设备的寄存器所存在的地址范围的设备占用地址列表。设备占用地址列表300由表示1个地址范围的设备占用地址结构构成,在图3中,由3个设备占用地址结构310、320和330构成。设备占用地址结构310包含设备控制寄存器起始地址312、大小313、用于管理在该地址范围内被控制的设备的模块的模块编号314及用于构成设备占用地址列表300的链路311。
模块编号314是对图2的装入模块管理表200的索引。例如,设备占用地址结构310表示核心程序111所管理的外部设备的占用资源时,在314的模块编号中存入表200中核心程序111的索引“0”。如果是设备驱动程序#1管理的设备,则在该模块编号中存入表200中设备驱动程序#1的索引“2”。对装入模块管理表200的索引从0开始计数。
340是记录外部设备所占用的插入编号的设备占用插入表。设备占用插入表340用于记录处理器识别的插入编号被哪个模块管理的硬件设备占用。例如,如果核心程序111管理的时钟插入用设备占用了插入编号0,则将核心程序111的模块编号0存入设备占用插入表的第0项341中。
下面,说明处理器直接利用的数据结构。图4示出了处理器利用的虚拟地址转换表及插入处理用表的数据结构。410是用于规定从处理器的虚拟地址到物理地址的地址转换的页面表。页面表410的项存有处理器规定的每一页面。每一项包含表示该项关于虚拟地址空间内的各虚拟页面是否有效的标记411、表示该页面是否可以写入的标记412和该项对应于虚拟页面的物理页面的起始地址413。
处理器的寄存器400存储页面表410的起始地址。处理器在虚拟地址模式下工作时,参照页面表寄存器400,从虚拟地址中生成进行实际的存储器访问时所必需的物理地址。430是插入处理程序表,用于规定关于进入处理器的插入的每个插入编号的插入处理程序。在插入中对每个要素进行编号。插入控制器104从外部设备接收插入请求,转换到插入编号并通知处理器。插入处理程序表430存储各个插入编号下的每个插入处理程序的起始地址。例如,如果时钟插入利用第0个插入,则在插入处理程序表的第0项431中插入时钟插入处理程序的地址。
处理器的寄存器400存有插入处理程序表430的起始地址。处理器参照插入处理程序表寄存器420,在检测出插入时将控制转移到每个要素的插入处理程序。例如,在处理器检测出时钟插入,即第0个插入时,处理器将控制转移到存在插入处理程序表寄存器420所指向的表430的第0项431中的处理程序。
下面说明重启动装入程序113所管理的数据结构。重启动装入程序113是在操作系统的核心程序111因软件故障发生中断而进行操作系统的重启动时,将操作系统核心程序111装入主存储器中并执行核心程序111的模块。
图5示出了重启动装入程序113所管理的数据结构。500是非中断模块管理表,并是管理非中断模块信息的数据结构,该非中断模块是在由重启动装入程序113进行核心程序111的再装入和重启动过程中也从硬件设备接收插入并执行处理的模块。非中断模块管理表500包含非中断模块名501、非中断模块的代码区域起始地址502、代码区域的大小503、数据区域的起始地址504、数据区域的大小505、非中断模块所管理的外部设备占用的资源信息506及非中断模块再初始化程序的地址。
在利用硬件信息506中,记录非中断模块管理的外部设备控制所占用的地址和占用插入编号。在再初始化程序507中,存有核心程序111重启动时所执行的程序的地址。再初始化程序执行什么取决于模块所管理的硬件,但至少要执行向装入模块管理表200登录接口程序206。由此核心程序111能够再次利用非中断模块所提供的功能。
在图5所示的非中断模块管理表500中,重启动装入程序113及设备驱动程序#1作为非中断模块被登录。而且在508至513中,存有设备驱动程序#1的占用地址、外部设备信息、在初始化程序地址。重启动装入程序113利用非中断模块管理表500的信息,建立操作系统核心程序111重启动时的核心空间及外部设备结构信息,并将其发送到核心程序111中。通过参照这些信息决定启动过程,即使在核心程序重启动中没有发生中断,核心程序111也可以执行来自外部设备的插入处理。利用重启动装入程序113的数据区域中所设置的数据结构,由重启动装入模块来管理非中断模块管理表500。重启动装入摸块在对摸块进行初始化时使重启动装入程序113的数据区域为禁止写入,从而防止了软件故障对非中断模块管理表500的破坏。通过将对应于包含数据区域的虚拟页面的页面表410的各项中的可写入标记复位,来实现使数据区域为禁止写入。
下面,说明定义核心程序111启动时的所读入的装入摸块的文件形式。图6示出了定义装入模块的数据结构。110是示了模块结构文件的内容。模块结构文件110的各项包含核心程序111所装入的模块的名称601、存储模块的文件名602及表示该模块是否为非中断模块的标记603。在图6所示的例子中,核心程序111按照重启动装入程序113、设备驱动程序1、设备驱动程序2的顺序将模块读入主存储器中。若存储设备驱动程序1的文件名为driver1,则表示设备驱动程序是非中断模块。模块结构文件110被存储在操作系统中具有预定名称的文件中,所以核心程序111能够容易地发现这个文件。
图7示出了存储装入模块的文件形式。存储装入模块的文件700保存表示模块执行代码的存储位置的代码起始偏移地址701、执行代码的大小702、表示数据存储位置的数据起始偏移地址703、数据区域的大小704、模块初始化程序的执行代码被存储的初始化程序偏移地址705、模块的再配置信息起始偏移地址706、再配置信息的大小707、执行代码708及数据709。
模块再配置信息710是将模块装入主存储器中时所利用的数据,也是用于根据模块代码及数据区域被装入的地址来变更模块代码的数据。由此,也可以改变装入的模块的结构或模块被装入的地址。
下面,说明本发明的操作系统重启动过程。图8是示出了重启动操作系统时执行的重启动装入程序113的处理过程的流程图。首先,在步骤801检查重启动装入程序113是否被装入核心程序空间。在没有装入重启动装入程序113或不能判断是否装入了重启动装入程序113的情况下,进入步骤802。在步骤802,复位处理器并执行计算机的重启动。
在多台计算机中处理器处于复位状态时,虚拟地址转换变为无效,插入处理程序的设定也变为无效,控制被转移到处理器规定的物理地址。通常,这个物理地址与存储计算机启动过程的读入专用存储器103相映射。这个启动过程是对与计算机相连的硬件设备复位。其目的是为了在执行操作系统的核心程序111时使外部设备处于已知状态。由于这个启动过程,特别是由于处理器被复位,使得在原来计算机的操作系统重启动期间,不能接收来自外部设备的插入处理。
另一方面,在步骤801判断为装入了重启动装入程序113的情况下,不对处理器复位而进行步骤803。从步骤803开始是执行实际的重启动装入程序113的处理过程。在步骤803,检查登录在装入模块管理表200中的模块是否带有硬件复位程序,如果该程序被登录,则调用该复位程序。特别是在硬件复位是对不必要的设备的情况下,也可以不登录复位程序。
接着在步骤804,参照非中断模块管理表500中各项的利用硬件信息506,使关于非中断模块所接收的插入以外的插入的插入处理程序无效。具体地说,就是将插入处理程序430的各项设定为只接收插入的插入处理程序的地址。接着在步骤805,将准备用于以后向非中断模块的数据区域的数据存储的、重启动装入处理的数据区域中所存储的页面设定为可写入状态。具体地说,就是使页面表410中对应于非中断模块数据区域的项的可写入标记412被设定为可写入状态。
在步骤806中,生成虚拟空间空区域列表及物理存储器空区域列表。在步骤806,参照非中断模块管理表500,在重启动装入程序113的数据区域内生成以非中断模块、重启动装入程序113及核心程序堆栈116利用的地址区域以外的地址区域为空区域的空区域列表。空区域列表具有和操作系统管理的空区域列表220及250相同的数据结构。
在步骤807,生成设备占用地址列表。在步骤807,与步骤806相同,参照非中断模块管理表500,在重启动装入程序113的数据区域内生成以非中断模块利用的地址区域以外的地址区域为空区域的设备占用地址列表。这里所生成的设备占用地址列表的数据结构虽然与操作系统管理的设备占用地址列表300的数据结构大致相同,但在设备占用地址结构的模块编号中,存储的不是模块编号而是模块名称。
在步骤808,生成设备占用插入表。与步骤807相同,在重启动装入程序113的数据区域内生成以非中断模块利用的插入编号以外的编号为未使用编号的设备占用插入表。此处与步骤807一样,在设备占用插入表的各项中,存储的不是模块编号而是模块名称。步骤806至808中所生成的数据结构不会在核心程序111重启动时将非中断模块管理的硬件设备资源错误地分配给其他模块。
最后,重启动装入程序113将操作系统核心程序111装入主存储器中(步骤809)并将重启动装入程序113的再初始化程序的地址添加到参数中,执行核心程序111(步骤810)。
图9是示出了本发明实施例的操作系统核心程序111的初始化处理过程的流程图。
首先,判断核心程序111在启动时是由重起动装入程序113启动还是进行常规启动(步骤901)。这是很容易判断的,因为在由重启动装入程序113进行的启动中需要将重启动装入程序113的再初始化程序的地址作为参数传送给核心程序111。
在不是由重启动装入程序113进行启动的情况下,按照常规过程执行核心程序111(步骤902)。这里所谓的常规过程是指总线及插入控制器的初始化、核心程序管理的硬件设备的初始化、模块结构文件中记载的模块装入主存储器的初始化、初始进程的执行。
在由重启动装入程序113启动的情况下,进入步骤903。在步骤903,向重启动装入程序模块分配装入模块管理表200的项。接着在步骤904,根据作为参数传递的重启动装入程序模块的再初始化程序地址执行再初始化程序。重启动装入程序113的再初始化程序执行与非中断模块的再初始化程序相同的处理。在这个再初始化程序中,执行装入模块管理表200的设定。特别是,设定管理表200的模块接口206,从核心程序111中调用重启动程序提供的接口程序。
接着,在步骤905复制硬件结构信息。在步骤906和907中将重起动装入程序113在核心程序启动前建立的空区域列表、设备占用地址列表及设备占用插入表复制到核心程序111的数据空间。由重启动装入程序113提供的接口程序执行这些处理。
在常规启动中,生成以装有核心程序111的存储器区域以外的区域为空区域的空区域列表、空的设备占用地址列表及全部插入项均为未使用的设备插入表,并执行后面的处理。
相应地,在由重启动装入程序113启动时,利用重启动装入程序113生成的空区域列表、设备占用地址列表及设备占用插入表。由此,避免了非中断模块数据区域的初始化和外部设备的初始化,保持了与非中断模块的外部设备相关的处理的连续性。
接着步骤908至912是对核心程序111管理的总线及插入控制器以外的全部外部设备进行的初始化处理。首先,在步骤908,判断是不是核心程序111管理的硬件设备,如果不是,则进入步骤1001。在步骤909,检查外部设备利用的地址区域及插入编号是否已经被使用。如果初始化处理中的外部设备所利用的地址和插入编号已经被登录在设备占用地址列表300及设备占用插入表340中,则不执行步骤910和911而进入步骤912。如果初始化处理中的外部设备所利用的地址或插入编号还没有被登录在设备占用地址列表300及设备占用插入表340中,则意味着着是非中断模块利用的设备。由此,避免了非中断模块管理的外部设备的初始化,保持了与非中断模块的设备相关的处理的连续性。
如果外部设备使用的地址区域及插入编号不是未被使用的,则将该地址区域及插入编号与核心程序111的模块编号同时登录到设备占用地址列表300和设备占用插入表340中(步骤910)。
通过检索装入模块管理表200得到核心程序111的模块编号。执行作为对象的外部设备的初始化(步骤911),并进入步骤912。在步骤912,设定其他设备为处理对象设备,进入步骤908。如果没有剩余的处理对象设备,则从步骤908的检查进入到步骤1001。
图10示出了从步骤1001开始的处理流程图。图10的流程图主要与模块的装入处理相关。
在步骤1001,将模块结构文件110读入存储器中。接着步骤1002至1011执行模块结构文件中所登录的各个模块。步骤1002至1008构成了执行每个模块处理的循环。
在循环内的开始步骤1003,参照模块结构文件110的非中断标记603,检查作为处理对象的模块是不是非中断模块。不是非中断模块的情况下,进入步骤1004。
从步骤1004开始,执行模块向主存储器的装入。首先,在步骤1004获得必要的存储器区域。这是通过参照空区域列表220及物理存储器空区域列表250,寻找存储模块所必需的足够空区域,并从这些空区域列表中取出找到的区域而实现的。参照存储模块的文件前面的部分702及704求出存储模块所必需的区域。在存储器的分配中,也进行页面表410的设定。对与分配的地址区域相对应的页面表410的各项设置有效标记411,并将所分配的物理页面的起始地址存入413中。而且,还设置了可写入标记412。在装入代码区域后设置存有代码区域的页面的可写入标记412。
接着在步骤1005,将以模块结构文件110中的文件名602表示的文件装入在步骤1004中分配的区域。装入后,利用存储在文件中的再配置信息706、707及710来修正代码区域。而且,分配装入模块管理表200中用于被处理的模块的项,并设定该项的地址及大小信息(步骤1006)。
接着,这些模块的初始化程序(步骤1007)。模块的初始化程序至少设定装入模块管理表200的模块接口206。如果需要执行其他模块的初始化处理,也会执行该处理。在模块接口被设定时,核心程序111能够知道模块所提供的处理程序的地址,并能够执行模块所提供的处理。
接着在步骤1008,将处理对象模块设定为模块结构文件的下一项,然后返回步骤1002。下面对处理对象模块为非中断模块的情况进行说明。在步骤1003,判断为处理对象模块为非中断模块时,进入步骤1009。在步骤1009,进行装入模块管理表200的更新处理。首先,分配装入模块管理表200中存储处理中的模块数据的项。应存入分配的项中的装入模块管理表200的202至205的地址及大小信息被存入重启动装入程序113的数据区域内的非中断模块管理表500的502至505中,将这些信息复制到所分配的项中并更新装入模块管理表200。
接着执行非中断模块的再初始化程序(步骤1010)。再初始化程序的地址被存储在非中断模块管理表500的再初始化程序507中,通过非中断模块名称可以得到再初始化程序。非中断模块的再初始化程序至少执行装入模块管理表200的接口程序206的设定。如果需要,还进行硬件设备的设定等其他处理。此时,由于非中断模块是新的并且没有被装入,在此之前的数据区域被保存,从而保持了与非中断模块的设备相关的处理的连续性。
接着在步骤1011,在设备占用地址列表300及设备占用插入表340内关于表示作为处理对象的非中断模块所管理的地址区域及插入编号的项的模块编号栏中存入在步骤1009中分配的装入模块管理表200的项的编号。通过非中断模块管理表500的利用硬件信息506得到非中断模块管理的设备的地址区域和插入编号。对于空区域列表220和250,由于重启动装入程序113从空列表中取出了非中断模块具有的地址区域,所以不需要特别的处理。进行进入步骤1008进行下一个装入模块的处理。
在步骤1002,如果判断为装入了全部模块,就进入步骤1012。步骤1012不生成和执行初始进程,就完成了操作系统的启动。
下面,说明非中断模块的初始化程序。模块的初始化程序是全部模块必须具有的程序,在核心程序111启动时被执行。图11是表示本发明实施例的非中断模块的初始化程序处理的流程图。这里说明对模块结构文件110中设定的设备驱动程序#1的初始化程序的处理。
首先,作为设备驱动程序#1与核心程序111的接口的模块接口被存储在装入模块管理表200中用于设备驱动程序#1的分配项211中(步骤1101)。
在下面的步骤1102,分配设备驱动程序1的设备占用地址结构,设定起始地址、大小和模块编号,并将其追加到设备占用地址列表300中。而且还在设备占用插入表340中设备驱动程序1管理的插入编号项中存入设备驱动程序1的模块编号。由此,将设备驱动程序#1利用的设备地址区域及插入编号登录到设备占用地址列表300及设备占用插入表340中。
接着,进行向模块的非中断模块管理表500的登录(步骤1103)。在非中断模块管理表中分配用于正在处理的模块的项,并设定地址、大小信息、利用硬件信息及再初始化程序的地址。由重启动装入程序113提供的接口程序来实现上述设定过程。在更新非中断模块管理表500时,由于非中断模块管理表500中的页面被设定为禁止写入,所以在更新前后要对页面表410中的可写入标记进行操作。然后,设定硬件设备(步骤1104)。
下面说明重启动装入程序113提供的接口程序。重启动装入程序113本身是非中断模块,它提供了初始化程序、再初始化程序、硬件结构数据复制程序、非中断模块登录程序。
首先,说明重启动装入程序113的初始化程序处理。图12是表示重启动装入程序113的处理过程的流程图。
重启动装入程序113是非中断模块,重启动装入程序113的初始化程序只在启动计算机时被调用。首先,在重启动装入程序113的初始化程序中,将为以后的重启动处理准备的、存在读入专用存储器103中的初始化程序所生成的硬件结构信息复制到重启动装入程序113的数据区域中(步骤1201)。接着执行非中断模块管理表500的初始化(步骤1202)和向重启动装入程序113本身的非中断模块管理表的登录(步骤1203)。最后,将分配在存有非中断模块管理表及硬件结构数据的重启动装入程序113的数据区域中的页面设定为禁止写入(步骤1204)。
再初始化程序执行向装入模块管理表登录接口程序的处理。这与其他非中断模块的情况相同。硬件结构数据复制程序将存在重启动装入程序113的数据区域中的硬件结构数据复制到核心程序111的数据区域中。非中断模块登录程序将与非中断模块相关的数据登录到非中断模块管理表500中。通常,由于重启动装入程序113的数据区域由虚拟地址机构设定为禁止写入,所以登录程序一旦解除禁止写入,就将非中断模块数据写入表500中,然后再次使数据区域为禁止写入。
通过本实施例,即使在操作系统核心程序111因软件故障而中断并执行重启动处理时,也不中断非中断模块利用并登录的外部设备的插入处理并能够继续执行处理。而且还避免了在处理器复位时执行的硬件结构识别处理,缩短了到重启动的时间。
下面说明以执行以时钟插入为例的外部设备控制的模块为非中断模块的实施例。时钟插入通常是由核心程序111本身管理的插入。在执行时间限制严格的处理的情况下,采取利用在将时钟插入传送到核心程序111之前进行夺取、优先于带有时间限制的处理而执行的模块的方式。所谓的夺取插入,就是变更插入处理程序的设定。对于这样的时间限制严格的控制,在时间限制严格的同时还不允许中断与时钟插入相应的处理。
通过本发明,使夺取时钟插入的模块为非中断模块,即使在核心程序111因软件故障而中断并执行重启动时,也不会中断与时钟插入相应的处理,并能够继续执行。
在将时钟插入处理模块作为非中断模块登录时,将时钟插入的插入编号及时钟插入的控制地址作为模块占用的资源和设备登录到非中断模块管理表500中。由此,在核心程序111重启动的前后,时钟插入的处理环境是连续的。而且在核心程序111重启动时,通过识别作为核心程序111自己管理的设备的时钟插入被其他模块占用,而无须变更时钟插入的相关设定而进入启动处理。
由此,实现了即使在操作系统核心程序111因软件故障而中断并被重启动时,也不中断时钟插入处理、可靠性高且可用性高的控制系统。
(2)第2实施例
对本发明的第二实施例进行说明。
图13是表示本实施例中的计算机启动过程的流程图。
首先执行作为常规核心程序初始化处理的核心程序数据初始化(步骤1301)、外部设备初始化(步骤1302)及核心程序模块的装入和初始化(步骤1303)。象第一实施例一样,如果模块是非中断模块,则模块的初始化将其利用地址信息登录到非中断模块管理表500中。
在下面的步骤1304中,主存储器102内装有核心程序111及其他模块的区域中,将非中断模块的数据区域以外的区域记录到磁盘105的重启动文件中。而且,在步骤1305,将页面表寄存器及核心程序堆栈的堆栈指针值保存到磁盘105的重启动文件中。
这里所生成的重启动文件是为了在核心程序111因软件故障而重启动时再现核心程序111的软件结构。在步骤1307生成和执行初始进程。
图14是表示本发明第二实施例的操作系统核心程序111的重启动过程的流程图。
由作为非中断模块登录的重启动装入程序113执行此重启动过程。依图说明重启动过程。首先,将页面表寄存器400所指的页面表410复制到重启动装入程序113的数据区域中(步骤1401),然后进行变更使页面表寄存器400指向被复制一方的页面表(步骤1402)。
接着,将记录在磁盘105的重启动文件中的核心程序启动时的主存储器102的内容复制到主存储器102中(步骤1403)。接着,从磁盘105的重启动文件中取得页面表寄存器和堆栈指针遗迹步骤1307的地址(步骤1404、1405)。在步骤1406,将所取得的页面寄存器值和堆栈指针值设定到寄存器中并转移到步骤1307的处理(步骤1407)。
在第二实施例中,由于磁盘105的重启动文件中不包含作为非中断模块登录的模块数据区域,所以在核心程序重启动的前后,非中断模块的数据区域被保存在主存储器102中。由此,能够维持非中断模块的外部插入处理的连续性。在本实施例中,主存储器102的内容被保存在设备105中,但也可以保存在主存储器的其他区域。
在核心程序111检测出软件故障时,将插入处理中使用的主存储器的内容维持在主存储器中以便于不进行处理器复位而能够执行核心程序重启动中的特定插入处理。并且也可以将插入处理程序的设置维持在主存储器中并中断核心程序111的处理。
在操作系统的核心程序111检测出软件故障而重启动时,通过参照非中断模块管理表500设计出核心程序重启动时的外部设备初始化过程和决定装入的模块结构的过程,能够在核心程序111的重启动处理中不中断与特定外部设备发生的插入相对应的处理而继续执行该处理。
而且,通过不对处理器复位而执行操作系统的重启动,能够避免在处理器复位时执行硬件结构检查等处理,缩短了到操作系统重启动的时间。
Claims (3)
1.一种重启动的方法,用于具有主存储装置、处理器、磁盘、外部设备和连接这些的总线并允许该处理器进行时钟插入处理的一台计算机中的、由软件即多个装入模块构成的操作系统中,其特征在于,包括下列步骤:
将在上述操作系统的启动时将存储在上述主存储装置中的上述多个装入模块保存到上述磁盘中;
对作为非中断模块而存储到主存储装置中的上述多个装入模块中管理时钟插入的模块的重启动,在维持该模块的虚拟地址、与该虚拟地址对应的地址转换表、存储了该模块的物理存储器、有关该模块应处理的插入的设定的情况下执行上述多个装入模块中的重启动装入;
即使在上述操作系统的重启动中,也使之成为可接收上述时钟插入处理的状态;
通过上述重启动装入将保存在上述磁盘中的内容装入到上述主存储装置,将上述管理时钟插入的模块以外的装入模块装入上述主存储装置中的状态重现。
2.如权利要求1所述的重启动方法,其特征在于,在存储到上述主存储装置中的上述装入模块中的非中断模块的内容中,不包含该非中断模块的数据区域内容。
3.如权利要求1所述的重启动方法,其特征在于:
上述再现之前的上述主存储装置的内容是在上述总线、上述操作系统的上述多个装入模块的对上述主存储装置的存储和初始化、上述外部设备的初始化及初始进程执行后的内容。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP191840/97 | 1997-07-02 | ||
JP191840/1997 | 1997-07-02 | ||
JP19184097A JP3593241B2 (ja) | 1997-07-02 | 1997-07-02 | 計算機の再起動方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB981178529A Division CN1143209C (zh) | 1997-07-02 | 1998-07-02 | 操作系统的重启动方法和计算机系统的控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1512331A CN1512331A (zh) | 2004-07-14 |
CN1251074C true CN1251074C (zh) | 2006-04-12 |
Family
ID=16281398
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100033815A Expired - Fee Related CN1251074C (zh) | 1997-07-02 | 1998-07-02 | 计算机的重启动方法 |
CNB981178529A Expired - Fee Related CN1143209C (zh) | 1997-07-02 | 1998-07-02 | 操作系统的重启动方法和计算机系统的控制方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB981178529A Expired - Fee Related CN1143209C (zh) | 1997-07-02 | 1998-07-02 | 操作系统的重启动方法和计算机系统的控制方法 |
Country Status (5)
Country | Link |
---|---|
US (4) | US6253320B1 (zh) |
JP (1) | JP3593241B2 (zh) |
KR (1) | KR100306456B1 (zh) |
CN (2) | CN1251074C (zh) |
TW (1) | TW469409B (zh) |
Families Citing this family (156)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3593241B2 (ja) * | 1997-07-02 | 2004-11-24 | 株式会社日立製作所 | 計算機の再起動方法 |
US6438709B2 (en) * | 1997-09-18 | 2002-08-20 | Intel Corporation | Method for recovering from computer system lockup condition |
US6766519B1 (en) * | 1999-03-26 | 2004-07-20 | Emc Corporation | Generic software interface for hardware environments having executing code registers itself and the code for a next suboperation |
US6438750B1 (en) * | 1999-06-18 | 2002-08-20 | Phoenix Technologies Ltd. | Determining loading time of an operating system |
JP4395223B2 (ja) | 1999-09-24 | 2010-01-06 | 株式会社日立製作所 | 表示装置、表示方法、および、ナビゲーション装置 |
US6560699B1 (en) * | 1999-10-20 | 2003-05-06 | Cisco Technology, Inc. | Constraint-based language configuration files for updating and verifying system constraints |
JP4402797B2 (ja) | 2000-03-02 | 2010-01-20 | 株式会社日立製作所 | 情報処理装置 |
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US6587966B1 (en) * | 2000-04-25 | 2003-07-01 | Hewlett-Packard Development Company, L.P. | Operating system hang detection and correction |
JP2002041292A (ja) * | 2000-07-13 | 2002-02-08 | Internatl Business Mach Corp <Ibm> | コンピュータ用リカバリ装置 |
US6662320B1 (en) * | 2000-07-20 | 2003-12-09 | International Business Machines Corporation | Method and apparatus for inhibiting an adapter bus error signal following a reset operation |
US20030014608A1 (en) * | 2001-07-13 | 2003-01-16 | Mercer Ronald G. | Method of providing stack memory in an operating system with stack memory constraints |
US6779132B2 (en) * | 2001-08-31 | 2004-08-17 | Bull Hn Information Systems Inc. | Preserving dump capability after a fault-on-fault or related type failure in a fault tolerant computer system |
KR100619657B1 (ko) * | 2002-06-05 | 2006-09-08 | 후지쯔 가부시끼가이샤 | 메모리 관리 유닛, 코드 검증 장치 및 코드 복호 장치 |
US7139850B2 (en) * | 2002-06-21 | 2006-11-21 | Fujitsu Limited | System for processing programmable buttons using system interrupts |
US7231512B2 (en) * | 2002-12-18 | 2007-06-12 | Intel Corporation | Technique for reconstituting a pre-boot firmware environment after launch of an operating system |
JP2004297759A (ja) * | 2003-03-11 | 2004-10-21 | Seiko Epson Corp | 無線通信ネットワークシステムにおける接続認証 |
CN1759615B (zh) * | 2003-03-12 | 2012-05-09 | 皇家飞利浦电子股份有限公司 | 存储互动电视节目的方法和设备 |
US7130997B2 (en) * | 2003-05-29 | 2006-10-31 | International Business Machines Corporation | Method of registering a portion of RAM with firmware to preserve the portion during reboot |
US7100014B2 (en) * | 2003-09-15 | 2006-08-29 | Hewlett-Packard Development Company, Lp. | Memory stack architecture for reduced TLB misses |
US7587723B2 (en) * | 2003-11-13 | 2009-09-08 | International Business Machines Corporation | Restarting a shared virtual resource |
GB2397477B (en) * | 2003-11-26 | 2004-12-01 | F Secure Oyj | Securing a data transmission channel |
WO2005071522A1 (ja) * | 2004-01-27 | 2005-08-04 | Nec Corporation | 高速再起動方法および情報処理装置ならびにプログラム |
US7467328B2 (en) * | 2004-09-03 | 2008-12-16 | Hewlett-Packard Development Company, L.P. | Kernel configuration recovery |
US8744852B1 (en) * | 2004-10-01 | 2014-06-03 | Apple Inc. | Spoken interfaces |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
JP4692747B2 (ja) * | 2005-10-27 | 2011-06-01 | 日本電気株式会社 | 情報処理装置、情報処理装置における画面表示方法 |
CN100424650C (zh) * | 2005-11-30 | 2008-10-08 | 许先才 | 计算机上个人信息应用环境的保存与重现方法及装置 |
US8286162B2 (en) | 2005-12-30 | 2012-10-09 | Intel Corporation | Delivering interrupts directly to a virtual processor |
US20070168740A1 (en) * | 2006-01-10 | 2007-07-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for dumping a process memory space |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8199155B2 (en) * | 2006-11-22 | 2012-06-12 | Nvidia Corporation | System, method, and computer program product for saving power in a multi-graphics processor environment |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US7779305B2 (en) * | 2007-12-28 | 2010-08-17 | Intel Corporation | Method and system for recovery from an error in a computing device by transferring control from a virtual machine monitor to separate firmware instructions |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | Speech recognition involving a mobile device |
JP2010140361A (ja) * | 2008-12-12 | 2010-06-24 | Fujitsu Microelectronics Ltd | コンピュータシステム及び異常検出回路 |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US20120309363A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Triggering notifications associated with tasks items that represent tasks to perform |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
DE202011111062U1 (de) | 2010-01-25 | 2019-02-19 | Newvaluexchange Ltd. | Vorrichtung und System für eine Digitalkonversationsmanagementplattform |
CN102754451A (zh) * | 2010-02-10 | 2012-10-24 | 松下电器产业株式会社 | 控制装置、控制装置的控制方法和数字广播接收装置 |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US8433828B2 (en) | 2010-02-26 | 2013-04-30 | Apple Inc. | Accessory protocol for touch screen device accessibility |
CN102375767A (zh) * | 2010-08-17 | 2012-03-14 | 鸿富锦精密工业(深圳)有限公司 | 计算机重启测试系统及方法 |
US8386618B2 (en) | 2010-09-24 | 2013-02-26 | Intel Corporation | System and method for facilitating wireless communication during a pre-boot phase of a computing device |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
JP6048507B2 (ja) | 2012-09-27 | 2016-12-21 | 富士通株式会社 | 変換装置、変換方法、および情報処理システム |
DE212014000045U1 (de) | 2013-02-07 | 2015-09-24 | Apple Inc. | Sprach-Trigger für einen digitalen Assistenten |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
CN105027197B (zh) | 2013-03-15 | 2018-12-14 | 苹果公司 | 训练至少部分语音命令系统 |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
AU2014278592B2 (en) | 2013-06-09 | 2017-09-07 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
EP3008964B1 (en) | 2013-06-13 | 2019-09-25 | Apple Inc. | System and method for emergency calls initiated by voice command |
WO2015020942A1 (en) | 2013-08-06 | 2015-02-12 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
US20150089102A1 (en) * | 2013-09-23 | 2015-03-26 | Lsi Corporation | Solid state drives that cache boot data |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
AU2015266863B2 (en) | 2014-05-30 | 2018-03-15 | Apple Inc. | Multi-command single utterance input method |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
JP6364983B2 (ja) * | 2014-06-10 | 2018-08-01 | 富士ゼロックス株式会社 | 電子機器及びプログラム |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
CN105660231A (zh) * | 2016-03-01 | 2016-06-15 | 郑州市顺意科技有限公司 | 营养钵自动装土装置 |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
CN105638304B (zh) * | 2016-03-15 | 2019-02-05 | 郑州市顺意科技有限公司 | 营养钵自动分钵装置 |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US11010249B2 (en) * | 2019-01-08 | 2021-05-18 | Dell Products L.P. | Kernel reset to recover from operating system errors |
CN110489169B (zh) * | 2019-08-06 | 2021-10-19 | 晶晨半导体(上海)股份有限公司 | 一种片上系统的存储器快速启动方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59140568A (ja) | 1983-01-31 | 1984-08-11 | Fujitsu Ltd | プログラム異常処理方式 |
US5594903A (en) * | 1991-02-26 | 1997-01-14 | Lynx Real-Time Systems, Inc. | Operating System architecture with reserved memory space resident program code identified in file system name space |
US5469571A (en) * | 1991-07-15 | 1995-11-21 | Lynx Real-Time Systems, Inc. | Operating system architecture using multiple priority light weight kernel task based interrupt handling |
JPH06236284A (ja) | 1991-10-21 | 1994-08-23 | Intel Corp | コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム |
US5513319A (en) * | 1993-07-02 | 1996-04-30 | Dell Usa, L.P. | Watchdog timer for computer system reset |
CA2126950A1 (en) * | 1993-07-30 | 1995-01-31 | Bryan M. Willman | Booting a computer system using a last known good set of configuration data |
US5903752A (en) * | 1994-10-13 | 1999-05-11 | Intel Corporation | Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system |
KR970010634B1 (ko) * | 1994-10-25 | 1997-06-28 | 삼성전자 주식회사 | 네트워크 하이버네이션 시스템 |
JP3072048B2 (ja) * | 1996-03-19 | 2000-07-31 | 株式会社東芝 | 計算機システムおよび計算機システムのソフトウェア故障回復方法 |
US5935242A (en) * | 1996-10-28 | 1999-08-10 | Sun Microsystems, Inc. | Method and apparatus for initializing a device |
US5995745A (en) * | 1996-12-23 | 1999-11-30 | Yodaiken; Victor J. | Adding real-time support to general purpose operating systems |
US5991822A (en) * | 1997-03-17 | 1999-11-23 | International Business Machines Corporation | System for modifying functions of static device driver using a registered driver extension extended dynamically by providing an entry point for the driver extension |
US5951686A (en) * | 1997-03-31 | 1999-09-14 | International Business Machines Corporation | Method and system for reboot recovery |
JP3593241B2 (ja) | 1997-07-02 | 2004-11-24 | 株式会社日立製作所 | 計算機の再起動方法 |
-
1997
- 1997-07-02 JP JP19184097A patent/JP3593241B2/ja not_active Expired - Fee Related
-
1998
- 1998-06-22 TW TW087110013A patent/TW469409B/zh not_active IP Right Cessation
- 1998-06-30 US US09/107,388 patent/US6253320B1/en not_active Expired - Fee Related
- 1998-07-01 KR KR1019980026409A patent/KR100306456B1/ko not_active IP Right Cessation
- 1998-07-02 CN CNB2004100033815A patent/CN1251074C/zh not_active Expired - Fee Related
- 1998-07-02 CN CNB981178529A patent/CN1143209C/zh not_active Expired - Fee Related
-
2001
- 2001-05-17 US US09/858,492 patent/US7069430B2/en not_active Expired - Fee Related
-
2004
- 2004-06-07 US US10/861,482 patent/US7373496B2/en not_active Expired - Fee Related
-
2008
- 2008-04-22 US US12/107,651 patent/US7765395B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20040230871A1 (en) | 2004-11-18 |
US20010020259A1 (en) | 2001-09-06 |
US7765395B2 (en) | 2010-07-27 |
US6253320B1 (en) | 2001-06-26 |
US7069430B2 (en) | 2006-06-27 |
CN1512331A (zh) | 2004-07-14 |
CN1143209C (zh) | 2004-03-24 |
TW469409B (en) | 2001-12-21 |
CN1208890A (zh) | 1999-02-24 |
JP3593241B2 (ja) | 2004-11-24 |
KR19990013514A (ko) | 1999-02-25 |
KR100306456B1 (ko) | 2001-10-19 |
JPH1124943A (ja) | 1999-01-29 |
US7373496B2 (en) | 2008-05-13 |
US20080201573A1 (en) | 2008-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1251074C (zh) | 计算机的重启动方法 | |
CN1174323C (zh) | 管理共享内存的方法 | |
JP6893284B2 (ja) | リソーススケジューリング方法、スケジューリングサーバ、クラウドコンピューティングシステム、及び記憶媒体 | |
CN1213376C (zh) | 用于被复制的服务器的协议 | |
CN1096642C (zh) | 高效利用空间的对象加锁的系统和方法 | |
CN1191526C (zh) | 用于计算机系统的可恢复软件安装方法和装置 | |
CN1331817A (zh) | 用于并发数据库管理系统表操作的方法和设备 | |
CN1508679A (zh) | 被管理的文件系统过滤器模型和构造 | |
CN1722092A (zh) | Vex-虚拟扩展框架 | |
CN1700171A (zh) | 提供从虚拟环境对硬件的直接访问 | |
CN1975679A (zh) | 用于优化分段资源分配的方法和设备 | |
CN1908903A (zh) | 执行作业步的系统和方法以及计算机产品 | |
CN1500243A (zh) | 使用可移动存储器收集和恢复用户环境数据 | |
CN1296582A (zh) | 改进程序发送时间的系统和方法 | |
CN1702622A (zh) | 用于校正管理程序工作的分布的系统 | |
CN1193410A (zh) | 在多处理器系统中的处理器之间传送消息的方法与装置 | |
CN101046772A (zh) | 回收存储器中的空间的方法和装置 | |
CN1975655A (zh) | 用于管理对存储装置的访问的方法和设备 | |
US11704143B2 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
CN100339848C (zh) | 自动配置或恢复计算机系统网络配置的方法 | |
CN1172986A (zh) | 实时控制系统 | |
CN1295778C (zh) | 一种验证芯片硬件行为与软件模拟行为的一致性的方法 | |
CN1928832A (zh) | 多处理计算系统中的状态跟踪和恢复方法和系统 | |
CN1637736A (zh) | 具有非挥发性配置储存装置的内电路配置结构 | |
CN1287287C (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060412 Termination date: 20110702 |