CN86102261A - 通过外壳支持多操作系统的桥接设备 - Google Patents
通过外壳支持多操作系统的桥接设备 Download PDFInfo
- Publication number
- CN86102261A CN86102261A CN198686102261A CN86102261A CN86102261A CN 86102261 A CN86102261 A CN 86102261A CN 198686102261 A CN198686102261 A CN 198686102261A CN 86102261 A CN86102261 A CN 86102261A CN 86102261 A CN86102261 A CN 86102261A
- Authority
- CN
- China
- Prior art keywords
- operating system
- sct
- computer system
- information
- processor
- 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
Links
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/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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
-
- 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/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Executing Machine-Instructions (AREA)
- Stored Programmes (AREA)
- Exchange Systems With Centralized Control (AREA)
- Hardware Redundancy (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
Abstract
披露了用于自动地从一个操作系统转换到另一个引导装入装置与方法。本发明提出了一种用于自动地将信息,例如时刻,从一个操作系统传送给另一个的方法与硬件。
Description
本发明一般地涉及计算机系统,特别是有多处理器的计算机系统,其中每个处理器能够在各自独立的操作系统支持下进行工作,其中计算机系统具有一种完善了的初始程序装入程序(引导装入程序)的方法与硬件。
本发明的参考文献为:
1.直接型多路控制设施,序列号503,963,1983年6月13日。
2.具有独立运行系统的微计算机系统。
计算机系统一般由硬件与软件组成。没有必要的软件,计算机硬件本身是不能完成任何的计算机任务的。需要各种类型的软件以使计算机有条不紊地完成其作业与任务。这些程序通常分为两大类一操作系统程序和应用程序。操作系统通常由诸如管理程序(也称为执行程序或监督程序)、作业操作程序、汇编程序、编译程序、编辑程序等程序组成。应用程序是用户程序,用来完成用户的任务,例如工资单程序,存货清单程序等等。应用程序通常是由操作系统进行管理的;亦即可以对它们进行编译、调度、编辑等等。操作系统也对应用程序进行翻译或编译,以便计算机理解它们。
然而在执行某个程序之前,首先必须将它送入计算机的存储器中。因为没有任何程序的机器是“哑巴”机器,那么怎样才能将必要的程序送入计算机的存储器中呢?一般利用机器操作台上的一个装入按钮启动一个程序,由这个微程序进行控制,将很少量的数据从零地址开始送入存储器中。通常这种初始程序装入抗张过程只送入很少量的数据,例如一张卡片或七个字。于是这就开始了一个程序,它的第一条指令是由初始程序装入微程序读入的。由这个微程序导入的信息包含用来将更多的信息读入存储器的指令,它是一个更通用的装入程序的一部分。用这种方法,机器“引导”自己首先送入一个装入程序,然后利用它从外部设备将其它的数据与程序装入计算机系统的主存储器中。虽然引入的初始信息块可能相当小,然而一般包含有能够引入更多指令的一些指令,直到引入能够控制一般性的程序及数据输入的装入程序。
在一个多道程序多处理系统中,当发出了“引导”操作信号后,输入/输出(I/O)处理器就进行控制。通常它必须停止所有正在进行中的I/O操作、将包含在它的I/O存储器中的全部通道寄存器复位、此外它必须使主处理器将其全部寄存器与存储管理单元复位,并将其主存储区清零。(通常是在小于装入一个新的操作系统时执行这个初始化过程。)然后这个利用“引导装入”程序的I/O处理器将“装入操作系统与应用程序。然后计算机系统便准备好执行程序并完成指定给它的作业与任务。
在一个多道程序多处理系统中,一个计算机系统可以在任何规定的时间在一个操作系统的控制运行。如果需要改变操作系统,一般还需要进行上述初始化过程。可见,这是耗时的。此外,当操作系统改变时,没有办法从原先的操作系统将信息传给当前的操作系统。因此,停止一个操作系统并“引导装入”另一个操作系统的过程便变成无能为力了。因此为了提高从一个操作系统转到另一个操作系统的效能,所需要的是一种能够将信息从一个操作系统传送到另一个操作系统,从而“桥接”引导装入过程的方法与手段。
本发明的第一个目的是提出一种改进了的数字计算机系统。
本发明的另一个目的是为一个计算机系统提出一种改善了的“引导”装入方法与装置。
本发明还有一个目的是提出一种改善了的“引导”装入方法与装置,利用它将计算机系统从一个操作系统转换到另一个操作系统。
本发明还有一个目的是提出一种改善了的方法与装置,它用来在“引导”装入操作期间或其后将信息从一个操作系统传送给另一个操作系统。
根据本发明的一个实施例,上述这些目的是利用硬件和固件来实现的,这种硬件和固件用来在一个操作系统即将从主存中被撤消并用另外一个操作系统来代替它时存贮一些必要的信息(例如时刻)并把这些信息从一个操作系统传递给另一操作系统。
在本发明的一个实施例中,利用了一个管理通道定时器(以下是指SCT226)。这个SCT是一个分辨度为1秒的32位实时计数器。装入软件时,它便启动,但是不能用软件使它停止。一旦已经启动,它就(向上)计数,直到停电下降。经过软件“引导”键的操作,SCT便有了准确的时间。在微系统6/10上SCT有两组如下所示的I/O功能码对:
功能码(十六进制) 功能
FC-10 输入SCT高位字
FC-12 输入SCT低位字
FC-11 输出SCT高位字
FC-13 输出SCT低位字
FC-14 输入G.P.(通用寄存器)高位字
FC-16 输入G.P.低位字
FC-15 输出G.P.高位字
FC-17 输出G.P.低位字
为了使SCT能够不被中断地更新状态,则当发出输入高SCT(FC-10)与输出低STC(FC-13)时SCT正处在更新过程中的话,上述的输入与输出就成为NAK(也就是说将CPUi指示器201a复位并防止I/O中断更新过程;因此I/O必须再次试行中断)*。
*此处术语ACK不严格地作为成功地达到了I/O指令目的同义词,而NAK则用来指示其失败。
为了给SCT提供相关联的装入/卸载功能,实现了下述机构。对于输入,执行FC-10时,SCT的两半部分都由固件读出,高位字返回,低位字保存在固件的某个工作单元中。执行FC-12时只是将这个工作单元中的当前内容送回。FC-12永远不会被NAK,即能够发生中断。
对于输出操作,执行FC-11时,只是将输出数据保存固件的某个工作存储单元中。FC-11也永远不会被NAK。执行FC-13时,这个工作存储单元中的内容被装入SCT的高位字,FC-13输出字被装入SCT的低位字,如果SCT尚未在运行的话,它就被启动。
在另一个实施例中,在I/O处理器的RAM(随机存储器)空间中提供两个附加字。这些字用来将信息从一个操作系统传送给另一个正被导入计算机的操作系统,这里因为在引导操作中并不对这些字进行初始化而且当第2个操作系统被引导装入计算机时,它可以利用这些字中的信息。这些字利用功能码FC-14至FC-17。此外,这些字不需要不可分割地进行更新或是对低位与高位寄存器做出上述那样的反应。
因此本发明提出一种方法与硬件,用来将时刻从一个操作系统传送另一个;它也将其它有用的信息,例如调用它并把它引导装入到计算机中的目的传送给第2个系统。
图1 是体现本发明的计算机系统,微系统6/10的高级框图。
图2 是本发明的高级框图。
图3 是位于I/O处理器的RAM空间中的信箱图。
图4A,4B,4C是被LSI-6处理器在输入/输出(I/O)操作中所用的指令格式。
图5 是SCT计数器的格式。
图6 A,6B是在本发明中所用的通用寄存器的格式。
图6 C-6D是本发明中所用的寄存器格式。
现在参看图1,它是数据处理系统100的总体图,它包含一个固件控制的作为应用处理器的中央处理单元(CPU)102与一个作为输入/输出处理器的I/O微处理器104。CPU102是Honeywell LSI-6型,它运行Honeywell MOD200或,MOD400操作系统,或者任何其它的操作系统。由CPU102执行存在一个64k×16bit(位)字或更大的主存贮器106内的软件程序来完成系统应用工作。CPU102执行软件指令时用到的微程序存在一个4k×48位字的只读存贮器(ROM)102-2中。
与I/O微处理器104配合的是一个8k×8位字的只读存贮器(ROM)104-2与一个32k×8位字节的随机存储器(RAM)104-6。ROM 104-2存储了为使数据处理系统100启动和初始化所必需的固件程序。RAM104-6存储了表格通信控制程序以及用来对一个通用异步接收/发送控器(UART)144进行仿真的固件、用来控制一些设备的固件,这些设备包括:通过UART134控制的键盘134-2、通过软磁盘控制器(FDC)138控制的软磁盘138-12,138-14、通过UART146控制的打印机146-2以及阴极射线管控制器(CTRC)120。RAM104-6也包括一些由CPU102以及I/O微处理器104用作“信箱区”以便相互间进行通信的存储单元。
CPU102与主存储器106之间通过21位地址总线108和16位数据总线116进行耦合。根据CPU102所规定的地址,通过数据总线116在CPU102与主存储器106之间传送数据。
数据总线116耦合到总线交换寄存器118。耦合到总线交换寄存器118的还有8位数据总线114。总线交换寄存器118从数据总线116接收16位数据字,并通过数据总线114将其作为两个8位字节发送,同时它也从数据总线114接收8位字节,并通过数据总线116将其发送。I/O微处理器104,RAM104-6,CRTC120,UART134、144、146,以及FDC138都耦合到数据总线114上。
16位I/O地址总线112通过收发机110耦合到地址总线108,它也耦合到I/O微处理器104以及I/ORAM104-6,以此方式能够使CPU102以及I/O微处理器104二者都能对主存储器106和RAM104-6寻址。
耦合到数据总线114的还有一个用来控制一个磁盘驱动器152-2的外围接口适配器152,还有用来通过一个异步端口148接收与发送数据字符的异步线路UART144,还有用来存储那些在CRT120-10上显示的字符的一个2k×8位字的数据随机存储器(RAM)120-4,还有用来存储属性字符的一个2k×8位字的属性随机存储器(RAM)120-6。属性字符通常用来完成CRT120-10的这些显示功能:如加下线字符或字符域以便使某些选定的字符或字符域闪烁或以较强亮度显示。存储在RAM120-4中的字符代码加给一个4k×8位字的字符发生器随机存取存储器(RAM)120-2,后者为在CRT120-10屏幕上显示出字符,产生与数据的光栅条相对应的代码。一个图象支持逻辑120-8与CRTC120、字符发生器RAM120-2以及属性RAM120-6相耦合以便在CRT120-10表面产生字符的线条。
FDC138一般是一台NECu PD765单/双密度软磁盘控制器,在NEC Electronics U.S.A.Inc.(美国NEC电子公司),Microcomputer Division微计算机部,1 Native Executive Park,Natick,Massachusetts 01760出版的NEC1982年的目录中对它作了叙述。
I/O微处理器104通常是一个Motorola MC68 BO98位微处理单元。PIA152通常是一个Motorola MC68 B21外国接口适配器。CRTC120通常是一个Motorola MC68 B45 CRT控制器。
对I/O微处理器104,PIA152与CRTC120在由Motorola Semiconductor Products Inc.(Motorola半导体产品公司),3501Bluestein Boulevard,Austin,Texas 78721出版的Motorala Microprocessor Data Manual(Motorola微处理器数据手册),1981年版中有所叙述。
UART134,144与146是Synertics 2661通用异步接收/发送控制器,Synertics Corporation(Synertics公司),811 East Argues Avenue,Sunnyvale,California 94086出版的Synertics MOS Microprocessor Data Processor Manual(Synertics MOS微处理器数据处理器手册)中对它们作了叙述。
在大容量存储器和主存储器之间传送数据时涉及到逻辑元件与固件称为数据多路控制(DMC)装置。在其时间内数据进行发送的总线周期称为DMC周期。微系统6/10系统以及这些结构在1983年6月13日发布的,题为“直接型多路控制设施”的美国专利No.503,963中有更详细的叙述,该专利也是授给本发明的同一受让人的。
现在参看图2,这是本发明的结构框图。不包括8086个人机的基本Honeywell微系统6/10系统方案包含一个主存储器205,它可以由一个Honeywell LSI-6处理器201与一个Motorola 6809型处理器203存取。与Motorola 6809型处理器耦合的还有随机存储器(RAM)204。由于LSI-6处理器是一个16位处理器,随机存储器205是通过一条16位总线211与它耦合的。Motorola 6809处理器是一个8位机,RAM 204也是8位宽度的,它们与主存储器是通过一条双总线208耦合的,该双总线由两条8位型式的总线组成。从而LSI-6处理器201可以对主存储器205与RAM204进行存取;Motorola 6809型处理器203也能对主存储器205与RAM204进行存取。这个由LSI-6处理器201、主存储器205、RAM 204以及Motorola 6809型处理器203组成的系统,是基本的微系统6/10系统。它是固件驱动的,因而动作很快,只利用主存储器205的大约20-25%的存储周期;即利用可用存储器带宽的25%。LSI-6处理器201是这个计算机系统的主力部件。它基本上是在Honeywell MOD 400或MOD 200操作系统,或任何其它的操作系统的管理下进行工作的,并执行与这些操作系统兼容的用户系统。另一方面,Motorola 6809型处理器203作为一个输入/输出处理器工作,在99%时间内,它利用其自己的局部存储器204进行工作。根据设计,当LSI-6处理器201不使用主存储砌205时,它可以利用主存储器205。
一个Intel 8086型微处理器202通过总线210也与主存储器205耦合。Intel 8086处理器202能够利用MSDOS或CPM-86操作系统,它们可以执行为IBM个人计算机写的商品软件,与此相应,作为选用部件微系统6/10系统具有IBM个人计算机仿真器板。8086处理器202是软件驱动的,慢得多,大约需用主存储器周期的70-75%。因此,如果处理器201、202和203中的每一个在它们各自的操作系统控制下独立而并行地运行并处理独立的用户程序的话,就有必要使各个处理器之间对于主存储器带宽的要求保持一定的关系。除这个要求外,必须在主存储器205中给处理器201与202配给各自的存储器空间。这是利用一个地址寄存器A223以及与加法器22耦合的一个基地址寄存器225和比较器229实现的。这个基地址寄存器存有偏移量,它是与从8086处理器202来的、并存在地址寄存器A223的地址通过加法器224相加。因此主存储器中所有被Intel 8086处理器202请求的地址,都偏离主存储器205的基地址一个予定的偏移量。比较器209要确定分配给各个处理器的予定的RAM空间的边界不被超过。由于LSI-6处理器201是直接请求存储器的地址,并设有偏移量,所以处理器201与202在主存储器中有其各自的工作空间。另外,在8086存储器205基地址的下面还有一个ROM空间。这个ROM空间由8086处理器201来的负地址寻址。在这个空间,数据只能由8086从主存储器205读出,但是在执行期间数据不能写入这个区域。因此在这个空间只存储只读程序,诸如为8086处理器201的BIOS。仅受Intel8086型的处理器202由于通过比较器229确定了边界而不能对留给LSI-6处理器201的存储空间进行存取,然而,LSI-6处理器却不同,它在这方面并不受限制,它可以对主存储器空间205中包括8086空间在内的任何区域进行访问。因此,为了使8086型处理器202与LSI-6处理器201进行通信,在留给8086处理器202的RAM空间中配有一个信号灯/信箱212。对RAM存储器204与其它外围设备,如USART、软磁盘等进行存取的操作是通过在LSI-6处理器中201中执行的一个程序完成的。LSI-6处理器201通过ROM201-2中的一个固件程序,利用位于I/ORAM空间204的信箱213对诸如上面提到的一些物理设备进行寻址,而不对它们直接寻址。(对系统这一方面的情况在下面叙述图3时还要进一步加以说明。)
然而主存储器空间205中的信箱区212是用来在处理器201与202间进行通信联系的。在运行中LSI-6处理器负责对输入/输出(I/O)操作初始化。因此当Intel 8086型处理器202希望对一个I/O设备进行存取时,需要给信箱212送一个信息。正常运行时,LSI-6处理器201对信箱212进行管理,并根据请求着手为8086服务。在LSI-6与I/O设备之间的所有通信是由LSI-6处理器201通过在ROM201-2中的LSI-6固件,以及由I/O处理器203完成的。LSI-6处理器201-2通过位于I/O处理器RAM204中的信箱213顺序地与I/O处理器203通信。(信箱213的结构如图3所示,下面将对它的用途与结构进行说明。)
这个硬件及方法,与辅助的硬件和固件以及与辅助的功能代码一起共同用来将信息从一个操作系统传送给另一个,因而便于从一个操作系统转换到另一个。相应地加上一个管理通道定时器(SCT)226与固件(下面说明),用来存储时刻,并使定时器以一种的间隔更新内容。此外还拥有一些G.P.寄存器225,用于存储由一个操作系统使用,并在引导装入过程中被传送到另一个操作系统的其它信息。计算机系统初始化以及引导装入时,这些硬件寄存器不被清零。
因此可见在Level 6软件与I/O的一些装置之间的所有内部通信是通过在ROM 201-2中的LSI-6固件,以及通过I/O处理器203实现的,的,二者通过在I/O处理器的RAM 204中的信箱区213进行相互通信。
现在参看图3,该图示出了信箱区213的信箱图。信箱图有13个字节,每一个字节有8位。偶数字节存在信箱左侧,奇数字节存在右侧。每个字所完成的功能表示在右侧。
信箱的字节1-7用来在ROM 201-2中的LSI-6固件与I/O处理器203之间传送为执行I/O指令所需的信息。LSI-6处理器201将信息装入字节2-7,并装入一个硬件寄存器(未示出),然后置上一个中断I/O处理器的硬件位(未示出)。当I/O处理器将I/O命令处理完毕后,它在字节1中置一个响应码,然后使硬件位复位。
字节0-1
字节0的第2-7位定义LSI-6处理201的当前中断级。由LSI-6固件保持这个数据的当前状态。如果当前中断级在数值上低于或等于某个I/O子系统的中断级,则不接收该I/O子系统来的中断。只要所请求的中断尚未被应用处理器服务,I/O处理器还将在以后某一时刻重新试图中断。这个重新要求中断的操作将一直延续到中断被接受或中断条件复位为止。
字节1的第9位是I/O处理器的忙位。如果一个附属的I/O子系统(即打印机、终端等)与level 6系统软件请求一个附加的功能,而该功能并不能立即被处理的话,便由I/O处理器给忙位置1。这个动作是与在一标准的lecel 6总线上的NAK应答同一类型的信息响应。
字节1的第10位是不存在的资源位。当Level 6系统软件对某个在所用的微系统6/10结构中所没有子系统或设备进行寻址时,便由I/O处理器将它置1。
字节1的其余位与本发明无关,在此不作讨论。
字节2与3
第0-9位对由I/O命令进行寻址的设备定义通道数。如果应用处理器(LSI-6)201插入一个无效的通道号的话,字节1中的N位便由I/O处理器置位。字节3的第10-15位定义I/O命令的功能代码。
对用来实现本发明的功能代码,将在以后较详细地讨论。
字节4与5
这些字节包含I/O命令数据。
字节6与7
这些位定义了20位地址中的最低的16位。4位最高地址以及字节偏移量通过一个硬件寄存器(未示出)被传送给I/O处理器。
中断字节9,A,B
出现中断请求时,I/O处理器203便将信息装入字节A和B,并给LSI-6处理器201送一个硬件中断位。LST-6处理器取出字节A与B,在字节9中置入它的响应值并清除硬件中断位。
字节9是中断信箱区用的控制字节。字节9的第8位是标记位(F),当它由I/O处理器置1时表示有一个需要服务的外部中断。当LSI-6处理器取走了中断数据,它就将标记(F)位复位。如果中断不被接受(NAK),LSI-6处理器便将第9位置位。
字节A,字节B的第8、9位
字节A,以及字节B中的第8、9位包含了产生中断的设备的通道号。字节B的第10-15位包含了指定给该通道的中断等级。
寄存器与暂存存储器
下面对包含数据多路控制(DMC)寄存器以及暂存存储器的字节进行定义。
字节C
第0-3位定义准备将哪个Lenvel寄存器的信息传送给I/O信箱或从I/O信箱将信息传给哪个Lenvel 6寄存器。如果第0-3位的内容是数值0至7,则在LSI-6处理器201中的一个16位的CPUR寄存器的信息将被送到字节E与F,或者后者的信息将被传送给前者。如果第0-3位的数值是A至F,则一个20位的CPU B寄存器的信息将被送到字节10,11和13,或者后者的信息将被传送给前者。
字节C的(S)位是传送方向标记位。0状态表示方向是进入信箱;而1状态则表示方向是进入LSI-6处理器。
字节C的(T)位表示在紫节E到11与13中存储了哪一类型的信息。当它为0时,这个信息便是数据多路控制(DMC)信息,当它为1时,这个信息便是Lenvel 6寄存器信息,在这种情况下,由字节E、F、11与13传送一个范围与地址。
字节D
(F)位-当它被置为1时-表示有一个寄存器的传送操作正在进行中。
RFU是备用空间。
字节E和F
这些字节用来传送数据。它们或者包含了一次DMC操作的范围,或者包含了16位Level 6寄存器的内容。
字节10,11和13
这些字节用在数据传送中。它们包含或者是一次DMC操作的地址或者是一个20位Level 6寄存器的内容。字节10和11包含了最低的16位地址位,字节13包含最高的4位。
现在参看图5,图中是SCT计数器。SCT计数器由两个寄存器401、402组成;每个寄存器能够存两个36位字,总共32位。SCT寄存器的分辨度为1秒。SCT寄存器位于I/O RAM205中,用数字226标示。SCT的内容是由LSI-6软件装入的,该软件利用了以后要叙述的I/O指令。一旦被软件装入后,它就不能由软件停止,而由下面要叙述的固体每秒维护一次。因此SCT在整个软件“引导装入”操作中保持了以秒为单位的准确的时间。
参看图4A,4B与4C,它们表示了通常存放在主存储器105中的典型的指令格式,这些指令供LSI-6处理器在输入/输出(I/O)操作中使用。图4A与4B的第0至8位表示I/O指令的类型,而第9至15位表示正在传送的信息从何处来或到何处去的地址。在本发明中,作为例子,需要传送的信息是时刻,它被从SCT226传送到主存储器205或传送到LSI-6处理器201中的一个寄存器以供新装入的操作系统使用。进行传送的方向由功能码表示。功能码及其功能如下如示:
功能代码(十六进制) 功能
FC-10 输入SCT高位字
FC-11 输出SCT高位字
FC-12 输入SCT低位字
FC-13 输出SCT低位字
如果需要将信息根据I/O指令中的地址字节传送到主存储器中的某个位置的话,就利用代码10或者12。功能代码10将SCT的高位字信息传送出去;而功能代码12则将SCT的低位字信息传送出去。这个信息首先被送到信箱区213,然后通过I/O指令的数据字被送到LSI-6处理器。
如果需要反向传送信息,例如当SCT由LSI-6设定为某一日期时,就在I/O指令中利用功能代码11和13,过程就反向。
为了给SCT提供相关联的装入/卸载功能,需要根据下述过程。对于输入,执行FC-10时,将由固件读出SCT的两半部分,高位字返回,而低位字则保存在固件的一个工作单元中。执行FC-12时,只有将该工作单元的当前内容返回。FC-12始终不被NAK。
对于输出,执行FC-11时,只是将输出数据保存在固件工作单元中。FC-11始终不被NAK。执行FC-13时将该工作单元的内容装入SCT的高位字中,FC-13输出字装入SCT低位字,SCT被启动,如果尚未在运行中的话。
现在参看图4C,这是另一种类型I/O指令的格式,其中前10位用来存通道号。这个号数表示信息来去的通道。(在这是结构中,典型的通道是信箱212,213,对它们每一个都予先指定了通道号。)上面所述的功能码表示本发明中的信息流向,它位于执行用指令的第10-15位。
参看图6A与6B,它们表示通用寄存器225的格式。两个寄存器都有相似的格式,都是16位长。这些寄存器在引导装入之前、之中或之后都是不可擦的。这些寄存器是由I/O指令利用适当的功能码装入的,它们包含可以传送给新装入的操作系统的编码信息,而传送操作也是通过I/O指令利用适当的功能代码实现的。可以传送给一个新操作系统的典型信息是,为了确定正确的固件(right firmware)是否位于该参照系统关键表(operating system′s key table)所在的位置信息。传送给新操作系统的另一个典型信息是需要执行的功能;即字处理、计算等。
用来将信息传送到G.P.寄存器225或从那里传送来的信息代码如下如示:
功能代码(十六位) 功能
FC-14 输入G.P.高位字
FC-16 输入G.P.低位字
FC-15 输出G.P.高位字
FC-17 输出G.P.低位字
现在参看图6C,这是位于RAM204中的SCT-LOCK226a的格式。SCT-LOCK是一个8位的单字节字。当SCT-LOCK被置为0时,I/O指令在传送信息时便不成功,软件必须再次争取进行这项操作,如果SCT-LOCK被置为1,I/O指令便可成功地完成其目标。
如果I/O指令成功的话,便通过一个称为ACK的过程而将i指示器201a置位;而如果I/O指令不能达到目标的话,便通过一个称为NAK的过程而将i指示器201a复位。(因而必须指出,在这里术语ACK是成功的同义词;而术语NAK是I/O指令的目标不能完成的同义词)。
现在参看图6D与6E,这里分别表示了SCT-IN-SAVE与SCT-OUT-SAVE寄存器的格式。每个格式由两个8位的字节组成。二者都位于6809处理器的RAM204中,各自用来保留输入或输出信息。
与上述硬件组合相联系,有如下三个相关的固件程序:
A.分别对SCT-HIGH和SCT-LOW实施输入/输出的固件程序(I/Os)。I/Os是在不可屏蔽中断(NMI)级中被执行的,这表示I/Os可以中断SCT固件处理程序(SCT handler fimware routine)(将在下面叙述),但反之不然。因此对SCT固件处理程序,将SCT-LOCK置位便足够了,而对于I/Os则只要对它进行检查就足够了。
B.SCT固件处理程序,它每秒将SCT定时器226增值一次。
C.Start-SCT(启动SCT)调用一个通用启动定时器程序(Grneral Purpose-START TIMER ROUTINE。这个程序给16个通用定时器226d中的一个装入某个给定值并作出它在运行的标志。它也为这个定时器在一张表格中存入处理程序的地址。所有标志出在运行中的定时器或者60赫兹(标准的)或者以50赫兹可选择的(如果电源频率为50赫兹的话)的速率连续减值。到定时器达到0时,便作出它不在运行的标志,并使指定给此定时器的处理程序是工作,此处理程序是一个子程序。
下面详细列出实际的固件程序。它们的功能流程如下所示:
I/O固件过程
过程-Input-SCT-HIGH
如果SCT-LOCK被锁住,即等于(0)
NACK I/O(I/O未完成的软件将再试)
如果SCT-LOCK未被锁住;即等于1(1),于是便复制SCT-LOW,并将它保存在SCT-IN-SAVE中
SCT-HIGH返回到I/O并调用ACK
结束Input-SCT-HIGH
过程-Input-SCT-LOW
返回SCT-IN-SAVE到I/O并ACK(即,给i指示器置位)
结束Input-SCT-LOW
过程-Output-SCT-HIGH
复制I/O字到SCT-OUT-SAVE并ACK
结束Output-SCT-HIGH
过程-output-SCT-LOW
如果SCT-LOCK被锁住,即等于(0)
NAK I/O(软件将再试)
复制SCT-OUT-SAVE并保存在SCT-HIGH中
复制I/O字到SCT-LOW
启动SCT
ACK I/O
结束Output-SCT-LOW
SCT-HANDLER过程
SCT-LOCK被封锁,即等于(0)(这将SCT-LOCK置0)
SCT-LOW等于SCT-LOW+1(这使SCT-LOW定时器增值)
如果SCT-LOW等于0,则
SCT-HIGH等于SCT-HIGH+1
SCT-LOCK不被封锁,等于(1)
新的start-SCT过程
结束SCT-HANDLER
Start-SCT过程
利用下列参数调General Purpose start timer routine(通用启动定时器程序):
定时器数等于SCT-TIMER
处理程序等于SCT-HADLER(上述过程)
如果是60赫兹的机器的话,频率等于60
如果是50赫兹的机器的话,频率等于50
结束Start-SCT
在说明了本发明的一个最佳实施例后,本技术的行家们可以知道,对所述的发明尚可有许多形式与变动,然而仍然在申请权利要求的本发明的范围之内。因此只能根据本权利要求所指范围限定本发明。
Claims (10)
1、在一个计算机系统中,该系统具有至少一个处理器,一个与所说的处理器以及与一个诸如磁盘存储器那样的档案式存储器系统相耦合的主存储器,所说的计算机系统是在一个从所说的挡案式存储器装入到所说的主存储器中的第一操作系统的管理下运行的,一个用于自动地将一个所谓第二操作系统从所说的档案式存储器引导装入到所说主存储器的引导装入装置包括:
(a)用来存储被所说第一和第二操作系统使用的信息的第一装置;
(b)与所说第一装置耦合的用来引导装入第一与第二操作系统的第二装置;
(c)与所说第一和第二装置耦合的用来自动地将信息从所说第一操作系统传送给所说第二操作系统的第三装置。
2、如权利要求1中所述的计算机系统,包括与所说第三装置耦合的用作从所说主储存器卸下所说第一操作系统的第四装置。
3、如权利要求2中所述的计算机系统,包括与所说第一装置耦合的所说计算机系统中的管理通道定时器装置(SCT)。
4、如权利要求3中所述的计算机系统,包括与所说SCT耦合的用来更新所说SCT的第五装置。
5、如权利要求4中所述的计算机系统,包括与所说第五装置耦合的用来防止对所说SCT的更新操作进行中断的第六装置。
6、如权利要求5中所述的计算机系统,其中所说SCT由两个寄存器,一个高位字与一个低位字组成,并包括向所说寄存器装入信息和从所说寄存器卸下信息的固件装置。
7、在一个计算机系统中,该系统具有至少一个处理器,一个与所说处理器耦合的主存储器,一个诸如磁盘存储器那样的档案式储存器系统,所说的计算机系统是由一个从所说的档案式储存器系统装入到所说的主储存器中的第一操作系统管理的,所说的计算机系统还包括用来存放被所说的第一操作系统在所说的计算机系统中工作时所用的信息的操作系统寄存器,用来自动地将一个第二操作系统从所说的档案式储存器引导装入到所说主储存器的引导装入方法包括下列步骤:
(a)在所说的被第一操作系统使用的操作系统寄存器中存入关键信息;
(b)将从所说的操作系统寄存器存入的第一信息加以保存;
(c)对操作系统寄存器进行初始化,以使它们不含信息;
(d)将第一操作系统从所说计算机系统的主储存器卸下;
(e)将第二操作系统引导装入所说计算机系统的主储存器;
(f)将所保存的关键信息装入所说操作系统寄存器以为第二操作系统所用。
8、如权利要求7中所述的方法,其中有一个管理通道定时器(SCT)包含在所说的计算机系统中供存储时刻用,此外还包含将所说SCT更新为准确时刻的步骤。
9、如权利要求8所述的方法,包括防止在所说的SCT的更新过程中对它进行中断的步骤。
10、在由一个第一操作系统控制下执行程序的计算机系统中,一个用来自动地引导装入第二操作系统的方法包括下列步骤:
(a)保存被所说第一操作系统使用的预定信息;
(b)引导装入所说第二操作系统;以及
(c)自动地将先前保存的预定信息传送给所说第二操作系统。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US71977285A | 1985-04-03 | 1985-04-03 | |
US719,772 | 1985-04-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN86102261A true CN86102261A (zh) | 1986-11-12 |
Family
ID=24891299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN198686102261A Pending CN86102261A (zh) | 1985-04-03 | 1986-04-02 | 通过外壳支持多操作系统的桥接设备 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP0196661A3 (zh) |
CN (1) | CN86102261A (zh) |
AU (1) | AU580399B2 (zh) |
CA (1) | CA1258920A (zh) |
FI (1) | FI861353A (zh) |
YU (1) | YU53086A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100336036C (zh) * | 2003-07-18 | 2007-09-05 | 英业达股份有限公司 | 多种操作系统引导加载方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4993017A (en) * | 1988-03-15 | 1991-02-12 | Siemens Aktiengesellschaft | Modularly structured ISDN communication system |
DE3831048A1 (de) * | 1988-09-12 | 1990-03-15 | Nixdorf Computer Ag | Betriebsprogramm fuer eine datenverarbeitungsanlage |
US5142680A (en) * | 1989-04-26 | 1992-08-25 | Sun Microsystems, Inc. | Method for loading an operating system through a network |
US5134580A (en) * | 1990-03-22 | 1992-07-28 | International Business Machines Corporation | Computer with capability to automatically initialize in a first operating system of choice and reinitialize in a second operating system without computer shutdown |
DE19720990A1 (de) * | 1997-05-20 | 1998-11-26 | Alsthom Cge Alcatel | Programmgesteuerte Einrichtung mit Nachlademöglichkeit für und Umschaltemöglichkeit auf zweites Betriebssystem ohne Programmunterbrechung |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS584418A (ja) * | 1981-06-30 | 1983-01-11 | Fujitsu Ltd | オペレーテイング・システムの切換え方法 |
US4388688A (en) * | 1981-11-10 | 1983-06-14 | International Business Machines Corp. | Shared TOD clock modification bit |
US4530052A (en) * | 1982-10-14 | 1985-07-16 | Honeywell Information Systems Inc. | Apparatus and method for a data processing unit sharing a plurality of operating systems |
-
1986
- 1986-03-27 FI FI861353A patent/FI861353A/fi not_active IP Right Cessation
- 1986-03-27 AU AU55325/86A patent/AU580399B2/en not_active Expired - Fee Related
- 1986-04-02 EP EP86104481A patent/EP0196661A3/en not_active Withdrawn
- 1986-04-02 CA CA000505620A patent/CA1258920A/en not_active Expired
- 1986-04-02 CN CN198686102261A patent/CN86102261A/zh active Pending
- 1986-04-03 YU YU53086A patent/YU53086A/xx unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100336036C (zh) * | 2003-07-18 | 2007-09-05 | 英业达股份有限公司 | 多种操作系统引导加载方法 |
Also Published As
Publication number | Publication date |
---|---|
EP0196661A2 (en) | 1986-10-08 |
YU53086A (en) | 1989-02-28 |
CA1258920A (en) | 1989-08-29 |
FI861353A (fi) | 1986-10-04 |
AU580399B2 (en) | 1989-01-12 |
AU5532586A (en) | 1986-10-02 |
FI861353A0 (fi) | 1986-03-27 |
EP0196661A3 (en) | 1988-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4799145A (en) | Facility for passing data used by one operating system to a replacement operating system | |
Liskov | The design of the Venus operating system | |
US4509116A (en) | Special instruction processing unit for data processing system | |
CN1016829B (zh) | 在多任务虚拟存储器虚拟计算机型数据处理系统中控制输入输出存取的方法 | |
CN1791862A (zh) | 操作系统 | |
US6430685B1 (en) | Method and apparatus for enabling a computer system | |
EP0210345B1 (en) | Virtual machine | |
CN86100690A (zh) | 处理机输入/输出和中断过滤器 | |
TW200903328A (en) | Improvements in and relating to floating point operations | |
CN1440528A (zh) | 寄存器中堆栈操作数的存储 | |
US4972312A (en) | Multiprocess computer and method for operating same having context switching in response to a peripheral interrupt | |
CN86102261A (zh) | 通过外壳支持多操作系统的桥接设备 | |
Bodenstab et al. | The UNIX system: UNIX operating system porting experiences | |
US7017034B2 (en) | System and method for using a firmware interface table to dynamically load multiple ACPI SSDT tables | |
US5781755A (en) | Initial program loading of virtual machine | |
CN1016653B (zh) | 数字数据处理系统用的总线适配器装置 | |
US6263421B1 (en) | Virtual memory system that is portable between different CPU types | |
CN85101171A (zh) | 虚拟机系统及其计算机系统的输入/输出执行方法 | |
CN1019152B (zh) | 数字数据处理系统中处理器与专用指令处理器间的接口 | |
US20030051087A1 (en) | Interrupt handlers used in different modes of operations | |
TW522311B (en) | Auxiliary processor manages firmware personalities while borrowing host system resources | |
JP2006012158A (ja) | デジタルデバイスのファームウェアとオペレーティングシステムとの間の拡張可能インターラクションを提供する方法および装置 | |
CN1211766A (zh) | 数据处理方法,记录介质和数据处理装置 | |
JPS62120542A (ja) | 情報処理装置 | |
JP3797274B2 (ja) | ファームウェアディスパッチ方式,方法,およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |