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