Unix

Question: Missä UNIX-järjestelmä kehitettiin?

Unix (tavaramerkitty kirjoitusasu UNIX) on laitteistoriippumaton käyttöjärjestelmä, jonka kehityksen aloittivat AT&T:n Bell Labsin työntekijät, ml. Ken Thompson ja Dennis Ritchie vuonna 1969. UNIX®-tavaramerkin omistaa The Open Group, ja sen ylläpitämän Single UNIX Specification -standardin täyttäviksi sertifioidut käyttöjärjestelmät (jollaisia ovat esimerkiksi Solaris, HP-UX, macOS ja AIX) saavat käyttää tätä nimeä.
Nykyään on olemassa useita alkuperäisestä Unixista polveutuvia käyttöjärjestelmiä, joista käytetään nimitystä Unix tai Unixin kaltaiset käyttöjärjestelmät. Toisinaan ”unixeihin” luetaan myös Linux, vaikkei se polveudu alkuperäisestä Unix-käyttöjärjestelmästä. Unix-sukuiset käyttöjärjestelmät ovat perinteisesti olleet suosittuja monen käyttäjän keskuskoneissa, palvelimissa ja tehokkaissa työasemakoneissa. 1990-luvulta alkaen niitä on käytetty yhä enemmän myös harrastajien ja peruskäyttäjien keskuudessa tavallisilla PC:n kaltaisilla koneilla ilmaisten ja vapaiden varianttien kuten Linuxin, NetBSD:n ja FreeBSD:n ilmestymisen myötä.
Historia

