WO2006035728A1 - 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム - Google Patents

情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
WO2006035728A1
WO2006035728A1 PCT/JP2005/017646 JP2005017646W WO2006035728A1 WO 2006035728 A1 WO2006035728 A1 WO 2006035728A1 JP 2005017646 W JP2005017646 W JP 2005017646W WO 2006035728 A1 WO2006035728 A1 WO 2006035728A1
Authority
WO
WIPO (PCT)
Prior art keywords
interrupt
processing
main
sub
state
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.)
Ceased
Application number
PCT/JP2005/017646
Other languages
English (en)
French (fr)
Inventor
Naoto Okino
Atsushi Togawa
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
Original Assignee
Sony Corp
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 filed Critical Sony Corp
Priority to US10/580,848 priority Critical patent/US8584125B2/en
Publication of WO2006035728A1 publication Critical patent/WO2006035728A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Definitions

  • the present invention relates to an information processing apparatus, an interrupt processing control method, and a computer program. More specifically, in a system in which a plurality of operating systems (OSs) are simultaneously operated, the main OS for executing interrupt processing control is set, and the main OS performs interrupt control to obtain interrupt masking time for the entire system.
  • the present invention relates to an information processing apparatus for realizing reduction, improvement in interrupt responsiveness, efficient data processing, an interrupt processing control method, and a computer program.
  • each OS can execute different processes, and hardware common to the systems, that is, CPU, memory, etc. Processing is performed by sequentially switching to time series.
  • Scheduling of execution processes (tasks) of each of a plurality of OSs is performed by, for example, partition management software.
  • OS (a) and OS ( ⁇ ) coexist in one system, let os (a) be the process of partition A,
  • the partition management software determines the execution schedule of partition A and partition B, allocates hardware resources based on the determined schedule, and executes processing in each OS Do.
  • Patent Document 1 discloses a task scheduling method for preferentially processing urgent processing in task management performed in each of a plurality of OSs.
  • the execution subject of various data processing is set, for example, as a partition.
  • a logical partition is set up as a subject to receive resource distribution in the system, and the logical processor
  • Various resources such as time of use of the knit, virtual address space, and memory space are allocated, and processing to which the allocated resources are applied is executed.
  • a logical processor corresponding to any physical processor is set, and data processing based on the logical processor is executed.
  • a logical processor and a physical processor are not necessarily in a one-to-one relationship, and one logical processor may be associated with a plurality of physical processors, and a plurality of logical processors may be associated with a single physical processor.
  • the physical processor When multiple processes to which a logical processor is applied are executed in parallel, the physical processor will be scheduled and used by multiple logical processors. That is, multiple logical processors will use the physical processors for time sharing.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2003- 345612
  • the present invention has been made in view of the above problems, and it is preferable to execute interrupt processing control in a multi-OS system in which a plurality of operating systems ( os) are mounted in one system.
  • An information processing apparatus that reduces the interrupt masking time of the entire system, improves interrupt responsiveness, and realizes efficient data processing by setting the main OS to be executed and performing interrupt control by the main OS, interrupt processing control It is intended to provide a method, as well as a computer 'program.
  • a first aspect of the present invention is An information processing unit that executes data processing compatible with multiple operating systems (OSs),
  • OSs operating systems
  • the plurality of OSs are configured by a main OS that executes control of interrupt processing and other sub-OSs.
  • the main OS holds state information indicating whether the sub OS is in the interrupt enabled state or in the interrupt disabled state;
  • an information processing apparatus characterized in that it has a configuration for performing interrupt control processing of determining execution or suspension of interrupt processing based on the state information in response to occurrence of interrupt processing.
  • the main OS holds interrupt processing state information as to whether the generated interrupt processing is pending or not
  • the sub OS interrupt The present invention is characterized in that it is configured to execute start control of pending interrupt processing in response to the transition between the enabled state and the disabled state.
  • the sub-OS sends status information indicating whether the sub-OS is in an interrupt enabled state or in an interrupt disabled state to the main OS.
  • the main OS is configured to execute update processing of status information of the secondary OS based on notification information from the secondary OS.
  • the main OS holds priority information of interrupt processing, and executes an interrupt control process according to the priority. It features.
  • the main OS is status information of the sub OS and interrupt processing status information indicating whether the generated interrupt processing is in process or pending. If the interrupt corresponding to the secondary OS is generated, it is determined that the secondary OS is in the interrupt disabled state based on the state table. If an interrupt is registered in the status table as a pending interrupt and it is determined based on the status table that the secondary OS is in the interrupt enabled state, whether the OS executing the process to which the processor is applied is the primary OS or secondary OS Depending on the following processing mode, (a) When main OS processing is in progress
  • the present invention is characterized in that it is configured to execute interrupt control in each of the processing modes.
  • the main OS is status information of the sub OS and interrupt processing status information indicating whether the generated interrupt processing is in process or pending. If the interrupt corresponding to the main OS occurs, the following is performed depending on whether the OS executing the process to which the processor is applied is the main OS or the sub OS. Processing mode, ie,
  • the present invention is characterized in that it is configured to execute interrupt control in each of the processing modes.
  • the interrupt processing In the management control method the main OS further holds interrupt processing state information indicating whether the generated interrupt processing is being processed or pending, and is responsive to the transition of the interrupt enabled state and the interrupt disabled state of the secondary OS. To execute the start control of the pending interrupt processing.
  • the interrupt processing control method further, whether or not the sub OS is in an interrupt enabled state or an interrupt from the sub OS to the main OS.
  • the method is characterized by the steps of: notifying the status information indicating whether it is in a prohibited state; and executing, in the main OS, update processing of status information of the sub OS based on notification information from the sub OS. I assume.
  • the main OS holds priority information of interrupt processing, and executes the interrupt control processing according to the priority. I assume.
  • the main OS performs interrupt processing of status information of the sub OS and whether or not the generated interrupt processing is pending.
  • Execute status management based on the status table including status information, and when an interrupt corresponding to the secondary OS is generated, if it is determined based on the status table that the secondary OS is in the interrupt disabled state, the generated interrupt is If it is registered in the status table as a pending interrupt and it is determined based on the status table that the secondary OS is in the interrupt enabled state, depending on whether the OS executing the process to which the processor is applied is the primary OS or secondary OS.
  • the present invention is characterized in that interrupt control in each of the processing modes is performed.
  • the main OS performs interrupt processing of status information of the sub OS and whether or not the generated interrupt processing is pending.
  • Execute state management based on the state table including state information, and interrupts corresponding to the main OS If the OS that is executing the process that applied the processor is the main OS or the secondary OS, the following processing mode, that is,
  • the present invention is characterized in that it is configured to execute interrupt control in each of the processing modes.
  • a computer program that executes interrupt processing control in data processing corresponding to multiple operating systems (OS),
  • the computer program according to the present invention may be, for example, a storage medium or communication medium, such as a CD, provided in a computer readable form to a general-purpose computer system capable of executing various program code. It is a computer program that can be provided by a storage medium such as FD or MO, or a communication medium such as a network. By providing such a program in a computer readable form, processing according to the program is realized on the computer system.
  • the main OS for executing interrupt processing control is set, and the main OS performs interrupt control, It reduces the interrupt mask time of the entire system, improves interrupt responsiveness, and achieves efficient data processing.
  • the main OS to execute interrupt processing control is set, and the setting authority of the interrupt mask is not given to the sub OS other than the main OS, and the sub OS is output to the main OS. Since the main OS is configured to control the interrupt mask of the sub OS based on this notification information, it performs mask notification of whether the power is in the interrupt enabled state or not.
  • the control makes it possible to control all interrupt processing according to the intention of the main OS without causing a problem that the required interrupt processing will be suspended, and gives priority to the required interrupt processing. It becomes possible.
  • the sub OS interrupt vector management unit is set in the main OS, and the main OS is configured to manage the interrupt vector area of the sub OS together. Unlike interrupt vector management, it is possible to share interrupt vectors and reduce the memory area.
  • FIG. 1 is a view showing a configuration example of an information processing apparatus of the present invention.
  • FIG. 2 is a view showing a configuration example of a processor module.
  • FIG. 3 is a diagram for explaining the operation system configuration of the information processing apparatus of the present invention.
  • Fig. 4 is a diagram for explaining association processing between a logical processor and a physical processor by time sharing.
  • FIG. 5 is a diagram for explaining the functional configuration of the main OS in the information processing apparatus of the present invention.
  • FIG. 6 is a diagram showing a state table including OS state information and interrupt processing state information managed by the main OS in the information processing apparatus of the present invention.
  • FIG. 7 is a diagram for explaining the processing sequence according to the state of the sub OS and the mode of the generated interrupt.
  • FIG. 8 Summary of the correspondence between the OS (operating OS) executing the processing applied processor and the interrupt priority (high or low), the interrupt delivery destination OS, and the interrupt delivery destination OS enabled state of the interrupt generated FIG.
  • the processor module 101 is a module comprised of a plurality of processors (Processing Units), and according to a program stored in a ROM (Read Only Memory) 104, an HDD 123, etc., an operating system (OS: Operating System), OS compatible Performs data processing in accordance with various programs such as application programs.
  • OS Operating System
  • the graphic engine 102 executes data generation for screen output to a display device constituting the output unit 122, for example, 3D graphic drawing processing, in accordance with an instruction input from the processor module 101.
  • a main memory (DRAM) 103 stores, in the processor module 101, a program to be executed and parameters and the like that appropriately change according to the execution of the program. These are mutually connected by a host bus 111 which is also configured as a CPU bus.
  • the host bus 111 is connected to an external bus 112 such as a peripheral component interconnect / interface (PCI) bus via the bridge 105.
  • the bridge 105 executes data input / output control between the host bus 111 and the external bus 112, and between the controller 106, the memory card 107, and other devices.
  • PCI peripheral component interconnect / interface
  • the input unit 121 inputs input information of an input device that is operated by the user, such as a keyboard and a pointing device.
  • the output unit 122 includes an image output unit such as a liquid crystal display device or a CRT (Cathode Ray Tube) and an audio output unit including a speaker and the like.
  • HDD Hard Disk Drive
  • HDD Hard Disk Drive
  • the drive 124 reads out the data or program recorded on the removable recording medium 127 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory that has been installed and is read from the data or program. It is supplied to the main memory (DRAM) 103 connected via the interface 113, the external bus 112, the bridge 105, and the host bus 111.
  • DRAM main memory
  • connection port 125 is a port for connecting the externally connected device 128, and has a connection such as USB or IEEE1394.
  • the connection port 125 is connected to the processor module 101 or the like via the interface 13, the external bus 112, the bridge 105, and the host bus 111.
  • the communication unit 126 is connected to the network, and executes transmission of data provided from the processor module 101, the HDD 123 and the like, and data reception from the outside.
  • the processor module 200 is composed of a main processor group 201 consisting of a plurality of main processors and a plurality of sub processor groups 202 to 20n consisting of a plurality of sub processors. Each has a memory controller and a secondary cache. Each processor group 201 to 20 n has, for example, eight processor units, and is connected by a crossbar architecture or a packet switched network. Under the direction of the main processor of the main processor group 201, one or more sub processors of the plurality of sub processor groups 202 to 20 n are selected, and a predetermined program is executed.
  • the memory flow controller installed in each processor group executes data input / output control with main memory 103 shown in FIG. 1, and the secondary cache is used as a storage area for processing data in each processor group. Be done.
  • the information processing apparatus of the present invention has a multi-OS configuration in which a plurality of operating systems (OS) coexist. As shown in Figure 3, it has multiple operating systems (OSs) with a logical hierarchy. As shown in FIG. 3, the lower layer has a main OS 301, and the upper layer has a plurality of sub-OSs 302 to 304. For example, guest OSs 302 and 303 and system control OS 304 are set in the IJOS.
  • the main OS 301 implements a logical partition as one execution unit of each process executed in the processor module described with reference to FIG. 1 and FIG. 2 together with the system control OS 304 set as the sub OS, and the hardware in the system Execute processing to allocate resources (main processor as computer resource, sub processor, memory, device, etc.) to each logical partition.
  • the guest OSs 302 and 303 constituting the sub OS are, for example, various OSs such as game OS, Windows (registered trademark), Linux (registered trademark), etc., and are OS operating under the control of the main OS 301. Although only two guest OSs, guest OSs 302 and 303, are shown in FIG. 3, the number of guest OSs can be set to any number.
  • the guest OSs 302 and 303 constituting the IJOS operate in the logical partition set by the main OS 301 and the system control OS 304, and the main processor, sub processor, memory, device, etc. allocated to the logical partition Apply hardware resources to execute various data processing.
  • the guest OS (a) 302 applies a hardware resource such as a main processor, a sub processor, a memory, and a device assigned to the logical partition 2 set by the main OS 301 and the system control OS 304 to OS (a) Run application program 305 compatible with 302.
  • guest OS (b) 303 applies hardware resources such as the main processor, sub processor, memory, and devices allocated to logical partition n, and applies to guest OS (b) 303 'program Run 306
  • the main OS 301 provides a guest OS programming interface as an interface necessary to execute a guest OS.
  • a system control OS 304 which is one of the sub OSs generates a system control program 307 including logical partition management information, and executes system operation control based on the system control program 307 together with the main OS 301.
  • a system control program 307 is a program that controls system policies using a system control program and programming interface. System control program 'programming interface main OS301 power Provided to the system control OS 304. It is the role of the system control program 307 to provide means for flexible programmatic customization, such as setting the upper limit value of resource allocation.
  • the system control program 307 can control the behavior of the system using a system control program / programming interface. For example, a new logical partition can be created, and a new U, guest OS can be booted on that logical partition. In systems with multiple guest operating systems, those guest operating systems will be launched in the order preprogrammed into the system control program. Also, the resource allocation request submitted from the guest OS can be inspected before it is accepted by the main OS 301, and it can be corrected according to the system policy, or the request itself can be rejected. This ensures that only certain guest operating systems do not monopolize resources. Thus, the system control program is an implementation of the system policy as a program.
  • the main OS 301 assigns a special logical partition (logical partition 1 in the figure) for the system control OS 304.
  • the main OS 301 operates in the hypervisor mode.
  • the guest operating system operates in supervisor mode.
  • System control OS, application 'The program operates in the problem mode (user mode).
  • a logical partition is an entity that receives resource allocation in the system.
  • the main memory 103 (see FIG. 1) is divided into several areas, and the right to use each area is given to the logical partition.
  • the types of resources distributed to logical partitions are as follows.
  • each OS operates in a logical partition.
  • Each OS monopolizes the resources allocated to the logical partition to execute various data processing. In most cases, one logical partition is created for each operating system running on the system. Each logical partition is given a unique identifier.
  • the system control OS 304 manages an identifier in association with a system control program generated as logical partition management information.
  • the logical partition is generated by the main OS 301 and the system control OS 304 as a sub OS.
  • the logical partition immediately after creation does not have any resources, and there are no restrictions on resources used.
  • Logical partitions have two states: active and closed.
  • the logical partition immediately after creation is active.
  • the logical partition transitions to the end state based on the request of the guest OS operating in the logical partition, and all logical processors assigned to the logical partition stop.
  • the logical processor is a logical processor assigned to the logical partition, and corresponds to any physical processor, that is, a processor in the processor group shown in FIG. However, a logical processor and a physical processor are not necessarily in a one-to-one relationship.
  • One logical processor may be associated with a plurality of physical processors, and a plurality of logical processors may be associated with one physical processor. .
  • the correspondence between the logical processor and the physical processor is determined by the main OS 301.
  • the main OS 301 has a function of limiting the amount of resources used by each logical partition. It is possible to limit the amount of use of resources that can be allocated Z released without the guest OSs 302 and 303 communicating with the system control OS 304.
  • the main OS provides a logical sub-processor, which is an abstracted physical sub-processor, as a resource (computer resource) to the logical partition.
  • logical sub-processor which is an abstracted physical sub-processor, as a resource (computer resource) to the logical partition.
  • physical sub-processors and logical sub-processors are associated one-to-one with each other, and the numbers need not be the same.
  • the main OS is able to associate one physical sub-processor with multiple logical sub-processors as needed.
  • the main OS processes the physical sub-processors in time division. Because of this, the logical sub-processor At the same time, there is a possibility that operation stop and operation restart may be repeated.
  • the secondary OS can observe changes in these states.
  • a logical partition For execution of data processing, a logical partition is set up as a subject to receive resource distribution in the system, and for the logical partition, the usage time of the physical processor unit, the virtual address space, and the memory space etc. Various resources are allocated, and processing that applies allocated resources is executed.
  • a logical processor corresponding to any physical processor is set, and data processing based on the logical processor is executed.
  • the logical processors and physical processors are not necessarily in a one-to-one relationship.
  • One logical processor may be associated with a plurality of physical processors, or a plurality of logical processors may be associated with a single physical processor.
  • the physical processor When multiple processes to which a logical processor is applied are executed in parallel, the physical processor will be scheduled and used by multiple logical processors. That is, multiple logical processors will use the physical processors for time sharing.
  • FIG. 4 shows a processing form in which one logical processor corresponding to any of the main OS or sub OS is assigned to one physical processor.
  • the logical processor (A) occupies and uses the physical processor (1)
  • the logical processor (B) occupies and uses the physical processor (2).
  • FIG. 4 (b) shows a processing mode in which a plurality of logical processors are assigned to one physical processor and processing by time sharing is performed.
  • the physical processor 1 is time-sheared in the order of logical processor ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ) ⁇ ( ⁇ ), and each logical processor, ie, any one Processing corresponding to the main OS or sub OS is executed.
  • the physical processors 2 are time-shared in the order of logical processors (I) ⁇ (E) ⁇ (I) ⁇ (E) ⁇ (E) ⁇ (E) ⁇ (A), and each logical processor, that is, Processing is performed by executing processing corresponding to the main OS or sub-OS of.
  • the information processing apparatus of the present invention is a multi-OS system equipped with a plurality of operating systems (OSs), and the processing corresponding to the main OS or sub-OS is a processor. Executed by the server. As described with reference to FIG. 3, multiple OSs are classified into one main OS and other sub-OSs. The functions of the main OS and the sub-OS in the information processing apparatus of the present invention and the details of the interrupt control processing will be described below.
  • OSs operating systems
  • Interrupt processing is processing in which an apparatus such as an input / output device or a system clock asynchronously interrupts a CPU, and when an interrupt is accepted and interrupt processing is performed, processing being executed, that is, as a physical processor Interrupts the process being executed by the CPU, executes the interrupt process, and resumes the interrupt process after the completion of the interrupt process.
  • an apparatus such as an input / output device or a system clock asynchronously interrupts a CPU
  • processing being executed that is, as a physical processor Interrupts the process being executed by the CPU, executes the interrupt process, and resumes the interrupt process after the completion of the interrupt process.
  • hardware state information corresponding to the processing to be interrupted is set as a context table and stored in the memory as needed, and hardware is restored by context restoration after the interrupt processing is completed. Processing such as recovering the status and resuming the interrupt processing is performed.
  • the main OS manages conflicting resources such as interrupt mask settings and interrupt vectors
  • the main OS records the status information of the OS executing data processing including the main OS itself
  • the secondary OS does not directly control the interrupt mask register, and notifies the main OS whether the secondary OS is in the interrupt enabled state or in the interrupt disabled state.
  • the main OS receives all interrupt requests and delivers the necessary interrupts when the sub OS is in an interruptable and executable state.
  • the interrupt mask can be freed all the time during which the sub OS directly closed the interrupt mask.
  • FIG. Figure 5 shows the main OS 510 interrupt control It is a block diagram explaining the function regarding control.
  • the main OS is an interrupt priority management unit 511, a secondary OS interrupt management unit 512, a secondary OS interrupt vector management unit 513, an interrupt source registration management unit 514, an execution OS state management unit 515, an interrupt delivery unit 516, An execution OS switching control unit 517, an interrupt processing completion notification unit 518, and an interrupt suspension control unit 519 are included. The processing executed by each functional unit will be described.
  • the interrupt priority management unit 511 executes interrupt management based on the priority corresponding to the interrupt cause.
  • the interrupt processing is divided into interrupt processing corresponding to the main OS and interrupt processing corresponding to the sub OS, and further, the priority is set for each interrupt processing.
  • the priority is managed based on the setting of two categories of high priority and low priority according to interrupt processing, or setting information of a plurality of priorities of high to low for each interrupt processing.
  • the interrupt priority management unit 511 executes processing to determine the correspondence of the interrupt 530 generated in accordance with the priorities set corresponding to these interrupt factors.
  • the secondary OS interrupt management unit 512 manages the interrupt enabled state and the interrupt disabled state of the secondary OS. As described above, the main OS 510 receives, from the sub OS 520, a notification that the sub OS is in the interrupt enabled state or in the interrupt disabled state. Based on the notification information from the secondary OS 520, the secondary OS interrupt management unit 512 of the main OS 510 holds management information indicating whether each secondary OS is in the interrupt enabled state or not.
  • the secondary OS interrupt management unit 512 registers the status of each secondary OS in the status table that manages the status of whether each secondary OS is in the interrupt enabled state or in the interrupt disabled state.
  • the status table includes, for example, an interrupt mask register in which the interrupt disabled status is set to (0) and the interrupt enabled status to (1), and the status of each sub OS is managed based on the interrupt mask register. . If there is an interrupt request, if the interrupt is disabled, that is, if it is masked, the interrupt request generated at that time will be made to wait. In the interrupt enabled state, that is, in the unmasked state, interrupt processing for interrupt requests is permitted.
  • the OS interrupt management unit 512 checks whether each secondary OS is enabled or disabled. It holds management information as to whether it is in a prohibited state and executes interrupt control according to each state.
  • FIG. 6 An example of the configuration of a state table held as management information of the secondary OS interrupt management unit 512 is shown in FIG.
  • the status table as shown in FIG. 6, the status of each OS, that is, status information on whether the interrupt is enabled or disabled, pending interrupt information, and in-progress interrupt information are associated. Data.
  • the secondary OS interrupt management unit 512 receives the status notification from each secondary OS and updates the status table based on the reception information. Also, depending on the occurrence, pending, delivery, and completion status of interrupt processing, whether each interrupt is pending or processing is registered in the status table, and interrupts for which processing has been completed are listed from the status table. delete.
  • the sub OS interrupt vector management unit 513 manages an interrupt vector area of the sub OS.
  • the interrupt vector is a table of memory areas defined respectively by the interrupt factor, and for example, the start address and the like of the interrupt processing routine are also configured.
  • the processor that has received the interrupt checks the address of this memory area power interrupt handler and jumps to that address to start interrupt processing.
  • the secondary OS interrupt vector management unit 513 executes management of the interrupt vector area of such secondary OS
  • the interrupt factor registration management unit 514 holds and manages registration information on interrupt factors corresponding to the main OS and interrupt factors corresponding to the sub OS.
  • the interrupt factors of the main OS and the sub OS may be changed depending on the IZO device used by each OS, and the interrupt factor registration management unit 514 executes registration and deletion processing of the interrupt factor corresponding to each OS.
  • the interrupt factors include, for example, factors such as interrupt handling of the input means such as a keyboard and mouse, and data inputs from the network I ZF.
  • the execution OS state management unit 515 executes recording and management of OS information which is executing data processing to which the physical processor is applied.
  • the interrupt delivery unit 516 executes an interrupt delivery process, that is, a process for determining which processor or processor group is notified of an interrupt and executed for each interrupt request.
  • Execution OS switching control unit 517 performs various data processing to be executed by applying a processor.
  • the interrupt process completion notifying unit 518 monitors the execution status of the interrupt process based on the interrupt request, and notifies the OS that has executed the process interrupted by the interrupt process of the completion of the interrupt process. When the interrupt processing is completed, as described above, restoration of the context corresponding to the suspended process restores the hardware state of the suspended process and resumes processing.
  • the interrupt pending control unit 519 executes interrupt pending control processing. As described above, an interrupt request generated while being in the interrupt disabled state, that is, in the masked state will be made to wait until the mask is released.
  • the interrupt suspension control unit 519 executes suspension management of such an interrupt in the standby state.
  • the interrupt pending control unit 519 executes a process of updating the state table in which the interrupt pending information is set, and executes a process of notifying the secondary OS 520 when the pending interrupt is registered in the state table.
  • S101 to S104 indicate the status (State) of one sub OS in the information processing apparatus. That is,
  • Event 1201 Main OS interrupt occurred
  • Event 1202 Generation of interrupt for secondary OS
  • state S103 secondary OS interrupt disabled state or state S104: secondary OS interrupt enabled state
  • event 1201 main The following will describe processing sequences 1 to 9 in the case where either an OS interrupt occurrence or event 1202: Sub-OS interrupt occurrence occurs.
  • the secondary OS notifies the main OS of the interrupt factor used by the secondary OS. It is executed as a notification process to the interrupt factor registration management unit 514 shown in FIG.
  • the interrupt factor registration manager 514 of the main OS verifies the interrupt factor notified from the sub OS, and registers the permitted interrupt factor as the interrupt factor corresponding to the sub OS.
  • the secondary OS notifies the main OS that the secondary OS is in the interrupt disabled state. It is executed as a notification process to the secondary OS interrupt management unit 512 shown in FIG.
  • the secondary OS interrupt management unit 512 of the main OS has the secondary OS in the interrupt disabled state from the secondary OS.
  • register that the secondary OS is in the interrupt disabled status in the status table that manages the mask status. For example, control the interrupt mask register in which the interrupt disabled state is set to (0) and the interrupt enabled state to (1), and the sub OS is set to indicate that the interrupt is disabled (masked state). . In this setting, if there is an interrupt request, the interrupt request will be made to wait.
  • the secondary OS notifies the main OS that the secondary OS is in the interrupt enabled state. It is executed as a notification process to the secondary OS interrupt management unit 512 shown in FIG.
  • the secondary OS interrupt management unit 512 of the main OS When the secondary OS interrupt management unit 512 of the main OS receives a notification from the secondary OS that the secondary OS is in the interrupt enabled state, the secondary OS is notified of the mask status management status table (see FIG. 6). Register the status of interrupt permission. For example, it controls the interrupt mask register in which the interrupt disabled state is set to (0) and the interrupt enabled state to (1), and the setting that indicates that the sub OS is in the interrupt enabled state (mask released state) Do. In this setting, when there is an interrupt request, the interrupt request is not interrupted and interrupt processing is performed.
  • the main OS checks the status table to confirm the existence of the currently suspended interrupt.
  • OS status information indicating whether each OS is enabled for force interrupts, which is interrupt disabled, and pending status information for generated interrupts are recorded.
  • the interrupt pending control unit 519 shown in FIG. 5 writes the status table, and if there is a pending interrupt, executes processing to notify the sub OS.
  • the secondary OS notifies the main OS that the secondary OS has been changed from the interrupt enabled state to the interrupt disabled state. It is executed as notification processing to the secondary OS interrupt management unit 512 shown in FIG.
  • a state table for managing the mask state (see FIG. 6) Update and change the status registration information of the secondary OS from interrupt enabled status to interrupt disabled status.
  • the interrupt mask register in which the interrupt disabled state is set to (0) and the interrupt enabled state to (1) is controlled to indicate that the secondary OS is in the interrupt disabled state (masked state). In this setting, if there is an interrupt request, the interrupt request will be made to wait.
  • the secondary OS notifies the main OS that the secondary OS has been changed from the interrupt disabled state to the interrupt enabled state. It is executed as notification processing to the secondary OS interrupt management unit 512 shown in FIG.
  • a state table for managing the mask state (see FIG. 6) Update and change the status registration information of the secondary OS from interrupt disabled status to interrupt enabled status. For example, the interrupt mask register in which the interrupt disabled state is set to (0) and the interrupt enabled state to (1) is controlled to set that the secondary OS is in the interrupt enabled state (mask released state). In this setting, if there is an interrupt request, the interrupt request is executed.
  • Event 1202 Generation of interrupt for secondary OS
  • Event 1202 Interrupt for secondary OS
  • the main OS detects [Event 1202: Interrupt for secondary OS]
  • it refers to the status table of the secondary OS and determines whether the secondary OS is in the interrupt enabled state or in the interrupt disabled state. In this case, the secondary OS is in the interrupt disabled state.
  • the main OS When the main OS confirms that the sub OS is in the interrupt disabled state, it registers the generated interrupt as pending in the status table.
  • the generation interrupt process at this time is not executed and is in a standby state.
  • Event 1202 Generation of interrupt for secondary OS
  • Event 1202 Generation of interrupt for sub-OS
  • the status of the sub-OS is referred to and the sub-OS is permitted to interrupt Determine whether it is in the state or in the interrupt disabled state. In this case (state S104), the secondary OS is in the interrupt enabled state.
  • the main OS When the main OS confirms that the sub OS is in the interrupt enabled state, it verifies the priority of the generated interrupt. Here, it is classified as either high priority or low priority. The processing in the case of high priority and the processing in the case of low priority will be described respectively. (A-1) When the generated interrupt has high priority
  • [main OS] indicates that the process of the main OS and [second OS] is the process of the second OS.
  • the high-priority interrupt processing compatible with the secondary OS is preferentially executed.
  • the generated interrupt factor is a low priority interrupt
  • the main OS registers the generated interrupt as pending interrupt information of the sub OS corresponding to the interrupt in the status table (see Figure 6).
  • [main OS] indicates the process of the main OS
  • [sub OS] indicates the process of the sub OS.
  • [Main OS] When an interrupt for a secondary OS is detected, the status table of the secondary OS is checked to determine whether the secondary OS is in the interrupt enabled state or in the interrupt disabled state. In this case (state S104), the secondary OS is in the interrupt enabled state.
  • the interrupt process is executed without waiting.
  • the interrupt processing mode is as follows.
  • Event 1201 Main OS interrupt occurred
  • Event 1201 Occurrence of interrupt for main OS
  • the main OS verifies the priority of the occurred interrupt. Here, it is classified as either high priority or low priority. The processing for high priority and low priority will be described respectively.
  • [main OS] indicates that the process of the main OS and [second OS] is the process of the second OS.
  • the main OS is used as pending interrupt information of the main OS corresponding to interrupts in the status table (see Figure 6). Register the generated interrupt.
  • Event 1201 Main OS interrupt occurred
  • FIG. 8 the correspondence between the OS (operating OS) executing the processing to which the processor is applied and the priority (high or low) of the generated interrupt, the interrupt delivery destination OS, and the interrupt delivery destination OS interrupt enabled state is shown.
  • the figure which put together is shown. There are 16 possible scenarios that can be set as status as shown in the figure.
  • the main OS is state information of all sub-OSs, ie, the sub-OSs are:
  • interrupt processing is suspended in the following processing mode depending on whether the OS executing the process to which the processor is applied is the primary OS or secondary OS. Or an execution process is performed (sequence 7).
  • interrupt processing suspension processing or execution processing is performed in the following processing mode depending on whether the OS executing processing to which the processor is applied is the main OS or the sub OS (sequence 8, 9).
  • the status information of all the secondary OSs that is, whether the secondary OS is in the [interrupt enabled state] or in the [interrupt disabled state] Hold and execute the interrupt based on this status information and the mode of the generated interrupt, that is, the priority, and whether it is the interrupt corresponding to the main OS or the interrupt corresponding to the sub OS. Or control hold.
  • the sub OS is notified of whether the sub OS is in the interrupt enabled state or in the disabled state without giving the sub OS the setting authority for the interrupt mask.
  • the main OS is configured to control the interrupt mask of the sub OS based on the notification information, so that the interrupt processing unique to the sub OS is suspended. Control of all interrupt processing is possible in line with the intention of the main OS that does not cause a failure.
  • the sub OS interrupt vector management unit 51 3 in the main OS manages the interrupt vector area of the sub OS, it is possible to share the interrupt vector unlike the interrupt vector management by each OS. Become.
  • the interrupt vector is a table of memory areas respectively defined by the interrupt factor, and for example, the start address of the interrupt processing routine is configured to be equal, and the processor receiving the interrupt By examining the address of the handler and jumping to that address, it is possible to share the interrupt vector, which is the vector that can start interrupt processing, between the main OS and all the sub-OSs, thus reducing the memory area. Is possible.
  • the series of processes described in the specification can be performed by hardware, software, or a composite configuration of both.
  • the program that records the processing sequence is installed in memory in a computer built into dedicated hardware and executed, or the program is executed on a general-purpose computer that can execute various types of processing. Can be installed and run.
  • the program can be recorded in advance on a hard disk or ROM (Read Only Memory) as a recording medium.
  • the program is a flexible disk, CD -Temporarily or permanently storing (recording) on removable recording media such as ROM (Compact Disc Read Only Memory), MO (Magneto optical) disc, DVD (Digital Versatile Disc), magnetic disc, semiconductor memory, etc. Can.
  • removable recording media can be provided as V, as packaged software.
  • the program may be installed on a removable recording medium computer as described above, and may be wirelessly transferred from the download site to the computer, or via a network such as a LAN (Local Area Network) or the Internet.
  • the program can be transferred by wire, and the computer can receive the transferred program and install it on a recording medium such as a built-in hard disk.
  • a system is a logical set configuration of a plurality of devices, and the devices of each configuration are not limited to those in the same casing.
  • the main OS for executing interrupt processing control is set, and the interrupt control is performed by the main OS.
  • the main OS to execute interrupt processing control is set, and the setting authority of the interrupt mask is not given to the sub OS other than the main OS, and the sub OS is output to the main OS. Since the main OS is configured to control the interrupt mask of the sub OS based on this notification information, it performs mask notification of whether the power is in the interrupt enabled state or not.
  • the control makes it possible to control all interrupt processing according to the intention of the main OS without causing a problem that the required interrupt processing will be suspended, and gives priority to the required interrupt processing. It becomes possible.
  • the sub OS interrupt vector management unit is set in the main OS, and the main OS is configured to manage the interrupt vector area of the sub OS together. Unlike interrupt vector management, it is possible to share interrupt vectors and reduce memory area Is possible.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

 複数のオペレーションシステム(OS)が同時に動作するシステムにおける改良された割り込み処理制御構成を提供する。複数OSが同時に動作するシステムにおいて、割り込み処理制御を実行する主OSを設定し、主OS以外の副OSに割り込みマスクの設定権限を与えず、副OSから主OSに対して、副OSが割り込み許可状態にあるか禁止状態にあるかを通知し、主OSが、通知情報に基づいて副OSの割り込みマスク制御を行う。本構成により、副OS独自のマスク制御による割り込み処理の保留といった不具合が解消し、主OSの意図に沿った割り込み制御が可能となり、必要な割り込み処理の優先処理が可能となる。また、主OSでの副OS割り込みベクタ領域の管理構成により、メモリ領域削減が実現される。

