Unix
Kehittäjä Bell Labs
Ohjelmointikielet Assembly, C

Unix (tavaramerkitty kirjoitusasu UNIX) on käyttöjärjestelmä, jonka kehityksen aloittivat AT&T:n Bell Labsin työntekijät, ml. Ken Thompson ja Dennis Ritchie vuonna 1969.[1][2] Unixia on sanottu kaikkien aikojen vaikutusvaltaisimmaksi käyttöjärjestelmäksi.[1][3]

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 saavat käyttää tätä nimeä. UNIX 03 -sertifikaatti on vuonna 2019 AIX-, HP-UX-, macOS- ja Solaris-käyttöjärjestelmillä.[4]

Nykyään on olemassa useita alkuperäisestä Unixista polveutuvia tai sen kanssa yhteensopivia käyttöjärjestelmiä, joista käytetään nimitystä Unix tai Unixin kaltaiset käyttöjärjestelmät.[5] Linux on riippumaton Unixin kaltainen käyttöjärjestelmä, joka ei polveudu alkuperäisestä Unix-käyttöjärjestelmän lähdekoodista.[5] Unix-sukuiset käyttöjärjestelmät ovat perinteisesti olleet suosittuja monen käyttäjän keskuskoneissa, supertietokoneissa, palvelimissa ja tehokkaissa työasemakoneissa. 1990-luvulta alkaen niitä on käytetty yhä enemmän myös harrastajien ja peruskäyttäjien keskuudessa tavallisilla IBM PC:n kaltaisilla koneilla ilmaisten ja vapaiden varianttien kuten Linuxin, NetBSD:n ja FreeBSD:n ilmestymisen myötä. Myös älypuhelimet käyttävät Unixin kaltaista käyttöjärjestelmää (iOS, Android).

Unix oli ensimmäinen siirrettävä käyttöjärjestelmä, joka oli 1970-luvun puoliväliin mennessä saatavilla eri laitealustoille ja yhteiset työkalut olivat helposti siirrettävissä eri alustoille.[6]

Historia

Unixin pääarkkitehteina toimivat Ken Thompson ja Dennis Ritchie, joista jälkimmäinen kehitti myös C-ohjelmointikielen.[1] Kehitystyön aikana he olivat töissä AT&T-yhtiön tutkimuskeskuksen Bell Labsin Computing Sciences Research Centerissä.[2][7] Vuodesta 1964 alkaen osaston henkilöt työskentelivät Multics-projektin parissa.[2] Unixin varhainen versio tunnettiin myös nimellä UNICS (lyhenne sanoista Un-multiplexed Information and Computing Service).[3] Nimeä ehdotti Brian Kernighan 1970-luvun puolella sanaleikkinä Multicsista (lyhenne sanoista Multiplexed Information and Computing Service).[8][9]

1960-luvulla MIT, AT&T:n Bell Labs ja General Electric (GE) kehittivät Multics-käyttöjärjestelmää GE-645-suurtietokoneelle, joka maksoi vuonna 1965 lähes yhtä paljon kuin Boeing 737.[1] Multicsin parissa Bell Labsilla työskentelivät Rudd Canaday, Ken Thompson, Dennis Ritchie ja Malcolm Douglas McIlroy.[1] Multics-projektin tavoitteena oli laskentakapasiteetin saatavuus kuten sähkön tai puhelimen saatavuus.[1] Järjestelmä oli myöhässä, ylittänyt budjetin ja ei täyttänyt odotettua toiminnallisuutta.[1] Osasyyksi ongelmiin mainitaan virheelliset tuhansien sivujen määrittelyt ja GE-645:n hankala arkkitehtuuri.[1] Kehitykseen vaikuttaneilla osapuolilla oli myös erilaisia tavoitteita: GE halusi ”vahvistaa tuotelinjaa”, MIT halusi ”kehittää viimeisintä tekniikkaa” ja Bell Labs halusi hyvän ympäristön työtä varten.[10] Käyttöjärjestelmä pääsi lopulta myyntiin asti, mutta sen suorituskyky oli huono.[11] AT&T päätti lähteä projektista ja siirtää voimavaransa muualle.[12] Pian projektin päättymisen jälkeen GE-645 vietiin pois.[1][13] Bell Labsin ryhmä alkoi etsiä vaihtoehtoja yhteistyöhön soveltuvalle ”aikajakavalle” osituskäyttöjärjestelmälle.[1]

Thompson oli kirjoittanut Multicsille pelin nimeltä ”Space Travel”, muunsi sen Fortranille ja siirsi pelin GECOS-käyttöjärjestelmälle.[8][3] Hän kuitenkin huomasi, että peli oli liian hidas ja sen ajaminen vei 75 dollarin arvosta tietokoneaikaa.[3] Pelissä oli simulaatio aurinkokunnan merkittäville kappaleille ja pelaaja ohjasi avaruusalusta, jolla voi yrittää laskeutua planeetoille ja kuille.[8] Thompson löysi akustiikkalaboratorion käyttämättömän DEC PDP-7 -koneen, jossa oli hyvä grafiikkanäyttö ja kirjoitti pelin uudelleen Ritchien kanssa assembly-kielellä sille.[1][14][8] Peliä varten kehitettiin muun muassa toiminnot liukulukuaritmetiikkaan, graafisten merkkien esitykseen ja debuggaamiseen.[8] Peliä kehitettiin GE-635-tietokoneella ja käännettiin GECOS:illa, josta se siirrettiin reikänauhoilla PDP-7:lle.[13][8]

Kesällä 1969 Thompson, Ritchie ja Canaday suunnittelivat tiedostojärjestelmän perusteet tiedostojen hallintaan.[1] Eräajoon suunniteltujen tietokoneiden ei yleensä tarvinnut säilöä tietoja pysyvästi, joka aiheutti haasteita.[1] Elokuussa Thompson kehitti assemblerin (as), tiedostoeditorin ja ytimen.[1] Thompson teki myös karkean komentotulkin (sh) ja yksinkertaisia komentoja (vastaavia kuten Unixin rm, cat ja cp -komennot).[13] Tämän jälkeen järjestelmässä itsessään pystyi kääntämään ohjelmia.[13] Thompson suunnitteli ytimen yksinkertaiseksi, jossa ei ollut komentokieltä kuten Multicsissa vaan se käsiteltiin yhtenä käyttäjäsovelluksena.[10][15] Ytimessä ei ollut tiedostomuotoja vaan tiedostot olivat vain yksiulotteinen joukko tavuja.[10][15] Järjestelmään syntyi varhain prosessit, joita oli yksi päätettä kohden.[8] Uuden prosessin luomiseen käytettiin fork- ja exec-kutsuja, joka oli yksinkertaisempi toteuttaa kuin yhdistetty kutsu ja jota vastaava oli käytössä muun muassa Berkeley Time-Sharing System -järjestelmässä.[8] Vuoronnukseen oli käytössä yksinkertainen prioriteettipohjainen algoritmi.[15] Vuonna 1969 Doug McIlroy oli tehnyt järjestelmän ensimmäisen korkean tason kielen, joka oli toteutus R. M. McCluren TMG:stä (ohjelmointikielen kääntäjän kirjoittamiseen tarkoitettu kieli, ”kääntäjän kääntäjä”, TransMoGrifier).[13][16][8] Syyskuussa 1969 Bell Labsin tietokoneosastolla oli toimiva monen käyttäjän osituskäyttöjärjestelmä, johon osastolla ei vielä ollut massamuistia.[1]

Toukokuussa 1970 tilattiin PDP-11-minitietokone 65 000 dollarin hintaan: perusteeksi hankinnalle kerrottiin työkalujen kehittäminen tekstin editointiin ja muokkaamiseen.[17][3] Myös akustiikkalaboratorion Max Mathews lupasi alkurahaa tietokoneen hankintaan.[18] Koska Unixissa ei tuolloin ollut moniohjelmointia (vain yksi prosessi käyttäjää kohden) sen siirtäminen PDP-7:ltä PDP-11:lle oli siirtokirjoitusta vastaavaa.[8] Ensimmäinen Unixin hankkinut asiakas oli Bell Labs Patent Department, joka käsitteli patenttihakemuksia.[17][8] Myöhemmin käyttöjärjestelmästä välittyi tieto muille PDP-11-konetta käyttäville, jotka pyysivät sitä myös omaan käyttöönsä.[1] Käyttöjärjestelmää välitettiin halukkaille postituskulujen ja tallennusmedian hinnalla.[1]

Ensimmäinen Unix Programmer's Manual on päivätty 3. marraskuuta 1971.[19] Kirjoittamisen aikaan järjestelmä oli jo siirretty (”kirjoitettu uudelleen”) PDP-7:ltä PDP-11:lle, jolloin se oli vielä tehty assemblyllä.[19] Kirjoittamisen hetkellä UNIX-aikaa mitattiin sekunnin kuudeskymmenesosissa, joka riitti vain 2,5 vuodeksi ja muutettiin myöhemmin täysille sekunneille.[19]

Thompson aloitti järjestelmän siirtämisen Fortranille, mutta luopui siitä nopeasti.[13] Tämän jälkeen Thompson kirjoitti B-ohjelmointikielen perustuen BCPL-kieleen (tai toisen teorian mukaan Thompsonin Bon-kieleen).[13] Ritchie lisäsi B:hen tyyppijärjestelmän, ja antoi sille aluksi nimen NB (”New B”) ja alkoi kirjoittaa kääntäjää.[13] Kesällä 1972 Unix kirjoitettiin uudelleen NB:stä kehitetyllä C-kielellä.[20][21] Vuoden kuluessa C:tä käytettiin myös Honeywell 6000 -tietokoneilla ja pian sen jälkeen IBM 310 -sarjan koneilla.[21] Käyttöjärjestelmien välisten erojen vaikutus ohjelmien siirtämiseen johti tuolloin radikaaliin ajatukseen siirtää myös itse käyttöjärjestelmä eri laitteistolle vähentäen eroja.[21]

Unix-putkien kehitys johti useisiin toisiinsa liitettävien työkaluohjelmien kuten grep ja sed kehittämiseen, joka vaikutti koko käyttöjärjestelmän filosofiaan.[22][23][7][24]

Ritchien ja Thompsonin kirjoitus käyttöjärjestelmästä julkaistiin Communications of the ACM -lehdessä heinäkuussa 1974.[3][25] Paperin mukaan ensimmäinen versio Unixista oli PDP-7- ja PDP-9-tietokoneille, toinen versio PDP-11/20-tietokoneelle ja kolmas PDP-11/40- ja PDP-11/45-tietokoneille.[25] Paperissa mainittiin sen olevan usean käyttäjän käyttöjärjestelmä, jossa on ominaisuuksia, joita on harvoin suuremmissakaan käyttöjärjestelmissä: muun muassa hierarkkinen tiedostojärjestelmä ja kyky käynnistää asynkronisia prosesseja.[25] Hierarkkinen tiedostojärjestelmä mahdollisti tiedostojen sijoittamisen hakemistoihin.[3] Paperissa mainittiin myös, että tehokas käyttöjärjestelmä ei tarvitse olla kallis laitteilta tai ihmisten työmäärältä: käyttöjärjestelmää voitiin suorittaa jopa alle 40 000 dollarin laitteistolla ja alle kaksi miestyövuotta käytettiin järjestelmäohjelmiston kehittämiseen.[25] Paperin päivitetyssä versiossa mainittiin kolmannen version tukevan moniohjelmointia, lueteltiin lisää yhteensopivia PDP-11-versioita ja kuvattiin neljäs versio, jota voitiin käyttää Interdata 8/32 -tietokoneella.[26]

AT&T oli tehnyt vuonna 1956 sopimuksen, joka esti sitä myymästä tuotteita, jotka eivät suoraan liittyneet puhelimiin tai telekommunikaatioon johtuen monopolisäädännöstä.[3] Tämän vuoksi käyttöjärjestelmää ei voitu myydä tuotteena ja AT&T päätyi julkaisemaan lähdekoodit kaikille sitä pyytäville nimellistä maksua vastaan.[3] AT&T ei voinut myöskään tarjota tukea käyttöjärjestelmälle, mikä johti varhaisten käyttäjien perustamiin käyttäjäryhmiin kuten Usenix.[3]

Unix oli ensimmäisiä käyttöjärjestelmiä, joissa käyttöliittymä oli erillinen itse käyttöjärjestelmästä.[27] Vuonna 1975 Bell Labsille tullut Stephen Bourne kehitti ohjelmoitavan Bourne shell -komentotulkin korvaamaan Thompsonin yksinkertaisemman komentotulkin.[28] Ensimmäinen laajalti käytetty vaihtoehtoinen komentotulkki oli C shell.[27]

1970-luvun puolivälissä Thompson lähti hetkeksi Bell Labsilta ja opetti Kalifornian yliopiston Berkeleyn kampuksella (UCB).[29] Berkeleyssä otettiin tuolloin käyttöön versio 6 Unix (V6), joka oli ensimmäinen laajasti Bell Labsin ulkopuolelle levinnyt.[30] Kuudetta versiota levitti Western Electric sen lisensoineille.[31] Berkeleyssä oli juuri saatu PDP-11, johon Thompson auttoi asentamaan v6 Unixin.[32] AT&T:llä oli käytössä jatkuvasti kehittyviä versioita, joissa tärkeitäkin korjauksia, kun taas muualla oli käytettävä julkaisuversioita (v4, v5, v6..).[33] Tästä sai alkunsa ”50 muutosta”, jonka AT&T ei halunnut leviävän tiukan ”ei tukea” -säännön johdosta.[33] AT&T:n versio 7 julkaistiin vuonna 1979 ja siihen sisältyi UCB:n tekemiä muutoksia.[30] Berkeleyssä sai alkunsa tutkijoiden ja opiskelijoiden tekemät muutokset AT&T:n Unixiin, joka aluksi levisi nimellä ”Berkeley Unix” ja myöhemmin täysi Unix-julkaisu nimeltä Berkeley Software Distribution (BSD).[34][35][36] Bill Joyn ja muiden opiskelijoiden tekemät muutokset levisivät tutkijapiireissä moneen yliopistoon.[34][36] UCB perusti Computer Systems Research Groupin DARPAn rahoituksella kehittämään Unixia.[35] CSRG teki suuren osan TCP/IP:n kehitystyöstä.[37] Australiassa opettava professori John Lions julkaisi vuonna 1977 sen ajan kuuluisan kirjan A Commentary on the Unix Operating System, joka sisälsi myös järjestelmän täydellisen lähdekoodin.[3] Kirjaa käytettiin materiaalina käyttöjärjestelmiin liittyvillä kursseilla ympäri maailman.[2] Vuonna 1979 AT&T kuitenkin puuttui kirjan levittämiseen.[3]

Vuosina 1976–1977 käyttöjärjestelmän ydin siirrettiin VM/370 virtualisoidulle alustalle.[21] Vuonna 1977 Interactive Systems Corporation oli ensimmäinen joka myi Unixia loppukäyttäjille käyttäjätuettuna tuotteena.[38] Vuoteen 1978 mennessä Unixista oli versio myös 32-bittiselle Interdata 8/32 -koneelle, joka erosi merkittävästi PDP-11:stä ja muistutti IBM System/360- ja IBM System/370 -koneita.[21] Interdata 8/32:lle siirtämisen jälkeen seurasi versio DEC VAX 11/780:lle, josta tuli paljon suositumpi kuin Interdatasta.[13][39]

Vuonna 1977 Unixia käytettiin yli 300 tietokoneessa.[2] Vuoteen 1978 mennessä Unixia käytti yli 600 tietokonetta.[2] Vuonna 1987 myytiin yli 300 000 Unixia, Unixien kokonaismäärän ylittäessä 750 000 luvun.[40]

1980-luvun alkupuolella ilmestyivät ensimmäiset kirjat Unixista: Stephen Bournen The Unix System ja Brian Kernighanin ja Rob Piken The Unix Programming Environment.[41]

Vuonna 1984 AT&T hajotettiin monopolioikeudenkäynnin seurauksena seitsemään erilliseen yhtiöön.[42] AT&T menetti alueelliset operaattorit säilyttäen kaukopuheluiden verkon, mutta sai vastineeksi oikeuden osallistua tietokoneliiketoimintaan.[43][42] Yhtiö perusti AT&T Computer Systems -yksikön, joka julkaisi kaupallisen Unix System III -version.[13][30] AT&T julkaisi 1983 Unix System V -järjestelmän, jonka laajalti levinnyt versio System V Release 4 julkaistiin vuonna 1989.[30] System V toimi AT&T 3B -sarjan tietokoneilla.[44] AT&T:n UNIX System Group (USG) järjestettiin uudelleen 1989, jolloin perustettiin UNIX Software Operation (USO) ja UNIX System Laboratories (USL).[44] USO ja USL yhdistyivät 1990 ja siitä tuli AT&T:n tytäryhtiö.[44]

1980-luvun lopulla Bell Labs siirtyi kehittämään Plan 9 -käyttöjärjestelmää.[45]

Vuonna 1992 AT&T haastoi BSD-haaran kehittäjät Berkeley Software Designin ja Kalifornian yliopiston oikeuteen väittäen BSD:n sisältäneen AT&T:n omistamaa koodia.[46] Osana kiistan sovitusta osa ohjelmakoodista toteutettiin uudestaan, osa poistettiin ja osaan lisättiin maininta AT&T:n tekijänoikeudesta.[47][48] Unix System Laboratories (USL) myytiin vuonna 1993 Novellille, joka myi UnixWare-liiketoiminnan Santa Cruz Operationille (SCO) vuonna 1995.[49][50][51]

Unixin standardointi

Unixin ja C-ohjelmointikielen suosio ja niiden monet eri versiot ja kloonit aiheuttivat tarpeen standardoida Unix ja sen C-standardikirjasto. POSIX-standardeilla pyritään siihen, että ohjelmoijat voivat kehittää komentojonotiedostoja ja ohjelmia, jotka toimivat kaikissa POSIX-yhteensopivissa käyttöjärjestelmissä.

1980-luvulla Unix-yhtiöiden yhteenliittymä X/Open muodostettiin julkaisemaan POSIXia laajempia X/Open Portability Guide (XPG) -määrittelyjä.[52] AT&T julkaisi System V Interface Definition (SVID) -määrittelyn ja IEEE julkaisee ensimmäisen POSIX-standardin.[53][54] POSIX nimi tarkoitti aluksi IEEE-standadia IEEE Std 1003.1-1988, mutta laajeni myöhemmin käsittämään sen muita osia IEEE Std 1003.1-1988.n.[54] POSIX on myös ISO-standardi ISO/IEC 9945.[54] POSIX sisältää myös laajennuksia ISO C -standardiin.[55] POSIX-standardi ratifioitiin vuonna 1988 ja laajennettiin vuonna 1990 kansainväliseksi ISO-standardiksi.[56] Yhdysvaltalaisella NIST:llä oli myös FIPS Pub 151-1 -määrittely.[56]

X/Open-konsortion aloittama työ eteni Common API Specification -määrittelystä, muuttui Spec 1170 -määrittelyksi ja lopulta Single UNIX Specification (SUS) -standardiksi.[57] Standardi yhdistää neljä Unixiin liittyvää elementtiä: määrittely (kuten SVID), teknologia (kuten SVR4), tavaramerkki ja tuote (kuten UnixWare).[57] X/Open yhdistyi vuonna 1996 Open Software Foundationin kanssa The Open Groupiksi.[58] Vuodesta 1999 lähtien IEEE:n POSIX- ja Open Groupin SUS-määrittelyjä on kehitetty yhteisessä työryhmässä nimeltä Austin Group.[54]

ISO/IEC 23360-1:2006 -standardoitu Linux Standard Base pyrkii yhteensopivuuteen useiden Unix-standardien kanssa.[59][60]

Unix-versiot

Yksinkertaistettu kaavio keskeisten Unixin ja Unixin kaltaisten järjestelmien sukupuusta.

Historialliset versiot (AT&T)

UNIX Time-Sharing System versiot 1..7 kehitettiin 16-bittiselle PDP-11:lle ja 32-bittisille tietokoneille kuten Interdata 8/32 ja VAX.[26][30] Nimeäminen on UNIX Programmer's Manualin mukainen (nth Edition) julkaisuhetkellä.[61]

VAX:lle kehitettyä 32-bittistä versiota kutsuttiin myös lyhyesti ”32V” tai ”32/V”.[39][62]

Research Edition -nimeä käytetään PDP-7-, PDP-11- ja VAX-alustoille kehitetyistä versioista.

Unixista oli myös Programmer's Workbench -julkaisu (PWB/UNIX), jossa oli myös Bell Labsissa kehitetty varhainen versionhallintajärjestelmä Source Code Control System (SCCS).[63][64][65] Julkaisussa oli myös Stuart Feldmanin kehittämä make.[7][63]

Kaupallisesti julkaistut System III ja System V olivat perustana useiden muiden ”valmistajien” kaupallisille Unixeille.[30] System III perustui versio 7:lle (System I ja System II eivät koskaan olleet olemassa).[66] System IV ei nähnyt päivänvaloa AT&T:n ulkopuolella.[66]

Muiden valmistajien Unix-versioita

Useat eri tahot ovat kehittäneet Unix-yhteensopivia käyttöjärjestelmiä. BSD:n kehitykseen vaikuttanut Bill Joy siirtyi Sun Microsystemsille vuonna 1982 kehittämään käyttöjärjestelmää.[34] Sun kehitti SunOS-käyttöjärjestelmän aluksi BSD:hen perustuen ja myöhemmin System V:hen perustuen.[66] 1980-luvun alussa Microsoft julkaisi Xenixin, josta myöhemmin tuli Santa Cruz Operationin SCO Unix.[67]tarvitaan parempi lähde Vuonna 1990 Open Software Foundation julkaisi OSF/1:n Mach-mikroytimeen ja BSD:hen perustuen.[68] OSF/1:een perustui Digital OSF/1, josta tuli Digital UNIX vuonna 1995.

BSD-tyylisiä kaupallisia Unixeja:

BSD-tyylisiä Unixeja:

System V -tyylisiä Unixeja:

System III -tyylisiä Unixeja:

  • HP-UX (varhaiset versiot)
  • IRIX (varhaiset versiot)
  • Xenix (varhaiset versiot)
  • NEC PC-UX

Muut:

  • IBM:n z/OS (ei varsinainen Unix, mutta sertifioitu yhteensopivuuden takia)[73]

Huawein EulerOS ja Inspurin K-UX ovat Linux-jakeluja, jotka ovat Open Groupin sertifioimia.[74][75][76]

Useimmat niin kutsutut kaupalliset Unixit ovat tietokonevalmistajien kehittämiä ja tarkoitettu käytettäviksi nimenomaan valmistajan omilla laitteilla. Esimerkiksi Sun Solaris on kehitetty Sunin omille SPARC-pohjaisilla koneilla käytettäväksi, mutta siitä on julkaistu versioita myös X86-alustalle. Linux, NetBSD, FreeBSD ja muut vastaavat ovat usein kehitetty joko useita eri alustoja varten, vaihtoehdoksi kaupalliselle versiolle tai alustoille, joilla ei ole "omaa" Unix-käyttöjärjestelmää.

Riippumattomia Unixin kaltaisia järjestelmiä

Bob Swartz kehitti ja julkaisi kaupallisen järjestelmän nimeltä Coherent vuonna 1983.[77] AT&T tarkisti ettei käyttöjärjestelmässä käytetty luvattomasti Unixin lähdekoodia.[78] Andrew Tanenbaum kehitti käyttöjärjestelmäkurssiaan ja oppikirjaansa varten järjestelmän nimeltä MINIX vuonna 1987.[79] Richard Stallman aloitti vuonna 1983 GNU-projektin AT&T:n Unixin kaltaisen vapaan käyttöjärjestelmän luomiseksi.[80] Suomalainen Linus Torvalds aloitti riippumattoman Linux-ytimen kehityksen 1990-luvun alussa.[81][5] Tanenbaum käytti Coherent-käyttöjärjestelmää tehdessään MINIX:in varhaisia versioita, jota taas Torvalds käytti tehdessään Linuxin varhaisia versioita.[82]

Unixin kaltaisia järjestelmiä:

Lähdekoodit

Unix Heritage Society (ent. Unix Preservation Society) on koostanut alkuperäisen Unixin lähdekoodit versiohistorioineen julkiseen projektiin.[83] Useilla Unixin käyttäjillä oli täydet Unixin lähdekoodit mutta ei lupaa jakaa niitä.[83]

