Version 7 Unix
|Unixes by Bell|
Seventh Edition Unix, also called Version 7 Unix, Version 7 or just V7, was an important early release of the Unix operating system. V7, released in 1979, was the last Bell Laboratories release to see widespread distribution before the commercialization of Unix by AT&T Corporation in the early 1980s. V7 was originally developed for Digital Equipment Corporation's PDP-11 minicomputers and was later ported to other platforms.
Unix versions from Bell Labs were designated by the edition of the user's manual with which they were accompanied. Released in 1979, the Seventh Edition was preceded by Sixth Edition, which was the first version licensed to commercial users. Development of the Research Unix line continued with the Eighth Edition, which incorporated development from 4.1BSD, through the Tenth Edition, after which the Bell Labs researchers concentrated on developing Plan 9.
V7 was the first readily portable version of Unix. As this was the era of minicomputers, with their many architectural variations, and also the beginning of the market for 16-bit microprocessors, many ports were completed within the first few years of its release. The first Sun workstations (then based on the Motorola 68010) ran a V7 port by UniSoft; the first version of Xenix for the Intel 8086 was derived from V7; and Onyx Systems soon produced a Zilog Z8000 computer running V7. The VAX port of V7, called UNIX/32V, was the direct ancestor of the popular 4BSD family of Unix systems.
The group at University of Wollongong that had ported V6 to the Interdata 7/32 ported V7 to that machine as well. Interdata sold the port as Edition VII, making it the first commercial UNIX offering.
DEC distributed their own PDP-11 version of V7, called V7M (for modified). V7M, developed by DEC's original Unix Engineering Group (UEG), contained many enhancements to the kernel for the PDP-11 line of computers including significantly improved hardware error recovery and many additional device drivers. UEG evolved into the group that later developed Ultrix.
Due to its power yet elegant simplicity, many old-time Unix users fondly remember V7 as the pinnacle of Unix development and have dubbed it "the last true Unix," an improvement over all preceding and following Unices. At the time of its release, though, its greatly extended feature set came at the expense of a decrease in performance compared to V6, which was to be corrected largely by the user community.
Version 7 of the Research UNIX System provided about 50 system calls, 4.4BSD provided about 110, and SVR4 had around 120. The exact number of system calls varies depending on the operating system version. More recent systems have seen incredible growth in the number of supported system calls. Linux 3.2.0 has 380 system calls and FreeBSD 8.0 has over 450.
Released as free software
New features in Version 7
Many new features were introduced in Version 7.
- New commands: the Bourne shell, at, awk, calendar, cpio, f77, find, fortune, tar (replacing the tp command), touch
- Networking support, in the form of uucp and Datakit
- New system calls: access, acct, alarm, chroot (originally used to test the V7 distribution during preparation), ioctl, lseek (previously only 24-bit offsets were available), umask, utime
- New library calls: The new stdio routines, malloc, getenv, popen/system
- Environment variables
- A maximum file size of just over one gigabyte, through a system of indirect addressing
A feature that did not survive long was a second way (besides pipes) to do inter-process communication: multiplexed files. A process could create a special type of file with the
mpx system call; other processes could then open this file to get a "channel", denoted by a file descriptor, which could be used to communicate with the process that created the multiplexed file. Mpx files were considered experimental, not enabled in the default kernel, and disappeared from later versions, which offered sockets (BSD) or CB UNIX's IPC facilities (System V) instead (although mpx files were still present in 4.1BSD).
- Fiedler, Ryan (October 1983). "The Unix Tutorial / Part 3: Unix in the Microcomputer Marketplace". BYTE. p. 132. Retrieved 30 January 2015.
- Canter, Fred. "V7M 2.1 SPD" (PDF). Digital Equipment Corp. Retrieved 7 January 2012.
- Timar, Ted (1994-05-30). "A very brief look at Unix history". www.faqs.org. Retrieved 2008-05-16.
- Salus, Peter H. (2005). The Daemon, the Gnu and the Penguin. Groklaw.
- Stevens, W Richard. Rago, Stephen A. Advanced Programming in the UNIX Environment, 3rd Edition. 2013. p. 21
- "UNIX is free!". 2002-01-24.
- Broderick, Bill (January 23, 2002). "Dear Unix enthusiasts," (PDF). Caldera International. Archived from the original (PDF) on February 19, 2009.
- http://www.nordier.com/v7x86/index.html main page for UNIX v7/x86
- McIlroy, M. Douglas (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (Technical report). Bell Labs. CSTR 139.
- Thompson, Ken (1978). "UNIX Implementation". Bell System Technical Journal 57 (6): 1931–1946. doi:10.1002/j.1538-7305.1978.tb02137.x.
- Manual – Version 7 Unix Programmer's
- Manual – Version 7 Unix Programmer's
- Leffler, Samuel J.; Fabry, Robert S.; Joy William N.; Lapsley, Phil; Miller, Steve; Torek, Chris (1986). An Advanced 4.3 BSD Interprocess Communication Tutorial (Technical report). Computer Systems Research Group, University of California, Berkeley.
- Ritchie, Dennis M. (1984). "A Stream Input-Output System". AT&T Bell Laboratories Technical Journal (AT&T) 63 (8): 1897–1910. doi:10.1002/j.1538-7305.1984.tb00071.x. CiteSeerX: 10
.1 .1 .48 .3730.