UNIX:in historia

Kehitysyhteisön rooli UNIX:in alkuvuosina

Mikko Visa

Esityksen sisältö

Yleishistoriaa UNIX:sta

UNIX:in kehitystapa vs. opensource-ohjelmat

UNIX:in ja akateemisen maailman symbioosi

Yhteenveto

UNIX?

Vuonna 1969 kehitetty käyttöjärjestelmä

Täyttää 35 vuotta tänä vuonna

Kehittäjänä Bell Labs, pääasiassa Ken Thompson ja Dennis Ritchie sekä muutamat muut

Sittemmin ilmestynyt kymmeniä ellei satoja UNIX-klooneja

Esimerkiksi Linux vuonna 1991

Historia – alku

Bell Labs, GE, MIT Multics-projektiin 1965

Bell Labs jättäytyi pois vuonna 1968

Ken Thompson ja Dennis Ritchie kehittämään omaa käyttöjärjestelmää, koska paluu GECOS:iin ei enää innostanut

Moni idea Multics:sta

Historia – ominaisuudet

Ensimmäinen UNIX toimi DEC:in PDP-7 laitteella (kuva)

Sittemmin PDP-11

UNIX:in ominaisuuksia:

Hierarkkinen tiedostojärjestelmä

Prosessien kontrollointi (luominen, käyttäminen)

I/O uudelleenohjaus

Komentotulkki (käyttäjätason ohjelma)

Kaikkea ei ollut heti, esim. putket (pipes) tulivat vasta vuonna 1972.

Historia – periaatteet

Periaatteena kehityksessä oli:

Jokainen komponentti tekee vain yhden asian ja tekee sen hyvin

Jokainen ohjelma toimii hyvin yhteen muiden kanssa (syöte/tuloste)

Tehdään ohjelma mahdollisimman nopeasti toimivaksi ja testattavaksi. Ei epäröidä heittää pois heikosti tehtyjä komponentteja ja uudelleenkirjoittaa niitä tarvittaessa.

Historia – syyt suosioon

UNIX:in suosioon ja pitkään ikään on monia syitä, tärkeimmät ovat:

Kirjoitettu C:llä (alunperin assembler), joka oli hyvin portattava kieli

Jaeltiin lähdekoodin kanssa

Kehitettiin avoimessa ja kriittisessä ympäristössä, jossa useat kommentoivat muiden koodia

Historia – loppuvaiheet

Bell Labs kaupallisti UNIX:in vuonna 1978

Viimeinen versio 7, josta tuli pohja kaikille ilmaisille UNIX-jakeluille

Ensimmäinen klooni oli Kalifornian Yliopiston BSD UNIX (Berkeley Software Distribution)

BSD saavutti suuren suosion (nykyään FreeBSD, OpenBSD, NetBSD)

BSD:n kautta tuli mun muassa verkkoimplementaatio UNIX:iin

UNIX:in kehitystapa

Muistutti alkuaikoina paljon nykyistä opensource-kulttuuria

Kun yliopistot hankkivat UNIX-lisenssin:

Kehitysyhteisö laajeni

Yhteistyö tiivistyi

Yliopistot antoivat palautetta ja korjauksia

Bell Labs jakoi UNIX:ia omakustannehintaan koska se ei saanut myydä sitä (viranomaisten määräys)

Kehitystapa 2

UNIX olisi saattanut jäädä kaupalliseksi marginaaliseksi tuotteeksi ellei sitä olisi alettu jakamaan omakustennahintaan lähdekoodeineen?

UNIX ja akateeminen maailma

UNIX syntyi alunperin osittain akateemisen tutkimuksen tuloksena (Multics-projekti, MIT)

Kehitystapa poikkesi perinteisestä tavasta

Muistuttaa nykypäivän opensource-kehitystapaa

Tietojenkäsittelytieteen laitokset ottivat käyttöön

UNIX ja akateeminen maailma

Kun yliopistojen palaute otettiin huomioon, suosio kasvoi

Myös Bell Labs:in tutkijat vierailivat yliopistoissa professoreina ja päinvastoin

Akateeminen maailma hyötyi UNIX:sta

Tarve paremmille järjestelmille tietojenkäsittelyyn

Käytettiin ulkopuolisia tietokonekeskuksia

