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
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 1976–1977 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
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:
- 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
- Sony NEWS-OS (Sony NEWS-työasemassa)[70]
BSD-tyylisiä Unixeja:
- FreeBSD: keskittynyt suorituskykyyn
- OpenBSD: keskittynyt turvallisuuteen
- NetBSD: keskittynyt laitteistoriippumattomuuteen, toimii lukuisilla alustoilla
- 386BSD: varhaisia IBM PC -yhteensopiville tarkoitettuja
System V -tyylisiä Unixeja:
- Applen A/UX (Macintosh-tietokoneille, ei lähdekoodiyhteyttä myöhempään macOS/OS X -sarjaan)[71]
- Commodoren Amiga UNIX
- Crayn UNICOS
- Data Generalin DG/UX
- Fujitsun UXP/DS[72], SX/G[73]
- Hewlett Packard Enterprise:n HP-UX
- Hitachin Hi-UX
- IBM:n AIX
- OpenServer 5 & 6 (sekä aiemmat versiot, sisältäen Xenix, SCO Unix, SCO Xenix)
- Novell UnixWare
- NEC EWS-UX ja SUPER-UX
- Silicon Graphicsin IRIX
- Sun Microsystemsin Solaris
- illumos ja sen edeltäjä OpenSolaris
System III -tyylisiä Unixeja:
- HP-UX (varhaiset versiot)
- IRIX (varhaiset versiot)
- Xenix (varhaiset versiot)
- NEC PC-UX
Muut:
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
- Richard Jensen: Unix at 50: How the OS that powered smartphones started from failure 29.8.2019. Ars Technica. Viitattu 6.9.2019. (englanniksi)
- Dennis M. Ritchie amturing.acm.org. Viitattu 7.9.2019. (englanniksi)
- Warren Toomey: The Strange Birth and Long Life of Unix 28.11.2011. IEEE Spectrum. Viitattu 6.9.2019. (englanniksi)
- UNIX 03 opengroup.org. Viitattu 10.9.2019. (englanniksi)
- Eric Raymond & Rob Landley: OSI Position Paper on the SCO-vs.-IBM Complaint catb.org. 23.4.2008. Viitattu 10.9.2019. (englanniksi)
- Georg Wittenburg: The Minicomputers of the 70s inf.fu-berlin.de. Viitattu 14.8.2021. (englanniksi)
- An amusing photo cm.bell-labs.co. Viitattu 19.11.2019. (englanniksi)
- 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)
- Dennis M. Ritchie: The Evolution of the Unix Time-sharing System bell-labs.com. Viitattu 7.9.2019. (englanniksi)
- Aleksey Dolya: Interview with Brian Kernighan 29.7.2003. Linux Journal. Viitattu 7.9.2019. (englanniksi)
- Part I tuhs.org. Viitattu 8.9.2019. (englanniksi)
- 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.
- Gordon M. Brown: Multics princeton.edu. Viitattu 22.11.2017.
- Ritchie, Dennis M.: The Development of the C Language bell-labs.com. Viitattu 24.7.2017.
- The famous PDP-7 comes to the rescue Bell Labs. Arkistoitu 2.4.2014. Viitattu 20.5.2007.
- K. Thompson: UNIX Implementation (PDF) users.soe.ucsc.edu. Viitattu 8.9.2019. (englanniksi)
- TMG multicians.org. Viitattu 7.9.2019. (englanniksi)
- Porting UNIX for its first commercial application s3-us-west-2.amazonaws.com. Arkistoitu . Viitattu 6.9.2019. (englanniksi)
- 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)
- Unix Programmer's Manual bell-labs.com. Viitattu 11.9.2019. (englanniksi)
- From B language to NB to C Bell. Arkistoitu . Viitattu 20.5.2007. (englanniksi)
- S. C. Johnson & D. M. Ritchie: Portability of C Programs and the UNIX System bell-labs.com. 1978. Viitattu 6.9.2019. (englanniksi)
- Brian Kernighan Remembers the Origins of ‘grep’ 22.7.2018. The Newstack. Viitattu 7.8.2018.
- CHAPTER 9 columbia.edu. Viitattu 6.9.2019. (englanniksi)
- Michael S. Mahoney: THE UNIX ORAL HISTORY PROJECT princeton.edu. Viitattu 28.11.2017.
- Dennis M. Ritchie & Ken Thompson: The UNIX TimeSharing System 1974. Communications of the ACM. Viitattu 6.9.2019. (englanniksi)
- D. M. Ritchie & K. Thompson: The UNIX Time-Sharing System (PDF) bell-labs.com. Viitattu 10.9.2019. (englanniksi)
- Learning the Korn Shell by Bill Rosenblatt O'Reilly. Viitattu 8.9.2019. (englanniksi)
- Howard Dahdah: The A-Z of Programming Languages: Bourne shell, or sh 5.3.2009. Computerworld. Viitattu 7.9.2019. (englanniksi)
- UNIX Encyclopaedia Britannica. Viitattu 7.9.2019. (englanniksi)
- System V Definition linfo.org. Viitattu 8.9.2019. (englanniksi)
- Dennis M. Ritchie: The UNIX Time-sharing System - A Retrospective (PDF) bell-labs.com. Viitattu 21.2.2020. (englanniksi)
- 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)
- 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)
- Kevin Featherly: Bill Joy Encyclopaedia Britannica. Viitattu 6.9.2019. (englanniksi)
- University of California, Berkeley. Computer Systems Research Group SNAC. Viitattu 9.9.2019. (englanniksi)
- Charles Babcock: What's The Greatest Software Ever Written? 11.8.2006. Informationweek. Viitattu 6.9.2019. (englanniksi)
- Sharing UNIX with the rest of the world Bell. Arkistoitu . Viitattu 20.5.2007.
- Libes, Don; Ressler, Sandy: Life With UNIX, s. 9−10. Prentice Hall, 1989.
- 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)
- Libes, Don; Ressler, Sandy: Life With UNIX, s. 28. Prentice Hall, 1989.
- Gerard J. Holzmann: The Unix Magician’s Handbook (PDF) spinroot.com. Viitattu 8.9.2019. (englanniksi)
- The End of AT&T; – Internet Archive
- Matthew Lasar: How AT&T Conquered The 20th Century 3.9.2011. Wired. Viitattu 8.9.2019. (englanniksi)
- Business gets the word Bell. Arkistoitu . Viitattu 20.5.2007.
- Plan 9 from Bell Labs plan9.bell-labs.com. Arkistoitu . Viitattu 14.2.2017.
- Unix System Laboratories v. Berkeley Software, 832 F. Supp. 790 (D.N.J. 1993) law.justia.com. Viitattu 31.8.2019. (englanniksi)
- Lawrence Kesteloot: A Brief History of UNIX and BSD teamten.com. Viitattu 3.11.2017.
- Settlement Agreement (PDF) Groklaw. Viitattu 3.11.2017.
- 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)
- Novell completes acquisition of UNIX System Laboratories from AT&T tech-insider.org. Viitattu 31.8.2019. (englanniksi)
- Novell Completes Sale of UnixWare Business to The Santa Cruz Operation Novell. Viitattu 21.1.2017.
- 1.2.5 XPG (The X/Open Portability Guide) gnu.org. Viitattu 1.9.2019. (englanniksi)
- 1.2.4 SVID (The System V Interface Description) gnu.org. Viitattu 12.9.2019. (englanniksi)
- POSIX 1003.1 Frequently Asked Questions (FAQ Version 1.16) Open Group. Viitattu 8.9.2019. (englanniksi)
- 1.2.2 POSIX (The Portable Operating System Interface) gnu.org. Viitattu 12.9.2019. (englanniksi)
- Stephen R. Walli: The POSIX Family of Standards (PDF) maaliskuu 1995. StandardView. Viitattu 12.9.2019. (englanniksi)
- The Single UNIX Specification Open Group. Viitattu 12.9.2019. (englanniksi)
- The Open Group Definition linfo.org. Viitattu 1.9.2019. (englanniksi)
- DevynCJohnson: SUS, POSIX, and Other Standards dcjtech.info. 26.2.2017. Viitattu 8.7.2019. (englanniksi)
- ISO/IEC 23360-1:2006 ISO. Viitattu 7.7.2019. (englanniksi)
- 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)
- Marshall Kirk McKusick: Twenty Years of Berkeley Unix oreilly.com. tammikuu 1999. Viitattu 11.9.2019. (englanniksi)
- PWB UNIX (PF) bitsavers.org. Viitattu 7.9.2019. (englanniksi)
- SCCS vs RCS sccs.sourceforge.net. Viitattu 21.2.2017. (englanniksi)
- Rochkind, Marc J.: The Source Code Control System (PDF) basepath.com. joulukuu 1975. Arkistoitu 25.5.2011. Viitattu 20.12.2017.
- The History of Solaris (PDF) cse.unl.edu. Viitattu 10.9.2019. (englanniksi)
- Bader, William: SCO History williambader.com. Viitattu 15.7.2014. (englanniksi)
- Open Software Foundation releases OSF/1 operating system, offering customers powerful function, industry standards 23.10.1990. Businesswire. Viitattu 12.8.2019. (englanniksi)
- NEWS --- 一人1台を実現したワークステーション tech.nikkeibp.co.jp. 20.9.2006. Viitattu 26.10.2019. (japaniksi)
- Introduction aux-penelope.com. Viitattu 26.10.2019. (englanniksi)
- 【Fujitsu】FUJITSU DS/90 7000 Series IPSJ Computer Museum. Viitattu 30.11.2020. (englanniksi)
- 【Fujitsu】 FACOM G-100 Series museum.ipsj.or.jp. Viitattu 19.10.2021. (englanniksi)
- UNIX 95 opengroup.org. Viitattu 10.9.2019. (englanniksi)
- Rodolfo Mondion: Euler OS - Huawei Enterprise Linux boot-r.com. 11.4.2017. Viitattu 10.9.2019. (englanniksi)
- UNIX 03 opengroup.org. Viitattu 10.9.2019. (englanniksi)
- UNIX 03 Open Group. Viitattu 19.1.2017.
- Hannotte, Dean. "A Good Buy on UNIX", 12.6.1984, pp. 250–254.
- Coherent sources released under a 3-clause BSD license virtuallyfun.superglobalmegacorp.com. Arkistoitu 2.8.2017. Viitattu 2.8.2017.
- Bruce Byfield: An Introduction to MINIX 1.8.2010. Linux Journal. Viitattu 7.9.2019. (englanniksi)
- William L. Hosch: Richard Matthew Stallman Encyclopaedia Britannica. Viitattu 7.9.2019. (englanniksi)
- Linus Torvalds Encyclopaedia Britannica. Viitattu 5.8.2019. (englanniksi)
- 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)
- A. Jesse Jiryu Davis: Assembling the history of Unix LWN.net. Viitattu 2.8.2017.
- Darwin, Ian F.: Why Caldera Released Unix: A Brief History O'Reilly Linux Dev Center. Viitattu 2.8.2017.
- Toomey, Warren: [TUHS Release of 8th, 9th and 10th Editions Unix] minnie.tuhs.org. Arkistoitu . Viitattu 2.8.2017.
- Statement Regarding Research Unix Editions 8, 9, and 10 (PDF) media-bell-labs-com.s3.amazonaws.com. Viitattu 2.8.2017.
- Samizdat no more: Old Unix source code opened for study The Register. Viitattu 2.8.2017.
- The UNIX wars s3-us-west-2.amazonaws.com. Viitattu 31.8.2019. (englanniksi)
- 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)
- Peter H. Salus: Dueling UNIXes and the UNIX Wars (PDF) usenix.org. 2015. Viitattu 31.8.2019. (englanniksi)
- What is UNIX? unix.org. Viitattu 1.9.2019. (englanniksi)
- Neil Brown: Ghosts of Unix past, part 3: Unfixable designs 16.11.2010. Lwn.net. Viitattu 9.9.2019. (englanniksi)
- Jonathan Corbet: Rethinking race-free process signaling 4.4.2019. LWN.net. (englanniksi)
- 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
- Suomen Unix-käyttäjäin yhdistys FUUG ry
- Unixpower, hieno perinteisiin unix-järjestelmiin keskittynyt sivusto (englanniksi)
- Unixguide, oppaita eri unix-järjestelmiin (englanniksi)
- Unix and Linux Forums(englanniksi)
- Historiaa: aikajana (englanniksi)
- The UNIX-HATERS Handbook, kritiikkiä, huumoria (englanniksi) (pdf)
- The Unix Heritage Society (englanniksi)
- Dokumentaatiota Bitsavers.org-sivustolla (englanniksi)
- Commentary on the Sixth Edition UNIX Operating System, John Lionsin kirja (englanniksi)