home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 14 Text / 14-Text.zip / 1000.zip / 1000.TXT
Text File  |  1993-10-16  |  4KB  |  92 lines

  1. RE:  THE ALLEGED OS/2 "LIMIT" OF 1000 INTERRUPTS PER SECOND FOR A VDM
  2.      COM PROGRAM
  3.  
  4. All right -- I decided to put this issue to bed.  <grin>
  5.  
  6. I ran a null modem cable between my 486SX-25 laptop and my 486DX2-50
  7. tower, and sent compressed ZIP files from DSZ under real DOS 6.0 on
  8. the laptop to DSZ on the tower.  Both machines were using unbuffered
  9. 8250 UARTs.  Results (cps speeds as measured by DSZ):
  10.  
  11. * Receiving under real DOS 6.0:
  12.  
  13.   ZMODEM:    Flawless at 115.2 Kbps for 11,153 cps.
  14.              Flawless at 38.4 Kbps for 3,631 cps.
  15.   XMODEM:    Flawless at 57.6 Kbps for 4,462 cps.
  16.   YMODEM-1K: Flawless at 57.6 Kbps for 5,384 cps.
  17.  
  18. * Receiving in a full-screen OS/2 2.1 GA VDM:
  19.  
  20.   ZMODEM:    Flawless at 19.2 Kbps for 1,837 cps.
  21.              Very good (occasional overruns) with default DSZ
  22.                 buffering at 38.4 Kbps for 3,470-3,549 cps.
  23.              Excellent (no overruns) with expanded DSZ
  24.                 buffering at 38.4 Kbps for 3,631 cps.
  25.              Terrible (constant overruns) at 56.7 Kbps.
  26.   XMODEM:    Flawless at 57.6 Kbps for 3,323 cps.
  27.   YMODEM-1K: Flawless at 57.6 Kbps for 5,037 cps.
  28.  
  29. (I was unable to get a successful connection even in "talk" mode in an
  30. OS/2 2.1 GA VDM at 115.2 Kbps.)
  31.  
  32. Under OS/2 (but not real DOS) DSZ had to assert XOFF flow control with
  33. ZMODEM (a streaming protocol) at 38.4 Kbps to prevent overrun.  Flow
  34. control was not needed at 57.6 Kbps with XMODEM and YMODEM-1K because
  35. they are block protocols, giving DSZ time to drain the receive buffer
  36. between blocks; nevertheless, OS/2 was clearly able to handle multiple
  37. bursts each second of 1024 characters at 57.6 Kbps without overrun in
  38. the VDM.
  39.  
  40. When testing ZMODEM in an OS/2 VDM, performance dropped like a rock
  41. when I gave DSZ direct access to the COM port, presumably because of
  42. the much greater overhead of reflecting interrupts into the VDM for
  43. service.  In other words, as expected the maximum VDM transmission
  44. speed without virtualization is lower.
  45.  
  46. It is therefore clear that OS/2 is capable of far more than the 1000
  47. serial interrupts per second that is bandied about.  The limiting
  48. factor seems to be the overhead of moving characters between the COM
  49. driver buffer and the VDM, and the ability of the VDM comm program to
  50. assert flow control in order to prevent overrun.
  51.  
  52. BTW, in a search of my OS/2 technical materials I could find only two
  53. references to "1000" in the context of interrupts:
  54.  
  55.  +------------------------------------------------------------------+
  56.  | The following identifies categories of programs that do not work |
  57.  | correctly with OS/2 2.0.                                         |
  58.  | o Fax boards and programs that use more that 1000 interrupts per |
  59.  | second (9600 baud [sic] or greater) are not supported.           |
  60.  +------------------------------------------------------------------+
  61.  
  62.  +------------------------------------------------------------------+
  63.  | DEVICE=C:\OS2\COM.SYS (n,addr,IRQ,S) [(n,addr,IRQ,S)]...         |
  64.  |                                                                  |
  65.  | where                                                            |
  66.  |                                                                  |
  67.  | ...                                                              |
  68.  |                                                                  |
  69.  | S =     Unexpected interrupt handling value.  D is to            |
  70.  |         deinstall the COM.SYS device driver if more              |
  71.  |         than 1000 unexpected interrupts occur                    |
  72.  |         consecutively.  I is to ignore unexpected                |
  73.  |         interrupts. (The default is D.)  This value is           |
  74.  |         optional.                                                |
  75.  +------------------------------------------------------------------+
  76.  
  77. I suspect that these statements, taken together, are the source of the
  78. confusion.
  79.  
  80. -John Navas
  81.  CIS: 70244,2046
  82.  
  83. p.s.  If you wonder why your comm program doesn't achieve these
  84. performance levels, bear in mind a couple of things:
  85.  
  86. 1.  DSZ is a very efficient comm program; less efficient programs
  87.     won't do as well.
  88.  
  89. 2.  Slower machines will have lower performance levels.
  90.  
  91. <<END>>
  92.