pick0

pick0


perrpt Index Level tcl
Syntax
Category Unix
Type File
Description defines the parameters required for each D3 virtual machine on the system.

This file, located on the Unix directory "/usr/lib/pick",  contains implementation-specific data, which can be found in the installation guide provided with your system. It should be edited only using the TCL utility "config" or the D3 installation procedure.
Options
See Also virtual machine pick d3 phantom ports config set-break set-esc
Example
#
# Copyright (c) Pick Systems 1992, 1993, 1994.  All rights reserved.
# Fri Jul 29 19:19:19 1994
#
name DGUX pick0
nice 0
user pick
core 81920 10
npibs 200
nphts 32
basic 2048
brkchr 1d
escchr 1b
absbase 18
abssize 708
abslock on
blkfid 2
flush 10
dwqnum 512
disk /dev/rdsk/prod 0 2000000        # disk 0
disk /dev/rdsk/prod1 0 450000        # disk 1
tape /dev/rpdsk/2 500 f lq           # tape 0
tape /dev/rpdsk/3 500 f lh           # tape 1
tape /dev/rmt/0n 16384 q lh          # tape 2
tape /dev/rmt/1n 16384 v l           # tape 3
tape /dev/rmt/2mn 16384 h ls         # tape 4
tape /dev/rmt/3n 16384 d l           # tape 5
tape /usr/opt/pick/bin/abs 500 f lx  # tape 6
tape /u2/tmp/floppy 500 f lx         # tape 7
tape /tmp/pseudo 1000000 p lx        # tape 8
- - - - -
Pick0 File Statement explanation
- - - - -
#
# Copyright (c) PICK Systems 1992. All rights reserved
# Mon Aug 14 16:31:56 1995
#
    The heading (in comments). It shows the Pick Systems copyright and the last date and time of creation/modification of the configuration file.

name SCO pick0
    The D3 virtual machine platform and name.  The platform specifies the Unix host, i.e., AIX, DGUX, SCO, etc. The virtual machine name is the name you call the D3 System on Unix.  The name may be up to 64 characters, or to the end of the line.  The default name is "pick0".

user pick
    The Unix user who "owns" the virtual machine. If this field is empty, the virtual machine will be left owned by "root". The Unix user account (user-id) must be created before the Machine is booted. The default user name is "pick".

groups  group0  { group1 ... }
    List of Unix groups that are granted access to the virtual machine. If the groups statement is not provided, all users are allowed access to the virtual machine. Up to 8 groups, separated by spaces, can be listed. Note that the group to which the user defined in the user statement belongs is not automatically included. The default is no groups entry; all users have access.

bootmode  s
    Boot mode. Specify whether the boot is done in single-user ("s") or multi-user ("m") mode. When booting in single-user, only line 0 will have access to the virtual machine until the TCL command maxusers is used to go into multi-user mode. The default is "s" (single-user).

bootsleep 3
    Delay in second(s) during which the user has the possibility to stop an automatic boot, when the virtual machine is booted with the '-a x' option. The minimum value is 0. The maximum value is 2,147,483,648 seconds (or 68 years). The default is 3 seconds.

nice 0
    This (signed) value adjusts the relative scheduling priority of the D3 process compared with other regular Unix processes. A negative value gives a higher priority. A positive value gives a lower priority. Legal values are -19 (highest priority) to +20 (lowest priority). The default value is "0".

niceincr 10
    This value is added to the "nice" value of the flusher, and the result is used to set all D3 processes. The default value is "10".

core 114688 10
    Virtual machine memory usage and the virtual machine Key. The first value is the amount of shared memory (in Kb) the D3 process will allocate for itself while the virtual machine is running. Low values may result in poor performance of the D3 process due to swapping. High values may result in poor performance of other Unix processes due to inadequate remaining memory. The 'core' parameter should be reduced when running primarily FlashBASIC applications on a system. To determine an appropriate size, boot the system, bring up all users in FlashBASIC, and run the buffers command with the (sl) options. Note the "referenced" number (not the percentage, but the larger number before it), multiply it by the frame size, and then divide by 1024 to get a good estimate of the core size required for reasonable performance. Then shutdown the D3 virtual machine, reset the parameter, and reboot.
   The default values are:
    On AIX   (with FlashBASIC):     37.5% of the total memory
             (without FlashBASIC):  50% of the total memory
    On DG/UX (with FlashBASIC):     37.5% of the total memory
             (without FlashBASIC):  50% of the total memory
    On SCO   (with FlashBASIC):     (total memory - kernel size) * 90%
             (without FlashBASIC):  (total memory - kernel size) * 10%
    
    The second value is the virtual machine Key. This number, in hexadecimal, is a unique identifier for this particular D3 virtual machine. Each virtual machine must have its own unique identifier. Therefore, if several D3 virtual machines are running on the system, this identifier must be changed for each one. The default value is "10".

