Unix

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
Kehittäjä Bell Labs
Ohjelmointikielet Assembly, C

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

Ken Thompson (istumassa) ja Dennis Ritchie PDP-11-tietokoneen äärellä.[7]

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

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.[11] Käyttöjärjestelmä pääsi lopulta myyntiin asti, mutta sen suorituskyky oli huono.[12] AT&T päätti lähteä projektista ja siirtää voimavaransa muualle.[13] Pian projektin päättymisen jälkeen GE-645 vietiin pois.[1][14] 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.[9][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.[9] 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][15][9] Peliä varten kehitettiin muun muassa toiminnot liukulukuaritmetiikkaan, graafisten merkkien esitykseen ja debuggaamiseen.[9] Peliä kehitettiin GE-635-tietokoneella ja käännettiin GECOS:illa, josta se siirrettiin reikänauhoilla PDP-7:lle.[14][9]

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).[14] Tämän jälkeen järjestelmässä itsessään pystyi kääntämään ohjelmia.[14] Thompson suunnitteli ytimen yksinkertaiseksi, jossa ei ollut komentokieltä kuten Multicsissa vaan se käsiteltiin yhtenä käyttäjäsovelluksena.[11][16] Ytimessä ei ollut tiedostomuotoja vaan tiedostot olivat vain yksiulotteinen joukko tavuja.[11][16] Järjestelmään syntyi varhain prosessit, joita oli yksi päätettä kohden.[9] 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ä.[9] Vuoronnukseen oli käytössä yksinkertainen prioriteettipohjainen algoritmi.[16] 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).[14][17][9] 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.[18][3] Myös akustiikkalaboratorion Max Mathews lupasi alkurahaa tietokoneen hankintaan.[19] 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.[9] Ensimmäinen Unixin hankkinut asiakas oli Bell Labs Patent Department, joka käsitteli patenttihakemuksia.[18][9] 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.[20] Kirjoittamisen aikaan järjestelmä oli jo siirretty (”kirjoitettu uudelleen”) PDP-7:ltä PDP-11:lle, jolloin se oli vielä tehty assemblyllä.[20] Kirjoittamisen hetkellä UNIX-aikaa mitattiin sekunnin kuudeskymmenesosissa, joka riitti vain 2,5 vuodeksi ja muutettiin myöhemmin täysille sekunneille.[20]

Thompson aloitti järjestelmän siirtämisen Fortranille, mutta luopui siitä nopeasti.[14] Tämän jälkeen Thompson kirjoitti B-ohjelmointikielen perustuen BCPL-kieleen (tai toisen teorian mukaan Thompsonin Bon-kieleen).[14] Ritchie lisäsi B:hen tyyppijärjestelmän, ja antoi sille aluksi nimen NB (”New B”) ja alkoi kirjoittaa kääntäjää.[14] Kesällä 1972 Unix kirjoitettiin uudelleen NB:stä kehitetyllä C-kielellä.[21][22] Vuoden kuluessa C:tä käytettiin myös Honeywell 6000 -tietokoneilla ja pian sen jälkeen IBM 310 -sarjan koneilla.[22] 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.[22]

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

Ritchien ja Thompsonin kirjoitus käyttöjärjestelmästä julkaistiin Communications of the ACM -lehdessä heinäkuussa 1974.[3][26] 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.[26] 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.[26] 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.[26] 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.[27]

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ä.[28] Vuonna 1975 Bell Labsille tullut Stephen Bourne kehitti ohjelmoitavan Bourne shell -komentotulkin korvaamaan Thompsonin yksinkertaisemman komentotulkin.[29] Ensimmäinen laajalti käytetty vaihtoehtoinen komentotulkki oli C shell.[28]

