# Unix Versie 7

Unix Versie 7 (Engels: Version 7 Unix, Seventh Edition Unix, Version 7) of kortweg V7 is een belangrijke vroege release van het Unix-besturingssysteem. Versie 7 werd uitgebracht in 1979 en was de laatste release van Bell Laboratories die op grote schaal werd verspreid voor de commercialisering van Unix door AT&T Corporation in de vroege jaren tachtig. Versie 7 is oorspronkelijk ontwikkeld voor de PDP-11-minicomputers van Digital Equipment Corporation en werd later overgezet naar andere platforms.

## Historische context

Unix-versies van Bell Labs werden aangeduid met de editie van de bijbehorende gebruikershandleiding. De zevende editie, die uitgebracht werd in 1979, werd voorafgegaan door de zesde editie die de eerste versie was die in licentie gegeven werd aan commerciële gebruikers. De ontwikkeling van de Research Unix-lijn ging nog door tot de tiende editie, waarna de onderzoekers van Bell Labs zich concentreerden op de ontwikkeling van Plan 9.
V7 was de eerste gemakkelijk overdraagbare versie van Unix. Aangezien dit het tijdperk was van minicomputers, met hun vele architecturale variaties, en ook het begin van de markt voor 16-bits microprocessors, werd deze versie binnen de eerste paar jaar na de release naar vele andere systemen geporteerd. De eerste Sun-werkstations, die gebaseerd waren op de Motorola 68000, hadden een V7-versie die door UniSoft geporteerd werd. De eerste versie van Xenix voor de Intel 8086 was eveneens afgeleid van V7 en Onyx Systems produceerde al snel een Zilog Z8000-computer met V7. De portering van V7 naar VAX, UNIX/32V genaamd, was de directe voorloper van de populaire 4BSD-familie van Unix-systemen.
De onderzoeksgroep aan de Universiteit van Wollongong die V6 naar de Interdata 7/32 had overgezet, heeft ook V7 naar die machine geporteerd. Interdata verkocht de port als Edition VII, waarmee dit het eerste commerciële UNIX-aanbod werd.
DEC verspreidde V7M, hun eigen PDP-11-versie van V7. V7M, dat ontwikkeld werd door DEC's oorspronkelijke Unix Engineering Group (UEG), bevatte veel verbeteringen aan de kernel voor de PDP-11-computerlijn, waaronder een aanzienlijk verbeterde afhandeling van hardwarefouten en veel extra stuurprogramma's. UEG evolueerde naar de groep die later Ultrix ontwikkelde.

## Nieuwe functies in Versie 7

Versie 7 introduceerde veel nieuwe functies, waaronder:
* Programmeertools: lex, lint en make.
** De Portable C Compiler (pcc) werd geleverd samen met de eerdere, PDP-11-specifieke, C-compiler van Ritchie. Deze verschenen voor het eerst in de Research Unix-lijn in Versie 7, hoewel vroege versies van sommige ervan al beschikbaar waren in PWB/UNIX.
* Nieuwe commando's: de Bourne-shell, at, awk, calendar, f77, fortune, tar (ter vervanging van het tp-commando), touch
* Netwerkondersteuning: UUCP en Datakit
* Nieuwe systeemaanroepen: access, acct, alarm, chroot, excece, ioctl, lseek, umask, utime
* Nieuwe bibliotheekoproepen: de nieuwe stdio-routines, malloc, getenv, popen/system
* Omgevingsvariabelen
* Een maximale bestandsgrootte van iets meer dan één gigabyte, via een systeem van indirecte adressering

### Gemultiplexte bestanden

Een functie die niet lang bestaan heeft, was een tweede manier (naast pipes) om communicatie tussen processen tot stand te brengen: gemultiplexte bestanden. Een proces kan een speciaal type bestand maken met de mpx-systeemaanroep. Andere processen zouden dit bestand dan kunnen openen om een "kanaal" te krijgen, aangegeven door een bestandsdescriptor, dat zou kunnen worden gebruikt om te communiceren met het proces dat het gemultiplexte bestand heeft gemaakt. Mpx-bestanden werden als experimenteel beschouwd, waren niet geactiveerd in de standaardkernel en verdwenen uit latere versies, die in plaats daarvan sockets (BSD) of IPC-faciliteiten (System V) boden.