npibs 512
    The number of pibs, or ports, or users. This number should be at least equal to the number of users the system is licensed for, plus the expected number of printers (parallel or serial). It is a safe practice to allocate more ports than necessary because it will simplify upgrade procedures when the number of licensed users has to be increased. The only negative side effect for declaring more ports than are actually used is that it takes one frame per port on disk. For example, on a 64-licensed-user system, reserving 128 ports will "waste" 64 frames on disk, which is negligible. The default is "512".

nphts 64
    This is the number of phantom ports expected to be used. It should be at least 2. The rule of thumb to determine the number of phantoms is to take one-eighth of the number of licensed users, with a minimum of eight phantoms. This should cover most needs. The default is "64".

basic 1024
    This optional field is the additional amount of shared memory set aside to contain the shared Pick/BASIC code produced by FlashBASIC. The size of this segment should be equal to or greater than the size of all FlashBASIC objects that are expected to be active at one time, that is, it should be large enough to be able to contain all of the FlashBASIC code most commonly used by the application. This amount is some fraction of the total disk space required for FlashBASIC object. Failure to set this parameter sufficiently high can result in extremely poor performance and a large increase in required Unix swap space. The usage of this segment can be monitored using the TCL command shpstat. If this field is empty, the code produced by the FlashBASIC compiler will not be shared. The minimum recommended size for this parameter is "1024" (1 Megabyte), but some FlashBASIC applications may require somewhere between "10240" - "15360" (10-15 Megabytes). If you are upgrading your system from a release without FlashBASIC to a release with FlashBASIC, this parameter may have a value of zero. Be sure to manually update this value before using FlashBASIC on the new release.
    The default values are:
    On AIX   (with FlashBASIC):    12.5% of the total memory
             (without FlashBASIC):    0
    On DG/UX (with FlashBASIC):    12.5% of the total memory
             (without FlashBASIC):    0
    On SCO   (with FlashBASIC):    (real memory - kernel size) * 10%
             (without FlashBASIC):    0
    SCO OpenServer systems are limited to a maximum of "4096".

brkchr 00
    Break character. This allows redefining a character to simulate a <Break> key for use with devices that do not have a <Break> key, like some graphics terminals. The value is the hexadecimal value of the character.
To disable the <Break> character completely, put "ff" in this field.
    On AIX:   the default value is "00", which is the <Ctrl>@, or <Break> key.
    On DG/UX: the default value is "1f", which is the <Ctrl>_ key.
    On SCO:   the default value is "1d", which is the <Ctrl>] key.

escchr 1b
    Escape (push level) character. This allows redefining a character to simulate an <Escape>, or Pick "push level" function for use with applications which need both the level pushing associated with the <Escape> function and the <Esc> character. The value is the hexadecimal value of the character. To disable the <Escape> (push level) function, but not the <Esc> key as a normal character, put "ff" in this field.
    On AIX:   the default value is "1b", which is the <Esc> key.
    On DG/UX: the default value is "1b", which is the <Esc> key.
    On SCO:   the default value is "1b", which is the <Esc> key.

xon  11
    XON character. This allows redefining a character for flow control for applications where the default value (<Ctrl>Q) is not suitable. The value after the statement is the hexadecimal value of the character. To disable the flow control, put "ff" in this field. The default value is "11".

xoff  13
    XOFF character. This allows redefining a character for flow control for applications where the default value (<Ctrl>S) is not suitable. The value after the statement is the hexadecimal value of the character. To disable the flow control, put "ff" in this field. The default value is "13".

abssize 5e8
    Hexadecimal value of the size (in frames) of the boot ABS. Changing this value on a "live" system will cause data corruption. The value varies with the release.

absbase 24
    Base frame-id (fid) of the boot ABS. Changing this value on a "live" system will cause data corruption. The default is "24".

blkfid 2         
    Blocking factor for the frames in the Unix read/write queue. Changing this value on a "live" system will  cause data corruption. This should be "2".

abslock on
    Lock the ABS into memory. Turning  this option off saves about 2 Mb in memory, but performance loss is significant, so this option should always be on. This option will also create a unique shared memory segment for the abs and all processes will attach to it with read only permissions. This will keep the abs area from becoming corrupted.  To disable this feature use the absprotect command in this configuration file or use the -b option to the executable on the command line.
    On AIX:  AIX systems usually come with at least 8 Mb of physical memory, so it is advised that you leave this set to "on".
    On SCO:  If the amount of physical memory is less than 2.5 Mb, then it may be turned off.
    The default value is "on".