Caldera on julkaissut varhaiset versiot Seventh Edition (”V7", 1979) ja VAX-versioon (”32V”) saakka vuonna 2002 BSD-lisenssillä.[84]

Nokia-Alcatel-Lucent on sallinut Unix Research Edition -versioiden 8, 9 ja 10 lähdekoodien julkaisun.[85][86] Julkaisu ei tarkoita avointa lähdekoodia.[87]

Varhaisimmat versiot lähdekoodeista eivät olleet tallennettuna versionhallintajärjestelmässä kehityksen aikana.[83] Myöhemmät kehitysvaiheet on tallennettu SCCS-versionhallintajärjestelmään mutta silloinkaan kaikkia tiedostoja ei ole tallennettu.[83]

Unix-sodat

Unix-sodat (engl. Unix wars) oli useiden tahojen välinen kilpailu Unix-yhteensopivista käyttöjärjestelmistä.[88][89] Kiistat johtivat POSIX-standardin luomiseen, mutta kiistojen myötä kilpailijat olivat vahvemmassa asemassa markkinoilla.[90][91]

Kiistojen alkuun sijoitetaan AT&T:n ja Sun Microsystemsin yhteistyö vuonna 1987, jonka seurauksena Sun ilmoitti että SunOS ei jatkossa perustuisi BSD-versioon vaan AT&T:n System V -versioon.[89] Tämä johti Open Software Foundationin (OSF) perustamiseen useiden yritysten yhteistyönä.[89] Vastineeksi AT&T ja Sun perustivat Unix Internationalin (UI).[89] OSF ja UI yhdistyivät myöhemmin keskenään ja X/Openin kanssa muodostaen The Open Groupin vuonna 1996.[89] Unix System Laboratoriesin ostanut Novell siirsi Unix-tavaramerkin X/Openille ennen sen yhdistymistä Open Groupiin.[92]

Kritiikki

Unixia on kritisoitu myös eräistä suunnitteluvirheistä signaalien käsittelyssä sekä käyttäjäoikeusmallissa.[93] Signaalien käsittelyyn on kehitetty ratkaisuja BSD:ssä, System V:ssä ja Linuxissa.[93][94][95]

Katso myös

Lähteet

  1. a b c d e f g h i j k l m n o p q Richard Jensen: Unix at 50: How the OS that powered smartphones started from failure 29.8.2019. Ars Technica. Viitattu 6.9.2019. (englanniksi)
  2. a b c d e f Dennis M. Ritchie amturing.acm.org. Viitattu 7.9.2019. (englanniksi)
  3. a b c d e f g h i j k l Warren Toomey: The Strange Birth and Long Life of Unix 28.11.2011. IEEE Spectrum. Viitattu 6.9.2019. (englanniksi)
  4. UNIX 03 opengroup.org. Viitattu 10.9.2019. (englanniksi)
  5. a b c Eric Raymond & Rob Landley: OSI Position Paper on the SCO-vs.-IBM Complaint catb.org. 23.4.2008. Viitattu 10.9.2019. (englanniksi)
  6. Georg Wittenburg: The Minicomputers of the 70s inf.fu-berlin.de. Viitattu 14.8.2021. (englanniksi)
  7. a b c M. Douglas McIlroy: A Research UNIX Reader: Annotated Excerpts from the Programmer’s Manual, 1971-1986 (PDF) cs.dartmouth.edu. Viitattu 6.9.2019. (englanniksi)
  8. a b c d e f g h i j k Dennis M. Ritchie: The Evolution of the Unix Time-sharing System bell-labs.com. Viitattu 7.9.2019. (englanniksi)
  9. Aleksey Dolya: Interview with Brian Kernighan 29.7.2003. Linux Journal. Viitattu 7.9.2019. (englanniksi)
  10. a b c Part I tuhs.org. Viitattu 8.9.2019. (englanniksi)
  11. John W Gintell: Thoughts about the early days of Multics with rusty analysis on the subject of Performance Improvement (PDF) multicians.org. Viitattu 22.11.2017.
  12. Gordon M. Brown: Multics princeton.edu. Viitattu 22.11.2017.
  13. a b c d e f g h i j Ritchie, Dennis M.: The Development of the C Language bell-labs.com. Viitattu 24.7.2017.
  14. The famous PDP-7 comes to the rescue Bell Labs. Arkistoitu 2.4.2014. Viitattu 20.5.2007.
  15. a b c K. Thompson: UNIX Implementation (PDF) users.soe.ucsc.edu. Viitattu 8.9.2019. (englanniksi)
  16. TMG multicians.org. Viitattu 7.9.2019. (englanniksi)
  17. a b Porting UNIX for its first commercial application s3-us-west-2.amazonaws.com. Arkistoitu Viitattu 6.9.2019. (englanniksi)
  18. Peter H. Salus: The history of Unix is as much about collaboration as it is about technology landley.net. 1994. Viitattu 11.9.2019. (englanniksi)
  19. a b c Unix Programmer's Manual bell-labs.com. Viitattu 11.9.2019. (englanniksi)
  20. From B language to NB to C Bell. Arkistoitu Viitattu 20.5.2007. (englanniksi)
  21. a b c d e S. C. Johnson & D. M. Ritchie: Portability of C Programs and the UNIX System bell-labs.com. 1978. Viitattu 6.9.2019. (englanniksi)
  22. Brian Kernighan Remembers the Origins of ‘grep’ 22.7.2018. The Newstack. Viitattu 7.8.2018.
  23. CHAPTER 9 columbia.edu. Viitattu 6.9.2019. (englanniksi)
  24. Michael S. Mahoney: THE UNIX ORAL HISTORY PROJECT princeton.edu. Viitattu 28.11.2017.
  25. a b c d Dennis M. Ritchie & Ken Thompson: The UNIX TimeSharing System 1974. Communications of the ACM. Viitattu 6.9.2019. (englanniksi)
  26. a b D. M. Ritchie & K. Thompson: The UNIX Time-Sharing System (PDF) bell-labs.com. Viitattu 10.9.2019. (englanniksi)
  27. a b Learning the Korn Shell by Bill Rosenblatt O'Reilly. Viitattu 8.9.2019. (englanniksi)
  28. Howard Dahdah: The A-Z of Programming Languages: Bourne shell, or sh 5.3.2009. Computerworld. Viitattu 7.9.2019. (englanniksi)
  29. UNIX Encyclopaedia Britannica. Viitattu 7.9.2019. (englanniksi)
  30. a b c d e f g System V Definition linfo.org. Viitattu 8.9.2019. (englanniksi)
  31. Dennis M. Ritchie: The UNIX Time-sharing System - A Retrospective (PDF) bell-labs.com. Viitattu 21.2.2020. (englanniksi)
  32. Peter H. Salus: Chapter 7. BSD and the CSRG (Osa verkossa julkaistua kirjaa The Daemon, the Gnu and the Penguin) 5.5.2005. Groklaw. Viitattu 11.9.2019. (englanniksi)
  33. a b Peter H. Salus: Chapter 2. UNIX (Osa verkossa julkaistua kirjaa The Daemon, the Gnu and the Penguin) 14.4.2005. Groklaw. Viitattu 11.9.2019. (englanniksi)
  34. a b c Kevin Featherly: Bill Joy Encyclopaedia Britannica. Viitattu 6.9.2019. (englanniksi)
  35. a b University of California, Berkeley. Computer Systems Research Group SNAC. Viitattu 9.9.2019. (englanniksi)
  36. a b Charles Babcock: What's The Greatest Software Ever Written? 11.8.2006. Informationweek. Arkistoitu 24.10.2019. Viitattu 6.9.2019. (englanniksi)
  37. Sharing UNIX with the rest of the world Bell. Arkistoitu Viitattu 20.5.2007.
  38. Libes, Don; Ressler, Sandy: Life With UNIX, s. 9−10. Prentice Hall, 1989.
  39. a b Thomas B. London & John F. Reiser: A UNIX™ Operating System for the DEC VAX-11/780 Computer* (PDF) bell-labs.com. Viitattu 24.4.2019. (englanniksi)
  40. Libes, Don; Ressler, Sandy: Life With UNIX, s. 28. Prentice Hall, 1989.
  41. Gerard J. Holzmann: The Unix Magician’s Handbook (PDF) spinroot.com. Viitattu 8.9.2019. (englanniksi)
  42. a b The End of AT&T; – Internet Archive
  43. Matthew Lasar: How AT&T Conquered The 20th Century 3.9.2011. Wired. Viitattu 8.9.2019. (englanniksi)
  44. a b c Business gets the word Bell. Arkistoitu Viitattu 20.5.2007.
  45. Plan 9 from Bell Labs plan9.bell-labs.com. Arkistoitu Viitattu 14.2.2017.
  46. Unix System Laboratories v. Berkeley Software, 832 F. Supp. 790 (D.N.J. 1993) law.justia.com. Viitattu 31.8.2019. (englanniksi)
  47. Lawrence Kesteloot: A Brief History of UNIX and BSD teamten.com. Viitattu 3.11.2017.
  48. Settlement Agreement (PDF) Groklaw. Viitattu 3.11.2017.
  49. John Markoff: COMPANY NEWS; Novell to Buy A.T.& T.'s Unix System Labs 22.12.1992. The New York Times. Viitattu 31.8.2019. (englanniksi)
  50. Novell completes acquisition of UNIX System Laboratories from AT&T tech-insider.org. Viitattu 31.8.2019. (englanniksi)
  51. Novell Completes Sale of UnixWare Business to The Santa Cruz Operation Novell. Viitattu 21.1.2017.
  52. 1.2.5 XPG (The X/Open Portability Guide) gnu.org. Viitattu 1.9.2019. (englanniksi)
  53. 1.2.4 SVID (The System V Interface Description) gnu.org. Viitattu 12.9.2019. (englanniksi)
  54. a b c d POSIX 1003.1 Frequently Asked Questions (FAQ Version 1.16) Open Group. Viitattu 8.9.2019. (englanniksi)
  55. 1.2.2 POSIX (The Portable Operating System Interface) gnu.org. Viitattu 12.9.2019. (englanniksi)
  56. a b Stephen R. Walli: The POSIX Family of Standards (PDF) maaliskuu 1995. StandardView. Viitattu 12.9.2019. (englanniksi)
  57. a b The Single UNIX Specification Open Group. Viitattu 12.9.2019. (englanniksi)
  58. The Open Group Definition linfo.org. Viitattu 1.9.2019. (englanniksi)
  59. DevynCJohnson: SUS, POSIX, and Other Standards dcjtech.info. 26.2.2017. Arkistoitu 7.7.2019. Viitattu 8.7.2019. (englanniksi)
  60. ISO/IEC 23360-1:2006 ISO. Viitattu 7.7.2019. (englanniksi)
  61. Leffler, Samuel J. & McKusick, Marshall Kirk & Karels, Michael J. & Quarterman, John S.: The Design and Implementation of the 4.3BSD UNIX Operating System, s. 4. Addison-Wesley, marraskuu 1989. ISBN 0-201-06196-1 (englanniksi)
  62. Marshall Kirk McKusick: Twenty Years of Berkeley Unix oreilly.com. tammikuu 1999. Viitattu 11.9.2019. (englanniksi)
  63. a b PWB UNIX (PF) bitsavers.org. Viitattu 7.9.2019. (englanniksi)
  64. SCCS vs RCS sccs.sourceforge.net. Arkistoitu 25.8.2021. Viitattu 21.2.2017. (englanniksi)
  65. Rochkind, Marc J.: The Source Code Control System (PDF) basepath.com. joulukuu 1975. Arkistoitu 25.5.2011. Viitattu 20.12.2017.
  66. a b c The History of Solaris (PDF) cse.unl.edu. Viitattu 10.9.2019. (englanniksi)
  67. Bader, William: SCO History williambader.com. Viitattu 15.7.2014. (englanniksi)
  68. Open Software Foundation releases OSF/1 operating system, offering customers powerful function, industry standards 23.10.1990. Businesswire. Viitattu 12.8.2019. (englanniksi)
  69. NEWS --- 一人1台を実現したワークステーション tech.nikkeibp.co.jp. 20.9.2006. Viitattu 26.10.2019. (japaniksi)
  70. Introduction aux-penelope.com. Viitattu 26.10.2019. (englanniksi)
  71. 【Fujitsu】FUJITSU DS/90 7000 Series IPSJ Computer Museum. Viitattu 30.11.2020. (englanniksi)
  72. 【Fujitsu】 FACOM G-100 Series museum.ipsj.or.jp. Viitattu 19.10.2021. (englanniksi)
  73. UNIX 95 opengroup.org. Viitattu 10.9.2019. (englanniksi)
  74. Rodolfo Mondion: Euler OS - Huawei Enterprise Linux boot-r.com. 11.4.2017. Viitattu 10.9.2019. (englanniksi)
  75. UNIX 03 opengroup.org. Viitattu 10.9.2019. (englanniksi)
  76. UNIX 03 Open Group. Viitattu 19.1.2017.
  77. Hannotte, Dean: A Good Buy on UNIX. PC Mag, 12.6.1984, s. 250–254. Artikkelin verkkoversio.
  78. Coherent sources released under a 3-clause BSD license virtuallyfun.superglobalmegacorp.com. Arkistoitu 2.8.2017. Viitattu 2.8.2017.
  79. Bruce Byfield: An Introduction to MINIX 1.8.2010. Linux Journal. Viitattu 7.9.2019. (englanniksi)
  80. William L. Hosch: Richard Matthew Stallman Encyclopaedia Britannica. Viitattu 7.9.2019. (englanniksi)
  81. Linus Torvalds Encyclopaedia Britannica. Viitattu 5.8.2019. (englanniksi)
  82. Andrew S. Tanenbaum: Lessons Learned from 30 Years of MINIX maaliskuu 2016. Communications of the ACM. doi:10.1145/2795228 Viitattu 10.9.2019. (englanniksi)
  83. a b c d A. Jesse Jiryu Davis: Assembling the history of Unix LWN.net. Viitattu 2.8.2017.
  84. Darwin, Ian F.: Why Caldera Released Unix: A Brief History O'Reilly Linux Dev Center. Viitattu 2.8.2017.
  85. Toomey, Warren: [TUHS Release of 8th, 9th and 10th Editions Unix] minnie.tuhs.org. Arkistoitu Viitattu 2.8.2017.
  86. Statement Regarding Research Unix Editions 8, 9, and 10 (PDF) media-bell-labs-com.s3.amazonaws.com. Viitattu 2.8.2017.
  87. Samizdat no more: Old Unix source code opened for study The Register. Viitattu 2.8.2017.
  88. The UNIX wars s3-us-west-2.amazonaws.com. Viitattu 31.8.2019. (englanniksi)
  89. a b c d e Peter H. Salus: Dueling UNIXes and the UNIX Wars (PDF) usenix.org. 2015. Viitattu 31.8.2019. (englanniksi)
  90. Unix Wars of 1987-1993: POSIX as a result of struggle of AT&T and Sun against the rest of the world softpanorama.org. Viitattu 31.8.2019. (englanniksi)
  91. Eric Steven Raymond: Origins and History of Unix, 1969-1995 catb.org. 2003. Viitattu 18.10.2023. (englanniksi)
  92. What is UNIX? unix.org. Viitattu 1.9.2019. (englanniksi)
  93. a b Neil Brown: Ghosts of Unix past, part 3: Unfixable designs 16.11.2010. Lwn.net. Viitattu 9.9.2019. (englanniksi)
  94. Jonathan Corbet: Rethinking race-free process signaling 4.4.2019. LWN.net. (englanniksi)
  95. Linux 5.1 KernelNewbies. Viitattu 5.8.2019. (englanniksi)

Kirjallisuutta

  • Kernighan, Brian W.; Pike, Rob: The UNIX Programming Environment, s. 1–357. Prentice-Hall, Inc., copyright Bell Laboratories, 1984. ISBN 0-13-937681-X
  • Bourne, Stephen R.: The Unix System. Addison-Wesley, 1982. ISBN 0-201-13791-7
  • Bach, Maurice J.: The design of the UNIX operating system. Prentice-Hall, 1986. ISBN 0-13-201757-1

Aiheesta muualla