Unixin pääarkkitehteina toimivat Ken Thompson ja Dennis Ritchie, joista jälkimmäinen kehitti myös C-ohjelmointikielen järjestelmän pohjaksi. Kehitystyön aikana he olivat töissä AT&T-yhtiön tutkimuskeskuksen Bell Labsin Computer Research Groupissa (CRG). Unixin ensimmäinen versio tunnettiin myös nimellä UNICS ().[1]
1960-luvulla MIT, AT&T:n Bell Labs ja General Electric kehittivät Multics-käyttöjärjestelmää GE-645 -tietokoneelle. Tavoitteena oli kaupallinen tuote, josta tuli varsin epäonnistunut. Käyttöjärjestelmä pääsi lopulta myyntiin asti, mutta sen suorituskyky oli huono. AT&T päätti lähteä projektista ja siirtää voimavaransa muualle. Bell Labsin työntekijä Ken Thompson kirjoitti Multicsille pelin nimeltä ”Space Travel” ja siirsi pelin GECOS-käyttöjärjestelmälle. Hän kuitenkin huomasi, että peli oli liian hidas ja sen ajaminen vei 75 dollarin arvosta tietokoneaikaa. Tuolloin Thompson löysi käyttämättömän DEC PDP-7 -koneen, jossa oli hyvä grafiikkanäyttö ja kirjoitti pelin uudelleen assembly-kielellä sille.[2]
Peliä kehitettiin GE-635 -tietokoneella ja GECOS-käyttöjärjestelmällä, jolla se myös käännettiin ja siirrettiin paperinauhoilla PDP-7:lle.[3] Kesällä 1969 siihen lisättiin aluksi tiedostojärjestelmä, sitten komentotulkki, editori ja kääntäjä, jolloin järjestelmässä itsessään pystyi kääntämään ohjelmia. PDP-7-kone, jota ryhmä ei edes omistanut, vanheni nopeasti. Vuonna 1970 tilattiin PDP-11-kone 65000 dollarin hintaan. Tutkimusosaston päälliköt huomasivat käyttöjärjestelmän edut ja tukivat hanketta. Ensimmäinen Unixin hankkinut asiakas oli Bell Labs Patent Department, joka käsitteli patenttihakemuksia.[4]
Ensimmäinen versio Unixista oli kirjoitettu assemblyllä, mutta Thompson pyrki kirjoittamaan sen uudelleen korkean tason kielellä. Ensimmäinen yritys oli siirtää järjestelmä Fortranille 1971, mutta siitä luovuttiin ensimmäisenä päivänä. Tämän jälkeen hän kirjoitti B-ohjelmointikielen perustuen BCPL-kieleen. Ritchie lisäsi B:hen tyyppijärjestelmän, ja antoi sille aluksi nimen NB (New B) ja alkoi kirjoittaa kääntäjää. Kesällä 1972 Unix kirjoitettiin uudelleen NB:stä kehitetyllä C-kielellä.[5]
Vuosina 1976–1977 Ken Thompson otti kuuden kuukauden vapaan Bell Labsilta ja opetti Kalifornian yliopiston Berkeleyn kampuksella tietojenkäsittelytieteen laitoksella Unixin pohjalta. Siellä hän kehitti myös Version 6 Unixin (V6), joka oli ensimmäinen laajasti Bell Labsin ulkopuolelle levinnyt. Järjestelmä levisi nopeasti akateemisessa maailmassa. Thompsonin palattua Bell Labsiin Berkeleyn tutkijat ja opiskelijat jatkoivat Unixin kehittämistä. Näistä tuloksista tuli lopulta Berkeley Software Distribution (BSD) Version 4.2, jonka monet yliopistot ostivat. Vuodesta 1975 Unixia myytiin sekä halpoina akateemisina versioina että valtion laitoksille. UCB perusti Computer Systems Research Groupin, joka sai myös liittovaltion DARPAn rahoitusta. CSRG teki suuren osan TCP/IP:n kehitystyöstä.[6] Professori John Lionsin kirjan Lions' Commentary on UNIX 6th Edition, with Source Code (1976), joka sisälsi myös järjestelmän täydellisen lähdekoodin, myötä Unixista tuli suosittua opetusmateriaalia. Vuoteen 1978 mennessä Unixia käytti yli 600 tietokonetta. 
Vuonna 1984 AT&T hajotettiin monopolioikeudenkäynnin seurauksena seitsemään erilliseen yhtiöön, ja se perusti tietotekniikkaliiketoimintaa varten AT&T Computer Systems -yksikön. AT&T julkaisi 1983 Unix System V -järjestelmän, joka toimi AT&T:n 3B-sarjan tietokoneilla. AT&T:n Unix-liiketoiminta yhtiöitettiin 1989 UNIX Software Operationiksi ja Bell Labsilla perustettiin myös 1989 UNIX System Laboratories. USO ja USL yhdistyivät 1990 ja siitä tuli AT&T:n tytäryhtiö.[7]
Tästä syntyi vielä nykypäivänäkin selvästi näkyvä ero kahden Unix-päähaaran välillä. Osa nykyisistä Unix-järjestelmistä polveutuu Berkeleyn yliopiston Berkeley Software Distribution (BSD) -haarasta, osa taas System V Release 4 (SVr4) -haarasta.
Bell Labs siirtyi kehittämään Plan 9 -käyttöjärjestelmää Research Edition 10:n julkaisun jälkeen.
Vuonna 1992 AT&T haastoi BSD-haaran kehittäjät Berkeley Software Design, Inc:in ja Californian yliopiston oikeuteen ja väitti tuotteen sisältäneen AT&T:n koodia. Unix Systems Laboratories (USL) myytiin vuonna 1992 Novellille.
Näiden lisäksi useat eri tahot ovat kehittäneet Unix-yhteensopivia käyttöjärjestelmiä. Yksi BSD:n pääkehittäjistä, Bill Joy oli perustamassa Sun Microsystemsia 1982. Sun kehitti SunOS-käyttöjärjestelmän aluksi BSD:hen perustuen ja versiosta 5.0 System V:hen perustuen. Vuonna 1980 Microsoft julkaisi 16-bittisen Xenixin, jonka Santa Cruz Operation siirsi Intel 8086 -suorittimelle ja nimesi SCO UNIXiksi 1989. Vuonna 1990 Open Software Foundation julkaisi OSF/1:n Mach-mikroytimeen ja BSD:hen perustuen. OSF/1:stä tuli Digital UNIX vuonna 1995.
Bob Swartz kehitti ja julkaisi kaupallisen järjestelmän nimeltä Coherent vuonna 1983. Andrew Tanenbaum kehitti käyttöjärjestelmäkurssiaan ja oppikirjaansa varten järjestelmän nimeltä MINIX vuonna 1986.
Richard Stallman aloitti vuonna 1983 GNU-projektin Unix-tyylisen vapaan käyttöjärjestelmän luomiseksi.
Suomalainen Linus Torvalds aloitti Linux-ytimen kehityksen 1990-luvun alussa.
Unixin standardointi
Unixin ja C-ohjelmointikielen suosio ja niiden monet eri versiot ja kloonit aiheuttivat tarpeen standardoida Unix ja sen C-kirjasto. POSIX-standardeilla pyritään siihen, että ohjelmoijat voivat kehittää komentojonotiedostoja ja ohjelmia, jotka toimivat kaikissa POSIX-yhteensopivissa käyttöjärjestelmissä. Ensimmäinen POSIX-standardi, IEEE std 1003.1, julkaistiin 1990-luvun alussa. Unix-yhtiöiden yhteenliittymä, X/Open, nykyiseltä nimeltään The Open Group, alkoi myös julkaista POSIXia laajempia X/Open Portability Guide eli XPG-määrittelyjä vuodesta 1985 alkaen. Novellin luovutettua UNIX-tavaramerkin X/Open-konsortiolle, se alkoi julkaista Single UNIX Specification-standardeja. Vuodesta 1999 lähtien IEEE:n POSIX- ja Open Groupin SUS-määrittelyjä on kehitetty yhteisessä työryhmässä nimeltä Austin group.
Unix-versiot
Historialliset versiot
Versiot 1..7 kehitettiin 16-bittiselle PDP-11:lle.
Ensimmäinen 32-bittinen versio ("32V") kehitettiin VAX:lle.
Research Edition -nimeä käytetään PDP-7-, PDP-11- ja VAX-alustoille kehitetyistä versioista.
Myöhemmin julkaistut System III ja System V olivat perustana useiden muiden "valmistajien" kaupallisille Unixeille.
Unixista oli myös Programmer's Workbench -julkaisu (PWB/UNIX).
Myöhempiä Unix-versioita
BSD-tyylisiä kaupallisia Unixeja:
Applen macOS (edeltäjä Apple Darwin)
Digital Equipment Corporationin Ultrix ja Tru64 UNIX
NeXTin Nextstep
Sun Microsystemsin SunOS 4 ja sitä varhaisemmat versiot
BSD/OS
SCO:n OpenServer 10
BSD-tyylisiä Unixeja:
FreeBSD: keskittynyt suorituskykyyn
OpenBSD: keskittynyt turvallisuuteen
NetBSD: keskittynyt laitteistoriippumattomuuteen, toimii lukuisilla alustoilla
386BSD: varhaisia IBM PC -yhteensopiville tarkoitettuja
System V R4-tyylisiä Unixeja:
Commodoren Amiga UNIX
Hewlett Packard Enterprise:n HP-UX
IBM:n AIX
OpenServer 5 & 6 (sekä aiemmat versiot, sisältäen Xenix, SCO Unix, SCO Xenix)
Novell UnixWare
Silicon Graphicsin IRIX
Sun Microsystemsin Solaris
illumos ja sen edeltäjä OpenSolaris
Muut:
IBM:n z/OS (ei varsinainen Unix, mutta sertifioitu yhteensopivuuden takia)
Huawein EulerOS
Unix-klooneiksi kutsuttuja:
GNU/Hurd
Linux-käyttöjärjestelmät (joista Inspur K-UX:llä on virallinen Unix-sertifiointi)
MINIX
Coherent
Nykyään ylläpidettävät viralliset Unix-sertifioidut käyttöjärjestelmät ovat AIX, EulerOS, HP-UX, Inspur K-UX, MacOS, OpenServer 5, 6 & 10, Solaris (kehitys lopetettiin 2017), z/OS
Useimmat niin kutsutut kaupalliset Unixit ovat tietokonevalmistajien kehittämiä ja tarkoitettu käytettäviksi nimenomaan valmistajan omilla laitteilla. Esimerkiksi Sun Solaris on tarkoitettu käytettäväksi Sunin omilla SPARC-pohjaisilla koneilla, vaikka siitä onkin versioita myös X86-laiteympäristölle. Linux, FreeBSD ja muut sen kaltaiset vapaat käyttöjärjestelmät eroavat tässä suhteessa kaupallisista Unixeista. Ne on tarkoitettu nimenomaan PC:n kaltaisille koneille, joille ei ole ”omaa” Unix-käyttöjärjestelmää. Nykyään osaa näistä järjestelmistä, varsinkin NetBSD ja Linux, on sopeutettu toimimaan hyvin erilaisissa laitteissa, myös perinteisissä Unix-koneissa.
Lähdekoodit
Unix Heritage Society (entinen. Unix Preservation Society) on koostanut alkuperäisen Unixin lähdekoodit versiohistorioineen julkiseen projektiin..[8] Useilla Unixin käyttäjillä oli täydet Unixin lähdekoodit mutta ei lupaa jakaa niitä.[8]
Caldera on julkaissut varhaiset versiot Seventh Edition ("V7", 1979) ja VAX-versioon ("32V") saakka vuonna 2002 BSD-lisenssillä.[9]
Nokia-Alcatel-Lucent on sallinut Unix Research Edition versioiden 8, 9 ja 10 lähdekoodien julkaisun.[10][11] Julkaisu ei tarkoita avointa lähdekoodia.[12]
Varhaisimmat versiot lähdekoodeista eivät olleet tallennettuna versionhallintajärjestelmässä kehityksen aikana.[8]
Myöhemmät kehitysvaiheet on tallennettu SCCS-versionhallintajärjestelmään mutta silloinkaan kaikkia tiedostoja ei ole tallennettu.[8]
Katso myös
QNX
POSIX
Linux
LUnix
Unixin kaltainen käyttöjärjestelmä
Luettelo käyttöjärjestelmistä
Lähteet

Kirjallisuutta
Citation error, replace with{{cite book| author = Kernighan, Brian W.; Pike, Rob| title = The UNIX Programming Environment| publisher = Prentice-Hall, Inc., copyright Bell Laboratories| year = 1984| id = ISBN 0-13-937681-X| pages = 1–357}}
Aiheesta muualla



, hieno perinteisiin unix-järjestelmiin keskittynyt sivusto Transclusion error: {{En}} is only for use in File namespace. Use {{lang-en}} or {{en icon}} instead.
, oppaita eri unix-järjestelmiin Transclusion error: {{En}} is only for use in File namespace. Use {{lang-en}} or {{en icon}} instead.
Transclusion error: {{En}} is only for use in File namespace. Use {{lang-en}} or {{en icon}} instead.
 Transclusion error: {{En}} is only for use in File namespace. Use {{lang-en}} or {{en icon}} instead.
, kritiikkiä, huumoria Transclusion error: {{En}} is only for use in File namespace. Use {{lang-en}} or {{en icon}} instead. (pdf)
 Transclusion error: {{En}} is only for use in File namespace. Use {{lang-en}} or {{en icon}} instead.
*
Luokka:Seulonnan keskeiset artikkelit
Luokka:Bell Labs