Unix Versie 7

Uit Wikipedia, de vrije encyclopedie
Unix Versie 7
Unix Versie 7 voor PDP-11 in de SIMH PDP-11 emulator
Ontwikkelaar(s) AT&T Bell Laboratories
OS-familie Unix
Voorganger Unix Versie 6
Opvolger Unix Versie 8
Bronmodel Aanvankelijk closed source, sinds 2002 open source
Uitgebracht 1979
Kerneltype monolithisch
Programmeertaal C, assembleertaal
Status historisch
Portaal  Portaalicoon   Informatica

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[bewerken | brontekst bewerken]

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.[1] 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.[2] 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.[3] UEG evolueerde naar de groep die later Ultrix ontwikkelde.

Nieuwe functies in Versie 7[bewerken | brontekst bewerken]

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.[4]
  • Nieuwe commando's: de Bourne-shell,[4] at, awk, calendar, f77, fortune, tar (ter vervanging van het tp-commando), touch
  • Netwerkondersteuning: UUCP en Datakit[4]
  • Nieuwe systeemaanroepen: access, acct, alarm, chroot, excece, ioctl, lseek, umask, utime
  • Nieuwe bibliotheekoproepen: de nieuwe stdio-routines,[1] malloc, getenv, popen/system
  • Omgevingsvariabelen
  • Een maximale bestandsgrootte van iets meer dan één gigabyte,[1] via een systeem van indirecte adressering[5]

Gemultiplexte bestanden[bewerken | brontekst bewerken]

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.[6]

Ontvangst[bewerken | brontekst bewerken]

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

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.[8]

Uitgebracht als vrije software[bewerken | brontekst bewerken]

Opstarten van Unix Versie 7 in een PDP-11 emulator.

In 2002 gaf Caldera International V7 vrij[9] als FOSS onder een BSD-achtige softwarelicentie.[10][11][12]

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.[13]