Patent US3976082A successfully refreshed from Google Patents.
Patent US3896806A successfully refreshed from Google Patents.
Patent US2231457A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5265252A Expired / Lapsed US ⏱️ 0.0 years remaining

Device driver system having generic operating system interface

Assignee: International Business Machines Corp
•
Filing: 1991-03-26
•
Granted: 1993-11-23
•
Expires: 2011-03-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A device driver system comprises a core that manages the specific functions of a plurality of I/O devices. The core includes an operating system interface that is generic to different operating systems. An operating system has a device driver interface that is unique to the operating system. A conversion program is layered between the core and the operating system for converting communications between the device driver interface of the operating system and the generic operating system interface of the core. The core includes a channel manager including a request dispatcher, request queues, a command initiator, and a plurality of state machines corresponding to state machine in the I/O devices. A transport layer interfaces between the hardware and the channel manager.

Inventors

  • 👤 Freeman L. Rawson, III
  • 👤 Guy G. Sotomayor, Jr.
  • 👤 Edward M. Tuggle, Jr.

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 16:14
CPC Classifications
G; G06; G06F; G06F3/00; G06F13/00; G06F13/10; G06F13/105; G06F13/102

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 172 words
A data processing system (DPS) comprising: a memory system for storing application programs and an installed operating system, said operating system having a specific device driver interface for communicating with device drivers specifically designed for said operating system; a processor for executing said programs; a plurality of I/O devices; a generic device driver core having a generic operating system interface generic to a plurality of different operating systems including said installed operating system, said core being portable between different operating systems and having a plurality of device specific device drivers connected to said I/O devices for controlling operation of said I/O devices; and conversion means functionally layered between said specific device driver interface of said installed operating system and said generic operating system interface of said device driver core, for converting I/O requests and responses between said specific device driver interface of said operating system and said generic operating system interface of said device driver core, to thereby adapt said generic device driver core to operate specifically with said installed operating system.
Claim 2
Dependent Claim 172 words
A data processing system (DPS) comprising: a memory system for storing application programs and an installed operating system, said operating system having a specific device driver interface for communicating with device drivers specifically designed for said operating system; a processor for executing said programs; a plurality of I/O devices; a generic device driver core having a generic operating system interface generic to a plurality of different operating systems including said installed operating system, said core being portable between different operating systems and having a plurality of device specific device drivers connected to said I/O devices for controlling operation of said I/O devices; and conversion means functionally layered between said specific device driver interface of said installed operating system and said generic operating system interface of said device driver core, for converting I/O requests and responses between said specific device driver interface of said operating system and said generic operating system interface of said device driver core, to thereby adapt said generic device driver core to operate specifically with said installed operating system.
Claim 3
Dependent Claim 56 words
A data processing system in accordance with claim 1 wherein said device driver core further comprises: a channel manager operable to receive I/O requests from said installed operating system, queue said requests, and translate said requests into specific commands for said I/O devices; and a transport layer interfacing between said channel manager and said I/O devices.
Claim 4
Dependent Claim 57 words
A data processing system in accordance with claim 2 wherein: said I/O devices comprise a plurality of physical device state machines (PDSMs); and said channel manager comprises a plurality of logical device state machines (LDSMs) each corresponding to a different one of said PDSMs and being paired therewith for communicating between each state machine in each pair.
Claim 5
Dependent Claim 53 words
A data processing system in accordance with claim 3 wherein: each pair of an LDSM and a PDSM are arranged for peer-to-peer control whereby such LDSM can cause such PDSM to transit states by sending a command thereto, and such PDSM can cause such LDSM to transit states by sending a command thereto.
Claim 6
Dependent Claim 53 words
A data processing system in accordance with claim 4 wherein: said data processing system includes an adapter card for connection to a plurality of said I/O devices, said adapter card comprising a physical card state machine; and said channel manager comprises a logical card state machine modeled after said physical card state machine.
Claim 7
Dependent Claim 42 words
A data processing machine in accordance with claim 5 wherein: said transport layer comprises a plurality of sublayers and said logical state machines are sandwiched between said sublayers, whereby all I/O requests pass through said sublayers before reaching said logical state machines.
Claim 8
Dependent Claim 86 words
A data processing system in accordance with claim 6 wherein one of said sublayers is operative to determine, when an incoming I/O request is being sent to an I/O device attached to said adapter card, whether said adapter card is busy because it is currently handling a predetermined number of I/O requests, such one sublayer being further operative to place said incoming I/O request on a card request queue until when the number of I/O requests being handled by said card falls below said predetermined number.
Claim 9
Dependent Claim 58 words
A data processing system in accordance with claim 2 wherein said channel manager comprises: a plurality of request queues for temporarily storing I/O requests, there being one request queue for each I/O device; a request dispatcher for receiving I/O requests and dispatching such requests to one of said request queues according to which device each request is for.
Claim 10
Dependent Claim 73 words
A data processing system in accordance with claim 8 wherein said channel manager further comprises: a plurality of logical state machines for controlling operation of said I/O devices; a command initiator operable to receive I/O requests from said request queues and translate each request to a specific I/O command which is then sent to one of said state machines to operate one of said I/O devices in accordance with such specific I/O command.
Claim 11
Dependent Claim 30 words
A data processing system in accordance with claim 9 wherein: said data processing system includes a SCSI bus, and said I/O devices are SCSI devices connected to said SCSI bus.
Claim 12
Dependent Claim 62 words
A data processing system in accordance with claim 10 wherein: said data processing system comprises an adapter card connected to said SCSI bus and containing a physical card state machine (PCSM); said channel manager comprises a logical card state machine (LCSM) corresponding to said PCSM, said LCSM containing a card state data structure settable to indicate a present state of said PCSM.
Claim 13
Dependent Claim 37 words
A data processing system in accordance with claim 11 wherein: said transport layer comprises a transport function including routines for interfacing with said I/O devices; and said card data structure contains a pointer to said transport function.
Claim 14
Dependent Claim 26 words
A data processing system in accordance with claim 2 wherein: said channel manager comprises extension routines for extending operation of said channel manager beyond preexisting limits.
Claim 15
Dependent Claim 57 words
A data processing system in accordance with claim 1 wherein: said I/O devices comprise a plurality of physical device state machines (PDSMs); and said DPS further comprises a plurality of logical device state machines (LDSMs) each corresponding to a different one of said PDSMs and being paired therewith for communicating between each state machine in each pair.
Claim 16
Dependent Claim 55 words
A data processing system in accordance with claim 14 wherein: each pair of an LDSM and a PDSM are arranged for peer-to-peer control whereby each LDSM can cause the paired PDSM to transit states by sending a command thereto, and each PDSM can cause the paired LDSM to transit states by sending a command thereto.
Claim 17
Dependent Claim 48 words
A data processing system in accordance with claim 15 wherein said DPS further comprises: an adapter card for connection to a plurality of said I/O devices, said adapter card comprising a physical card state machine; and a logical card state machine modeled after said physical card state machine.
Claim 18
Dependent Claim 42 words
A data processing machine in accordance with claim 16 wherein: said transport layer comprises a plurality of sublayers and said logical state machines are sandwiched between said sublayers, whereby all I/O requests pass through said sublayers before reaching said logical state machines.
Claim 19
Dependent Claim 86 words
A data processing system in accordance with claim 17 wherein one of said sublayers is operative to determine, when an incoming I/O request is being sent to an I/O device attached to said adapter card, whether said adapter card is busy because it is currently handling a predetermined number of I/O requests, such one sublayer being further operative to place said incoming I/O request on a card request queue until when the number of I/O requests being handled by said card falls below said predetermined number.
Claim 20
Dependent Claim 52 words
A data processing system in accordance with claim 1, wherein: said device driver core further comprises a plurality of I/O class device drivers covering different classes of I/O devices installed within said data processing system; and said device specific device drivers being layered under said class device drivers according to device class.

References Cited (Backward Citations)

US5029077A Cited
US4888680A Cited
US5081577A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-11-22 1997-05-24 1997-11-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-11-22 2001-05-24 2001-11-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-11-22 2005-05-24 2005-11-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag