|
Käyttöjärjestelmä on tietokoneen perusohjelmisto joka hallinnoi laitteistoresursseja, ja pyrkii tarjoamaan turvallisen ja helppokäyttöisen rajapinnan niiden käyttämiseen. Käyttöjärjestelmä vastaanottaa käyttäjän käskyjä mahdollistaen tiedostojen hallinnan, laitteiston ja ohjelmistojen, kuten esimerkiksi tekstinkäsittely-, videoeditointi-, kuvankäsittely- tai palvelinohjelmistojen käyttämisen. Käyttöjärjestelmä tarjoaa myös ohjelmointirajapinnan, joka helpottaa sovellusohjelmien kehittämistä tarjoamalla abstraktiokerroksen laitteiston päälle. Käyttöjärjestelmä on tavallisesti tietokoneen välttämättömin ohjelmisto. Käyttöjärjestelmä suorittaa tietokoneen tärkeimpiä tehtäviä, kuten hallitsee muistin käyttöä, priorisoi järjestelmäkutsuja, ohjaa oheislaitteita, mahdollistaa tietoverkkojen käyttöön ja käsittelee tiedostoja. Erilaisia käyttöjärjestelmiä löytyy lähes kaikista laitteista joiden toiminto perustuu piirilevyihin, kuten esimerkiksi kotitietokoneista, Internet-palvelimista, matkapuhelimista, musiikkisoittimista, verkkolaitteista, verkkolevyistä ja pelikonsoleista. Kaikki mikroprosessorin sisältämät laitteet eivät kuitenkaan sisällä käyttöjärjestelmää, vaan laitteen toiminnan voi mahdollistaa pelkkä Firmware. Tämä on yleistä suhteellisen yksinkertaisissa sulautetuissa järjestelmissä kuten digitaalikameroissa, mikroaaltouuneissa, joiden tehtävä on suorittaa vain tiettyjä ennalta määrättyjä toimintoja. Ensimmäinen ohjelmisto joka suoritetaan tietokoneen käynnistyessä on firmware, joka löytyy haihtumattomasta muistista kuten esimerkiksi ROM- tai Flash-muistista. Tietokoneen käyttöjärjestelmä voi löytyä samasta paikasta, tai firmware jatkaa käynnistysprosessia lataamalla käyttöjärjestelmän joltain toiselta muistilaitteelta tai verkon yli. Yleisimmät tietokoneiden työpöytäkäyttöjärjestelmät nykypäivänä ovat Microsoftin Windows XP ja uusi versio Vista, Applen Mac OSX Tiger ja uusi versio Leopard, avoimen lähdekoodin ja vapaiden ohjelmistojen yhteisön Linux. Microsoftin Windows on yleisin työpöytäkäyttöjärjestelmä. Linux taas on yleisin käyttöjärjestelmä palvelin ympäristöissä. Monet Linux jakelut ovat kuitekin saavuttamassa suosiota myös työpöytäkäytössä. Sun pyrkii saavuttamaan saman tavoitteen omalla käyttöjärjestelmällä, ja lupaa samaa tehoa, avoimuutta ja helppokäyttöisyyttä mitä Linuxin työpöytäjakelut tarjoavat. Windows, Linux ja MacOSX -käyttöjärjestelmistä löytyy eri versiot palvelin sekä työpöytäkäyttöön.
ProsessinhallintaTietokoneella toimivaan ohjelmaan, oli se näkyvästi tai taustalla toimiva, viitataan yleisesti nimellä "prosessi". Prosessien vuorottaja(engl. scheduler) viittaa käyttöjärjestelmän tehtävään luoda, suorittaa ja sammuttaa prosesseja. Prosessin luomiseksi käyttöjärjestelmän tehtäviin lukeutuu mm. muistin jakaminen prosessille (kts. muistinhallinta alempana), itse ohjelman suorituskoodin lataaminen muistiin, vuorottajan käskeminen suorittamaan ohjelmakoodi, sekä muita käyttöjärjestelmäkohtaisia tehtäviä. Vuorottaja on se osa käyttöjärjestelmää joka suorittaa ohjelman prosessorilla, eli "ajoittaa" suorittamisen. Jos vuorottaja tukee ennakoivaa moniajoa, se voi vaihtaa parhaillaan prosessorissa suoritettavan prosessin toiseen prosessiin, kun vuorottaja havaitsee, että ensimmäistä prosessia on suoritettu jo ennaltamäärätty aika. Prosessin suoritusaika vaihtelee prosessin suoritustarpeesta, käyttäjän asettamasta priorisoinnista kyseiselle prosessille, ja prosessin käyttäytymisestä. Prosessin lopettamiseksi käyttöjärjestelmän tehtäviin kuuluu prosessin käyttämien resurssien (muisti, tiedostoviittaukset ja I/O portit) vapauttaminen, ja varmistaa että seuraava prosessi suoritetaan. Riippuen käyttöjärjestelmästä, prosessinhallinta voi olla yksinkertaisempi tai monimutkaisempi tehtävä kuin ylläoleva. Muutama malliesimerkki alla:
ResurssienhallintaNykyiset tietokonearkkitehtuurit järjestelevät tietokoneen laitteiston hierarkkisesti. Nopeimmasta aloittaen; prosessorin kellopulssi, prosessorin välimuisti, keskusmuisti ja tallennusasema. Käyttöjärjestelmä hallitsee näiden käyttöä ottamalla uudelleen käyttöön vapautuneita resursseja ja hallitsemalla tiedonsiirtoa näiden välillä. Muistinhallintaan kuuluu myös näennäismuistin hallinta, joka tarjoaa prosesseille yhtenäisen virtuaalisen muistiavaruuden, joka voi olla käytettävissä olevaa fyysistä muistia suurempi. Jos suoritettava prosessi vaatii huomattavasti enemmän muistia kuin on käytettävissä, järjestelmä siirtää käyttämättömiä muistisivuja hitaammalle tallennusvälineelle ja vapauttaa täten keskusmuistia hyötykäyttöön. Levy ja tiedostojärjestelmäKäyttöjärjestelmän yksi tärkeimmistä tehtävistä on ylläpitää tiedostojärjestelmää. Tiedostojärjestelmä mahdollistaa tiedon tallentamisen ja lukemisen massamuistiin. VerkkoprotokollatNykyiset käyttöjärjestelmät yleensä mahdollistavat useiden eri verkkoprotokollien käyttämisen, esimerkiksi TCP/IP verkkoprotokollan. Samoja verkkoprotokollia käyttävät tietokoneet voivat jakaa keskenään erilaisia palveluja kuten verkkotulostus, verkkoskannaus ja tiedostojenjako (esimerkiksi NFS ja SMB) langallisissa (esim. Ethernet) ja langattomissa (mm. WLAN) verkoissa. Käyttöjärjestelmien tarjoaman valmiin protokollapinon ansiosta on helppoa kehittää uusia sovellustason protokollia, kuten P2P-protokollat kuten Bittorrent ja Skypen oman VoIP protokolla. TietoturvaKäyttöjärjestelmän tehtävä on suojata sillä suoritettavat prosessit toisistaan ja eristää keskus- tai virtuaalimuistissa oleva tieto muilta prosesseilta, suojaten näin käyttöjärjestelmällä suoritettavia ohjelmia. Käyttöjärjestelmän voi joko itse toimia kokonaan suojatussa tilassa niin kutsutussa "Supervisor" -tilassa. Tai käyttöjärjestelmä omaa vain x86 prosessoreilla ajaessa "Protected mode" -tilan, missä järjestelmässä olevia ohjelmien voidaan sallia käyttää virtuaalimuistia, sivutusta sekä toimia turvallisesti moniajossa. Tällä suojauksella mahdollistetaan käyttöjärjestelmän säilyttää suurempi hallinta prosesseihin. Käyttöjärjestelmät saattavat myös sisältävät ohjelmallisen palomuurin itsessään. Myös käyttöjärjestelmästä erillinen palomuuriohjelma voidaan asettaa sallimaan/estämään lähtevä/saapuva verkkoliikenne tiettyihin prosesseihin käyttöjärjestelmällä. Täten järjestelmässä voidaan suorittaa tietoturvan kannalta vaarallisia palvelimia järjestelmän olematta haavoittuvainen tietoturvahyökkäyksille palomuurin torjuessa kaikki yhteydenotot näihin ohjelmiin tietoliikenneporteista joista ei palvelimiin saa päästä liikennettä. Käyttöjärjestelmä voi myös sisältää erikoisia tietoturvaominaisuuksia. Esimerkiksi SELinux (Security-Enhanced Linux) projektissa käyttöjärjestelmä on vahvennettu Yhdysvaltojen puolustusministeriön vaatimuksien mukaiseksi. SELinuxiin kehitetyt suojaukset on voitu jäljittää aikaisempiin NSA projekteihin. Tälläisillä suojauksilla käyttöjärjestelmä voidaan suojata paremmin itseltään ja järjestelmän ohjelmien vääränlaiselta toiminnalta. KäyttöliittymäNykyään uusimmat tietokoneiden järjestelmät sisältävät graafisen käyttöliittymän. Joissakin järjestelmissä graafinen käyttöliittymä on integroitu käyttöjärjestelmän ytimeen. Esimerkiksi alkuperäisissä Microsoftin Windows ja Applen Mac OS käyttöjärjestelmissä graafinen alijärjestelmä oli osa ydintä. Muissa käyttöjärjestelmissä, vanhemmissa että uudemmissa on suunnittelun lähtökohtana usein ollut modulaarisuus, irroittaen graafisen alijärjestelmän käyttöjärjestelmän ytimestä ja joskus jopa koko käyttöjärjestelmästä. 1980 luvulla UNIX, VMS ja monet muut käyttöjärjestelmät suunniteltiin tällä tavoin. Nykyään Linux ja MacOSX käyttöjärjestelmät perustuvat näille suunnitteluperiaatteille. Monet tietokoneiden järjestelmät sallivat käyttäjän asentaa tai luoda haluamiaan käyttöliittymiä. Unix-tyyppisille käyttöjärjestelmille saatavilla oleva Xorg on ohjelmisto, joka mahdollistaa erilaisten graafisten käyttöliittymien käyttämisen käyttöjärjestelmän päällä. Tällaisia ovat mm. GNOME ja KDE työpöytäympäristöt, joita käytetään usein esimerkiksi BSD, Linux ja Minix -käyttöjärjestelmissä. Aikoinaan useita erilaisia X11-ikkunointiympäristösta johdettuja graafisia käyttöliittymiä oli saatavilla UNIX-koneille. Kilpailevien valmistajien määrän vuoksi 1990-luvulla yritettiin COSE ja CDE ikkunointijärjestelmiä standardoida, mutta epäonnistumisen vuoksi GNOME ja KDE yleistyivät nopeasti avoimen lähdekoodin ja työpöytäympäristöidean vuoksi. Graafiset käyttöliittymät ovat kehittyneet ajan saatossa. Esimerkiksi, Microsoft on muuttanut oman Windows-käyttöjärjestelmänsä käyttöliittymää lähes jokaisen uuden version julkaisun yhteydessä ja Apple muutti käyttöliittymää radikaalisti julkaistessaan Mac OSX käyttöjärjestelmän vuonna 2001. Monet käyttäjät mieltävät graafisen käyttöliittymän osaksi käyttöjärjestelmää. Graafinen käyttöliittymä on kuitenkin useimmiten vain yksi osa järjestelmästä. LaiteajuritLaiteajuri on ohjelmisto käyttöjärjestelmään, joka mahdollistaa tietyn tietokonelaitteen käyttämisen. Tyypillisesti tämä tarkoittaa rajapintaa, jonka avulla käyttöjärjestelmä keskustelee tietokoneeseen liitetyn oheislaitteen kanssa. Laiteajuri on ohjelmoitu käyttöjärjestelmän ajurirajapinnan ja tietokoneen suorittimen arkkitehtuuriin mukaisesti. Nykyiset käyttöjärjestelmät eivät pysty suoraan käyttämään kaikkia saatavilla olevia oheislaitteita niiden suuren määrän ja vaihtelevan toteutuksen vuoksi. Tämän ratkaisemiseksi käyttöjärjestelmässä on määritelty rajapinta laitteiden käsittelemiseksi yhdemukaisella tavalla. Laiteajurin tehtävä on muuttaa käyttöjärjestelmän antamat käskyt laitteen ymmärtämään muotoon, mahdollistaen laitteen toimivuuden kunhan sopiva laiteajuri on saatavilla laitteelle ja käyttöjärjestelmälle. Käyttöjärjestelmien luokitteluLuokittelu käyttäjämäärän mukaanKäyttöjärjestelmiä voidaan luokitella monin perustein. On sellaisia, jotka sallivat ainoastaan yhden käyttäjän kerrallaan, kun taas monimutkaisemmat voivat samanaikaisesti palvella useita käyttäjiä, ja luoda illuusion siitä, että kukin heistä olisi yksin konetta käyttämässä. Nykyisin useimmat käyttöjärjestelmät mahdollistavat jonkinasteisen moniajon: käyttäjällä voi olla samanaikaisesti useampia kuin yksi prosessi (ohjelma) suoritettavana — vaikkapa tekstinkäsittelyohjelma ja mp3-tiedostosta musiikkia soittava ohjelma. Moniajoa tukevat käyttöjärjestelmät voivat siis suorittaa useita prosesseja samanaikaisesti. Jos käytettävissä on useita suorittimia, on moniajo todellista. Yhdellä suorittimella on mahdollista saavuttaa näennäinen moniajo suorittamalla prosesseja vuorotellen lyhyissä pätkissä. Moniajo on välttämätön monen käyttäjän järjestelmissä. Nykyiset käyttöjärjestelmät tukevat moniajoa lähes poikkeuksetta. Luokittelu käyttöliittymän mukaanKäyttöjärjestelmiä voidaan jaotella myös niiden käyttöliittymän perusteella. Komento- tai merkkipohjaisissa käyttöjärjestelmissä käskyt kirjoitetaan näppäimistöllä komentoriville, kun taas graafisissa käyttöjärjestelmissä käytetään ikkunoita, valikkoja, kuvakkeita ja muita muun muassa Microsoftin Windowsista tuttuja komponentteja. Tilannetta hieman sekoittaa se, että yhdessä käyttöjärjestelmässä voi olla useampia — sekä merkkipohjaisia että graafisia — käyttöliittymiä. Esimerkiksi vanhalle merkkipohjaiselle MS-DOS-käyttöjärjestelmälle tehtiin aikoinaan graafinen ikkunointiympäristö nimeltä Windows, josta myöhemmin tuli itsenäinen käyttöjärjestelmä. Vastaavasti myös perinteisesti komentopohjaiselle UNIX-käyttöjärjestelmälle on laadittu erilaisia graafisia käyttöliittymiä, muun muassa suositut sekä monipuoliset KDE ja GNOME työpöytäjärjestelmät jotka toimivat X Window System palvelimen päällä. Useimpia nykyisiä graafisia käyttöjärjestelmiä voi ohjata myös komentopohjaisesti kuten Microsoftin Windowsia ja Applen Mac OS X -käyttöjärjestelmää. Linux-käyttöjärjestelmä on komentorivipohjainen, mutta useimmat Linuxin jakeluversiot tulevat joko KDE- tai GNOME-työpöytäjärjestelmällä varustettuna graafista käyttöä varten, ja Linux luokitellaan sen vuoksi myös graafiseksi käyttöjärjestelmäksi. Luokittelu käyttötarkoituksen mukaanKäyttöjärjestelmiä voidaan luokitella niiden käyttötarkoituksen mukaan. Suurtietokone- ja palvelinkäyttöjärjestelmiä käytetään tietokoneissa, joissa on valtava määrä mm. muistia, massamuistivälineitä, prosessoreita ja muita resursseja. Käyttäjämäärät tällaisissa järjestelmissä ovat myös suuria. Tavoitteena tällaisissa järjestelmissä on yleensä hyödyntää resursseja mahdollisimman täydellisesti, ja suorittaa mahdollisimman suuri määrä tehtäviä aikayksikköä kohden. Työpöytäkäyttöjärjestelmiä käytetään yksittäisissä PC-koneissa, joilla voi olla yksi tai useampia käyttäjiä. Tärkeimpiä ominaisuuksia ovat helppokäyttöisen ja hyvän vasteen tarjoavan käyttöliittymän tarjoaminen käyttäjälle, yhteensopivuus heterogeenisen laitteiston kanssa, sekä laajennettavuus. Reaaliaikakäyttöjärjestelmät tähtäävät mahdollisimman pieniin ja deterministisesti ennustettaviin viiveisiin käyttöjärjestelmän toiminnassa, sekä äärimmäiseen toimintavarmuuteen. Sulautetut käyttöjärjestelmät kuuluvat yleensä samaan kategoriaan. Sulautettuja ja reaaliaikakäyttöjärjestelmiä käytetään yleensä sulautetuissa järjestelmissä, jotka on suunniteltu suorittamaan jokin tietty tehtävä mahdollisimman tehokkaasti. Tästä syystä myös energiankulutus ja laitteistoresurssien mahdollisimman säästeliäs ja tehokas käyttö ovat tärkeitä ominaisuuksia. HistoriaaKatso myös
|
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net