home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / OS2 / OS2V1.ZIP / ART2.TXT < prev    next >
Text File  |  1994-03-26  |  5KB  |  98 lines

  1.  
  2.  
  3.  
  4.  
  5. The OS/2 Data Communications Driver
  6. Who does what?  Is it important?
  7.  
  8. By Ray Gwinn
  9. ════════════════════════════════════
  10.  
  11.       When you initiate a download or upload, what role does your
  12.       communications application program play?  What role does an OS/2
  13.       communications device driver play?  When your favorite BBS paints
  14.       a picture on your screen, how does the information reach the
  15.       screen?  The roles of the OS/2 communications device driver and
  16.       the communications application program are misunderstood by many.
  17.       I hope to clear up some of the confusion by clarifying the function
  18.       of the OS/2 communications device driver in this article.
  19.  
  20.       References below to "the driver" are referring to the OS/2
  21.       communications driver.  In addition, this article ignores DOS and
  22.       WinOS/2 communications under OS/2 which is a related but separate
  23.       subject.
  24.  
  25.       The settings, buzz words, and tweaking options of data
  26.       communications are both bewildering and fascinating to users.
  27.       Many will be surprised to know that a standard OS/2
  28.       communications device driver is modem ignorant (a major design
  29.       flaw).  This is why you perform any modem configuration in the
  30.       application program and not elsewhere such as your CONFIG.SYS.
  31.       The driver only passes a stream of data characters to and from
  32.       the application program.  This means that the driver is unaware
  33.       of any upload or download protocol, such as ZMODEM.  Again, the
  34.       upload and download protocols as well as screen painting are
  35.       completely implemented by the application program while the
  36.       driver is only passing a character stream.  On the other hand,
  37.       the application program is unaware of the I/O port address and
  38.       IRQ of the communications port under OS/2 as the hardware is only
  39.       accessed by the driver.  This is why an OS/2 communications
  40.       program does not (need not) ask for I/O address and IRQ of the
  41.       communications port.
  42.  
  43.       The OS/2 operating system provides a good environment (the best
  44.       known to the author) for data communications.  The OS/2
  45.       communications device driver provides a software interface
  46.       between the applications program and the communications hardware.
  47.       The above statement "only passing a character stream" is a
  48.       tremendous understatement.  The communications device driver is
  49.       probably the most complicated device driver that any operating
  50.       system may provide; and many operating systems provide none at
  51.       all (such as DOS).  The communications driver seems (to the
  52.       author) to have innumerable tasks to perform and check.  The
  53.       lowest level of the driver is the interrupt service routine.  The
  54.       highest levels of the driver include processing commands from the
  55.       OS/2's kernel and command line processing at load time.  The
  56.       higher levels also block (suspend) execution of the application
  57.       program when a received request cannot be satisfied.  The
  58.       interrupt levels usually unblock the application when the
  59.       operation can be (or has been) satisfied.  The driver also
  60.       performs time critical functions that are happening so fast that
  61.       the application can not respond in time.  An example is
  62.       handshaking of all types.
  63.  
  64.       Fast interrupt response, short duration of interrupt service
  65.       processing, and buffering of data are critical to the smooth
  66.       operation of a multi-tasking operating system like OS/2.  Readers
  67.       should be aware that driving a modem at its maximum data rate is
  68.       not a good measure of the speed of a driver.  Data rates over
  69.       normal dial up phone lines are now approaching 3000 characters
  70.       per second.  Depending upon the installed hardware, this can mean
  71.       as many as 3000 interrupts a second for communications alone.  A
  72.       high interrupt rate and a poorly coded driver will bring a system
  73.       to its knees by using large amounts of processor time to service
  74.       the interrupts.  The time required to service interrupts is often
  75.       referred to as overhead or processor overhead.  The amount of
  76.       processor overhead that a driver places on the system is an
  77.       important measure of the quality of that driver.  Overhead caused
  78.       by DOS and Windows communications programs are beyond the scope
  79.       of this article.
  80.  
  81.       For the on line, hooked in generation, the communications device
  82.       driver is one of the most important and most overlooked drivers
  83.       on their system.  If it ever becomes a reality, the much
  84.       acclaimed Information Superhighway will only increase the
  85.       importance of the communications device driver.  New
  86.       technologies, like the COM-bic UART developed by Hayes
  87.       Microcomputer Products Inc., insure the data communications
  88.       hardware is ready for operating systems like OS/2 and the future.
  89.       Good device drivers for a given operating system,  written by
  90.       experienced communications professionals are needed to insure
  91.       that software is also ready for the future.
  92.  
  93.       Ray Gwinn
  94.  
  95.  
  96. --- GIGO+ sn 29 at ghawk vsn 0.98w32
  97.  
  98.