UNIX

25
UNIX Niina Hänninen TITE3 Katja Marika Savolainen TITE 2

description

UNIX. Niina Hänninen TITE3 Katja Marika Savolainen TITE 2. Johdanto. Nykyään on olemassa useita alkuperäisestä Unixista polveutuvia käyttöjärjestelmiä (mm. Mac OS X, Solaris, HP-UX ja AIX), joista käytetään nimitystä Unix. - PowerPoint PPT Presentation

Transcript of UNIX

Page 1: UNIX

UNIX

Niina Hänninen TITE3

Katja Marika Savolainen TITE 2

Page 2: UNIX

Johdanto

Nykyään on olemassa useita alkuperäisestä Unixista polveutuvia käyttöjärjestelmiä (mm. Mac OS X, Solaris, HP-UX ja AIX), joista käytetään nimitystä Unix.

Toisinaan "unixeihin" lasketaan kuuluvaksi myös GNU/Linux, joka on Unix-yhteensopiva mutta ei perustu samaan ohjelmakoodiin.

Page 3: UNIX

Historiaa

Kehitys aloitettiin vuonna 1969 Unix-sukuiset käyttöjärjestelmät ovat perinteisesti

olleet suosittuja monen käyttäjän keskuskoneissa, palvelimissa ja tehokkaissa työasemakoneissa.

1990-luvulta alkaen niitä on käytetty yhä enemmän myös harrastajien ja peruskäyttäjien keskuudessa tavallisilla PC:n kaltaisilla koneilla ilmaisten ja vapaiden varianttien kuten Linuxin, NetBSD:n ja FreeBSD:n ilmestymisen myötä.

Page 4: UNIX

Historiaa

Innokkaimpana Unix-järjestelmän kimppuun kävi Berkeleyn yliopisto Kaliforniassa, joka yhteen sovitti Unixin DECin uudelle VAX-arkkitehtuurille ja laajensi järjestelmää radikaalisti.

Berkeleyn muutokset ja lisäykset jaettiin muille Unixin käyttäjille nauhoilla, joille annettiin nimi Berkeley Software Distribution, BSD.

BSD:hen lisättiin monia uusia ominaisuuksia, kuten TCP/IP, ja se sai suuren suosion yliopistoissa ja muissa VAX-tietokoneita käyttävissä organisaatioissa.

Page 5: UNIX

Historiaa

Tästä syntyi vielä nykypäivänäkin selvästi näkyvä ero kahden Unix-päähaaran välillä.

Osa nykyisistä Unix-järjestelmistä polveutuu Berkeleyn yliopiston Berkeley Software Distribution (BSD) -haarasta, osa taas System V Release 4 (SVr4) -haarasta.

Page 6: UNIX

Historiaa

Näiden lisäksi useat eri tahot ovat kehittäneet Unix-yhteensopivia käyttöjärjestelmiä. Nämä ns. Unix-kloonit eivät sisällä AT&T:n lisensoimaa UNIX-koodia.

Tunnetuin näistä Unix-klooneista on kuitenkin GNU/Linux, jonka kehityksen aloitti Richard Stallman vuonna 1984 ja jonka kernelin suomalainen Linus Torvalds kehitti 1990-luvun alussa.

Page 7: UNIX

Unix-versiot tänään

BSD-tyylisiä kaupallisia Unixeja: Applen Mac OS X Digital Equipment Corporationin (nyk HP) Ultrix ja

Tru64 UNIX Sun Microsystemsin SunOS 4 ja sitä varhaisemmat

versiot BSD/OS

Page 8: UNIX

Unix- versiot tänään

BSD-tyylisiä ilmaisia ja vapaita Unixeja: FreeBSD: keskittynyt suorituskykyyn OpenBSD: keskittynyt turvallisuuteen NetBSD: keskittynyt yhteensopivuuteen

Page 9: UNIX

Unix-versiot tänään

