home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Network Support Encyclopedia 15
/
novell-nsepro-1992-vol15.iso
/
download
/
file_h.txt
< prev
next >
Wrap
Text File
|
1989-09-05
|
4KB
|
78 lines
Can you handle it?
Use of file handles on the network can be confusing. The
NetWare operating system (NET$OS) opens file handles for itself,
workstation shells open file handles on the network and DOS opens
file handles on the local workstation.
There are at least four files that are opened by NET$OS when
the server is booted. These four are: NET$MSG.SYS, NET$BVAL.SYS,
NET$BIND.SYS, and DIRSTAMP.SYS.
The first file, NET$MSG.SYS is a transient file that NET$OS
uses for passing kernel messages. Frequently referred to as the
binderies, NET$BIND.SYS and NET$BVAL.SYS, are the next two files
opened. Then there is DIRSTAMP.SYS, this special file is the File
Allocation Table (FAT). For every volume defined at the server
there is a DIRSTAMP.SYS. If only one volume (SYS:) exists, then
only one DIRSTAMP.SYS will be opened. Likewise, for every volume
defined, a corresponding DIRSTAMP.SYS will be opened, adding to
the total number of file handles NET$OS will open.
Additional files that are opened, and their somewhat unusual
rule of file handle freeing are the queue files. For every
(printer) queue there are two files opened. The files are
Q$xxxxxx.SYS and Q$xxxxxx.SRV. These files are only opened if
there is a printer(s) servicing the particular queue. The
unusual rule is: If a queue is serviced by one or more printers
when the server is booted, two file handles are used (this is
standard), but, only one handle is freed if all printers servicing
the queue are removed (this is unusual). On the other hand, if a
queue is initially (when the server is booted) serviced by no
printers, then when printers are added (to service it), two file
handles are used (once again, normal), but, if all printers
servicing the queue are removed, both file handles are released.
At the workstation there are two types of file handles,
network (owned by the file server) and local (owned by DOS). The
network shell (NET2, NET3, NET4) detects where the file resides
that is being opened. When the shell determines an open is being
performed on a drive which is non-local, the file handle is stored
in the shell's handle area and in the file server's file handle
table. For instance, whenever "capturing", a file handle is
opened for the actual capture process. If the file being opened
exists locally, the shell passes the open call to DOS and lets DOS
provide space for the resulting file handle.
Thus, the FILES= (in CONFIG.SYS) and FILE HANDLES= (in
SHELL.CFG, detailed in the Supervisor Reference, Appendix B)
parameters are completely separate. For example, if a user has
FILES=20 in his CONFIG.SYS, then 20 DOS files can be opened. If
the FILE HANDLES=80 (default provided by the shell is 40)
parameter is defined, then, the total number of files concurrently
opened on all file servers the user is attached to would be 80.
Some notes on Dynamic memory use
Each file handle open on the network consumes 62 bytes from
dynamic memory pool 2. The initial printer to service a queue
uses 56 bytes from dynamic memory pool 1 , each additional printer
to service a queue (already serviced by at least one printer) uses
another 8 bytes. Also, every network drive mapped uses 16 bytes
from dynamic memory pool 1. Most VAPs (Btrieve, LANspool, etc.)
use file handles via actual mapped drives or printer queues.
Other transiently used file handles
There are several other files NET$OS has open from time to
time, they are: NET$ACCT.DAT, NET$REC.DAT, SYS$LOG.ERR, and
NET$LOG.DAT. The first two are for NetWare's accounting services,
the third tracks errors that NET$OS detects. The last file, which
is exploited by applications, is provided to hold certain data
that various applications deem worthy of logging.
If you have any questions concerning information in this
article, feel free to contact me at CompuServe ID 70007,3430.
Some material (use of FILES= and FILE HANDLES=) was supplied by
Grant Echols, CompuServe ID 76247,2232.