[net.micro] PCVMS and OST review

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!-