Description

明 細 書
情報処理装置、割り込み処理制御方法、並びにコンピュータ 'プログラム 技術分野
[0001] 本発明は、情報処理装置、割り込み処理制御方法、並びにコンピュータ 'プロダラ ムに関する。さらに詳細には、複数のオペレーションシステム (OS)が同時に動作す るシステムにおいて、割り込み処理制御を実行する主 OSを設定して、主 OSによって 割り込み制御を行なうことで、システム全体の割り込みマスク時間の削減、割り込み応 答性の向上、効率的なデータ処理を実現する情報処理装置、割り込み処理制御方 法、並びにコンピュータ 'プログラムに関する。
背景技術
[0002] 1つのシステム内に複数のオペレーティングシステム(OS)を搭載したマルチ OSシ ステムにおいては、各 OSはそれぞれ異なるプロセスが実行可能であり、システムで 共通のハードウェア、すなわち CPUやメモリ等を時系列に順次切り替えて利用した 処理が行なわれる。
[0003] 複数 OSの各々の実行プロセス(タスク)のスケジューリングは、例えばパーティショ ン管理ソフトウェアによって実行される。 1つのシステムに OS ( a )と OS ( β )の 2つの オペレーティングシステムが並存する場合、 os ( a )の処理をパーティション Aとし、
OS ( j8 )の処理をパーティション Bとすると、パーティション管理ソフトウェアは、パーテ イシヨン Aとパーティション Bの実行スケジュールを決定し、決定したスケジュールに基 づいて、ハードウェア資源を割り当てて各 OSにおける処理を実行する。
[0004] マルチ OS型のシステムにおけるタスク管理を開示した従来技術として、例えば、特 許文献 1がある。特許文献 1には、複数の OSの各々において実行されるタスク管理 において、緊急性の高い処理を優先的に処理させるためのタスクスケジューリング手 法を開示している。
[0005] このようなマルチ OSシステムにおいて、各種のデータ処理の実行主体は例えばパ ーテイシヨンとして設定される。具体的には、システム内の資源分配を受ける主体とし ての論理パーティションが設定され、論理パーティションに対して、物理プロセッサュ ニットの使用時間や、仮想アドレス空間、さらにメモリ空間などの様々なリソースが配 分され、配分されたリソースを適用した処理が実行される。論理パーティションには、 いずれかの物理プロセッサに対応する論理的なプロセッサが設定され、論理プロセッ サに基づくデータ処理が実行される。論理プロセッサと物理プロセッサは必ずしも 1 対 1の関係にはなく、 1つの論理プロセッサに複数の物理プロセッサが対応付けられ る場合もあり、複数の論理プロセッサに 1つの物理プロセッサが対応付けられる場合 もめる。
[0006] 論理プロセッサを適用した複数の処理が並列に実行される場合、物理プロセッサは 、複数の論理プロセッサによってスケジューリングされて使用されることになる。すな わち、複数の論理プロセッサは、タイムシェアリングによる物理プロセッサの使用を行 なうことになる。
[0007] し力し、このようなマルチ OSシステムにおいては、物理的に使用可能なプロセッサ としてのハードウェア資源は限られており、ある OSが物理プロセッサを適用したデー タ処理を実行している期間は、他の OSによる利用が出来ないことになる。このような 他の OSによる利用を制限する期間は、例えば割り込みマスク期間と呼ばれる。シス テム全体での割り込みマスク期間が大きくなるとシステム全体の処理効率は低下する ことになる。
特許文献 1 :特開 2003— 345612号公報
発明の開示
発明が解決しょうとする課題
[0008] 本発明は、上述の問題点に鑑みてなされたものであり、 1つのシステム内に複数の オペレーティングシステム(os)を搭載したマルチ OSシステムにお!/、て、割り込み処 理制御を実行する主 OSを設定して、主 OSによって割り込み制御を行なうことで、シ ステム全体の割り込みマスク時間の削減、割り込み応答性の向上、効率的なデータ 処理を実現する情報処理装置、割り込み処理制御方法、並びにコンピュータ'プログ ラムを提供することを目的とする。
課題を解決するための手段
[0009] 本発明の第 1の側面は、 複数のオペレーティングシステム (OS)対応のデータ処理を実行する情報処理装 置であり、
前記複数の OSは、割り込み処理の制御を実行する主 OSと、その他の副 OSとによ つて構成され、
前記主 OSは、前記副 OSが割り込み許可状態にあるか、割り込み禁止状態にある かの状態情報を保持し、
割り込み処理の発生に応じて、前記状態情報に基づいて、割り込み処理の実行、 または保留を決定する割り込み制御処理を行なう構成を有することを特徴とする情報 処理装置にある。
[0010] さらに、本発明の情報処理装置の一実施態様において、前記主 OSは、発生した 割り込み処理が処理中である力保留中であるかの割り込み処理状態情報を保有し、 副 OSの割り込み許可状態と割り込み禁止状態の遷移に応じて、保留中の割り込み 処理の開始制御を実行する構成であることを特徴とする。
[0011] さらに、本発明の情報処理装置の一実施態様において、前記副 OSは、前記主 OS に対して、副 OSが割り込み許可状態にある力、割り込み禁止状態にあるかの状態情 報を通知する構成であり、前記主 OSは、副 OSからの通知情報に基づいて、副 OS の状態情報の更新処理を実行する構成であることを特徴とする。
[0012] さらに、本発明の情報処理装置の一実施態様において、前記主 OSは、割り込み処 理の優先度情報を保持し、該優先度に応じた割り込み制御処理を実行する構成で あることを特徴とする。
[0013] さらに、本発明の情報処理装置の一実施態様において、前記主 OSは、副 OSの状 態情報と、発生した割り込み処理が処理中であるか保留中であるかの割り込み処理 状態情報とを含む状態表に基づく状態管理を実行する構成であり、副 OS対応の割 り込みが発生した場合、前記状態表に基づいて副 OSが割り込み禁止状態にあると 判定した場合は、発生した割り込みを保留割り込みとして前記状態表に登録し、前記 状態表に基づいて副 OSが割り込み許可状態にあると判定した場合は、プロセッサを 適用した処理を実行中の OSが主 OSか副 OSかに応じて下記の処理態様、すなわち (a)主 OS処理実行中の場合、
(al)発生割り込みが高優先度の場合は、割り込み処理を実行、
(a2)発生割り込みが低優先度の場合は、割り込み処理を保留、
(b)副 OS処理実行中の場合、
発生割り込みの優先度に関わらず割り込み処理を実行、
の各処理態様での割り込み制御を実行する構成であることを特徴とする。
[0014] さらに、本発明の情報処理装置の一実施態様において、前記主 OSは、副 OSの状 態情報と、発生した割り込み処理が処理中であるか保留中であるかの割り込み処理 状態情報とを含む状態表に基づく状態管理を実行する構成であり、主 OS対応の割 り込みが発生した場合は、プロセッサを適用した処理を実行中の OSが主 OSか副 O Sかに応じて下記の処理態様、すなわち、
(a)主 OS処理実行中の場合、
発生割り込みの優先度に関わらず割り込み処理を実行、
(b)副 OS処理実行中の場合、
(bl)発生割り込みが高優先度の場合は、割り込み処理を実行、
(b2)発生割り込みが低優先度の場合は、割り込み処理を保留、
の各処理態様での割り込み制御を実行する構成であることを特徴とする。
[0015] さらに、本発明の第 2の側面は、
複数のオペレーティングシステム (OS)に対応するデータ処理における割り込み処 理制御方法であり、
割り込み処理制御を実行する主 OSにおいて、主 OS以外の副 OSから、副 OSが割 り込み許可状態にあるか、割り込み禁止状態にあるかの状態情報を受領するステツ プと、
割り込み処理の発生を検出するステップと、
前記状態情報に基づいて、割り込み処理の実行、または保留を決定する割り込み 制御処理を行なうステップと、
を有することを特徴とする割り込み処理制御方法にある。
[0016] さらに、本発明の割り込み処理制御方法の一実施態様において、前記割り込み処 理制御方法において、さらに、前記主 OSは、発生した割り込み処理が処理中である か保留中であるかの割り込み処理状態情報を保有し、副 OSの割り込み許可状態と 割り込み禁止状態の遷移に応じて、保留中の割り込み処理の開始制御を実行するこ とを特徴とする。
[0017] さらに、本発明の割り込み処理制御方法の一実施態様において、前記割り込み処 理制御方法において、さらに、前記副 OSから前記主 OSに対して、副 OSが割り込み 許可状態にあるか、割り込み禁止状態にあるかの状態情報を通知するステップと、前 記主 OSにおいて、副 OSからの通知情報に基づいて、副 OSの状態情報の更新処 理を実行するステップと、を有することを特徴とする。
[0018] さらに、本発明の割り込み処理制御方法の一実施態様において、前記主 OSは、割 り込み処理の優先度情報を保持し、該優先度に応じた割り込み制御処理を実行する ことを特徴とする。
[0019] さらに、本発明の割り込み処理制御方法の一実施態様において、前記主 OSは、副 OSの状態情報と、発生した割り込み処理が処理中である力保留中であるかの割り込 み処理状態情報とを含む状態表に基づく状態管理を実行し、副 OS対応の割り込み が発生した場合、前記状態表に基づいて副 OSが割り込み禁止状態にあると判定し た場合は、発生した割り込みを保留割り込みとして前記状態表に登録し、前記状態 表に基づいて副 OSが割り込み許可状態にあると判定した場合は、プロセッサを適用 した処理を実行中の OSが主 OSか副 OSかに応じて下記の処理態様、すなわち、
(a)主 OS処理実行中の場合、
(al)発生割り込みが高優先度の場合は、割り込み処理を実行、
(a2)発生割り込みが低優先度の場合は、割り込み処理を保留、
(b)副 OS処理実行中の場合、
発生割り込みの優先度に関わらず割り込み処理を実行、
の各処理態様での割り込み制御を実行することを特徴とする。
[0020] さらに、本発明の割り込み処理制御方法の一実施態様において、前記主 OSは、副 OSの状態情報と、発生した割り込み処理が処理中である力保留中であるかの割り込 み処理状態情報とを含む状態表に基づく状態管理を実行し、主 OS対応の割り込み が発生した場合は、プロセッサを適用した処理を実行中の OSが主 OSか副 OSかに 応じて下記の処理態様、すなわち、
(a)主 OS処理実行中の場合、
発生割り込みの優先度に関わらず割り込み処理を実行、
(b)副 OS処理実行中の場合、
(bl)発生割り込みが高優先度の場合は、割り込み処理を実行、
(b2)発生割り込みが低優先度の場合は、割り込み処理を保留、
の各処理態様での割り込み制御を実行する構成であることを特徴とする。
[0021] さらに、本発明の第 3の側面は、
複数のオペレーティングシステム (OS)に対応するデータ処理における割り込み処 理制御を実行するコンピュータ ·プログラムであり、
割り込み処理制御を実行する主 OSにおいて、主 OS以外の副 OSから、副 OSが割 り込み許可状態にあるか、割り込み禁止状態にあるかの状態情報を受領するステツ プと、
割り込み処理の発生を検出するステップと、
前記状態情報に基づいて、割り込み処理の実行、または保留を決定する割り込み 制御処理を行なうステップと、
を有することを特徴とするコンピュータ ·プログラムにある。
[0022] なお、本発明のコンピュータ 'プログラムは、例えば、様々なプログラム 'コードを実 行可能な汎用コンピュータ ·システムに対して、コンピュータ可読な形式で提供する 記憶媒体、通信媒体、例えば、 CDや FD、 MOなどの記憶媒体、あるいは、ネットヮ ークなどの通信媒体によって提供可能なコンピュータ 'プログラムである。このようなプ ログラムをコンピュータ可読な形式で提供することにより、コンピュータ 'システム上で プログラムに応じた処理が実現される。
[0023] 本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図 面に基づぐより詳細な説明によって明らかになるであろう。なお、本明細書において システムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内に あるものには限らない。 発明の効果
[0024] 本発明の構成によれば、複数のオペレーションシステム(OS)が同時に動作するシ ステムにおいて、割り込み処理制御を実行する主 OSを設定して、主 OSによって割り 込み制御を行なうことで、システム全体の割り込みマスク時間の削減、割り込み応答 性の向上、効率的なデータ処理が実現される。
[0025] 本発明の構成によれば、割り込み処理制御を実行する主 OSを設定し、主 OS以外 の副 OSに割り込みマスクの設定権限を与えず、副 OS力 主 OSに対して、副 OSが 割り込み許可状態にある力禁止状態にあるかの通知を実行し、主 OSが、これらの通 知情報に基づいて、副 OSの割り込みマスクの制御を行う構成としたので、副 OS独自 のマスク制御によって、必要な割り込み処理が保留させられてしまうといった不具合 を発生させることなぐ主 OSの意図に沿って、全ての割り込み処理の制御が可能とな り、必要な割り込み処理を優先的に処理させることが可能となる。
[0026] また、本発明の構成によれば、主 OSに副 OS割り込みベクタ管理部を設定し、主 O Sでまとめて副 OSの割り込みベクタ領域を管理する構成としたので、個々の OSによ る割り込みベクタ管理と異なり割り込みベクタの共有が可能となり、メモリ領域の削減 が可能となる。
図面の簡単な説明
[0027] [図 1]本発明の情報処理装置の構成例を示す図である。
[図 2]プロセッサモジュールの構成例を示す図である。
[図 3]本発明の情報処理装置のオペレーションシステム構成を説明する図である。
[図 4]タイムシェアリングによる論理プロセッサと物理プロセッサとの対応付け処理に ついて説明する図である。
[図 5]本発明の情報処理装置における主 OSの機能構成について説明する図である
[図 6]本発明の情報処理装置における主 OSの管理する OS状態情報および割り込 み処理状態情報からなる状態表を示す図である。
[図 7]副 OSの状態、および発生割り込みの態様に応じた処理シーケンスについて説 明する図である。 [図 8]プロセッサを適用した処理を実行中の OS (動作中 OS)と、発生した割り込みの 優先度 (高低)、割り込み配送先 OS、割り込み配送先 OSの割り込み許可状態との対 応をまとめた図である。
発明を実施するための最良の形態
[0028] 以下、図面を参照しながら、本発明の情報処理装置、割り込み処理制御方法、並 びにコンピュータ 'プログラムの詳細について説明する。
[0029] まず、図 1を参照して、本発明を適用可能な情報処理装置のハードウェア構成例に ついて説明する。プロセッサモジュール 101は、複数のプロセッサ(Processing Unit) から構成されたモジユーノレであり、 ROM(Read Only Memory)104、 HDD123等に 記憶されているプログラムに従って、オペレーティングシステム(OS: Operating Syste m)、 OS対応のアプリケーション 'プログラムなど、各種プログラムに従ったデータ処理 を実行する。プロセッサモジュール 101の詳細については、さらに、後段で、図 2を参 照して説明する。
[0030] グラフィックエンジン 102は、プロセッサモジュール 101から入力される指示に従つ て、出力部 122を構成する表示デバイスに画面出力するためのデータ生成、例えば 3Dグラフィック描画処理を実行する。メインメモリ(DRAM) 103には、プロセッサモジ ユール 101にお 、て実行するプログラムやその実行にぉ 、て適宜変化するパラメ一 タ等を格納する。これらは CPUバスなど力も構成されるホストバス 111により相互に接 続されている。
[0031] ホストバス 111は、ブリッジ 105を介して、 PCI(Peripheral Component Interconnect/ Interface)バスなどの外部バス 112に接続されている。ブリッジ 105は、ホストバス 111 、外部バス 112間、およびコントローラ 106、メモリカード 107、その他のデバイスとの データ入出力制御を実行する。
[0032] 入力部 121は、キーボード、ポインティングデバイスなどのユーザにより操作される 入力デバイス力もの入力情報を入力する。出力部 122は、液晶表示装置や CRT (Ca thode Ray Tube)などの画像出力部とスピーカ等カゝらなる音声出力部カゝら構成される
[0033] HDD (Hard Disk Drive) 123は、ハードディスクを内蔵し、ハードディスクを駆動し、 プロセッサモジュール 101によって実行するプログラムや情報を記録または再生させ る。
[0034] ドライブ 124は、装着されて!ヽる磁気ディスク、光ディスク、光磁気ディスク、または 半導体メモリ等のリムーバブル記録媒体 127に記録されているデータまたはプロダラ ムを読み出して、そのデータまたはプログラムを、インタフェース 113、外部バス 112、 ブリッジ 105、およびホストバス 111を介して接続されているメインメモリ(DRAM) 10 3に供給する。
[0035] 接続ポート 125は、外部接続機器 128を接続するポートであり、 USB, IEEE1394 等の接続部を持つ。接続ポート 125は、インタフェース 13、外部バス 112、ブリッジ 1 05、およびホストバス 111を介してプロセッサモジュール 101等に接続されている。 通信部 126は、ネットワークに接続され、プロセッサモジュール 101や、 HDD123等 から提供されるデータの送信、外部からのデータ受信を実行する。
[0036] 次に、プロセッサモジュールの構成例について、図 2を参照して説明する。図 2に示 すように、プロセッサモジュール 200は、複数のメインプロセッサからなるメインプロセ ッサグループ 201、複数のサブプロセッサからなる複数のサブプロセッサグループ 20 2〜20nによって構成されている。それぞれにメモリコントローラ、 2次キャッシュが設 けられている。各プロセッサグループ 201〜20nの各々は例えば 8つのプロセッサュ ニットを有し、クロスバーアーキテクチャ、あるいはパケット交換式ネットワークなどによ つて接続されている。メインプロセッサグループ 201のメインプロセッサの指示のもと に、複数のサブプロセッサグループ 202〜20nの 1以上のサブプロセッサが選択され 、所定のプログラムが実行される。
[0037] 各プロセッサグループに設置されたメモリフローコントローラは、図 1に示すメインメ モリ 103とのデータ入出力制御を実行し、 2次キャッシュは、各プロセッサグループに おける処理用データの記憶領域として利用される。
[0038] 次に、図 3を参照して、本発明の情報処理装置におけるオペレーティングシステム( OS)構成を説明する。本発明の情報処理装置は複数のオペレーティングシステム( OS)が共存するマルチ OS構成を持つ。図 3に示すように、論理的な階層構成を持 つ複数のオペレーティングシステム(OS)を持つ。 [0039] 図 3に示すように、下位レイヤに主 OS301を有し、上位レイヤに複数の副 OS302 〜304を有する。畐 IJOSには、例えばゲスト OS302, 303、およびシステム制御 OS3 04が設定される。主 OS301は、副 OSとして設定されるシステム制御 OS304とともに 図 1、図 2を参照して説明したプロセッサモジュールにおいて実行する各プロセスの 1 つの実行単位としての論理パーティションを実現し、システム内のハードウェア資源( 計算機資源としてのメインプロセッサ、サブプロセッサ、メモリ、デバイス等)を各論理 パーティションに割り振る処理を実行する。
[0040] 副 OSを構成するゲスト OS302, 303は、例えばゲーム OSや Windows (登録商標 )、 Linux (登録商標)などの各種の OSであり、主 OS301の制御の下に動作する OS である。なお、図 3には、ゲスト OS302, 303の 2つのゲスト OSのみを示してあるが、 ゲスト OSは任意の数に設定することが可能である。
[0041] 畐 IJOSを構成するゲスト OS302, 303は、主 OS301およびシステム制御 OS304に よって設定された論理パーティション内で動作し、その論理パーティションに割り当て られたメインプロセッサ、サブプロセッサ、メモリ、デバイス等のハードウェア資源を適 用して各種のデータ処理を実行する。
[0042] 例えば、ゲスト OS (a) 302は、主 OS301およびシステム制御 OS304によって設定 された論理パーティション 2に割り当てられたメインプロセッサ、サブプロセッサ、メモリ 、デバイス等のハードウェア資源を適用して、ゲスト OS (a) 302対応のアプリケーショ ン.プログラム 305を実行する。また、ゲスト OS (b) 303は、論理パーティション nに割 り当てられたメインプロセッサ、サブプロセッサ、メモリ、デバイス等のハードウェア資 源を適用して、ゲスト OS (b) 303対応のアプリケーション 'プログラム 306を実行する 。主 OS301は、ゲスト OSの実行に必要なインタフェースとしてゲスト OSプログラミン グィンタフエースを提供する。
[0043] 副 OSの 1つであるシステム制御 OS304は、論理パーティション管理情報を含むシ ステム制御プログラム 307を生成し、システム制御プログラム 307に基づくシステムの 動作制御を主 OS301とともに実行する。システム制御プログラム 307は、システム制 御プログラム ·プログラミングインタフェースを用いてシステムのポリシを制御するプロ グラムである。システム制御プログラム 'プログラミングインタフェースは、主 OS301力 らシステム制御 OS304に提供される。例えばリソース配分の上限値を設定するなど、 プログラムによる柔軟なカスタマイズのための手段を提供するのがシステム制御プロ グラム 307の役割である。
[0044] システム制御プログラム 307はシステム制御プログラム ·プログラミングインタフエ一 スを用いてシステムの振る舞いを制御することができる。例えば、新しく論理パーティ シヨンを作成し、その論理パーティションで新 U、ゲスト OSを起動することができる。 複数のゲスト OSが動作するシステムでは、それらのゲスト OSはシステム制御プロダラ ムにあら力じめプログラムされた順序で起動されることになる。また、ゲスト OSから提 出された資源割り当て要求を主 OS301が受理する前に検査し、システムのポリシに 従って修正したり、要求そのものを拒否したりすることができる。これにより、特定のゲ スト OSだけが資源を独占することがないようにすることができる。このように、システム のポリシをプログラムとして実現したものがシステム制御プログラムである。
[0045] 主 OS301はシステム制御 OS304のために特別な論理パーティション(図では論理 パーティション 1)を割り当てる。主 OS301は、ハイパバイザモードで動作する。ゲスト OSはスーパバイザモードで動作する。システム制御 OS、アプリケーション 'プロダラ ムはプロブレムモード(ユーザモード)で動作する。
[0046] 論理パーティションはシステム内の資源分配を受ける主体である。たとえばメインメ モリ 103 (図 1参照)はいくつかの領域へ分割され、それぞれの領域の使用権が論理 パーティションに対して与えられる。論理パーティションに分配される資源の種別には 以下のものがある。
a)物理プロセッサユニット使用時間
b)仮想アドレス空間
c)論理パーティション内で動作するプログラムがアクセスできるメモリ
d)主 OSが論理パーティションの管理のために用いるメモリ
e)イベントポート
f)デバイスの使用権
g)キャッシュノ ーテイシヨン
h)バス使用権 [0047] 前述したように、各 OSは論理パーティションの中で動作する。各 OSは論理パーテ イシヨンに割り当てられた資源を独占して各種のデータ処理を実行する。多くの場合 、システム上で動作する個々の OS毎に 1つの論理パーティションが作成される。各論 理パーティションにはユニークな識別子が与えられる。システム制御 OS304は、論理 パーティション管理情報として生成するシステム制御プログラムに識別子を対応づけ て管理する。
[0048] 論理パーティションは、主 OS301および副 OSとしてのシステム制御 OS304によつ て生成される。生成直後の論理パーティションは何も資源を持たず、使用資源の制 限も設定されていない。論理パーティションには活動状態と終了状態という 2つの状 態がある。生成直後の論理パーティションは活動状態にある。論理パーティション内 で動作するゲスト OSの要求に基づいて論理パーティションは終了状態に遷移し、論 理パーティションに割り当てられている全ての論理プロセッサが停止する。
[0049] なお、論理プロセッサは、論理パーティションに割り当てられる論理的なプロセッサ であり、いずれかの物理プロセッサ、すなわち、図 2に示すプロセッサグループ内の プロセッサに対応する。ただし、論理プロセッサと物理プロセッサは必ずしも 1対 1の 関係にはなぐ 1つの論理プロセッサに複数の物理プロセッサが対応付けられる場合 もあり、複数の論理プロセッサに 1つの物理プロセッサが対応付けられる場合もある。 論理プロセッサと物理プロセッサの対応付けは、主 OS301が決定する。
[0050] 主 OS301は、各論理パーティションが使用する資源の量を制限する機能を備えて いる。ゲスト OS302, 303がシステム制御 OS304との通信を行うことなく割り当て Z 解放が行える資源については使用量の制限が可能となっている。
[0051] 主 OSは論理パーティションに対し、物理サブプロセッサを抽象化した論理サブプロ セッサをリソース (計算機資源)として与える。前述したように物理サブプロセッサと論 理サブプロセッサは一対一に対応付けされて ヽな 、上、数が同じである必要もな 、。 これを実現するために、主 OSは必要に応じて一つの物理サブプロセッサを複数の 論理サブプロセッサに対応付けることができるようになつている。
[0052] 論理サブプロセッサの数が物理サブプロセッサの数より多い場合、主 OSは物理サ ブプロセッサを時分割して処理する。このため論理サブプロセッサは、時間の経過を ともなって動作停止や動作再開を繰り返す可能性がある。副 OSはこれらの状態の変 化を観測することができる。
[0053] データ処理の実行に際しては、システム内の資源分配を受ける主体としての論理 パーティションが設定され、論理パーティションに対して、物理プロセッサユニットの使 用時間や、仮想アドレス空間、さらにメモリ空間などの様々なリソースが配分され、配 分されたリソースを適用した処理が実行される。論理パーティションには、いずれかの 物理プロセッサに対応する論理的なプロセッサが設定され、論理プロセッサに基づく データ処理が実行される。論理プロセッサと物理プロセッサは必ずしも 1対 1の関係 にはなぐ 1つの論理プロセッサに複数の物理プロセッサが対応付けられる場合もあ り、複数の論理プロセッサに 1つの物理プロセッサが対応付けられる場合もある。
[0054] 論理プロセッサを適用した複数の処理が並列に実行される場合、物理プロセッサは 、複数の論理プロセッサによってスケジューリングされて使用されることになる。すな わち、複数の論理プロセッサは、タイムシェアリングによる物理プロセッサの使用を行 なうことになる。
[0055] 図 4を参照して、タイムシェアリングによる物理プロセッサの使用形態について説明 する。図 4 (a)は、 1つの物理プロセッサに対して、いずれかの主 OSまたは副 OSに 対応する 1つの論理プロセッサが割り当てられている処理形態である。論理プロセッ サ(ァ)が物理プロセッサ(1)を占有して利用し、論理プロセッサ(ィ)が物理プロセッ サ(2)を占有して利用して 、る。
[0056] 図 4 (b)は、 1つの物理プロセッサに対して複数の論理プロセッサが割り当てられ、 タイムシェアリングによる処理を実行して 、る処理形態を示して 、る。物理プロセッサ 1は、論理プロセッサ(ゥ)→ (ァ)→ (ゥ)→ (ァ)→ (ィ)→ (ゥ)→ (ィ)の順にタイムシ ァされて、各々の論理プロセッサ、すなわちいずれかの主 OSまたは副 OSに対応す る処理が実行される。物理プロセッサ 2は、論理プロセッサ (ィ)→ (ェ)→ (ィ)→ (ェ) → (ゥ)→ (ェ)→ (ァ)の順にタイムシェアされて、各々の論理プロセッサ、すなわち ヽ ずれかの主 OSまたは副 OSに対応する処理が実行されるによる処理が実行される。
[0057] 上述のように、本発明の情報処理装置は、複数のオペレーティングシステム (OS) を搭載したマルチ OSシステムであり、主 OSまたは副 OSに対応する処理がプロセッ サによって実行される。図 3を参照して説明したように、複数の OSは、 1つの主 OSと それ以外の副 OSに分類される。以下、本発明の情報処理装置における主 OSと副 O sの持つ機能と、割り込み制御処理の詳細について説明する。
[0058] 割り込み処理は、例えば入出力機器、システムクロックなどの装置が非同期的に C PUに割り込む処理であり、割り込みを受け付け、割り込み処理を実行する場合は、 実行中の処理、すなわち物理プロセッサとしての CPUによって実行されていた処理 を中断し、割り込み処理を実行して、割り込み処理の完了後に中断処理を再開する 。なお、割り込み処理の実行に際しては、必要に応じて、中断する処理に対応するハ 一ドウエア状態情報などをコンテキストテーブルとして設定してメモリに保存し、割り込 み処理終了後に、コンテキスト復元によってハードウェア状態を回復し、中断処理を 再開する処理などが行われる。
[0059] 本発明の構成における主 OSと副 OSの割り込み処理の制御に関する機能は、以下 の通りである。
(1)主 OSが割り込みマスク設定や割り込みベクタといった競合リソースを管理する
(2)主 OSは、主 OS自身を含むデータ処理を実行中の OSの状態情報を記録する
(3)副 OSは、割り込みマスクレジスタを直接制御せず、主 OSに対して、副 OSが割 り込み許可状態であるか、割り込み禁止状態であるかを通知する。
(4)主 OSがすべての割り込み要求を受け取り、副 OSが割り込み可能かつ実行可 能な状態のときに必要な割り込みを配送する。
[0060] 上記構成により、
(1)副 OSが直接割り込みマスクを閉じていた時間はすべて割り込みマスクを空ける ことができる。
(2)割り込みベクタを共有できるので主 OSと副 OSを統合したイメージを作成して、 使用メモリ量を削減できる。
という効果を奏する。
[0061] 図 5を参照して、主 OSの機能について説明する。図 5は、主 OS510の割り込み制 御に関する機能を説明するブロック図である。
[0062] 主 OSは、割り込み優先度管理部 511、副 OS割り込み管理部 512、副 OS割り込み ベクタ管理部 513、割り込み要因登録管理部 514、実行 OS状態管理部 515、割り込 み配送部 516、実行 OS切り替え制御部 517、割り込み処理完了通知部 518、割り込 み保留制御部 519を有する。各機能部の実行する処理について説明する。
[0063] 割り込み優先度管理部 511は、割り込み要因に対応する優先度に基づく割り込み 管理を実行する。割り込み処理は、主 OS対応の割り込み処理、副 OS対応の割り込 み処理に区分され、さらに、それぞれの割り込み処理について優先度が設定される。 優先度は割り込み処理に応じて高優先度、低優先度の 2つの区分設定、あるいは、 各割り込み処理について高〜低の複数の優先順位の設定情報に基づいて管理され る。割り込み優先度管理部 511は、これら割り込み要因に対応して設定された優先 度に応じて発生した割り込み 530の対応を決定する処理を実行する。
[0064] 副 OS割り込み管理部 512は、副 OSの割り込み許可状態および割り込み禁止状態 の管理を実行する。前述したように、主 OS510は、副 OS520から、副 OSが割り込み 許可状態であるか、割り込み禁止状態であるかの通知を受領する。主 OS510の副 O S割り込み管理部 512は、副 OS520からの通知情報に基づいて、各副 OSが割り込 み許可状態である力 割り込み禁止状態であるかの管理情報を保持する。
[0065] 副 OS割り込み管理部 512は、各副 OSが割り込み許可状態にある力、割り込み禁 止状態にあるかの状態を管理する状態表に各副 OSの状態を登録する。状態表には 、例えば、割り込みの禁止状態を (0)、割り込みの許可状態を(1)として設定した割り 込みマスクレジスタが含まれ、割り込みマスクレジスタに基づいて、各副 OSの状態を 管理する。ある割り込み要求があった場合、割り込みの禁止状態、すなわちマスクさ れている場合は、その時点に発生した割り込み要求は、待機させられることになる。 割り込みの許可状態、すなわち、マスクの解除された状態では、割り込み要求に対す る割り込み処理を許容する。
[0066] なお、図には 1つの副 OS520のみを示してある力 先に図 3を参照して説明したよ うに、情報処理装置には複数の副 OSが存在可能であり、主 OS510の副 OS割り込 み管理部 512は、各副 OSについて、それぞれ割り込み許可状態であるか、割り込み 禁止状態であるかの管理情報を保持し、各状態に応じた割り込み制御を実行する。
[0067] 副 OS割り込み管理部 512の管理情報として保持する状態表の構成例を図 6に示 す。状態表は、図 6に示すように、 OS各々についての状態、すなわち、割り込み許可 状態にあるか割り込み禁止状態にあるかの状態情報と、保留割り込み情報と、処理 中割り込み情報とが対応付けられたデータである。副 OS割り込み管理部 512は、各 副 OSからの状態通知を受領し、受領情報に基づいて状態表を更新する。また、割り 込み処理の発生、保留、配送、完了状態に応じて、各割り込みが保留状態にあるか 、処理中であるかを状態表に登録し、処理の完了した割り込みについては状態表か ら削除する。
[0068] 副 OS割り込みベクタ管理部 513は、副 OSの割り込みベクタ領域を管理する。割り 込みべクタは、割り込み要因によってそれぞれ規定されたメモリエリアのテーブルで あり、例えば割り込み処理ルーチンの開始アドレス等力も構成される。割り込みを受 けたプロセッサは、このメモリ領域力 割り込みハンドラのアドレスを調べ、そのアドレ スにジャンプすることで割り込み処理が開始可能となる。副 OS割り込みベクタ管理部 513は、このような副 OSの割り込みベクタ領域の管理を実行する
[0069] 割り込み要因登録管理部 514は、主 OS対応の割り込み要因、副 OS対応の割り込 み要因についての登録情報を保持、管理する。主 OS、副 OSの割り込み要因は、各 OSが利用する IZOデバイスによって変更される場合があり、割り込み要因登録管理 部 514は、各 OS対応の割り込み要因の登録、削除処理を実行する。なお、割り込み 要因とは例えばキーボード、マウス等の入力手段力 の割り込み処理、ネットワーク I ZFからのデータ入力などの要因がある。
[0070] 実行 OS状態管理部 515は、物理プロセッサを適用したデータ処理を実行している OS情報の記録、管理を実行する。
割り込み配送部 516は、割り込みの配送処理、すなわち、各割り込み要求について 、どのプロセッサ、あるいは、プロセッサ群に割り込みを通知して実行させるかを決定 する処理を実行する。
[0071] 実行 OS切り替え制御部 517は、プロセッサを適用して実行する各種のデータ処理
(プロセス,タスク)の切り替え制御を実行する。前述したように、各物理プロセッサは 、論理プロセッサに対応付けられ、各 OSが 1つのあるいは複数のプロセッサを時分 割で利用するタイムシェアリングによるデータ処理を実行しており、実行 OS切り替え 制御部 517は、これらの各 OSのプロセッサ利用のスケジューリングに従った OS切り 替え処理を実行する。
[0072] 割り込み処理完了通知部 518は、割り込み要求に基づく割り込み処理の実行状況 の監視を行い、割り込み処理によって中断されたプロセスを実行していた OSに対し て、割り込み処理の完了を通知する。割り込み処理が完了した場合は、前述したよう に、中断プロセスに対応するコンテキストの復元により、中断プロセスのハードウェア 状態が復元されて処理が再開される。
[0073] 割り込み保留制御部 519は、割り込みの保留制御処理を実行する。前述したように 、割り込み禁止状態、すなわちマスクされた状態にあるときに発生した割り込み要求 は、マスクが解除されるまで待機させられることになる。割り込み保留制御部 519は、 このような待機状態の割り込みの保留管理を実行する。割り込み保留制御部 519は 、割り込みの保留情報を設定した状態表の更新処理を実行するとともに、状態表に 保留された割り込みが登録されている場合は、副 OS520に通知する処理を実行す る。
[0074] 次に、図 7を参照して、副 OSの 2つの状態、すなわち「割り込み許可状態」と「割り 込み禁止状態」の 2状態に応じて、主 OSの実行する割り込み制御処理および状態 遷移について説明する。
[0075] 図 7において、 S101〜S104は、情報処理装置における 1つの副 OSの状態(Stat e)を示している。すなわち、
ステート S 101 :副 OS起動
ステート S 102:副 OS初期化完了
ステート S 103:副 OS割り込み禁止状態
ステート S 104:副 OS割り込み許可状態
の 4状態を示している。
[0076] さらに、副 OSが、
ステート S 103:副 OS割り込み禁止状態 ステート S 104:副 OS割り込み許可状態
のいずれかにおいて、
イベント 1201:主 OS用割り込み発生、
イベント 1202:副 OS用割り込み発生
の!、ずれかのイベントが発生する。
[0077] 副 OSの S101〜S104の 4状態の遷移、および副 OSが、ステート S103 :副 OS割り 込み禁止状態、あるいはステート S104 :副 OS割り込み許可状態にあるときに、ィべ ント 1201:主 OS用割り込み発生、またはイベント 1202:副 OS用割り込み発生の 、ず れかのイベントが発生した場合の処理シーケンス 1〜9について以下説明する。
[0078] [シーケンス 1]
シーケンス 1は、
ステート S 101 :副 OS起動から、
ステート S 102:副 OS初期化完了
の状態遷移である。
この状態遷移の際に、副 OSは、主 OSに対して、副 OSが使用する割り込み要因を 通知する。図 5に示す割り込み要因登録管理部 514に対する通知処理として実行さ れる。
主 OSの割り込み要因登録管理部 514は、副 OSから通知された割り込み要因を検 証し、許容される割り込み要因を副 OS対応の割り込み要因として登録する。
[0079] [シーケンス 2]
シーケンス 2は、
ステート S 102:副 OS初期化完了から、
ステート S 103:副 OS割り込み禁止状態
の状態遷移である。
この状態遷移の際に、副 OSは、主 OSに対して、副 OSが割り込み禁止状態である ことを通知する。図 5に示す副 OS割り込み管理部 512に対する通知処理として実行 される。
[0080] 主 OSの副 OS割り込み管理部 512は、副 OSから、副 OSが割り込み禁止状態であ ることの通知を受領すると、マスク状態を管理する状態表(図 6参照)に副 OSが割り 込み禁止状態であることを登録する。例えば、割り込みの禁止状態を (0)、割り込み の許可状態を(1)として設定した割り込みマスクレジスタを制御して、副 OSが割り込 み禁止状態であることを示す設定 (マスク状態)とする。この設定において、ある割り 込み要求があった場合、割り込み要求は、待機させられることになる。
[0081] [シーケンス 3]
シーケンス 3は、
ステート S 102:副 OS初期化完了から、
ステート S 104:副 OS割り込み許可状態
の状態遷移である。
この状態遷移の際に、副 OSは、主 OSに対して、副 OSが割り込み許可状態である ことを通知する。図 5に示す副 OS割り込み管理部 512に対する通知処理として実行 される。
[0082] 主 OSの副 OS割り込み管理部 512は、副 OSから、副 OSが割り込み許可状態であ ることの通知を受領すると、マスク状態を管理する状態表(図 6参照)に副 OSが割り 込み許可状態であることを登録する。例えば、割り込みの禁止状態を (0)、割り込み の許可状態を(1)として設定した割り込みマスクレジスタを制御して、副 OSが割り込 み許可状態であることを示す設定 (マスク解除状態)とする。この設定において、ある 割り込み要求があった場合、割り込み要求は、待機させられることなく割り込み処理 が実行される。
[0083] さらに、主 OSは、状態表をチェックし、現時点で保留された割り込みの存在を確認 する。状態表には、各 OSが割り込み禁止にある力割り込み許可にあるかの OS状態 情報と、発生割り込みの保留状態情報が記録されている。割り込みの保留情報は、 図 5に示す割り込み保留制御部 519が状態表に書き込み、また、保留割り込みがあ る場合は、副 OSに通知する処理を実行する。
[0084] [シーケンス 4]
シーケンス 4は、
ステート S 104:副 OS割り込み許可状態 ステート S 103:副 OS割り込み禁止状態
の状態遷移である。
この状態遷移の際に、副 OSは、主 OSに対して、副 OSが、割り込み許可状態から 割り込み禁止状態に変更されたことを通知する。図 5に示す副 OS割り込み管理部 5 12に対する通知処理として実行される。
[0085] 主 OSの副 OS割り込み管理部 512は、副 OSから、副 OS力 割り込み許可状態か ら割り込み禁止状態に変更されたとの通知を受領すると、マスク状態を管理する状態 表(図 6参照)の更新を行い、副 OSの状態登録情報を割り込み許可状態から割り込 み禁止状態に変更する。例えば、割り込みの禁止状態を (0)、割り込みの許可状態 を(1)として設定した割り込みマスクレジスタを制御して、副 OSが割り込み禁止状態 であることを示す設定 (マスク状態)とする。この設定において、ある割り込み要求があ つた場合、割り込み要求は、待機させられることになる。
[0086] [シーケンス 5]
シーケンス 5は、
ステート S 103:副 OS割り込み禁止状態
ステート S 104:副 OS割り込み許可状態
の状態遷移である。
この状態遷移の際に、副 OSは、主 OSに対して、副 OSが、割り込み禁止状態から 割り込み許可状態に変更されたことを通知する。図 5に示す副 OS割り込み管理部 5 12に対する通知処理として実行される。
[0087] 主 OSの副 OS割り込み管理部 512は、副 OSから、副 OS力 割り込み禁止状態か ら割り込み許可状態に変更されたとの通知を受領すると、マスク状態を管理する状態 表(図 6参照)の更新を行い、副 OSの状態登録情報を割り込み禁止状態から割り込 み許可状態に変更する。例えば、割り込みの禁止状態を (0)、割り込みの許可状態 を(1)として設定した割り込みマスクレジスタを制御して、副 OSが割り込み許可状態 であることを示す設定 (マスク解除状態)とする。この設定において、ある割り込み要 求があった場合、割り込み要求は実行される。
[0088] [シーケンス 6] シーケンス 6は、
ステート S 103:副 OS割り込み禁止状態
において、
イベント 1202:副 OS用割り込み発生
が起きた場合の処理である。
主 OSは、 [イベント 1202 :副 OS用割り込み発生]を検出すると、副 OSの状態表を 参照し、副 OSが割り込み許可状態にあるか、割り込み禁止状態にあるかを判定する 。この場合は、副 OSは、割り込み禁止状態にある。
主 OSは、副 OSが割り込み禁止状態にあることを確認すると、発生した割り込みを 保留として、状態表に登録する。
この時点の発生割り込み処理は、実行されず、待機状態となる。
[0089] [シーケンス 7]
シーケンス 7は、
ステート S 104:副 OS割り込み許可状態
において、
イベント 1202:副 OS用割り込み発生
が起きた場合の処理である。
[0090] この処理では、主 OSがプロセッサを適用した処理を実行している場合と、副 OSが プロセッサを適用した処理を実行して ヽる場合とで異なる処理が実行される。
(a)主 OS処理実行中
主 OSがプロセッサを適用した処理を実行している状態において、主 OSが、 [ィべ ント 1202 :副 OS用割り込み発生]を検出すると、副 OSの状態表を参照し、副 OSが 割り込み許可状態にあるか、割り込み禁止状態にあるかを判定する。この場合 (ステ ート S104)、副 OSは、割り込み許可状態にある。
主 OSは、副 OSが割り込み許可状態にあることを確認すると、発生した割り込みの 優先度を検証する。ここでは、高優先度と、低優先度のいずれかに区分されているも のとする。発生割り込みが、高優先度の場合の処理と、低優先度の場合の処理とに ついて、それぞれ説明する。 [0091] (a— 1)発生割り込みが高優先度の場合
発生した割り込み要因が高優先度の割り込みである場合は、以下の(1)〜(7)の処 理が実行される。以下において、 [主 OS]は主 OSの処理、 [副 OS]は副 OSの処理 であることを示す。
(1) [主 OS]状態表(図 6参照)における割り込み対応の副 OSの対応データとして 、発生した割り込みを処理中として登録する。
(2) [主 OS]プロセッサの適用処理を主 OSから副 OSにスィッチする。このスィッチ 処理は、図 5に示す実行 OS切り替え制部 517の処理として実行される。
(3) [主 OS]副 OSに割り込みを配送する。この処理は図 5に示す割り込み配送部 5 16の処理である。
(4) [副 OS]発生した割り込み処理を実行する。
(5) [副 OS]割り込み処理の完了後、割り込み処理の完了を主 OSに通知する。図 5に示す割り込み処理完了通知部が副 OSからの完了通知を受領する。
(6) [主 OS]状態表に登録されている処理の完了した割り込み処理に対応するェン トリを削除する。
(7) [主 OS]他に高優先度の割り込み処理がないことを確認し、副 OSから主 OSの 処理にスィッチする。このスィッチ処理は、図 5に示す実行 OS切り替え制部 517の処 理として実行される。
[0092] 以上の処理によって、副 OS対応の高優先度の割り込み処理は、優先的に処理が 実行される。次に、発生した割り込み要因が低優先度の割り込みである場合の処理 について説明する。発生した割り込み要因が低優先度の割り込みである場合は、 主 OSは、状態表(図 6参照)の割り込み対応の副 OSの保留割り込み情報として、 発生割り込みを登録する。
この時点では、発生した割り込みは実行されず、待機することになる。
[0093] (b)副 OS処理実行中
副 OSがプロセッサを適用した処理を実行して 、る状態では、以下の処理が実行さ れる。以下において、 [主 OS]は主 OSの処理、 [副 OS]は副 OSの処理であることを 示す。 (1) [主 OS]副 OS用割り込み発生を検出すると、副 OSの状態表を参照し、副 OS が割り込み許可状態にあるか、割り込み禁止状態にあるかを判定する。この場合 (ス テート S104)、副 OSは、割り込み許可状態にある。
(2) [主 OS]副 OSが割り込み許可状態にあることを確認すると、状態表(図 6参照) における割り込み対応の副 OSの対応データとして、発生した割り込みを処理中とし て登録する。
(3) [主 OS]副 OSに割り込みを配送する。この処理は図 5に示す割り込み配送部 5 16の処理である。
(4) [副 OS]発生した割り込み処理を実行する。
(5) [副 OS]割り込み処理の完了後、割り込み処理の完了を主 OSに通知する。図 5に示す割り込み処理完了通知部 518が副 OSからの完了通知を受領する。
(6) [主 OS]状態表に登録されている処理の完了した割り込み処理に対応するェン トリを削除する。
[0094] このように、発生した割り込みに対応する副 OSがプロセッサを適用した処理を実行 し、副 OSが割り込み許可状態にある場合は、割り込み処理を待機させることなく実行 する。
[0095] 以上の処理態様をまとめると、シーケンス 7、すなわち、副 OS用割り込みが発生し、 副 OSが割り込み許可状態にある場合の割り込み処理態様は以下のようになる。
(A)主 OS動作中
(A— 1)発生割り込みが高優先度:割り込み処理実行
(A— 2)発生割り込みが低優先度:割り込み処理保留
(B)副 OS動作中
発生割り込みの優先度に関わらず割り込み処理実行
の各処理が実行されることになる。
[0096] [シーケンス 8]
シーケンス 8は、
ステート S 103:副 OS割り込み禁止状態
において、 イベント 1201:主 OS用割り込み発生
が起きた場合の処理である。
[0097] この処理でも、主 OSがプロセッサを適用した処理を実行している場合と、副 OSが プロセッサを適用した処理を実行して ヽる場合とで異なる処理が実行される。
(a)主 OS処理実行中
主 OSがプロセッサを適用した処理を実行している状態において、主 OSが、 [ィべ ント 1201:主 OS用割り込み発生]を検出すると、
主 OSに割り込みを配送し、発生した割り込み処理を実行する。
[0098] (b)副 OS処理実行中
プロセッサによる処理を副 OSが実行中の場合に、主 OSが、 [イベント 1201 :主 OS 用割り込み発生]を検出すると、主 OSは、発生した割り込みの優先度を検証する。こ こでは、高優先度と、低優先度のいずれかに区分されているものとする。発生割り込 みが、高優先度の場合の処理と、低優先度の場合の処理とについて、それぞれ説明 する。
[0099] (b— 1)発生割り込みが高優先度の場合
発生した割り込み要因が高優先度の割り込みである場合は、以下の(1)〜(7)の処 理が実行される。以下において、 [主 OS]は主 OSの処理、 [副 OS]は副 OSの処理 であることを示す。
(1) [主 OS]プロセッサの適用処理を副 OSから主 OSにスィッチする。このスィッチ 処理は、図 5に示す実行 OS切り替え制部 517の処理として実行される。
(2) [主 OS]発生した割り込み処理を実行する。
(3) [主 OS]プロセッサ適用処理を主 OS力も副 OSの処理にスィッチする。このスィ ツチ処理は、図 5に示す実行 OS切り替え制部 517の処理として実行される。
[0100] 以上の処理によって、主 OS対応の高優先度の割り込み処理は、優先的に処理が 実行される。次に、発生した割り込み要因が主 OS対応であるが低優先度の割り込み である場合の処理について説明する。発生した割り込み要因が低優先度の割り込み である場合は、
主 OSは、状態表(図 6参照)の割り込み対応の主 OSの保留割り込み情報として、 発生割り込みを登録する。
この時点では、発生した割り込みは実行されず、待機することになる。
[0101] [シーケンス 9]
シーケンス 9は、
ステート S 104:副 OS割り込み許可状態
において、
イベント 1201:主 OS用割り込み発生
が起きた場合の処理である。
[0102] この処理は、上述のシーケンス 8の処理と全く同様の処理となる。すなわち、主 OS 対応の割り込み処理が発生した場合は、副 OSの状態、すなわち副 OSが割り込み許 可状態にある力割り込み禁止状態にあるかに関わらず、同一の処理が実行される。 主 OS対応の割り込み処理が発生した場合 (シーケンス 8, 9)の処理態様をまとめる と、以下のようになる。
(A)主 OS動作中
発生割り込みの優先度に関わらず割り込み処理実行
(B)副 OS動作中
(B— 1)発生割り込みが高優先度:割り込み処理実行
(B- 2)発生割り込みが低優先度:割り込み処理保留
以上の態様で、各処理が実行されることになる。
[0103] 図 8にプロセッサを適用した処理を実行中の OS (動作中 OS)と、発生した割り込み の優先度(高低)、割り込み配送先 OS、割り込み配送先 OSの割り込み許可状態との 対応をまとめた図を示す。状態として設定可能なシナリオは図に示すように 16通りあ る。
[0104] 本発明の構成では、主 OSがすべての副 OSの状態情報、すなわち副 OSが、
[割り込み許可状態]にあるか、
[割り込み禁止状態]にあるか、
の状態情報(図 7に示す状態表)を有し、これを管理する。
[0105] 副 OS対応の割り込み処理に対する対応と、主 OS対応の割り込み処理に対する対 応をまとめると以下のようになる。
[0106] [副 OS対応の割り込み処理に対する対応]
副 OS対応の割り込みが発生した場合には、
状態表を参照し、副 OSが割り込み禁止状態にある場合は、発生した割り込みを保 留割り込みとして、状態表に登録する。(シーケンス 6)
また、状態表を参照し、副 OSが割り込み許可状態にある場合は、プロセッサを適用 した処理を実行中の OSが主 OSか副 OSかに応じて下記の処理態様で割り込み処 理の保留処理、または実行処理が行われる(シーケンス 7)。
(A)主 OS動作中
(A— 1)発生割り込みが高優先度:割り込み処理実行
(A— 2)発生割り込みが低優先度:割り込み処理保留
(B)副 OS動作中
発生割り込みの優先度に関わらず割り込み処理実行
の各処理が実行されることになる。
[0107] [主 OS対応の割り込み処理に対する対応]
主 OS対応の割り込みが発生した場合は、プロセッサを適用した処理を実行中の O Sが主 OSか副 OSかに応じて下記の処理態様で割り込み処理の保留処理、または 実行処理が行われる(シーケンス 8, 9)。
(A)主 OS動作中
発生割り込みの優先度に関わらず割り込み処理実行
(B)副 OS動作中
(B— 1)発生割り込みが高優先度:割り込み処理実行
(B- 2)発生割り込みが低優先度:割り込み処理保留
以上の態様で、各処理が実行されることになる。
[0108] このように、本発明の構成では、主 OSがすべての副 OSの状態情報、すなわち副 O Sが、 [割り込み許可状態]にあるか、 [割り込み禁止状態]にあるかの状態情報を保 持し、この状態情報と、発生した割り込みの態様、すなわち、優先度と、主 OS対応の 割り込みであるか副 OS対応の割り込みであるかの情報に基づいて、割り込みの実行 、または保留を制御する。
[0109] 本発明の構成は、このように、副 OSに割り込みマスクの設定権限を与えず、副 OS 力 主 OSに対して、副 OSが割り込み許可状態にあるか禁止状態にあるかの通知を 実行し、主 OSが、これらの通知情報に基づいて、副 OSの割り込みマスクの制御を行 う構成としたので、副 OS独自のマスク制御によって、必要な割り込み処理が保留させ られてしまうといった不具合を発生させることなぐ主 OSの意図に沿って、全ての割り 込み処理の制御が可能となる。また、主 OSにおける副 OS割り込みベクタ管理部 51 3 (図 5参照)において、副 OSの割り込みベクタ領域を管理する構成としたので、個々 の OSによる割り込みベクタ管理と異なり割り込みベクタの共有が可能となる。前述し たように、割り込みベクタは、割り込み要因によってそれぞれ規定されたメモリエリア のテーブルであり、例えば割り込み処理ルーチンの開始アドレス等力 構成され、割 り込みを受けたプロセッサは、このメモリ領域力 割り込みハンドラのアドレスを調べ、 そのアドレスにジャンプすることで割り込み処理が開始可能となるベクタである力 こ の割り込みベクタを主 OSと、全ての副 OSとで共有することが可能となり、メモリ領域 の削減が可能となる。
[0110] 以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、 本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ること は自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的 に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の 欄を参酌すべきである。
[0111] なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、 あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理 を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに 組み込まれたコンピュータ内のメモリにインストールして実行させる力、あるいは、各 種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させること が可能である。
[0112] 例えば、プログラムは記録媒体としてのハードディスクや ROM (Read Only Memory )に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、 CD -ROM(Compact Disc Read Only Memory), MO(Magneto optical)ディスク, DVD( Digital Versatile Disc),磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、 一時的あるいは永続的に格納 (記録)しておくことができる。このようなリムーバブル記 録媒体は、 V、わゆるパッケージソフトウェアとして提供することができる。
[0113] なお、プログラムは、上述したようなリムーバブル記録媒体力 コンピュータにインス トールする他、ダウンロードサイトから、コンピュータに無線転送したり、 LAN(Local A rea Network),インターネットといったネットワークを介して、コンピュータに有線で転 送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵する ハードディスク等の記録媒体にインストールすることができる。
[0114] なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみ ならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個 別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的 集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
産業上の利用可能性
[0115] 以上、説明したように、本発明の構成によれば、複数のオペレーションシステム (OS )が同時に動作するシステムにおいて、割り込み処理制御を実行する主 OSを設定し て、主 OSによって割り込み制御を行なうことで、システム全体の割り込みマスク時間 の削減、割り込み応答性の向上、効率的なデータ処理が実現される。
[0116] 本発明の構成によれば、割り込み処理制御を実行する主 OSを設定し、主 OS以外 の副 OSに割り込みマスクの設定権限を与えず、副 OS力 主 OSに対して、副 OSが 割り込み許可状態にある力禁止状態にあるかの通知を実行し、主 OSが、これらの通 知情報に基づいて、副 OSの割り込みマスクの制御を行う構成としたので、副 OS独自 のマスク制御によって、必要な割り込み処理が保留させられてしまうといった不具合 を発生させることなぐ主 OSの意図に沿って、全ての割り込み処理の制御が可能とな り、必要な割り込み処理を優先的に処理させることが可能となる。
[0117] また、本発明の構成によれば、主 OSに副 OS割り込みベクタ管理部を設定し、主 O Sでまとめて副 OSの割り込みベクタ領域を管理する構成としたので、個々の OSによ る割り込みベクタ管理と異なり割り込みベクタの共有が可能となり、メモリ領域の削減 が可能となる。