1970-luvun puolivälissä Thompson lähti hetkeksi Bell Labsilta ja opetti Kalifornian yliopiston Berkeleyn kampuksella (UCB).[30] Berkeleyssä otettiin tuolloin käyttöön versio 6 Unix (V6), joka oli ensimmäinen laajasti Bell Labsin ulkopuolelle levinnyt.[31] Kuudetta versiota levitti Western Electric sen lisensoineille.[32] Berkeleyssä oli juuri saatu PDP-11, johon Thompson auttoi asentamaan v6 Unixin.[33] 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..).[34] Tästä sai alkunsa ”50 muutosta”, jonka AT&T ei halunnut leviävän tiukan ”ei tukea” -säännön johdosta.[34] AT&T:n versio 7 julkaistiin vuonna 1979 ja siihen sisältyi UCB:n tekemiä muutoksia.[31] 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).[35][36][37] Bill Joyn ja muiden opiskelijoiden tekemät muutokset levisivät tutkijapiireissä moneen yliopistoon.[35][37] UCB perusti Computer Systems Research Groupin DARPAn rahoituksella kehittämään Unixia.[36] CSRG teki suuren osan TCP/IP:n kehitystyöstä.[38] 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 19761977 käyttöjärjestelmän ydin siirrettiin VM/370 virtualisoidulle alustalle.[22] Vuonna 1977 Interactive Systems Corporation oli ensimmäinen joka myi Unixia loppukäyttäjille käyttäjätuettuna tuotteena.[39] 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.[22] Interdata 8/32:lle siirtämisen jälkeen seurasi versio DEC VAX 11/780:lle, josta tuli paljon suositumpi kuin Interdatasta.[14][40]

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

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

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

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

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.[47] Osana kiistan sovitusta osa ohjelmakoodista toteutettiin uudestaan, osa poistettiin ja osaan lisättiin maininta AT&T:n tekijänoikeudesta.[48][49] Unix System Laboratories (USL) myytiin vuonna 1993 Novellille, joka myi UnixWare-liiketoiminnan Santa Cruz Operationille (SCO) vuonna 1995.[50][51][52]

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ä.[53] AT&T julkaisi System V Interface Definition (SVID) -määrittelyn ja IEEE julkaisee ensimmäisen POSIX-standardin.[54][55] 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.[55] POSIX on myös ISO-standardi ISO/IEC 9945.[55] POSIX sisältää myös laajennuksia ISO C -standardiin.[56] POSIX-standardi ratifioitiin vuonna 1988 ja laajennettiin vuonna 1990 kansainväliseksi ISO-standardiksi.[57] Yhdysvaltalaisella NIST:llä oli myös FIPS Pub 151-1 -määrittely.[57]

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

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

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.[27][31] Nimeäminen on UNIX Programmer's Manualin mukainen (nth Edition) julkaisuhetkellä.[62]

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

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).[64][65][66] Julkaisussa oli myös Stuart Feldmanin kehittämä make.[8][64]

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

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ää.[35] Sun kehitti SunOS-käyttöjärjestelmän aluksi BSD:hen perustuen ja myöhemmin System V:hen perustuen.[67] 1980-luvun alussa Microsoft julkaisi Xenixin, josta myöhemmin tuli Santa Cruz Operationin SCO Unix.[68]tarvitaan parempi lähde Vuonna 1990 Open Software Foundation julkaisi OSF/1:n Mach-mikroytimeen ja BSD:hen perustuen.[69] 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)[74]

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

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.[78] AT&T tarkisti ettei käyttöjärjestelmässä käytetty luvattomasti Unixin lähdekoodia.[79] Andrew Tanenbaum kehitti käyttöjärjestelmäkurssiaan ja oppikirjaansa varten järjestelmän nimeltä MINIX vuonna 1987.[80] Richard Stallman aloitti vuonna 1983 GNU-projektin AT&T:n Unixin kaltaisen vapaan käyttöjärjestelmän luomiseksi.[81] Suomalainen Linus Torvalds aloitti riippumattoman Linux-ytimen kehityksen 1990-luvun alussa.[82][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.[83]

Unixin kaltaisia järjestelmiä:

Lähdekoodit

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

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

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

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

Unix-sodat

Unix-sodat (engl. Unix wars) oli useiden tahojen välinen kilpailu Unix-yhteensopivista käyttöjärjestelmistä.[89] Kiistat johtivat POSIX-standardin luomiseen.[90]

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.[91] Tämä johti Open Software Foundationin (OSF) perustamiseen useiden yritysten yhteistyönä.[91] Vastineeksi AT&T ja Sun perustivat Unix Internationalin (UI).[91] OSF ja UI yhdistyivät myöhemmin keskenään ja X/Openin kanssa muodostaen The Open Groupin vuonna 1996.[91] 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. 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. Dennis M. Ritchie amturing.acm.org. Viitattu 7.9.2019. (englanniksi)
  3. 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. 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. An amusing photo cm.bell-labs.co. Viitattu 19.11.2019. (englanniksi)
  8. 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)
  9. Dennis M. Ritchie: The Evolution of the Unix Time-sharing System bell-labs.com. Viitattu 7.9.2019. (englanniksi)
  10. Aleksey Dolya: Interview with Brian Kernighan 29.7.2003. Linux Journal. Viitattu 7.9.2019. (englanniksi)
  11. Part I tuhs.org. Viitattu 8.9.2019. (englanniksi)
  12. 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.
  13. Gordon M. Brown: Multics princeton.edu. Viitattu 22.11.2017.
  14. Ritchie, Dennis M.: The Development of the C Language bell-labs.com. Viitattu 24.7.2017.
  15. The famous PDP-7 comes to the rescue Bell Labs. Arkistoitu 2.4.2014. Viitattu 20.5.2007.
  16. K. Thompson: UNIX Implementation (PDF) users.soe.ucsc.edu. Viitattu 8.9.2019. (englanniksi)
  17. TMG multicians.org. Viitattu 7.9.2019. (englanniksi)
  18. Porting UNIX for its first commercial application s3-us-west-2.amazonaws.com. Arkistoitu . Viitattu 6.9.2019. (englanniksi)
  19. 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)
  20. Unix Programmer's Manual bell-labs.com. Viitattu 11.9.2019. (englanniksi)
  21. From B language to NB to C Bell. Arkistoitu . Viitattu 20.5.2007. (englanniksi)
  22. S. C. Johnson & D. M. Ritchie: Portability of C Programs and the UNIX System bell-labs.com. 1978. Viitattu 6.9.2019. (englanniksi)
  23. Brian Kernighan Remembers the Origins of ‘grep’ 22.7.2018. The Newstack. Viitattu 7.8.2018.
  24. CHAPTER 9 columbia.edu. Viitattu 6.9.2019. (englanniksi)
  25. Michael S. Mahoney: THE UNIX ORAL HISTORY PROJECT princeton.edu. Viitattu 28.11.2017.
  26. Dennis M. Ritchie & Ken Thompson: The UNIX TimeSharing System 1974. Communications of the ACM. Viitattu 6.9.2019. (englanniksi)
  27. D. M. Ritchie & K. Thompson: The UNIX Time-Sharing System (PDF) bell-labs.com. Viitattu 10.9.2019. (englanniksi)
  28. Learning the Korn Shell by Bill Rosenblatt O'Reilly. Viitattu 8.9.2019. (englanniksi)
  29. Howard Dahdah: The A-Z of Programming Languages: Bourne shell, or sh 5.3.2009. Computerworld. Viitattu 7.9.2019. (englanniksi)
  30. UNIX Encyclopaedia Britannica. Viitattu 7.9.2019. (englanniksi)
  31. System V Definition linfo.org. Viitattu 8.9.2019. (englanniksi)
  32. Dennis M. Ritchie: The UNIX Time-sharing System - A Retrospective (PDF) bell-labs.com. Viitattu 21.2.2020. (englanniksi)
  33. 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)
  34. 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)
  35. Kevin Featherly: Bill Joy Encyclopaedia Britannica. Viitattu 6.9.2019. (englanniksi)
  36. University of California, Berkeley. Computer Systems Research Group SNAC. Viitattu 9.9.2019. (englanniksi)
  37. Charles Babcock: What's The Greatest Software Ever Written? 11.8.2006. Informationweek. Viitattu 6.9.2019. (englanniksi)
  38. Sharing UNIX with the rest of the world Bell. Arkistoitu . Viitattu 20.5.2007.
  39. Libes, Don; Ressler, Sandy: Life With UNIX, s. 9−10. Prentice Hall, 1989.
  40. 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)
  41. Libes, Don; Ressler, Sandy: Life With UNIX, s. 28. Prentice Hall, 1989.
  42. Gerard J. Holzmann: The Unix Magician’s Handbook (PDF) spinroot.com. Viitattu 8.9.2019. (englanniksi)
  43. The End of AT&T; – Internet Archive
  44. Matthew Lasar: How AT&T Conquered The 20th Century 3.9.2011. Wired. Viitattu 8.9.2019. (englanniksi)
  45. Business gets the word Bell. Arkistoitu . Viitattu 20.5.2007.
  46. Plan 9 from Bell Labs plan9.bell-labs.com. Arkistoitu . Viitattu 14.2.2017.
  47. Unix System Laboratories v. Berkeley Software, 832 F. Supp. 790 (D.N.J. 1993) law.justia.com. Viitattu 31.8.2019. (englanniksi)
  48. Lawrence Kesteloot: A Brief History of UNIX and BSD teamten.com. Viitattu 3.11.2017.
  49. Settlement Agreement (PDF) Groklaw. Viitattu 3.11.2017.
  50. 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)
  51. Novell completes acquisition of UNIX System Laboratories from AT&T tech-insider.org. Viitattu 31.8.2019. (englanniksi)
  52. Novell Completes Sale of UnixWare Business to The Santa Cruz Operation Novell. Viitattu 21.1.2017.
  53. 1.2.5 XPG (The X/Open Portability Guide) gnu.org. Viitattu 1.9.2019. (englanniksi)
  54. 1.2.4 SVID (The System V Interface Description) gnu.org. Viitattu 12.9.2019. (englanniksi)
  55. POSIX 1003.1 Frequently Asked Questions (FAQ Version 1.16) Open Group. Viitattu 8.9.2019. (englanniksi)
  56. 1.2.2 POSIX (The Portable Operating System Interface) gnu.org. Viitattu 12.9.2019. (englanniksi)
  57. Stephen R. Walli: The POSIX Family of Standards (PDF) maaliskuu 1995. StandardView. Viitattu 12.9.2019. (englanniksi)
  58. The Single UNIX Specification Open Group. Viitattu 12.9.2019. (englanniksi)
  59. The Open Group Definition linfo.org. Viitattu 1.9.2019. (englanniksi)
  60. DevynCJohnson: SUS, POSIX, and Other Standards dcjtech.info. 26.2.2017. Viitattu 8.7.2019. (englanniksi)
  61. ISO/IEC 23360-1:2006 ISO. Viitattu 7.7.2019. (englanniksi)
  62. 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. ISBN 0-201-06196-1. (englanniksi)
  63. Marshall Kirk McKusick: Twenty Years of Berkeley Unix oreilly.com. tammikuu 1999. Viitattu 11.9.2019. (englanniksi)
  64. PWB UNIX (PF) bitsavers.org. Viitattu 7.9.2019. (englanniksi)
  65. SCCS vs RCS sccs.sourceforge.net. Viitattu 21.2.2017. (englanniksi)
  66. Rochkind, Marc J.: The Source Code Control System (PDF) basepath.com. joulukuu 1975. Arkistoitu 25.5.2011. Viitattu 20.12.2017.
  67. The History of Solaris (PDF) cse.unl.edu. Viitattu 10.9.2019. (englanniksi)
  68. Bader, William: SCO History williambader.com. Viitattu 15.7.2014. (englanniksi)
  69. Open Software Foundation releases OSF/1 operating system, offering customers powerful function, industry standards 23.10.1990. Businesswire. Viitattu 12.8.2019. (englanniksi)
  70. NEWS --- 一人1台を実現したワークステーション tech.nikkeibp.co.jp. 20.9.2006. Viitattu 26.10.2019. (japaniksi)
  71. Introduction aux-penelope.com. Viitattu 26.10.2019. (englanniksi)
  72. 【Fujitsu】FUJITSU DS/90 7000 Series IPSJ Computer Museum. Viitattu 30.11.2020. (englanniksi)
  73. 【Fujitsu】 FACOM G-100 Series museum.ipsj.or.jp. Viitattu 19.10.2021. (englanniksi)
  74. UNIX 95 opengroup.org. Viitattu 10.9.2019. (englanniksi)
  75. Rodolfo Mondion: Euler OS - Huawei Enterprise Linux boot-r.com. 11.4.2017. Viitattu 10.9.2019. (englanniksi)
  76. UNIX 03 opengroup.org. Viitattu 10.9.2019. (englanniksi)
  77. UNIX 03 Open Group. Viitattu 19.1.2017.
  78. Hannotte, Dean. "A Good Buy on UNIX", 12.6.1984, pp. 250–254.
  79. Coherent sources released under a 3-clause BSD license virtuallyfun.superglobalmegacorp.com. Arkistoitu 2.8.2017. Viitattu 2.8.2017.
  80. Bruce Byfield: An Introduction to MINIX 1.8.2010. Linux Journal. Viitattu 7.9.2019. (englanniksi)
  81. William L. Hosch: Richard Matthew Stallman Encyclopaedia Britannica. Viitattu 7.9.2019. (englanniksi)
  82. Linus Torvalds Encyclopaedia Britannica. Viitattu 5.8.2019. (englanniksi)
  83. 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)
  84. A. Jesse Jiryu Davis: Assembling the history of Unix LWN.net. Viitattu 2.8.2017.
  85. Darwin, Ian F.: Why Caldera Released Unix: A Brief History O'Reilly Linux Dev Center. Viitattu 2.8.2017.
  86. Toomey, Warren: [TUHS Release of 8th, 9th and 10th Editions Unix] minnie.tuhs.org. Arkistoitu . Viitattu 2.8.2017.
  87. Statement Regarding Research Unix Editions 8, 9, and 10 (PDF) media-bell-labs-com.s3.amazonaws.com. Viitattu 2.8.2017.
  88. Samizdat no more: Old Unix source code opened for study The Register. Viitattu 2.8.2017.
  89. The UNIX wars s3-us-west-2.amazonaws.com. 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. Peter H. Salus: Dueling UNIXes and the UNIX Wars (PDF) usenix.org. 2015. Viitattu 31.8.2019. (englanniksi)
  92. What is UNIX? unix.org. Viitattu 1.9.2019. (englanniksi)
  93. 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

    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.