absprotect off
    ABS write protection. Setting this value to off will disable the protection of the abs on all pick processes so any can write into the area of memory where the abs are loaded.  To disable the absprotection on a single line use the "-b" option to the d3 command.

flush 10
    Flush wait period. The number, in seconds, to wait before the system begins to flush memory back out to disk. The smaller the number, the more frequently the flush takes place and a higher number of disk writes occur. A value of "-1" indicates that the wait period is infinite (flushing is not done). A value of 10 to 20 seconds should be adequate for most systems. A value of "30" should be considered the maximum. The default value is "10". See "Performance Monitoring" for more information.

fflush 10
    Force Flush period. Buffers that reach this age, in seconds, are force-flushed out to disk, so that no frame will remain un-updated for long periods of time. The smaller the number, the younger the "retirement age" of the buffers. A value of "-1" indicates that force flushing is not done. A value of 30 to 60 seconds should be adequate for most systems. The default value is "10". See "Performance Monitoring" for more information.

dwqnum 256
    Defines the length (in bytes) of the internal write queue. Increasing this queue reduces the probability of the situation in which the flusher awakened on critical demand, thus reducing the number of flushes. The drawback to increasing the write queue size is that the flusher works in "bursts", which may overload the disk I/O channel when this phenomenon occurs. The default is "256".

disk /dev/rdsk/prod1 0 1222752  # disk 0
disk /dev/rdsk/prod2 0 1600000  # disk 1
    Disk statement(s). These statements define the Pick filesystem for the virtual machine.
    The first parameter is "disk".
    The second parameter is the Unix file path of the virtual disk.
    The third parameter is the offset in virtual disk (usually "0").
    The fourth parameter is the size of the virtual disk (may be "1" - "2097151" kilobytes).
    On AIX:   There may be up to 64 disk statements. The disk size is obtained by multiplying the number of PP's (Physical Partitions) by 4096.
    On DG/UX: There may be up to 64 disk statements. The size of the divisions is shown in the diskman utility in terms of blocks, which are 512 bytes each.
    On SCO:   There may be up to 16 disk statements. The size of the disk divisions (or partitions) are displayed in 1 Kb blocks.
    For maximum performance, try to place these divisions on different disk drives from each other, and on a different disk than the Unix swap area (disk "striping").
    WARNING
    Changing the order of the disk statements on a live file system will cause data corruption. If you wish to increase the file system size by adding disk statements, append the additional disk statements to the end of the list.

