Käyttöjärjestelmä on tietokoneiden perusta, joka toimii välikappaleena käyttäjän ja tietokoneen laitteiston välillä. Se mahdollistaa sovellusten sujuvan käytön, hallinnoi laitteistoresursseja kuten muistia ja prosessoreita, ja varmistaa eri ohjelmien yhteensopivuuden.
Sen avulla sovelluskehittäjät voivat keskittyä omiin projekteihin ilman, että heidän tarvitsee syventyä laitteiston toimintaan ja sen yksityiskohtiin. Käyttöjärjestelmä tarjoaa kehittäjille yhteiset kirjastot ja rajapinnat, jotka tekevät ohjelmistokehityksestä tehokkaampaa.
Mitä käyttöjärjestelmä tarkoittaa?
Käyttöjärjestelmä (Operating System, OS) on ohjelmisto, joka mahdollistaa käyttäjän suorittaa erilaisia sovelluksia tietokoneella.
Käyttöjärjestelmä hallinnoi tietokoneen ohjelmisto- ja laitteistoresursseja kuten:
- Syöttölaitteet, kuten näppäimistö ja hiiri.
- Tulostuslaitteet, kuten näytöt, tulostimet ja skannerit.
- Verkkolaitteet, kuten modeemit, reitittimet ja verkkoyhteydet.
- Tallennuslaitteet, kuten sisäiset ja ulkoiset asemat.
Käyttöjärjestelmä tarjoaa myös palveluita, jotka helpottavat asennettujen ohjelmistosovellusten tehokasta suorittamista, hallintaa ja muistin allokaatiota.
Jos käynnissä on samanaikaisesti useita ohjelmia, kuten verkkoselain, palomuuri ja virustorjunta, käyttöjärjestelmä jakaa tietokoneen resurssit eli muistin, prosessorin ja tallennustilan niiden kanssa. Tällä se pyrkii varmistamaan, että jokainen sovellus saa tarvittavat resurssit toimiakseen.
Käyttöjärjestelmä tarkemmin selitettynä
Vaikka ohjelmistosovellus voi käyttää suoraan laitteistoa, suurin osa sovelluksista on kirjoitettu käyttöjärjestelmän päälle, mikä mahdollistaa monien ohjelmointikirjastojen hyödyntämisen siten, ettei niiden tarvitse huolehtia erikseen komponenttien käyttämisestä.
Tässä mielessä käyttöjärjestelmä toimii kattavana kehyksenä, jonka kautta kaikki sovellukset voivat toimia, mikä taas yksinkertaistaa huomattavasti koko kehitysprosessia.
Esimerkkejä käyttöjärjestelmistä ovat:
Käyttöjärjestelmiä kehitettiin jo 1950-luvulla, jolloin tietokoneet pystyivät suorittamaan vain yhden ohjelman kerrallaan. Vuosikymmentä myöhemmin tietokoneisiin oli lisätty useita ohjelmistoja, joika kutsuttiin kirjastoiksi, ja niitä yhdisteltiin keskenään. Tuolloin nykyaikainen käyttöjärjestelmä sai alkunsa.
Käyttöjärjestelmä koostuu monista osista ja ominaisuuksista, jotka vaihtelevat eri käyttöjärjestelmien kesken.
Kolme yleistä käyttöjärjestelmän osaa
Käyttöjärjestelmät ovat erilaisia, mutta niissä on joitakin yhteisiä piirteitä, jotka käymme seuraavaksi läpi.
Ydin (Kernel)
Tämä tarjoaa perustason hallinnan tietokoneen laitteistoille.
Sen päätehtäviä ovat muistin lukeminen ja siihen kirjoittaminen, ohjelmien suorittaminen, laitteiden, kuten näytön, näppäimistön ja hiiren datan vastaanotto ja lähettäminen. Samoin se ottaa vastaan tietokoneverkosta dataa ja käsittelee sen tarvittavalla tavalla.
Monoliittiset ytimet ovat yksinkertaisia ja koostuvat yhdestä kokonaisuudesta, joka kommunikoi laitteiston ja ohjelmiston kanssa.
Mikroytimet toteuttavat käyttäjä- ja ydinpalvelut eri osoiteavaruudessa, mikä pienentää niiden kokoa, mutta edellyttää viestien käyttämistä palveluiden suorittamiseen.
Käyttöliittymä (UI)
Tämä ominaisuus mahdollistaa vuorovaikutuksen käyttäjän kanssa, mikä voi tapahtua graafisten käyttöliittymän tai komentorivin kautta.
Käyttöliittymä jaetaan edelleen komentorivikäyttöliittymään (CLI), joka on tekstipohjainen ja mahdollistaa käyttäjien antaa tiettyjä komentoja kirjoittamalla. Nykyään käytetään enemmän graafista käyttöliittymää, joka on monella tapaa helppokäyttöisempi.
Jälkimmäinen on visuaalinen käyttöliittymä, joka sallii loppukäyttäjän antaa komentoja vuorovaikutuksessa symboleiden, ikonien ja valikoiden kanssa käyttämällä syöttölaitetta, kuten hiirtä tai kosketusalustaa.
Ohjelmointirajapinnat (API)
Tämä osa mahdollistaa sovelluskehittäjille modulaarisen koodin kirjoittamisen siten, että sovellus voi olla vuorovaikutuksessa käyttöjärjestelmän kanssa.
API määrittelee, miten muut järjestelmät tai komponentit voivat käyttää tiettyä sovellusta. Se on olennainen osa ohjelmistokehitystä, koska se tarjoaa erilaisia kirjastoja ja palveluita sovelluskehittäjille. Ohjelmointirajapintojen kautta on mahdollista päästä käsiksi esimerkiksi tietokantojen hallintajärjestelmiin, mikäli ne tarjoavat sellaisen.