Käyttöjärjestelmä (OS) on joukko tietokoneohjelmia, kuten laiteajurit, ytimet ja muut ohjelmat, joiden avulla ihmiset voivat toimia tietokoneen kanssa. Se hallinnoi tietokoneen laitteisto- ja ohjelmistoresursseja. Se tarjoaa tietokoneohjelmille yhteisiä palveluja. Käyttöjärjestelmä voi olla pieni (kuten MenuetOS) tai suuri (kuten Microsoft Windows). Eri käyttöjärjestelmiä voidaan käyttää eri tarkoituksiin. Joitakin käytetään jokapäiväisiin asioihin, kuten henkilökohtaisessa tietokoneessa. Toiset ovat mobiilikäyttöjärjestelmiä tai niitä käytetään erikoistuneeseen työhön.

Käyttöjärjestelmällä on monia tehtäviä. Se huolehtii siitä, että kaikki ohjelmat voivat käyttää prosessoria, keskusmuistia, näyttöjä, syöttölaitteita ja muuta laitteistoa. Jotkut antavat myös käyttäjälle käyttöliittymän tietokoneen käyttöä varten. Käyttöjärjestelmä vastaa myös tietojen lähettämisestä muille tietokoneille tai laitteille verkossa.

Esimerkkejä yleisesti käytetyistä käyttöjärjestelmistä ovat macOS, Linux ja Microsoft Windows.

Mitä käyttöjärjestelmä tekee?

  • Prosessinhallinta: käynnistää, pysäyttää ja aikatauluttaa ohjelmia (prosesseja ja säikeitä) niin, että useita ohjelmia voidaan suorittaa samanaikaisesti (multitasking).
  • Muistinhallinta: jakaa ja suojaa keskusmuistia (RAM), hallitsee virtuaalimuistia ja estää ohjelmia sotkemasta toistensa muistialueita.
  • Tiedostojen hallinta: tarjoaa tiedostojärjestelmän tiedostojen tallentamiseen, järjestämiseen ja hakemiseen sekä oikeuksien hallintaan.
  • Laitteiden hallinta: kommunikoi laitteiston kanssa laiteajureiden avulla ja välittää sovellusten pyynnöt laitteille.
  • Turvallisuus ja käyttöoikeudet: valvoo käyttäjien ja ohjelmien oikeuksia, tarjoaa autentikointia, salauksen tukea ja suojaa resursseja luvattomalta käytöltä.
  • Verkko- ja viestintäpalvelut: hoitaa tiedonsiirtoa verkon yli, tarjoaa protokolla-alustoja ja verkonhallinnan toimintoja.
  • Käyttöliittymä: tarjoaa komentorivin (CLI) tai graafisen käyttöliittymän (GUI), jonka kautta käyttäjä voi ohjata laitetta.
  • Järjestelmäkutsut ja rajapinnat: tarjoaa sovellusohjelmille standardoidun tavan pyytää palveluja (esim. tiedoston lukeminen, prosessin luonti).

Keskeiset osat

  • Ydin (kernel): käyttöjärjestelmän sydän, joka hoitaa laitteiston hallinnan, prosessien ajoituksen ja muistinhallinnan. (Mainittu aiemmin: ytimet.)
  • Laiteajurit: erikoisohjelmia, jotka sallivat ytimen käyttää eri laitteita (laiteajurit).
  • Tiedostojärjestelmät: määräävät, miten tiedostot tallennetaan ja haetaan levyltä tai muusta tallennustilasta.
  • Käyttöliittymät: komentorivipohjaiset (CLI) ja graafiset työpöytäympäristöt (GUI), joiden avulla käyttäjä vuorovaikuttaa järjestelmän kanssa (käyttöliittymän käsite).
  • Järjestelmäpalvelut: taustaprosessit (daemonit/servicet), jotka tarjoavat palveluja kuten tulostus, lokitus ja verkon hallinta.

Käyttöjärjestelmän tyypit ja käyttökohteet

  • Työpöytä- ja kannettavat: kuten Microsoft Windows, macOS ja Linux - sopivat yleiskäyttöön, toimistotyöhön ja ohjelmistokehitykseen.
  • Mobiilikäyttöjärjestelmät: esimerkiksi Android ja iOS, optimoitu kosketusnäytöille ja mobiililaitteiden resursseille.
  • Palvelin-/datakeskusjärjestelmät: optimoitu suorituskyvylle, vakaudelle ja saman aikaisesti palveltavien käyttäjien määrälle.
  • Sulautetut järjestelmät: pieniä, laitteeseen upotettuja käyttöjärjestelmiä teolliseen ohjaukseen, kodinkoneisiin tai IoT-laitteisiin.
  • Aikakriittiset (real-time) käyttöjärjestelmät: kuten RTOS, jotka takaavat ennustettavan vasteajan esimerkiksi teollisuusohjauksessa tai lääketieteellisissä laitteissa.
  • Jakautuneet ja virtualisointijärjestelmät: järjestelmät, jotka hallitsevat resursseja useissa laitteissa tai ajavat useita virtuaalikoneita yhdellä laitteistolla (hypervisorit).

Lisätietoa ja käytännön huomioita

Käyttöjärjestelmän valintaan vaikuttavat käyttötarkoitus, laitteiston vaatimus, ohjelmistotuki ja turvallisuusvaatimukset. Päivitykset ja ylläpito ovat tärkeitä: uusimmat päivitykset korjaavat tietoturva-aukoista ja parantavat vakautta. Lisäksi eri käyttöjärjestelmät tukevat eri tiedostojärjestelmiä, ajureita ja ohjelmistoekosysteemejä, joten yhteensopivuus kannattaa tarkistaa ennen valintaa.

Yhteenvetona: käyttöjärjestelmä on välttämätön ohjelmistokerros, joka yhdistää käyttäjän ja laitteiston, hallinnoi resursseja ja tarjoaa perustoiminnot sovelluksille. Tavallisimpia esimerkkejä ovat macOS, Linux ja Microsoft Windows, mutta markkinoilla on myös monia erikoistuneita ratkaisuja eri tarpeisiin.