[comp.sys.ibm.pc] Survey of DOS "run it in the background" products

lanin@csd2.NYU.EDU (Vladimir Lanin) (12/13/89)

Dear NetLanders,

I'd like to know what the prevailing opinions are on products
that allow running DOS programs in the background (or in a window).
The names that come to my feeble mind are Desqview, Microsoft Windows,
DoubleDos, Topview (?), and, of course, OS/2. There may, of course,
be other (and hopefully better) ones. For example, I know that PD/shareware
of this kind exists, but the name(s) escape me.

Some of the things I'd like to know about each are:

. How buggy is it?

. What percentage of the common DOS software does it work with well?

. How wastefully slow is it?

. Can it run ordinary DOS programs in extended RAM?

. Does it work with an 8088 or 80286?

. Does it take advantage of 80386 added functionality?


Please e-mail your kind responses to me, and I will summarize to the net.


Vladimir Lanin
lanin@csd2.nyu.edu
...!cmcl2!csd2!lanin

Relay-Version: version nyu B notes v1.6 9/18/89; site acf4.NYU.EDU
From: meth@csd2.NYU.EDU (Asher Meth)
Date: 12 Dec 89 17:31 EST
Date-Received: 12 Dec 89 17:31 EST
Subject: TCP/IP question
Message-ID: <2240001@csd2.NYU.EDU>
Path: acf4!csd2!meth
Newsgroups: comp.unix.386ix
Posting-Version: version nyu B notes v1.6 5/10/89; site csd2.NYU.EDU
Organization: New York University

Re: TCP/IP questions

I am to implement a TCP/IP connection between my 3 machines running Interactive
UNIX 386/ix. The machines will be sending messages back & forth to each other.

The actual end result desired is that all messages are passed to all machines,
to update databases stored in their entirety on each machine. The purpose of
this level of redundancy & duplication is to ensure that all the info is
currently available, even if all machines but one are down for some reason.

We are currently running 386/ix version 2.0.1, with TCP/IP 1.1.1. When I
get a chance, assuming that the disks are OK, I will upgrade to 2.0.2 and
TCP/IP 1.1.2. There is no connection to the outside world, just these 3 machines
tied together as a network. The machines are 386 based machines: HP RS/20 
Vectras; the ethernet cards are Western Digital EtherCard Plus connected with
thin ethernet cabling.

I have read the following:
	(1) Internetworking with TCP/IP, by Douglas Comer (relevant chapters, 
	esp 12, and Appendix 1).

	(2) Relevant sections in the 386/ix TCP/IP Guide, section entitled
	Programmer's Supplement.

	(3) AT&T's UNIX System V/386 Network Programmer's Guide, published by
	Prentice Hall.

At this point, I am sort of confused and could use a little help in sorting out
all the material that I have read.

We would like to set up 2 models - connection and connection-less mode - with
server & clients. I have been working on the connection mode model at present.
-----------------------------------------------
I find the following a little strange and confusing:

There are 2 sections in the manual describing functions that are very similar,
yet one is section (3i) and the other is section (3N). 

Section (3i) contains functions such as accept, bind, connect, listen, 
recv, send, and socket.
These entries appear only in the Interactive TCP/IP Guide.

Section (3N) has corresponding functions t_accept, t_alloc, t_bind, t_close,
t_connect, t_listen, t_rcv, t_rcvdis, t_rcvrel, t_snd[dis | rel].
These entries appear only in the AT&T Programmer's Reference Manual.

Why are there 2 sets of parallel commands ? Do they implement different
protocols ?
-----------------------------------------------
Book (3) from AT&T does not mention sockets at all; just transport connection 
endpoints. It uses only calls that are prefixed with a t_ .
The book has a complete example for client & server. I tried it as is, and got 
an error on the server side when trying to bind an address to the already
established transport endpoint, vis., 
		if (t_bind(listen_fd, bind, bind) < 0) ...
The error generated is a system error - invalid argument. I cannot figure out
which part of the bind structure (defined as struct t_bind *bind) it is 
complaining about. The file descripter argument is OK; I tried giving it
garbage in this entry and it complained.
-----------------------------------------------
Book (1), Comer's general info book, in Appendix 1, discusses sockets, 
creating them, binding local address to a socket, connecting sockets to 
destination addresses, sending & receiving data, etc.
-----------------------------------------------
Book (2), the Interactive manual, is most confusing. In the section entitled
Programmer's Supplement, they describe two sets of interfaces - section 2
describes Transport Layer Interface; section 3 describes Socket Interface.
Are these intended to be two different & necessary interfaces ? Or are their
applications different ? Perhaps they are describing the same thing from a
different vantage point ?

The TLI section's example uses t_ functions (from manual section (3N)), and 
refers the programmer to section 3 for appropriate values to be used for some 
variable names not mentioned here. The code is similar to that in the AT&T book
(3), but has changes in parts of the variable "bind".

In the referred to section 3, we are discussing sockets ! We lose the
t_ functions and call plain bind, connect, etc. functions (from manual 
section (3i)).

As a minor point in this section - the call to socket takes as a 3rd argument
a number (from /etc/protocols) corresponding to the particular protocol that we
wish to use with this socket. The examples just set this value to 0, indicating
IP. Do I want this, or do I want TCP, whose number is 6 - as properly returned 
by a call to getprotobyname("tcp") ?
-----------------------------------------------
I am beginning to believe that I am to follow the paradigm as in Comer's book
(1), and section 3 of Interactive's guide (book (2)) - of using only sockets
with the function calls from manual section (3i).