Claims

請求の範囲
[1] 複数のオペレーティングシステム (OS)に対応するデータ処理を実行する情報処理 装置であり、
前記複数の OSは、割り込み処理の制御を実行する主 OSと、その他の副 OSとによ つて構成され、
前記主 OSは、前記副 OSが割り込み許可状態にあるか、割り込み禁止状態にある かの状態情報を保持し、
割り込み処理の発生に応じて、前記状態情報に基づいて、割り込み処理の実行、 または保留を決定する割り込み制御処理を行なう構成を有することを特徴とする情報 処理装置。
[2] 前記主 OSは、
発生した割り込み処理が処理中である力保留中であるかの割り込み処理状態情報 を保有し、副 OSの割り込み許可状態と割り込み禁止状態の遷移に応じて、保留中の 割り込み処理の開始制御を実行する構成であることを特徴とする請求項 1に記載の 情報処理装置。
[3] 前記副 OSは、前記主 OSに対して、副 OSが割り込み許可状態にある力、割り込み 禁止状態にあるかの状態情報を通知する構成であり、
前記主 OSは、副 OSからの通知情報に基づいて、副 OSの状態情報の更新処理を 実行する構成であることを特徴とする請求項 1に記載の情報処理装置。
[4] 前記主 OSは、
割り込み処理の優先度情報を保持し、該優先度に応じた割り込み制御処理を実行 する構成であることを特徴とする請求項 1に記載の情報処理装置。
[5] 前記主 OSは、
副 OSの状態情報と、発生した割り込み処理が処理中である力保留中であるかの割 り込み処理状態情報とを含む状態表に基づく状態管理を実行する構成であり、 副 OS対応の割り込みが発生した場合、
前記状態表に基づいて副 OSが割り込み禁止状態にあると判定した場合は、発生 した割り込みを保留割り込みとして前記状態表に登録し、 前記状態表に基づ 、て副 OSが割り込み許可状態にあると判定した場合は、プロセ ッサを適用した処理を実行中の OSが主 OSか副 OSかに応じて下記の処理態様、す なわち、
(a)主 OS処理実行中の場合、
(al)発生割り込みが高優先度の場合は、割り込み処理を実行、
(a2)発生割り込みが低優先度の場合は、割り込み処理を保留、
(b)副 OS処理実行中の場合、
発生割り込みの優先度に関わらず割り込み処理を実行、
の各処理態様での割り込み制御を実行する構成であることを特徴とする請求項 1に 記載の情報処理装置。
[6] 前記主 OSは、
副 OSの状態情報と、発生した割り込み処理が処理中である力保留中であるかの割 り込み処理状態情報とを含む状態表に基づく状態管理を実行する構成であり、 主 OS対応の割り込みが発生した場合は、プロセッサを適用した処理を実行中の O Sが主 OSか副 OSかに応じて下記の処理態様、すなわち、
(a)主 OS処理実行中の場合、
発生割り込みの優先度に関わらず割り込み処理を実行、
(b)副 OS処理実行中の場合、
(bl)発生割り込みが高優先度の場合は、割り込み処理を実行、
(b2)発生割り込みが低優先度の場合は、割り込み処理を保留、
の各処理態様での割り込み制御を実行する構成であることを特徴とする請求項 1に 記載の情報処理装置。
[7] 複数のオペレーティングシステム (OS)に対応するデータ処理における割り込み処 理制御方法であり、
割り込み処理制御を実行する主 OSにおいて、主 OS以外の副 OSから、副 OSが割 り込み許可状態にあるか、割り込み禁止状態にあるかの状態情報を受領するステツ プと、
割り込み処理の発生を検出するステップと、 前記状態情報に基づいて、割り込み処理の実行、または保留を決定する割り込み 制御処理を行なうステップと、
を有することを特徴とする割り込み処理制御方法。
[8] 前記割り込み処理制御方法において、さらに、
前記主 OSは、発生した割り込み処理が処理中である力保留中であるかの割り込み 処理状態情報を保有し、副 OSの割り込み許可状態と割り込み禁止状態の遷移に応 じて、保留中の割り込み処理の開始制御を実行することを特徴とする請求項 7に記載 の割り込み処理制御方法。
[9] 前記割り込み処理制御方法において、さらに、
前記副 OSから前記主 OSに対して、副 OSが割り込み許可状態にあるか、割り込み 禁止状態にあるかの状態情報を通知するステップと、
前記主 OSにおいて、副 OSからの通知情報に基づいて、副 OSの状態情報の更新 処理を実行するステップと、
を有することを特徴とする請求項 7に記載の割り込み処理制御方法。
[10] 前記主 OSは、割り込み処理の優先度情報を保持し、該優先度に応じた割り込み 制御処理を実行することを特徴とする請求項 7に記載の割り込み処理制御方法。
[11] 前記主 OSは、
副 OSの状態情報と、発生した割り込み処理が処理中である力保留中であるかの割 り込み処理状態情報とを含む状態表に基づく状態管理を実行し、
副 OS対応の割り込みが発生した場合、
前記状態表に基づいて副 OSが割り込み禁止状態にあると判定した場合は、発生 した割り込みを保留割り込みとして前記状態表に登録し、
前記状態表に基づ 、て副 OSが割り込み許可状態にあると判定した場合は、プロセ ッサを適用した処理を実行中の OSが主 OSか副 OSかに応じて下記の処理態様、す なわち、
(a)主 OS処理実行中の場合、
(al)発生割り込みが高優先度の場合は、割り込み処理を実行、
(a2)発生割り込みが低優先度の場合は、割り込み処理を保留、 (b)副 OS処理実行中の場合、
発生割り込みの優先度に関わらず割り込み処理を実行、
の各処理態様での割り込み制御を実行することを特徴とする請求項 7に記載の割り 込み処理制御方法。
[12] 前記主 OSは、
副 OSの状態情報と、発生した割り込み処理が処理中である力保留中であるかの割 り込み処理状態情報とを含む状態表に基づく状態管理を実行し、
主 OS対応の割り込みが発生した場合は、プロセッサを適用した処理を実行中の O Sが主 OSか副 OSかに応じて下記の処理態様、すなわち、
(a)主 OS処理実行中の場合、
発生割り込みの優先度に関わらず割り込み処理を実行、
(b)副 OS処理実行中の場合、
(bl)発生割り込みが高優先度の場合は、割り込み処理を実行、
(b2)発生割り込みが低優先度の場合は、割り込み処理を保留、
の各処理態様での割り込み制御を実行する構成であることを特徴とする請求項 7に 記載の割り込み処理制御方法。
[13] 複数のオペレーティングシステム (OS)に対応するデータ処理における割り込み処 理制御を実行するコンピュータ ·プログラムであり、
割り込み処理制御を実行する主 OSにおいて、主 OS以外の副 OSから、副 OSが割 り込み許可状態にあるか、割り込み禁止状態にあるかの状態情報を受領するステツ プと、
割り込み処理の発生を検出するステップと、
前記状態情報に基づいて、割り込み処理の実行、または保留を決定する割り込み 制御処理を行なうステップと、
を有することを特徴とするコンピュータ ·プログラム。
PCT/JP2005/017646 2004-09-29 2005-09-26 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム Ceased WO2006035728A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/580,848 US8584125B2 (en) 2004-09-29 2005-09-26 Apparatuses, methods, and computer-readable media for interrupt control

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-283529 2004-09-29
JP2004283529A JP4345630B2 (ja) 2004-09-29 2004-09-29 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム

