bruceb@telesoft.UUCP (Bruce Bergman @favorite) (07/24/86)
[Yes, Virginia, there really IS a line eater...]
I apologize for those of you who have been waiting for this
review. I often get caught behind the eight-ball, however I
hope this will provide some insight into the Wendin
products.
PCVMS
-----
PCVMS is one of two operating systems created for the IBM PC
(and clones) by Wendin [1]. The other operating system (not
covered in this review) is called PCUNIX. Both attempt to
offer the PC user the ability to use a close approximation
of the "original" operating system. PCVMS is modeled after
DEC's VAX/VMS [2] operating system, while PCUNIX is modeled
after the popular UNIX [3] operating system by AT&T. Also
provided by Wendin is the Operating System Toobox (OST).
I'll try and cover PCVMS first, leading into the OST later.
PCVMS is one completely full floppy disk worth of programs
and information files that are placed onto one's hard disk
(or used from a floppy) and used as a substitue operating
system for MS-DOS. The disk for PCVMS comes complete with a
fairly nice three-ring bound manual. The manual covers most
of the commands for PCVMS and gives a short introduction to
using PCVMS at the system programming level. The manual is
easy to understand if you are familiar with DEC's VMS
documentation, however for one who has never read such a
blunt description of capabilities, it could be
intimidating. Having read many a thick VMS manual myself, I
found myself comparing each command with its real
counterpart. The manuals don't compare easily, however a
working knowledge of VMS is all that is necessary to get to
know the commands that PCVMS offers.
I've come to believe that PCVMS was created by Wendin as an
example of how to use their Operating System Toolbox. The
implementation of PCVMS provided by Wendin is a sad
comparison with the original operating system. While it
provides many of the same type of commands and functions as
VMS, it lacks the coherency and consistency of true VMS. As
a good example, if you were interested in changing your
privilege on VMS, you might issue a command similar to
this:
SET PROCESS/PRIV=(world,bypass)
However, on PCVMS, you would issue the following command:
SET PRIV=(world,bypass)
While this seems like a small inconvience, it is indicative
of the problem of consistency that PCVMS suffers from the
most. On VMS, all commands that relate to the same basic
concept are grouped as QUALIFIERS of that concept. Per our
previous example, every action which might affect your
current process status are qualifiers of the SET PROCESS
command. These qualifiers, such as /PRIV, /NAME, etc., are
then appended to the end of the command. In PCVMS, Wendin
chose to group these commands into the larger arena of
qualifiers that are not related to a concept. This looses
the advantage of logical thinking. In other words, if you
had wanted to change your username in VMS and you didn't
know what specific command would perform the task, you would
normally only need to think about what concept you are
dealing with (PROCESS) and then try some qualifiers or even
request on-line help. With PCVMS, this process is
practically useless. The help file supplied with PCVMS
might be useful to some users; I deleted it from my disk for
extra disk space after I found it not really useful.
Even though the outcome of the commands in PCVMS may
accomplish the same end result, it is very bothersome to try
and get used to the different syntax, especially considering
it is supposed to be a VMS-type system.
I suppose the emphasis is on the word "type," however it
seems that much more thought could have been put into the
structure of these commands in PCVMS.
PCVMS is invoked from the DOS command line. It took about
20 seconds to initialize and load itself on my hard disk
system. Once the system is up and running, you are prompted
for a user name (much like the VMS LOGIN command). In most
instances, you can just enter the username "SYSTEM" and
continue in PCVMS. If you have set up a user authorization
file (UAF), you can define passwords and user names which
must be validated at "login" time. An AUTHORIZE program is
provided by Wendin to aid in the process of creating these
user records. The AUTHORIZE program wasn't even mentioned
in the documentation I read, except to note that the user is
welcome to create one. Perhaps a disgruntled user of PCVMS
found time to write a rudimentary version of AUTHORIZE,
because it certainly appears as though it is a near-useless
program. The real AUTHORIZE program on VMS is used to
create and track user accounting information. It maintains
a UAF file which is used by LOGIN. The similiar sequence of
events is used with PCVMS, however the UAF file supplied and
created with PCVMS barely contains enough information to
really consider it useful. The PCVMS AUTHORIZE uses an very
ugly scroll-redraw method to clear the screen between
commands, and is menu driven. The reason why the
scroll-redraw method is used is beyond me, except that maybe
someone wanted some form of device independence.
Once inside PCVMS, you are prompted with the standard VMS
DCL prompt. You can then issue commands until you wish to
logout or leave the PCVMS system. To logoff, you simply
issue the command LOGOFF. This stops your current job, all
sub-processes, and all batch jobs (apparently), and leaves
you at the LOGIN prompt. To leave PCVMS and return to DOS,
you must issue the SHUTDOWN command. This command basically
stops everything and returns you to DOS. Both the SHUTDOWN
command and the initialization process are customizable
through certain files. As distributed, they work without
change.
The Command Line Interpreter (CLI, as it would be called on
VMS) provides a fairly primitive ability to read commands.
This is as expected, however it still leaves one thinking
that DCL would be useful. DCL is an acronymn for Digital's
Command Language. On VMS, it's really a CLI that passes
anything it doesn't recognize off to VMS for possible
execution. There are about 30 or so major DCL commands, the
rest being programs. DCL is very similar in concept to
UNIX's shell and cshell. I missed having DCL around, since
it often provides the mechanism for fixing missing features
of VMS, however I agree that it would be a significant task
to write such a program for the PC. Faced with such a task,
I could easily be persuaded to work without it.
Commands are similar to the ones used on VMS, the major
difference being syntax and verbosity. VMS is the hackers
nightmare. Some VMS system calls can be as long as 22
characters. Commands can regularily get so long that a 132
column screen is useful. This has advantages and
disadvantages. The advantage is that you can remember the
commands easily. The disadantage is that if you make a
mistake, retyping the line is painful. On later versions of
VMS (4.x), DEC provided the ability to edit commands and
recall past commands. This is really more a necessity than
luxury for VMS, and it becomes painfully evident that PCVMS
suffers from the same problem. There is no method of
editing past commands (short of some memory-resident
program).
Command qualifiers on PCVMS are also a source of
frustration. Before each qualifier you type in PCVMS, you
must place a space (" "). While this is an optional action
on VMS, it is a required action for PCVMS; one which can be
particularily frustrating. This is the result of having
such a primitive command line parser. For example, the VMS
command:
DIR/EXCLUDE=*.dat/FULL b:[diskfiles]
as opposed to the same command on PCVMS:
DIR /EXCLUDE=*.dat /FULL b:\diskfiles
PCVMS offers logicals for easy identification of files,
however the logical capability is very weak. PCVMS comes
with several logicals predefined.
Now, it may appear that I have have a vendetta against
PCVMS, however it is important to recognize the shortfalls
of any program. PCVMS does have several good points,
though.
PCVMS provides the ability to submit certain jobs to the
"batch" stream. The batch stream being a pseudo-job that is
executed concurrently with the other jobs on the system.
The batch facility didn't work really well for me, however
it is there if you are really desperate.
The ability to have more than one user on a PC is also a
strong point of PCVMS. The typical PC can't support much
else besides one user, however PCVMS offers the ability to
have two more users run from the COM ports of your
equipment. The maximum usable speed is about 1200 baud, and
even then characters are sometimes lost, however it is a
real plus that PCVMS can handle more than one user. Note
that file locking is NOT provided by PCVMS, so even though
PCVMS can support more than one user, it cannot coordinate
file conflicts caused by having more than one user.
PCVMS is great for organizing your PC for multiple person
use. If you wanted to set up a "public" PC for use in an
office, say, you could use PCVMS to make sure that only
certain people have access to the machine. You can also
partition off areas for each user; thus keeping things
simple for users. Privileges are provided, if you can
justify a use for them on a single user system. Account
information is kept in the UAF and administered by LOGIN.
No method of creating account quotas exists in PCVMS.
PCVMS is sometimes slow about responding, however it
ususally appears to be giving the processor a good run for
it's money. A fast, fast PC XT might make very good use of
PCVMS's features, however I believe it's more useful as an
example of using the Operating System Toolbox.
Source code is provided for both PCVMS and PCUNIX, so you
may see what goes into creating such an operating system.
This source code, in conjunction with the OST can provide a
programmer with lots of time-absorbing activity.
Where PCVMS suffers from being a quality product, the OST
excels in being a really useful buy. The OST is roughly
nine basic modules that are used to create an operating
system. The dried-and-hard VMS hack will recognize that
about 3/4 of the OST systems calls are name (and often
parameter) identical to the VMS equivalent. They don't
always perform the exact same function, however it is a much
closer relationship with VMS than PCVMS.
The OST makes some interesting compromises with the system
calls for VMS, and often those compromises are wise. I
would prefer to refer you to the actual documentation for
information (mainly because it is a big subject). Suffice
to say that the OST routines were well thought out and
should provide more than enough capability for even the most
demanding programmer.
The OST is the real buy, in my opinion. It comes in two
forms. One, a C version, and the second a PASCAL version.
Using the C version, I attempted to create a more usable
LOGIN program (better security), however I never found
enough time to finish it. While developing the program,
though, I found the modules fairly easy to deal with. The
manual for the OST could use more cross-references, or at
least better organization, however the information you would
be looking for IS there.
In summary, I feel that both products are probably worth
purchasing. The OST would be my first choice, however PCVMS
and PCUNIX provide very nifty views of operating system
design. The fact that Wendin managed to create the OST well
enough to throw together PCVMS and PCUNIX makes a big
impression on me. When they first came out, PCVMS and
PCUNIX were both selling for $49.00 with the OST selling at
$99.00. While the prices for the operating systems have
doubled, the OST remains the best value at $99.00. If
Wendin would return the operating systems to their original
prices, I wouldn't hesitate to suggest that you invest in
one or the other.
If you are interested in getting serious work done with
PCVMS, I would suggest that you look into something else.
If you are interested in how operating systems work (or
interested in doing PCVMS *RIGHT*), I would suggest you
invest in the OST. Both are interesting products, and
Wendin really does provide one of the better
bangs-for-the-buck that I've seen. Wendin claims that the
only thing they DON'T provide with the OST is a creative
imagination. If you have one of those, the OST could really
be a great combination.
[1] Wendin, Box 266, Cheney, WA. 99004 (509) 235-8088.
PCVMS and PCUNIX are registered trademarks of Wendin
Incorporated.
[2] DEC, VAX, and VMS are registered trademarks of Digital
Equipment Corporation.
[3] UNIX is a registered trademark of AT&T Bell
Laboratories.
Copyright (c) Bruce A. Bergman 1986. All rights reserved.
Any or all parts of this document may be reproduced, except
for profit, without permission of the author, providing this
copyright notice and credit appear intact with the document
and reproduction. All views expressed herein are entirely
that of the author and not the views of any other party or
organization.
--
bang!-
allegra!\ \
crash! \ gould9!--\
ihnp4! \ \
>--sdcsvax!---->--telesoft!bruceb (Bruce Bergman N7HAW)
noscvax! / /
scgvaxd! / sdencore!--/
ucbvax! / /
talaris!-