ITS-Unix Comparison

ITS Unix
System languages Midas Assembler, Maclisp C
Editors Teco, Emacs ed, vi
Documentation Info (hypertext) man (single pages)
Directory structure flat hierarchical
Process structure hierarchical, named hierarchical, numbered
File version numbers yes no
Security No passwords or file permissions, but users can be spied upon and "gunned" Passwords, file permissions, root privileges

On ITS, there is one directory for each user, and various system directories. Each file has two six-character SIXBIT names. Often the second name is a file version number. It is possible to access files on other ITS machines. The last directory and filenames used become the default filenames and don't need to be typed in the subsequent command.

Each user has a tree of processes, one of which is the default process.

One thing which is not generally available on Unix is the ability to disown processes, and to detach process trees, before logging out. This allows you to login somewhere else and reown or reattach them (or allow someone else to).

The two apparent strengths of Unix, its hierarchical file system and its security, can also be viewed as disadvantages. On Unix, going from one place in a directory tree to another is a problem, and users are forced to adopt various workarounds: I have used a bookmark script, coupled with a script that displays bookmarked pathnames as a menu, along with scripts to save and restore files (thereby avoiding typing long pathnames as mv parameters). I have seen others setting directories as environment variables. (A more modern approach, used in Eros, is to get rid of the concept of files and directories altogether and just have persistent objects.) Security is a social problem, for which Unix adopts a technological solution (like locks on doors), and ITS adopts a social solution (there's a Neigbourhood Watch scheme, and everyone carries a gun). ITS had surprisingly few problems with security while it ran at MIT. A later version of ITS did adopt passwords.

Unix Commands and their equivalents on ITS

On ITS, after you login, you are in the debugger (HACTRN) and run DDT commands from there. In Unix, the debugger (dbx or gdb) is separate from the shell.

Unix Command DDT Command Colon Command
login user user$U :login user
logout $$U :logout
ls -al dir dir^F :listf dir
mkdir dir ^R foo;..new. (udir) :print foo;..new. (udir)
rmdir dir empty directories are automatically deleted
ls / ^R m.f.d. (file) :print m.f.d. (file)
more file ^R file :print file
cp file1 file2 $^R file1,file2 :copy file1,file2
rm file ^O file :delete file
ln file1 file2 $^O file1,file2 :link file1,file2
mv file1 file2 $$^O file1,file2 :rename file1,file2
mv file dir :move file,dir
ps $$V :listj
ps -ef then kill -9 procid proc$J then $^X. :job proc then :kill
find -name file :find file


This page was linked to from

© Copyright Donald Fisk 2003