Path: utzoo!mnetor!uunet!portal!cup.portal.com!Mark_G_Woodruff
From: Mark_G_Woodruff@cup.portal.com
Newsgroups: comp.os.misc
Subject: OS features
Message-ID: <1971@cup.portal.com>
Date: 13 Dec 87 08:42:21 GMT
Organization: The Portal System (TM)
Lines: 225
XPortal-User-Id: 1.1001.2332


Following are the replies to my query about operating system features people
liked.  Comments followed by a bullet (yes, it's really a lower case o)
are summaries of what the person said.  Comments followed by a right
arrow (yes, it's really a greater-than sign) are more-or-less verbatim
(minor editing changes only).  Anything in brackets are my own remarks.

From: Michal Young 

  o  Device-independent stream I/O, for files and for terminals (a la Curses)

  o  A shell command language with control structures and job control (a la
     csh)

  o  Remote command execution and remote file systems (a la Sun NFS)

  o  Reentrant libraries (a la Vulcan [a HORRIBLE os])

  o  Dynamic run-time linking (a la MVS [or Smalltalk])

  >  Command completion   (The DEC OS's get this better than Unix)
     [Could you please elaborate?]

  o  History substitution (a la csh)

  >  Synchronous mail notification (before a prompt)
     [Again, please explain.]

From: sun!RUTGERS.EDU!uwvax!ncc!alberta!edson!tic!ruiu (dragos)

  >  The one thing I miss on unix from VMS more than anything is pressing
  >  control   T and seeing the cpu time or the i/o changing in my program,
  >  and knowing wether it's just the system thrashing or wether something
  >  is seriously hung.  It's a little thing... Boy, if I had Kernel
  >  source... :-)

  >  VMS has another nice feature... it degrades gracefully under pressure.

From: Paul Fuqua 

  >  Tops-20:  the COMND jsys -- completion and help in every command.
     [Please explain.]

  >  (MIT version) Chaosnet as a device -- "copy foo cha:xx.send_pf" would
  >  copy the foo file as the text of a "send" ("write" in BSD Unix) to user
  >  "pf" on host "xx" via Chaos."

  >  Lisp Machines:  No clear distinction between OS, environment, and
  >  programs -- all functions are treated equally, all processes are visible.
  >  Easy accessibility to all functions, variables, and constants --
  >  prototyping is much easier when one can steal from existing examples.
     [Smalltalk does this well.]

From: ian@sq.com (Ian F. Darwin)

  >  For a brief description of the salient features that I like
  >  about UNIX, please read the paper

  >  The UNIX Time-Sharing System
  >  D. M. Ritchie, K Thompson
  >  CACM 17 N 7, July 1974, pp 363.
  >  Revised edition in Bell System Tech J, V57, N6, July-Aug 1978.

  >  I have used more operating systems than I have fingers, and the
  >  reasons I prefer UNIX are in the paper, for the most part.

From: meissner@xyzzy.DG.COM

  Features in AOS and AOS/VS

  o  Generalized searchlists (where the searchlist is searched for all file
     accesses instead of just for execution requests)

  o  More powerful access control and more permissions
     [The best example I've seen of this is the Novell Advanced Netware
     package.  Novell allows you define multiple groups of
     individuals, name them, then give various rights for each file
     or directory according to group as well as individual names.  The
     result is effective, powerful, and, when combined with their user
     interface, very easy to use.]

  o  Screen-editing in all console I/O (so that your basic editing functions
     are always available)

From: John Hanley 

  >  Most important feature: coherent design

  o  A standard calling convention so that programs in one language can
     call programs in other languages (a la VMS)

  o  Integrated security

From: gerry@uunet.UU.NET (G. Roderick Singleton)

  >  I still like CP/M. For all its faults, it provided phenomenol control
  >  over the installed evironment even without sources.  The CP/M community
  >  added to its usefulness.

  o  A rich tool set (a la UNIX)

From: uunet!nuchat!sugar!peter

  >  Setuid bit in UNIX. Brilliance.
  >  UNIX directory structure. Inodes/links.
  >  Berkeley symbolic links.
     [Please explain.]
  >  VMS/AmigaDOS symbolic names.
     [Please explain.]
  >  RMD in RSX.
     [Please explain.]

  >  Signals in UNIX: in general being able to write interrupt-like handlers
  >  in a process context in a high level language.

  >  Message passing between totally isolated parts of the O/S in AmigaDOS.
  >  Makes it easy to add drivers.

  >  Being small and tight is good. Taking features out if it helps is good.
  >  Version 7 is a better designed O/S than either System V or Berkeley.

From: marzullo@gvax.cs.cornell.edu (Keith Marzullo)

  o  An integrated environment, and an open architecture

  >  I also have really appreciated all systems that support spy hooks, or
  >  what Jeff Mogul calls packet filters in his paper in the latest SOSP.
  >  Not only have they served as another way to quickly prototype protocol
  >  families, they allow one to write some very powerful monitoring tools.
     [Can you tell us more?]

From: sun!texsun!killer!jfh (The Beach Bum)

  >  RT-11.  I liked having real hardware sitting under my software.  When I
  >  wanted it.

From: sun!rutgers.edu!moss!ho95e!wcs (Bill Stewart)

  >  Features I've liked/disliked
  >
  >  Good-Automagic version files, a'la VMS.  Whenever you change a file,
  >  the old one is kept until you explicitly remove it.
  >
  >  Bad-Hierarchical file systems where you need different syntax for each
  >  level, or need to know what disk something is on, like DOS or VMS.
  >
  >  Bad-Operating Systems that "know" what your files look like
  >  (e.g. records).  It can be valuable to have headers in the
  >  file that identify it, but the OS should stay out of the way.

From: uunet!pwa-b!mmintl!franka (Frank Adams)

  >  I was very fond of the command processing on TOPS/20.  In particular:
  >
  >  Typing part of a command and question mark, the system tells you what
  >  commands start with the given prefix.
  >
  >  Typing escape in mid-command, the system guesses what you want next,
  >  complete with "guide words".  (If you don't like it, you can back up, of
  >  course.)
  >
  >  The fact that the commands were well-named was also a big plus.

From: hoptoad!pdnbah!reggie (George Leach)

  o  A hierarchical file system

  o  Heuristic command processing (a la above and Unix 8th edition)

From: "Michael A.  Patton" 

  >  It is really unfortunate that you set the criteria like you did!  I
  >  just received your message and it's already after 1 Dec 87.  There is
  >  an operating system (I.T.S.) which has had many features that are far
  >  superior (and it's had them for more than 10 years) but few people are
  >  familiar with it.  I would really have liked to describe these, but
  >  since the time limit was up before I got the request, I guess the
  >  world will go on losing for another ten years.

     [I tried to send you mail asking for more information, but your site
     insisted you didn't exist.  Could you post a listing of all those
     features you talk about?]

From:  Mark.G.Woodruff@Cup.Portal.Com

  o  Virtual Machines.  They allow you to code as close (or far) from the
     hardware as you like without sacrificing security.  They also aid
     tremendously when writing operating systems or hardware-dependent
     software.

  o  A common command language for both the editor and the shell.  With
     Rexx and Xedit under VM, you can use the same command language to
     write your editor macros and you shell scripts.  This also makes the
     editor a much more powerful tool for software building than any
     equivalent under Unix.

  o  An easy-to-learn command language.  Rexx is far easier to learn and use
     than any other interpreted language I've seen (including Basic, the
     shell and cshell languages, Logo, and Smalltalk).

  o  An object-oriented file system.  The designers of Unix made a serious
     mistake in forcing all objects in their file system to have the same
     format.  A much better approach would be to define a common protocol,
     then let each object decide how best to implement it.

  o  Long command and option names that can be abbreviated easily.  Unix
     is impossible for a novice to use without a manual in large part due
     to its poor user interface in this regard.

  o  Quiet commands.  There should be some way of making commands keep
     quiet under normal operation.  There isn't under VM or MS-Dos.

  o  A real-time kernal.  Essential for a great many tasks.

  o  A scheduler that takes terminal I/O into account (this is why VM can
     handle significantly more users gracefully than any other OS on a
     similar class of machine).

  o  Contiguous file allocation on large devices.  The additional overhead
     of discontiguous file allocation is unwarranted on modern hardware.

In closing, I'd strongly suggest any OS designers to investigate VM and Novell
Netware.  These two systems contain too many unique and useful ideas to be
overlooked.

Mark