## Ontvangst

Vanwege zijn kracht en toch elegante eenvoud herinneren veel Unix-gebruikers van het eerste uur zich V7 als het toppunt van Unix-ontwikkeling en hebben ze het "de laatste echte Unix" genoemd: een verbetering ten opzichte van alle voorgaande en volgende Unix-varianten. Ten tijde van de release ging de sterk uitgebreide functieset echter ten koste van verminderde prestaties in vergelijking met V6, wat naderhand grotendeels door de gebruikersgemeenschap zou worden gecorrigeerd.
Versie 7 van het Research UNIX-systeem bevatte ongeveer 50 systeemaanroepen, terwijl latere Unix- en Unix-achtige systemen er nog veel meer toevoegden: 4.4BSD had er ongeveer 110 en SVR4 ongeveer 120. Het exacte aantal systeemoproepen varieert afhankelijk van de versie van het besturingssysteem. Meer recente systemen hebben een ongelooflijke groei gekend in het aantal ondersteunde systeemoproepen. Linux 5.15.0 heeft 449 systeemaanroepen en FreeBSD 8.0 heeft er meer dan 450.

## Uitgebracht als vrije software

In 2002 gaf Caldera International V7 vrij als FOSS onder een BSD-achtige softwarelicentie.
Opstartbare images van V7 kunnen nog steeds worden gedownload en kunnen worden uitgevoerd op moderne computers met behulp van PDP-11-emulators zoals SIMH.
Een versie voor x86 is ontwikkeld door Robert Nordier.
* Dit artikel of een eerdere versie ervan is een (gedeeltelijke) vertaling van het artikel Version 7 Unix op de Engelstalige Wikipedia, dat onder de licentie Creative Commons Naamsvermelding/Gelijk delen valt. Zie de bewerkingsgeschiedenis aldaar.
* 1 2 3 (en) Fiedler, David, "The Unix Tutorial / Part 3: Unix in the Microcomputer Marketplace", BYTE, oktober 1983, pp. 132.
* ↑ (en) James W. Birdsall, The Sun Hardware Reference, Part II. “Sun-1's were the very first models ever produced by Sun. The earliest ran Unisoft V7 UNIX; SunOS 1.x was introduced later.”
* ↑ (en) Canter, Fred, V7M 2.1 SPD. Digital Equipment Corp.
* 1 2 3 (en) McIlroy, M. Douglas, A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986. Bell Labs (1987).
* ↑ (en) Thompson, Ken (1978). UNIX Implementation. Bell System Technical Journal 57 (6): 1931–1946. DOI:10.1002/j.1538-7305.1978.tb02137.x.
* ↑ (en) Leffler, Samuel J.; Fabry, Robert S.; Joy, William N.; Lapsley, Phil; Miller, Steve; Torek, Chris, An Advanced 4.3 BSD Interprocess Communication Tutorial. Computer Systems Research Group, University of California, Berkeley (1986).
* ↑ (en) Salus, Peter H. (2005). The Daemon, the Gnu and the Penguin. Groklaw. Gearchiveerd op 21 mei 2023. Geraadpleegd op 12 juni 2023.
* ↑ (en) Stevens, W. Richard, Rago, Stephen A. (2013). Advanced Programming in the UNIX Environment, 3rd Edition, pp. 21.
* ↑ (en) Caldera releases original unices under BSD license. slashdot.org (23 januari 2002).
* ↑ (en) UNIX is free!. lemis.com (24 januari 2002).
* ↑ (en) Broderick, Bill, Dear Unix enthusiasts. Caldera International (23 januari 2002). Gearchiveerd op 19 februari 2009.
* ↑ (en) Darwin, Ian F., Why Caldera Released Unix: A Brief History. Linuxdevcenter. O'Reilly Media (3 februari 2002). Gearchiveerd op 29 juli 2012.
* ↑ (en) Rober Nordier - v7/x86.