Publications (1)

Publication Number Publication Date
WO2006035728A1 true WO2006035728A1 (ja) 2006-04-06

Family

ID=36118873

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/017646 Ceased WO2006035728A1 (ja) 2004-09-29 2005-09-26 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム

Country Status (4)

Country Link
US (1) US8584125B2 (ja)
JP (1) JP4345630B2 (ja)
CN (1) CN100549964C (ja)
WO (1) WO2006035728A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2075696A3 (en) * 2007-05-10 2010-01-27 Texas Instruments Incorporated Interrupt- related circuits, systems and processes
US8180997B2 (en) * 2007-07-05 2012-05-15 Board Of Regents, University Of Texas System Dynamically composing processor cores to form logical processors
GB2454817B (en) * 2008-01-10 2012-07-04 Ibm Method and device for interrupt handling in a logically partitioned data processing system
US20100169572A1 (en) * 2008-07-22 2010-07-01 Lsi Corporation Data storage method, apparatus and system for interrupted write recovery
JP4877317B2 (ja) * 2008-12-16 2012-02-15 日本電気株式会社 情報処理装置、割り込み制御方法
WO2012086106A1 (ja) * 2010-12-21 2012-06-28 パナソニック株式会社 仮想計算機システム及び仮想計算機システム制御方法
US8695010B2 (en) 2011-10-03 2014-04-08 International Business Machines Corporation Privilege level aware processor hardware resource management facility
GB2517493A (en) * 2013-08-23 2015-02-25 Advanced Risc Mach Ltd Handling access attributes for data accesses
WO2015097839A1 (ja) * 2013-12-27 2015-07-02 株式会社日立製作所 優先度割込み対応リアルタイムハイパバイザ
US11755484B2 (en) 2015-06-26 2023-09-12 Microsoft Technology Licensing, Llc Instruction block allocation
US9952867B2 (en) 2015-06-26 2018-04-24 Microsoft Technology Licensing, Llc Mapping instruction blocks based on block size
US10191747B2 (en) 2015-06-26 2019-01-29 Microsoft Technology Licensing, Llc Locking operand values for groups of instructions executed atomically
US10409606B2 (en) 2015-06-26 2019-09-10 Microsoft Technology Licensing, Llc Verifying branch targets
US10175988B2 (en) 2015-06-26 2019-01-08 Microsoft Technology Licensing, Llc Explicit instruction scheduler state information for a processor
US9946548B2 (en) 2015-06-26 2018-04-17 Microsoft Technology Licensing, Llc Age-based management of instruction blocks in a processor instruction window
US10169044B2 (en) 2015-06-26 2019-01-01 Microsoft Technology Licensing, Llc Processing an encoding format field to interpret header information regarding a group of instructions
US10409599B2 (en) 2015-06-26 2019-09-10 Microsoft Technology Licensing, Llc Decoding information about a group of instructions including a size of the group of instructions
US10346168B2 (en) 2015-06-26 2019-07-09 Microsoft Technology Licensing, Llc Decoupled processor instruction window and operand buffer
US10768936B2 (en) 2015-09-19 2020-09-08 Microsoft Technology Licensing, Llc Block-based processor including topology and control registers to indicate resource sharing and size of logical processor
US11126433B2 (en) 2015-09-19 2021-09-21 Microsoft Technology Licensing, Llc Block-based processor core composition register
US11016770B2 (en) 2015-09-19 2021-05-25 Microsoft Technology Licensing, Llc Distinct system registers for logical processors
CN105786607B (zh) * 2016-03-24 2019-11-12 宇龙计算机通信科技(深圳)有限公司 一种多系统的冻结与唤醒方法及装置
US11531552B2 (en) 2017-02-06 2022-12-20 Microsoft Technology Licensing, Llc Executing multiple programs simultaneously on a processor core
US11625267B2 (en) * 2017-08-02 2023-04-11 Felica Networks, Inc. Information processing apparatus and information processing method for changing contents of a process to be performed after an interrupt is detected
JP6814756B2 (ja) * 2018-02-08 2021-01-20 日立オートモティブシステムズ株式会社 ハイパーバイザ、演算装置
CN112286847B (zh) * 2020-11-05 2023-03-10 成都菁蓉联创科技有限公司 一种提升系统外部中断响应速度的方法、装置和控制器
CN119487492A (zh) * 2022-07-19 2025-02-18 三菱电机株式会社 可编程逻辑控制器、定序控制系统及激活状态控制程序

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02239334A (ja) * 1989-03-14 1990-09-21 Fujitsu Ltd 仮想計算機
JPH06250850A (ja) * 1993-02-26 1994-09-09 Hitachi Ltd 入出力割込み要因の処理方法
JPH08263454A (ja) * 1995-03-23 1996-10-11 Hitachi Ltd 障害回復処理方法
WO2002050664A2 (en) * 2000-12-21 2002-06-27 Connectix Corporation Logical substitution of processor control in an emulated computing environment
JP2003345612A (ja) * 2002-05-28 2003-12-05 Sony Corp 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びにコンピュータ・プログラム
JP2004326743A (ja) * 2003-04-24 2004-11-18 Internatl Business Mach Corp <Ibm> グローバル割込み待ち行列の仮想化

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4674038A (en) * 1984-12-28 1987-06-16 International Business Machines Corporation Recovery of guest virtual machines after failure of a host real machine
JP2629278B2 (ja) * 1988-06-30 1997-07-09 株式会社日立製作所 仮想計算機システム
US5276815A (en) 1988-10-24 1994-01-04 Fujitsu Limited Input and output processing system for a virtual computer
JP3073903B2 (ja) 1995-03-06 2000-08-07 株式会社日立製作所 情報処理装置及びそのi/o割込み制御方法
US6633942B1 (en) * 1999-08-12 2003-10-14 Rockwell Automation Technologies, Inc. Distributed real-time operating system providing integrated interrupt management
US7788669B2 (en) * 2003-05-02 2010-08-31 Microsoft Corporation System for isolating first computing environment from second execution environment while sharing resources by copying data from first portion to second portion of memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02239334A (ja) * 1989-03-14 1990-09-21 Fujitsu Ltd 仮想計算機
JPH06250850A (ja) * 1993-02-26 1994-09-09 Hitachi Ltd 入出力割込み要因の処理方法
JPH08263454A (ja) * 1995-03-23 1996-10-11 Hitachi Ltd 障害回復処理方法
WO2002050664A2 (en) * 2000-12-21 2002-06-27 Connectix Corporation Logical substitution of processor control in an emulated computing environment
JP2003345612A (ja) * 2002-05-28 2003-12-05 Sony Corp 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びにコンピュータ・プログラム
JP2004326743A (ja) * 2003-04-24 2004-11-18 Internatl Business Mach Corp <Ibm> グローバル割込み待ち行列の仮想化