Kalliita

Eivät innostuneita erityistarpeista

Laitteet kallita (suuret keskustietokoneet)

UNIX:in hinta minimaalinen

UNIX toimi pienissä ja edullisissa laitteissa, esim. PDP-11

Akateeminen maailma hyötyi UNIX:sta

UNIX:ia oli helppo muokata ja ymmärtää

Lähdekoodi saatavilla ja muokattavissa

UNIX kerneli vain n. 10000 riviä siihen aikaan

Yksi henkilö pystyi ymmärtämään koodin

Akateeminen maailma hyötyi UNIX:sta

Opiskelijat hyötyivät:

Ensimmäistä kertaa käytössä kokonaisen käyttöjärjestelmän lähdekoodi

Opiskelijat näkivät, että heidän oppimat abstraktit menetelmät käyttöjärjestelmien rakentamiseen pystyttiin käytännössä toteuttamaan

UNIX:ssa oli sen ajan parhaat työkalut ohjelmistonkehitykseen

Akateeminen maailma hyötyi UNIX:sta

Kun UNIX:sta oli tullut yhteinen laitealusta yliopistoissa helpottui tieteellisten tulosten jakaminen

Kaikki käyttivät UNIX:ia

Akateeminen maailma hyötyi UNIX:sta

UNIX toi uskottavuutta uudelle ja tuorelle tieteenalalle: tietojenkäsittelytiede

Siihen aikaan tietojenkäsittelytiede pyrki todistelemaan olemassaoloaan varteenotettavana tieteenhaarana

UNIX oli todiste siitä, että se mitä opetettiin paperilla pystyttiin käytännössä myös tekemään

Akateeminen maailma hyötyi UNIX:sta

VAX:it ja niiden suosio innostivat yliopistoja hankkimaan niitä

Yliopistot hankkivat VAX:eja, koska ne olivat suosittuja

Edullinen ja tehokas hankinta

Tietojenkäsittelykapasiteettia pystyttiin kasvattamaan reilusti

Akateeminen maailma hyötyi UNIX:sta

Tuen puute pakotti perustamaan käyttäjäyhteisöjä ja tekemään yhteistyötä muiden ryhmien kanssa

Myös yhteistyö yliopistojen ja eri yliopiston eri laitosten välillä tiivistyi

Esim. AUUG Australiassa

UNIX hyötyi akateemisesta maailmasta

Yliopistot

antoivat palautetta UNIX:sta

tekivät parannusehdotuksia ja korjauksia

Ensimmäiset UNIX:iin vaikuttaneet olivat matemaatikoita ja tietojenkäsittelytieteilijöitä

UNIX hyötyi akateemisesta maailmasta

Ohjelmoijien kysyntä kasvussa

Koska yliopistoilla oli UNIX, valmistuneet hallitsivat sen

Työnantajat rohkaistuivat hankkimaan UNIX:in koska koulutusta järjestelmään ei tarvittu

Myös Bell Labs hyötyi siis

UNIX hyötyi akateemisesta maailmasta

Ulkopuoliset tutkijat (akateemiselta puolelta) viettivät sapattivuosia Bell Labs:ssa ja toivat uusia ajatuksia ja innovaatioita mukanaan

UNIX hyötyi akateemisesta maailmasta

Käyttöjärjestelmien tutkijat alkoivat käyttää UNIX:ia tutkimusten pohjana (koska UNIX oli laajalti hyväksytty ja käytössä)

Tutkijat pystyivät muuttelemaan järjestelmää helposti

Tämä johti kolmeen asiaan:

Yleisen järjestelmän saatavuus auttoi verifioimaan ja toistaa muiden kokeita

Voitiin siis jatkaa ja laajentaa muiden aikaansaannoksia

UNIXin tilanne tällä hetkellä

AT&T (ent. Bell) myi oikeudet 1993 Novell:lle

Novell myi oikeudet SCO:lle 1995

Tilanne epäselvä tällä hetkellä

SCO nostanut useita Linuxia käyttäviä ja kehittäviä yrityksiä vastaan kanteen

Yleinen mielipide on, ettei kanne pidä

Yhteenveto

Linux tällä hetkellä suosituin UNIX-klooni

