home *** CD-ROM | disk | FTP | other *** search
- Return-Path: <nelson>
- From: PIRARD@BLIULG11.BITNET (Andr'e PIRARD)
- Newsgroups: comp.protocols.tcp-ip.ibmpc
- Subject: Re: enhancement to packet driver spec wanted (for desqview0
- Date: 7 May 90 13:07:50 GMT
- Organization: The Internet
- Apparently-To: nelson
-
- On Fri, 13 Apr 90 15:58:04 GMT Steve Wallace said:
- >I'd like to propose an enhancement to the packet driver spec. Those of
- >us who use multi-taskers (Desqview, Windows, etc) are not able to
- >cleanly use Novell netware and other network software at the same time.
- >The netware shell can't be loaded in a window, therefore the packet
- >driver must be loaded before the multi-tasker. Applications like telnet
- >will run in a window, but if there are other applications running in the
- >background, telnet will eventually hang. The packet driver is executing
- >the function pointed to by receiver, but the real receiver is paged out.
- >
- > It would be nice to have a modified access_type function that allowed a
- >software interrupt to be used as the receiver. Applications like
- >telnet could be modified to support hooking an interrupt to get packets.
- >Desqview, and I assume others, seems to be able to deal with this type
- >of interface. Any thoughts?
- >
- >
- >Steven Wallace
- >ssw@lavanix.ucs.indiana.edu
-
- Under DESQview, communication programs should be non-swappable (to disk).
- Consequently, the problem exists only when multi-tasked applications
- reside in different switchable memory banks, available only with EEMS,
- "true" LIM 4.0 or QEMM386 or equivalent (probably the only comfortable
- environments to run network software). Else, the address space is flat.
- The problems to get packet drivers work with DESQview are:
- 1) To get the hardware interrupt to the driver, which means that either the
- driver must be loaded before DESQview, or that DESQview must see it grab
- a hardware interrupt vector it considers a "communication interrupt". When
- those interrupts occur, DV switches in the proper memory bank before going
- to the handler loaded in an application memory space.
- These are IRQ 2, 3, 4, 5 on AT, and 7, plus 8-15 on latest versions.
- 2) To get the upcall to the application, which means either the driver must
- be loaded within the application, or that it should take steps to switch in
- the correct bank much the same way as during interrupt time for (1).
-
- Because this last point is not implemented, the driver *must* be loaded
- within the application, unless the address space is flat.
-
- Running multiple applications of the same protocol (as opposed to multiple
- network protocols) would require that the driver contain TCP and UDP
- (a socket driver), and that it provide the same bank switching as (2).
- And a socket API used by the applications, of course.
- Drivers (especially socket) outside applications eat up valuable nonpaged
- memory. For this reason, such a scheme would require them to reside in a
- separate application and do the upcalls to the proper bank via a small
- resident code stub. And, to be even nicer, that the API suspend
- the applications to avoid them looping unnecessarily.
-
- I hope these will be useful thoughts.
-
- Andr'e PIRARD
- SEGI Univ. de Li`ege
- B26 - Sart Tilman
- B-4000 Li`ege 1 (Belgium)
- PIRARD@BLIULG11 on EARN alias BITNET
- pirard@vm1.ulg.ac.be as also known to Internet
-
-