Also Published As

Publication number Publication date
JP4345630B2 (ja) 2009-10-14
US8584125B2 (en) 2013-11-12
JP2006099331A (ja) 2006-04-13
US20080046621A1 (en) 2008-02-21
CN100549964C (zh) 2009-10-14
CN1906583A (zh) 2007-01-31

Similar Documents

Publication Publication Date Title
WO2006035728A1 (ja) 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム
US7788669B2 (en) System for isolating first computing environment from second execution environment while sharing resources by copying data from first portion to second portion of memory
JP4322232B2 (ja) 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
CN100392598C (zh) 操作系统
KR101020392B1 (ko) 논리적 파티션 사이에서의 운용 시스템의 커널 공유
JP4056471B2 (ja) プロセッサに譲渡するためのシステム
US9009701B2 (en) Method for controlling a virtual machine and a virtual machine system
US10289564B2 (en) Computer and memory region management method
CN104598294B (zh) 用于移动设备的高效安全的虚拟化方法及其设备
US20050235123A1 (en) Method to manage memory in a platform with virtual machines
CN114168271B (zh) 一种任务调度方法、电子设备及存储介质
US20100332722A1 (en) Virtual machine system and control method thereof
EP1691287A1 (en) Information processing device, process control method, and computer program
JP2004326774A (ja) 論理的に区画化されたコンピュータにおける区画管理操作に関する非同期通知の選択的生成
US20250013494A1 (en) Thread management methods and apparatuses
RU2494446C2 (ru) Восстановление управления ресурсом обработки, который исполняет внешний контекст исполнения
CN119201351A (zh) 一种实现安全世界Jailhouse虚拟化的ARM TrustZone架构
WO2017012339A1 (zh) 资源管理方法及装置
JP5328410B2 (ja) 被起動オペレーティングシステム(os)動作計算機、計算機のos起動方法およびos起動プログラム
US11216372B2 (en) Execution manager for binary objects operating across private address spaces
US20230236906A1 (en) Information processing device, information processing method, and program
JP2006099333A (ja) 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
US12450084B2 (en) System and operation method of hybrid virtual machine managers
US20240427619A1 (en) Maintaining live state of virtual function during virtual machine save and restore operations
US10528391B1 (en) Execution manager for binary objects operating across private address spaces

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200580001487.4

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KM KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 10580848

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 05785983

Country of ref document: EP

Kind code of ref document: A1

WWP Wipo information: published in national office

Ref document number: 10580848

Country of ref document: US