Mechanism for rerouting and dispatching interrupts in a hybrid system environment
First Claim
1. An interrupt dispatcher mechanism for use in a data processing system which comprises a first central processing unit (CPU) operating under the control of a first operating system, a main memory and a number of controllers having a plurality of lines connected to a number of terminals, said number of controllers being tightly coupled to said first CPU and to said main memory, a common hardware interrupt register operatively connected to said plurality of controllers for receiving interrupt requests therefrom, each interrupt request including channel number information designating an interrupting controller, said main memory, a first memory area for storing system and application components including a number of terminal drivers for operatively connecting to said first operating system controller terminals previously connected to operate under a second operating system which is different in said data processing system from said first operating system and operates under the control of a second CPU of said data processing system, said interrupt dispatcher mechanism comprising:
- an interrupt control table having a plurality of groups of locations organized on a channel basis so as to be indexed according to channel number;
an interrupt dispatcher module including a function processing module and a dispatching function module, said function processing module being operatively coupled to said number of terminal drivers and to said interrupt control table and said dispatching function module being operatively coupled to said common hardware interrupt register, to said number of terminal drivers and to said interrupt control table, said function processing module in response to each first type of call from one of said drivers including a channel number designating a controller channel on which an open command from said driver was received, said function processing module using said channel number to index into said interrupt control table for registering interrupt handlers utilized by said driver by writing into locations designated by said channel number, interrupt handler and user data information; and
,said dispatching function module in response to each interrupt subsequently received from any one of said controllers stored in said hardware interrupt register, indexing into said interrupt control table using said channel number for obtaining said interrupt handler and user data information required for dispatching said interrupt to an interrupt handler designated by said information.
1 Assignment
0 Petitions
Accused Products
Abstract
A hybrid system environment includes a proprietary operating system and processing unit and a non-proprietary operating system (UNIX based) and processing unit tightly coupled to a system bus in common with a main memory and a plurality of controllers which include a number of multiline communications controllers and communicates through a common area of main memory. Terminal connections to the communications controllers for virtual terminal processing are made through a UNIX virtual terminal driver and system proprietary communications software components which include a server, network terminal driver (NTD) and multiplexer driver modules. The UNIX based operating system further includes a multiplexer terminal driver and a switching mechanism which is included within the virtual terminal driver. The mechanism enables switching from virtual terminal processing to direct terminal processing wherein communications is established between the multiplexer terminal driver and the communications controllers. An interrupt dispatching mechanism enables interrupts from the controllers to be rerouted to the multiplexer terminal driver and properly dispatched to the driver interrupt handler routines on the basis of line number thereby reducing processing delays.
-
Citations
12 Claims
-
1. An interrupt dispatcher mechanism for use in a data processing system which comprises a first central processing unit (CPU) operating under the control of a first operating system, a main memory and a number of controllers having a plurality of lines connected to a number of terminals, said number of controllers being tightly coupled to said first CPU and to said main memory, a common hardware interrupt register operatively connected to said plurality of controllers for receiving interrupt requests therefrom, each interrupt request including channel number information designating an interrupting controller, said main memory, a first memory area for storing system and application components including a number of terminal drivers for operatively connecting to said first operating system controller terminals previously connected to operate under a second operating system which is different in said data processing system from said first operating system and operates under the control of a second CPU of said data processing system, said interrupt dispatcher mechanism comprising:
-
an interrupt control table having a plurality of groups of locations organized on a channel basis so as to be indexed according to channel number; an interrupt dispatcher module including a function processing module and a dispatching function module, said function processing module being operatively coupled to said number of terminal drivers and to said interrupt control table and said dispatching function module being operatively coupled to said common hardware interrupt register, to said number of terminal drivers and to said interrupt control table, said function processing module in response to each first type of call from one of said drivers including a channel number designating a controller channel on which an open command from said driver was received, said function processing module using said channel number to index into said interrupt control table for registering interrupt handlers utilized by said driver by writing into locations designated by said channel number, interrupt handler and user data information; and
,said dispatching function module in response to each interrupt subsequently received from any one of said controllers stored in said hardware interrupt register, indexing into said interrupt control table using said channel number for obtaining said interrupt handler and user data information required for dispatching said interrupt to an interrupt handler designated by said information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 12)
-
-
9. A method of facilitating dispatching of interrupts received by a terminal driver from any one of a number of multiline controllers during the execution of application programs by a data processing system which includes a central processing unit operating under the control of a first operating system and a main memory for storing said first operating system, said method comprising the steps of:
-
(a) creating an interrupt control table having a plurality of locations for storing information entries on a channel basis; (b) storing interrupt dispatcher routines in said main memory accessible to said terminal driver, said routines including a number of function processing routines and a number of interrupt dispatching routines; (c) issuing in response to each open command received by said terminal driver, a first type of call to said interrupt dispatcher routines; (d) registering in response to said first call, an interrupt handler of said driver by said function processing routines which is to process said interrupts by indexing into said interrupt control table using channel number information provided by said driver and storing information entries in locations designated by said channel number, said information entries designating driver interrupt handlers for processing said interrupts and predetermined user data information for facilitating said processing; and
,(e) indexing into said interrupt control table in response to each interrupt received from one of said controllers by said interrupt dispatching routines using channel number information provided by said one of said controllers for obtaining said information entries in locations designated by said channel number to dispatch said interrupt to an interrupt handler designated by said driver for processing said interrupt. - View Dependent Claims (10, 11)
-
Specification