Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucsd!nosc!cod!baird
From: baird@cod.NOSC.MIL (John M. Baird)
Newsgroups: comp.sys.ibm.pc
Subject: Re: Questions about DOS 4.0
Message-ID: <1653@cod.NOSC.MIL>
Date: 25 Sep 89 20:54:27 GMT
References: <1989Sep25.101739.26600@cs.dal.ca>
Organization: Naval Ocean Systems Center, San Diego
Lines: 124

From article <1989Sep25.101739.26600@cs.dal.ca>, by lane@cs.dal.ca (John Wright/Dr. Pat Lane):
For your long list of questions asked about DOS 4.0, answers to the first
few [taken from a local DOS on-line help program]. Hope this helps.

John Baird, Naval Ocean Systems Center, San Diego, CA
--------
> 
> 1.  We have the hard disk partitioned as one big drive.  When DOS boots
> it says "Warning: SHARE should be loaded for large media".  Why?  
> In fact, this only happens if SHARE.EXE is in the root directory of the
> boot disk.  
>
[part of BOOT topic help]:
[new DOS 4.0] If an INSTALL=SHARE line was not present in the CONFIG.SYS
file, and any disk partition is >= 32 Mbytes (32 million characters), the
SHARE program will be read into memory from disk (either from the root 
directory of the default disk if there was no CONFIG.SYS file, or from the 
file specified by the SHELL line). The need for this step is discussed in 
the CONFIG FCBS topic.
>
> 2. It also says with SHARE loaded, "FCBS control is activated".  What does
> that mean?  
> 
> 3. I take it from the explanation of FCBS= that DOS, if it runs out of 
> FCBS for an open FCB request, and assuming that the second FCBS= parameter 
> has not been used, will simply close the last FCB file it opened (or would 
> it be the first FCB file opened) in hopes that the application won't crash 
> because of it.  Is that correct?
> 
[CONFIG FCBS topic]:
    FCBS=x,y

This line supports file control blocks (FCB). Very early versions of DOS
controlled file access with FCBs. Later versions use file handles, instead.
New programs use handles, but since older ones use FCBs, DOS still supports
their use. 

x specifies the maximum number of FCBS to support, minimum of 1, maximum of
    255, default of 4. When a program requests an FCB and they are all in use,
    DOS will reassign the least recently used one.

y specifies the minimum number of FCBS that will never be reassigned by DOS
    when a program requests an FCB and all FCBS are in use. This prevents an
    FCB from being closed by a program other than the one using that file.

x should be > than y by 8 or more. If you set x < y, DOS probably won't run at
all. If an old program using FCBs is run on a computer which uses DOS 4.0 or
later and a disk partition of >= 32 Mbytes (32 million characters), the SHARE
command must be executed before using the program, or the program won't run.
>
> 4. Back to SHARE, I note that it also implements checking for diskette
> switches and checks for the same disk volume name.  I wonder why they
> didn't put this into DOS proper and why they bundled it with a program
> to be used on networked systems?
> 
[from SHARE topic]:
SHARE [/F:n][/L:n]

The SHARE external command allows DOS to support:
    file sharing among programs [across multiple diskettes on one computer or
    across a network of computers]
and
    old programs to use disk partitions >= 32 Mbytes (32 million 
    characters. See the CONFIG FCBS topic for more information. [new DOS 4.0]

SHARE can be installed with an INSTALL=SHARE line in the CONFIG.SYS file, or 
it can be executed in the AUTOEXEC.BAT file. [Not supported in OS/2]
>
> 5. With FASTOPEN, the optional second parameter value is the number of
> "file extent entries".  What is a file extent?
> 
INSTALL=[d:][pathname]FASTOPEN.EXE  [d:[=f]] ...                [new DOS 3.3]
or
INSTALL=[d:][pathname]FASTOPEN.EXE  [d:[=(f,r)] ...  [/X]	[new DOS 4.0]

This external program speeds up access to files by saving information about 
them in memory.

d: specifies a disk to save information about. Drive letters defined by JOIN,
    SUBST, or ASSIGN may not be used, nor may drives on another computer in a
    network.

f specifies the number of directory and file entries to save for d:. Default
    34, minimum 10, maximum 999.

r specifies the number of range entries to be saved to reduce reads to the
    disk, between 1 and 999. A range entry holds locations of blocks of data
    for a file on disk which are continuous (adjacent, contiguous).

/X specifies that the information should be kept in expanded memory. Use only
    if the BUFFERS line in CONFIG.SYS also has the /X option. See the NEW_TERMS
    MEMORY topic for more about expanded memory. (f and e should be s150.)
>
> 6. What are the implications of using BUFFERS=x,8?  Will it improve system
> performance?  Are there any dangers?
> 
[BUFFERS topic]:
                          BUFFERS

    BUFFERS=n
    BUFFERS=n,m	[/X]						[new DOS 4.0]

n specifies the number of disk buffers that DOS allocates in memory during
    the boot process. The default value for DOS versions prior to 3.2 is 2.
    Later versions have a default of five or more, depending on how much 
    memory your PC has. For most programs, 2 is NOT enough. The maximum value
    is 99 (pre DOS 3.2), or 255 (DOS 3.2 and later). If you have a hard disk, 
    n should be at least 10, and usually no more than 20 are needed.

m specifies the number of consecutive buffers to read in addition to the one
    being requested, when data must be read from disk. The default value is 
    0, the maximum value is 8, a value of 2 or 3 is recommended. If data is 
    already in a buffer, it will be used rather than reading it from the disk.

/X specifies that the buffers should be placed in expanded memory. When /X
    is present, n can be up to 10000. 

A disk buffer is an area of memory that is used to store data read in from or 
to be written to disk. The primary use of buffers by DOS is to save 
information about your disks and the directories on them. For a program that 
reads or writes small blocks of data to the disk frequently and in some order,
rather than jumping around a lot, additional buffers can increase the speed 
of the program. For instance, a database program may run more efficiently if 
you have allocated 15 or 20 buffers.