SVR4-tyylisiä Unixeja edustavat seuraavatUnix-järjestelmät: Hewlett-Packardin (HP) HP-UX IBM:n AIX SCO:n OpenServer ja Unixware Silicon Graphicsin IRIX Sun Microsystemsin Solaris

Page 10: UNIX

Unix-versiot tänään

Unix-klooneja: Linux MINIX Coherent

Page 11: UNIX

Kaupalliset Unixit

Useimmat niin kutsutut kaupalliset Unixit ovat tietokonevalmistajien kehittämiä ja tarkoitettu käytettäviksi nimenomaan valmistajan omilla laitteilla.

Esimerkiksi Sun Solaris on tarkoitettu käytettäväksi Sunin omilla SPARC-pohjaisilla koneilla, vaikka siitä onkin versioita myös X86-laiteympäristölle.

Linux, FreeBSD ja muut sen kaltaiset vapaat käyttöjärjestelmät eroavat tässä suhteessa kaupallisista Unixeista.

Page 12: UNIX

Solaris

Solaris (koko nimeltään Solaris Operating Environment) on Sun Microsystemsin kaupallinen käyttöjärjestelmä.

Sun on ilmoittanut julkaisevansa Solariksen OSI:n hyväksymällä avoimen lähdekoodin lisenssillä vuoden 2005 viidennellä viikolla.

Solariksen juuret ovat Sunin varhaisessa BSD Unixin perustuvassa käyttöjärjestelmässä SunOS. Sun siirtyi Unixin System V -haaraan SunOS 5.0:n myötä heinäkuussa 1992.

Page 13: UNIX

HP-UX ja AIX

HP-UX on Hewlett-Packardin versio UNIX-käyttöjärjestelmästä. Se toimii 68000-, PA-RISC- ja IA-64 -suoritinarkkitehtuureilla varustetuissa HP:n työasema- ja palvelinkoneissa.

AIX (Advanced Interactive eXecutive) on IBM:n RT/PC- ja RS/6000-sarjan koneissa käytetty UNIX-käyttöjärjestelmä. AIXin ensimmäinen versio julkaistiin vuonna 1986.

Se perustui aluksi System V:n Release 3:een, mutta myöhemmin siihen otettiin myös BSD-ominaisuuksia.

Page 14: UNIX

Linux

Linux on suomalaisen Linus Torvaldsin alullepanema käyttöjärjestelmän ydin. Ydin on käyttöjärjestelmän keskeinen osa joka mahdollistaa käyttöjärjestelmän muiden osien toiminnan.

Ensimmäinen Linuxin versio julkaistiin vuonna 1992. Nimeä Linux käytetään myös puhuttaessa

käyttöjärjestelmästä, jonka ydin on Linux. Ytimen lisäksi kokonaiseen käyttöjärjestelmään

kuuluu myös joukko sovellusohjelmia, jotka Linuxin tapauksessa ovat useimmiten GNU-projektin tuottamia työkaluja.

Page 15: UNIX

Mac OS

Mac OS on Applen kehittämä käyttöjärjestelmä Macintosh-tietokoneille.

Mac OS voidaan jakaa kahteen kehitysvaiheeseen, vanhempaan Mac OS -järjestelmään ja nykyiseen Mac OS X -järjestelmään.

Käyttöjärjestelmä tuli markkinoille vuonna 1984 Applen Macintosh-tietokoneessa. Alun perin se oli vain osa tietokonetta nimellä Järjestelmä (engl. System).

Page 16: UNIX

Kaikille Unixeille ominaisia piirteitä

Moniajo eli se, että käyttäjällä voi olla käynnissä useita samanaikaisia ajoja (prosesseja) ja että koneessa voi olla samaan aikaan useita käyttäjiä

Hierarkkinen (puumainen) tiedostojärjestelmä Komentorakenne, jossa komennon osien järjestys on

komentosana, valitsimet (eli optiot) ja argumentit.

Page 17: UNIX

Kaikille Unixeille ominaisia piirteitä

Unix on abstrakti järjestelmä, mikä tarkoittaa sitä, että operointi tapahtuu vielä hyvin syvällä järjestelmässä käsitteellisellä tasolla.