tape  /dev/rfd0h           500  f  lq            # 3.5 floppy 1.44M high density
tape  /dev/rfd0l           500  f  ld            # 3.5 floppy  720K low  density       
tape  /dev/rmt1.1        16384  q  lh            # SCT high density                    
tape  /dev/rmt1.5        16384  q  ls            # SCT low  density                     
tape  /dev/rmt0.1        16384  v  l             # 8mm tape                             
tape  /home/tmp/floppy     500  f  lx            # temporary floppy device
tape  /dev/pipein          500  c  lx            # data in/out from/to 'some other source'
tape /tmp/pseudo       1000000  p  lx            # compressed pseudo tape
    Tape statement(s). These statements define the tape devices available for use by the Pick virtual machine.
    The first parameter is "tape".
    The second parameter is the Unix filepath of the tape device. This device must already exist (with any drivers already loaded) for Pick to properly use the device. The device paths listed above are examples only; your device paths may be different. Note that these filepaths refer to the "no rewind" devices, i.e. 'rmt0.1'.
    The third parameter is the device's block size. (The block size is set according to the following conventions but it no longer serves a useful purpose other than marking a space during parsing of the configuration file.  The one execption is the compressed pseudo floppy device.)
    * For floppy devices, this is usually "500".
    * For half inch tape devices, this is usually "4096" or "8192".
    * For other tape devices, this is usually "16384".
    * Only for compressed pseudo tape devices is the block size used.  It contains the number of 1k (1024 byte) blocks to write prior to compression before the file is closed and the tape operation cascades to a new file. If this number is less than 1000 then the device does NOT cascade and may run into unix file size limitations (usually 2Gigs, 1Gig on AIX 4.1 if using compress).
    The fourth parameter specifies the type of tape ("magnetic media") device.
    Device                          Device Code
    ------------------------------  -----------
    floppy diskette                 f
    quarter inch streaming tape     q
    4mm digital tape                d
    8mm digital tape                v
    half inch tape                  h
    no rewind device (pipe)         c
    pseudo tape (cascading)         p

 * For compressed pseudo tape devices, data is written compressed and read uncompressed, using standard unix compress/uncompress utilities.  At user specified limits (before compression), the Unix File name changes and cascades the pseudo-tape device to the new file name.  (e.g. Given the following tape definition in the configuration (pick0).
 tape /tmp/pseudo 10000 p lx # compressed tape
If a data save has more data than the limit specified (10,000 1024 byte blocks) 10Megabytes, then the device /tmp/pseudo is closed and the save cascades to /tmp/pseudo-1.  After the second 10Mb is written the device /tmp/pseudo-1 is closed and the save cascades to /tmp/pseudo-2. This process continues until the save is finished.)
Note: there must be space in the Unix file system, (/tmp in this example,) to store thes compressed files.

    The fifth parameter specifies the device's read/write density.
            Default  Low      Medium   High
    Device  Density  Density  Density  Density
    ------  -------  -------  -------  -------
    f         .        ld       .        lq
    q         l        ld       .        lh
    d         l        .        .        .
    v         l        .        .        .
    h         l        ld       lm       lh
    c         lx       .        .        .
    The line may contain a "#" (pound sign), which is a comment indicator. The system ignores any characters following the "#", so you may include a descriptive statement describing each device. Since tape devices are merely Unix filenames, you may specify a separate Unix file area as a device, and read and write data to it at a high speed. Such uses may be:
    * a copy of the ABS diskettes in a pseudo-tape for fast reloading.
    * high-speed file-save backups to a Unix file.
    * a serial device or network link for transmitting data to some other destination.
    Tape devices are numbered (for use in the set-device command) starting at "0" from the top of the list. The first device in the list is the default device.
    On AIX:   There may be up to 16 tape statements.
    On DG/UX: There may be up to 16 tape statements.
    On SCO:   There may be up to 16 tape statements.
    Typical tape device names (although your device names may very):
    On AIX:
    /dev/rfd0h                   500                 fld# 3-1/2" floppy - 1.44 Mb
    /dev/rfd0l                   500                 fld# 3-1/2" floppy -  720 K
    /dev/rmt0.1                  16384               vl# 8mm tape
    /dev/rmt1.1                  16384               qlh# SCT - high density
    /dev/rmt1.5                  16384               qls# SCT - low density
    /dev/rmt2.1                  4096                hlh# 1/2" tape - high density (6250 bpi)
    /dev/rmt2.3                  4096                hlm# 1/2" tape - med. density (3200 bpi)
    /dev/rmt2.5                  4096                hls# 1/2" tape - low density  (1600 bpi)
    On DG/UX:
    /dev/rpdsk/2                 500                 flq# 3-1/2" floppy - 1.44 Mb
    /dev/rpdsk/3                 500                 flh# 5-1/4" floppy - 1.2  Mb
    /dev/rmt/0n                  16384               qlh# SCT tape
    /dev/rmt/1n                  16384               dl# 4mm DAT tape
    /dev/rmt/1n                  16384               vl# 8mm tape
    /dev/rmt/2mn                 16384               hls# 1/2" tape
    /usr/opt/pick/bin/abs        500                 flx# Pseudo-floppy ABS restore
    /usr/opt/pick/bin/datafiles  500                 flx# Pseudo-floppy Data Files restore
    On SCO:
    /dev/rdsk/f0q18dt            500                 flq# 3-1/2" floppy - 1.44 Mb
    /dev/rdsk/f0q9dt             500                 fld# 3-1/2" floppy -  720 K
    /dev/rdsk/f1q15dt            500                 flh# 5-1/4" floppy - 1.2  Mb
    /dev/rdsk/f1q9dt             500                 fls# 5-1/4" floppy -  360 K
    /dev/nrct0                   16384               ql/dev/xct0# SCT (120 Mb)
    /dev/rStp0                   16384               vl/dev/xStp0# 8mm tape
    /dev/nmt0                    4096                hls# 1/2" overland tape

install  /dev/rfd0h
    The tape device used to install D3. As this is only used to facilitate the installation (and re-installations), this may be a previously-declared tape device.
    Default install device names (your install device name may vary):
    On AIX:   /dev/rfd0h
    On DG/UX: /dev/rmt/0n
    On SCO:   /dev/rdsk/f0q18dt
Warnings
Compatibility D3/Unix D3 7.1 D3 7.0
perrpt Index Level tcl