Is there, perhaps another reference that has a working example of a server &
client setup - ie, some complete documentation, that has been tested & works ?

Or maybe someone out there in net-land has implemented the server-client
example and would be willing to send me their working code ?
-----------------------------------------------
Thanking you all in advance for any help that you can offer,

Asher Meth            meth@csd2.nyu.edu       meth@nyu-csd2.arpa
Relay-Version: version nyu B notes v1.6 9/18/89; site acf4.NYU.EDU
From: meth@csd2.NYU.EDU (Asher Meth)
Date: 13 Dec 89 17:11 EST
Date-Received: 13 Dec 89 17:11 EST
Subject: TCP/IP questions
Message-ID: <2600001@csd2.NYU.EDU>
Path: acf4!csd2!meth
Newsgroups: comp.unix.i386
Posting-Version: version nyu B notes v1.6 5/10/89; site csd2.NYU.EDU
Organization: New York University


Re: TCP/IP questions

I am to implement a TCP/IP connection between my 3 machines running Interactive
UNIX 386/ix. The machines will be sending messages back & forth to each other.

The actual end result desired is that all messages are passed to all machines,
to update databases stored in their entirety on each machine. The purpose of
this level of redundancy & duplication is to ensure that all the info is
currently available, even if all machines but one are down for some reason.

We are currently running 386/ix version 2.0.1, with TCP/IP 1.1.1. When I
get a chance, assuming that the disks are OK, I will upgrade to 2.0.2 and
TCP/IP 1.1.2. There is no connection to the outside world, just these 3 machines
tied together as a network. The machines are 386 based machines: HP RS/20 
Vectras; the ethernet cards are Western Digital EtherCard Plus connected with
thin ethernet cabling.

I have read the following:
	(1) Internetworking with TCP/IP, by Douglas Comer (relevant chapters, 
	esp 12, and Appendix 1).

	(2) Relevant sections in the 386/ix TCP/IP Guide, section entitled
	Programmer's Supplement.

	(3) AT&T's UNIX System V/386 Network Programmer's Guide, published by
	Prentice Hall.

At this point, I am sort of confused and could use a little help in sorting out
all the material that I have read.

We would like to set up 2 models - connection and connection-less mode - with
server & clients. I have been working on the connection mode model at present.
-----------------------------------------------
I find the following a little strange and confusing:

There are 2 sections in the manual describing functions that are very similar,
yet one is section (3i) and the other is section (3N). 

Section (3i) contains functions such as accept, bind, connect, listen, 
recv, send, and socket.
These entries appear only in the Interactive TCP/IP Guide.

Section (3N) has corresponding functions t_accept, t_alloc, t_bind, t_close,
t_connect, t_listen, t_rcv, t_rcvdis, t_rcvrel, t_snd[dis | rel].
These entries appear only in the AT&T Programmer's Reference Manual.

Why are there 2 sets of parallel commands ? Do they implement different
protocols ?
-----------------------------------------------
Book (3) from AT&T does not mention sockets at all; just transport connection 
endpoints. It uses only calls that are prefixed with a t_ .
The book has a complete example for client & server. I tried it as is, and got 
an error on the server side when trying to bind an address to the already
established transport endpoint, vis., 
		if (t_bind(listen_fd, bind, bind) < 0) ...
The error generated is a system error - invalid argument. I cannot figure out
which part of the bind structure (defined as struct t_bind *bind) it is 
complaining about. The file descripter argument is OK; I tried giving it
garbage in this entry and it complained.
-----------------------------------------------
Book (1), Comer's general info book, in Appendix 1, discusses sockets, 
creating them, binding local address to a socket, connecting sockets to 
destination addresses, sending & receiving data, etc.
-----------------------------------------------
Book (2), the Interactive manual, is most confusing. In the section entitled
Programmer's Supplement, they describe two sets of interfaces - section 2
describes Transport Layer Interface; section 3 describes Socket Interface.
Are these intended to be two different & necessary interfaces ? Or are their
applications different ? Perhaps they are describing the same thing from a
different vantage point ?

The TLI section's example uses t_ functions (from manual section (3N)), and 
refers the programmer to section 3 for appropriate values to be used for some 
variable names not mentioned here. The code is similar to that in the AT&T book
(3), but has changes in parts of the variable "bind".

In the referred to section 3, we are discussing sockets ! We lose the
t_ functions and call plain bind, connect, etc. functions (from manual 
section (3i)).

As a minor point in this section - the call to socket takes as a 3rd argument
a number (from /etc/protocols) corresponding to the particular protocol that we
wish to use with this socket. The examples just set this value to 0, indicating
IP. Do I want this, or do I want TCP, whose number is 6 - as properly returned 
by a call to getprotobyname("tcp") ?
-----------------------------------------------
I am beginning to believe that I am to follow the paradigm as in Comer's book
(1), and section 3 of Interactive's guide (book (2)) - of using only sockets
with the function calls from manual section (3i).

Is there, perhaps another reference that has a working example of a server &
client setup - ie, some complete documentation, that has been tested & works ?

Or maybe someone out there in net-land has implemented the server-client
example and would be willing to send me their working code ?
-----------------------------------------------
Thanking you all in advance for any help that you can offer,

Asher Meth            meth@csd2.nyu.edu       meth@nyu-csd2.arpa