Käyttää virtuaalimuistia, mikä tarkoittaa, että fyysistä keskusmuistia jatketaan tarvittaessa kiintolevylle.

Näin sovellusohjelmien ei tarvitse paljon huolehtia omasta muistinkäytöstään.

Page 18: UNIX

Prosessi eli säie

Prosessi eli säie tarkoittaa suorituksessa olevaa ohjelmaa. Lähes jokainen komento, jonka käyttäjä antaa, luo prosessin.

Unixin prosessi on "itsenäinen olio", johon liittyy kolme I/O-kanavaa (I/O = input/output, syöttö/tulostus) ja jonka kautta prosessi kommunikoi ulkomaailman kanssa.

Nämä kanavat ovat nimeltään stdin, stdout ja stderr

Page 19: UNIX

Stdin, Stdout ja Stderr

Stdin (standard input) on syöttökanava ja sitä kautta prosessille syötetään tietoa näppäimistöltä.

Stdout (standard output) ja stderr (standard error) ovat tulostus- ja virheilmoituskanavat.

Ne on ohjattu oletusarvoisesti päätteen kuvaruudulle.

Page 20: UNIX

Ajanjako Unixissa

Ajanjaolla (scheduling) tarkoitetaan sitä, miten käyttöjärjestelmä jakaa aikaa eri prosesseille.

Ajanjaon tehtäviä on mm. jaotella ohjelmille aikaa suorittimessa mahdollisimman tasapuolisesti sekä maksimoida kokonaissuorituskyky.

Unix-käyttöjärjestelmä käyttää multilevel feedback- ajanjakomenetelmää, jonka prioriteettijonot toimivat round robin -periaatteella

Page 21: UNIX

Round robin

Round robin – periaate perustuu FIFO-tekniikkaan (First In First Out), joka tarkoittaa sitä, että ensimmäinen jonoon saapunut prosessi käsitellään ensin.

Jokainen prosessi saa tietyn aikaviipaleen ja jos suoritus ei tämän ajan sisällä pääty, palautuu prosessi jonon hännille odottamaan vuoroaan.

Page 22: UNIX

Multilevel feedback

Multilevel feedback-tekniikassa on taas monta FIFO-jonoa eri tasoilla odottamassa suoritin aikaansa.

Alimman tason prosessit saavat harvemmin aikaa, mutta kerran prosessin päästyä suorittimeen saa se jatkossa korvamerkittynä lisää suoritinaikaa.

Tämä tekniikka suosii I/O-sidonnaisia prosesseja, josta seuraa hyvä I/O -laitteiden käyttöaste.

Page 23: UNIX

Prioriteetit

Jokaisella prosessilla on oma prioriteettinsa, joka määrittelee sen, kuinka paljon suoritin aikaa sille kerrallaan annetaan

Alhaisimman prioriteetin prosessit eivät välttämättä pääse suoritukseen lainkaan kun käsiteltävien prosessien lista on hyvin pitkä.

Prosessien saamaa suoritinaikaa voidaan säädellä nice ja renice-ohjelmilla.

Page 24: UNIX

Muistinhallinta

UNIXin muistinhallinta perustuu siihen että jokaiselle ohjelmalle luodaan sen käynnistyessä oma yksityinen muistiavaruus, esimerkiksi 8 megatavua.

Koko muistialue ei ole välttämättä käytössä yhtäaikaisesti vaan siitä on keskusmuistissa vain tarvittava osa ja loppuosa virtuaalimuistilla.

Page 25: UNIX

Muistinhallinta

Vaikka jokaiselle prosessille varataan oma (suuri) muistialue, mahtuu samanaikaisesti muistissa olemaan kuitenkin useampia ohjelmia koska niistä on keskusmuistissa vain suorituksen kannalta olennainen osa

Esimerkiksi Linuxissa swapd - niminen daemon ohjelma huolehtii muistin sivutuksesta virtuaalimuistin ja fyysisen muistin välillä.