|Front | Info | Lists | Newsfeeds | Study Guide | What is BSD?|
Old 1BSD software used today
Jeremy C. Reed
The first BSD -- the Berkeley UNIX Software Tape -- provided a variety of useful programs and utilities for UNIX circa 1977. (It didn't provide a kernel nor operating system.) In addition to Thompson's Pascal, ashell, various games, and over 50 useful tools, the first BSD also provided many enhanced programs derived from original Sixth Edition Unix and older source, including file, login, ls, nm, sh, size, su, and wc. Some other technologies also shipped in the first BSD include: htmp (home directory and teletype data base used by custom login and su), ttycap (terminal capability database), and ttytype (database for mapping teletypes to their types).
While some of the original BSD features are still in common use today, it is interesting to note that some of the then new programs are still included with BSD systems today -- and some have near the same code. These include:
colcrt emulates model 37 tty on a terminal. colcrt(1)'s current description: filter nroff output for CRT previewing. Code and documentation has nearly stayed the same.
colrm removes unwanted columns from a file. It was completely rewritten in 1991 for 4.4BSD.
ex, the text editor based on ed. It also included the TTY capabilities database and the beginnings of the "visual" command. While there was a significant rewrite -- nex/nvi -- which first appeared in 4.4BSD, some of the code remains the same.
expand expands tabs to spaces in a file. The code is mostly the same.
fold folds long lines for finite output devices. The short program was rewritten during the 1980's.
head gives the first few lines of a stream or of each of a set of files. (But mostly rewritten since then.)
last displays login history of named users or tty's. It has been significantly updated since then.
mkstr creates a string error message file by massaging C source. This is also still almost the same as the original.
reset and tset are used to set terminal modes. reset is used to set the teletype mode bits to be sensible: ``Very useful after crapping out in raw.'' They were rewritten and extended since then; and the the reset functionality was later merged into tset.
soelim is a filter to process n/troff input eliminating .so's. (The .so is the file include command; originally the phototypesetter software couldn't chdir to access that file.) This code also has stayed mostly the same.
I use some of these tools continually via scripts and manually often many times every day. Do you use any of this 1BSD (it wasn't called that then) code too?
For a few years, I have been interviewing, researching and writing toward a very detailed book about the history of Berkeley Unix. Just my chapter covering this mid-1970's BSD period includes over ten interviewees (including the co-father of Unix) and is over 15 pages (and 10,000 words). The 2BSD chapter is a lot longer.
I plan to commit this diff to NetBSD soon: http://reedmedia.net/~reed/netbsd/1bsd.man.diff.txt.
DiscussionDiscuss this article below.
BSD Links· Advocacy
· User Groups