UNIX

Post on 06-Jan-2016

32 views 2 download

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

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.

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

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ä.

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.

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.

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.

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

Unix- versiot tänään

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

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

Unix-versiot tänään

Unix-klooneja: Linux MINIX Coherent

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.

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.

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.

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.

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).

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.

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.

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

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.

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

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.

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.

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.

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.

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ä.