UNIX:in kehitystapa muistuttaa hyvin paljon nykyistä opensource-liikettä

SCO myy vieläkin UNIX:ia nimellä UnixWare

Yhteenveto

Kysymyksiä, kommentteja?

Aihe valittu koska itse ylläpitänyt UNIX-järjestelmiä 6-7 vuotta.

Painottuu akateemisen maailman ja UNIX:in (=Bell Labs) yhteistyökuvioihin

Esitys kattaa suurinpiirtein vuoden 1969-1978

UNIX siis säilynyt muodossa tai toisessa 35 vuotta, todella harvinaista ohjelmistolle.

Kaikilla kolmella tarve käyttöjärjestelmälle

Bell Labs jäi pois koska tavoitteet olivat eriytyneet. Myös aikataulu petti pahasti.

Thompson ja Ritchie käyttäneet GECOS:ia aiemmin ennen Multics:ia.

Multics:sta: ositus, monikäyttäjä, interaktiivisuus

Nykyään vaikea löytää laitetta, jossa ei pyörisi jonkunlaista UNIX:ia, esim. amiga, xbox...

UNIX kehitettiin järjestelmiin, jossa oli alle 65K muistia ja terminaaleja joiden nopeus oli 10 merkkiä sekunnissa. Nykyään moniprosessorikoneilla, muisteja satoja megatavuja.

Oheislaitteet tiedostoina, kovalevyt, hiiri, tulostin jne.

Huomattava ettei mitään virallista määräystä UNIX:in tekemiseen ollut. Thompson vain halusi itselleen kunnollisen kehitysympäristön, aiemmin ei ollut ollut kiinnostunut edes käyttöjärjestelmistä niinkään.

Vrt. kehitystä opensource-tapaan, esim. torvalds tai muu ylläpitäjä hyväksyy patchit linuxin kerneliin.

AT&T:n uusi UNIX:sta vastaava yksikkö ei enää kommunikoinut yhteisön kanssa, joten yhteisö tarvitsi jonkun koordinoimaan ilmaisen version kehittämistä. Lisäksi alunperin UNIX:ia kehittäneet olivat jo muissa hommissa.

Berkeley otti tehtävän vastaan. Mm. virtuaalimuisti tuli BSD:hen ensin, josta UNIX otti sen käyttöönsä kuusi vuotta myöhemmin.

Versio 7 tekemisessä oli kiinnitetty erityisesti huomiota portattavuuteen.

Tietojenkäsittelytieteen historia näyttäisi toisenlaiselta ilman täätäkin asiaa.

Pois tää?

Käytettiin ulkoisia tietokonekeskukset rajoittivat itsenäisten laitosten autonomiaa, nyt ne pystyivät itse kontrolloimaan laitteitaan ja kustomoimaan niitä.

Pystyttiin tekemään omaan ympäristöön sopiva järjestelmä.

Olihan UNIX kuitenkin suunniteltu ohjelmistonkehitysympäristöksi.

tietellisiä tuloksia voitiin jakaa helpommin, voitiin myös jatkaa muiden työtä (rakentaa niiden päälle helpommin) kun alusta oli sama

Sillä UNIX oli malliesimerkki hyvästä tietojenkäsittelytieteestä. Monet ideat siihen olivat tulleet akateemisesta Multics-projektista (MIT jne.)

Vaarana monokulttuuri koska ainoa järjestelmä oli pitkään UNIX. Pitäisi olla enemmän järjestelmiä.

Esim. Yale opiskelijat muuttelivat shelliä, Purduen eräs osasto paransi suorituskykyä huomattavasti -> saatiin UNIX tukemaan enemmän käyttäjiä jne. Berkeley teki uuden shellin ja monia muita pieniä ohjelmia UNIX:in tueksi.

UNIX levisi koska vastavalmistuneet suosittelivat työnantajaansa ottamaan sen käyttöön

Johti kolmeen asiaan:

-yleisen järjestelmän saatavuus auttoi verifioimaan ja toistamaan muiden kokeita

-voitiin siisjatkaa ja laajentaa muiden aikaansaannoksia

-kun järjestelmä oli sama tutkimuksen ja tuotannon puolella voitiin tulokset siirtää nopeasti tuotantoon

UNIX - historia

Mikko Visa

2004-01-20T15:56:01