Järjestelmäohjelmistot - ohjelmat, jotka ratkaisevat yleisiä laskennallisia ongelmia - resurssien allokointi ja jakaminen, pääsy laitteisiin, ympäristöjen tarjoaminen muiden ohjelmien kehittämiseen, käynnistämiseen ja suorittamiseen.
Järjestelmän ohjelmointi - järjestelmäohjelmistojen luominen; järjestelmäohjelmoija - järjestelmäohjelmiston kehittäjä.
Toisin kuin sovellusohjelmistot , järjestelmäohjelmistot eivät ratkaise erityisiä käytännön ongelmia, vaan vain varmistavat muiden ohjelmien toiminnan tarjoamalla niille palvelutoimintoja, jotka abstraktioivat tietokonejärjestelmän laitteiston ja laiteohjelmiston toteutuksen yksityiskohdat, hallitsevat tietokonejärjestelmän laitteistoresursseja. .
Tämän tai toisen ohjelmiston osoittaminen järjestelmään on ehdollinen ja riippuu tietyssä kontekstissa käytetyistä käytännöistä. Järjestelmäohjelmisto sisältää pääsääntöisesti käyttöjärjestelmiä , apuohjelmia , ohjelmointijärjestelmiä , tietokannan hallintajärjestelmiä , laajan luokan väliohjelmistoja .
Käyttöjärjestelmä on joukko järjestelmäohjelmia, jotka laajentavat laskentajärjestelmän ominaisuuksia sekä mahdollistavat sen resurssien hallinnan, sovellusohjelmien lataamisen ja suorittamisen sekä vuorovaikutuksen käyttäjien kanssa. Useimmissa tietokonejärjestelmissä käyttöjärjestelmät ovat tärkein, tärkein (ja joskus ainoa) järjestelmäohjelmiston osa.
Päätoiminnot (yksinkertaisimmat käyttöjärjestelmät):
Käyttöjärjestelmämääritelmiä on kaksi ryhmää: "ohjelmasarja, joka ohjaa laitteistoa" ja "joukko ohjelmia, jotka ohjaavat muita ohjelmia". Molemmilla on täsmällinen tekninen merkityksensä, joka kuitenkin selviää vasta tarkastelemalla tarkemmin kysymystä siitä, miksi käyttöjärjestelmiä ylipäänsä tarvitaan.
On laskentasovelluksia, joiden käyttöjärjestelmät ovat redundantteja. Esimerkiksi sulautettuja mikrotietokoneita löytyy nykyään monista kodinkoneista, autoista (joskus kymmenkunta), matkapuhelimista jne. Usein tällainen tietokone suorittaa jatkuvasti vain yhtä ohjelmaa, joka käynnistyy, kun se käynnistetään. Ja yksinkertaiset pelikonsolit - myös erikoistuneet mikrotietokoneet - pärjäävät ilman käyttöjärjestelmää ja käynnistävät ohjelman, joka on tallennettu asetettuun "kasettiin" tai CD -levyyn, kun ne on kytketty päälle . Jotkut mikrotietokoneet ja pelikonsolit käyttävät kuitenkin edelleen erityisiä käyttöjärjestelmiä. Useimmissa tapauksissa nämä ovat UNIX-tyyppisiä järjestelmiä (jälkimmäinen koskee erityisesti ohjelmoitavia kytkentälaitteita: palomuurit , reitittimet ).
Käyttöjärjestelmien edelläkävijöitä tulisi pitää apuohjelmia ( lataimet ja näytöt) sekä usein käytettyjen aliohjelmien kirjastoja, joita alettiin kehittää ensimmäisen sukupolven keskustietokoneiden tultua (1940-luvun lopulla ). Apuohjelmat minimoivat käyttäjän fyysiset manipulaatiot laitteiston kanssa, ja kirjastot mahdollistivat samojen toimintojen toistuvan ohjelmoinnin ( I/O -toimintojen suorittaminen , matemaattisten funktioiden laskeminen jne.).
1950- ja 1960 - luvuilla muotoiltiin ja toteutettiin tärkeimmät käyttöjärjestelmien toimivuutta määrittäneet ideat: erätila, ajanjako ja multitasking, vallanjako, reaaliaika, tiedostorakenteet, tiedostojärjestelmät .
Sulautetut ohjelmat tai laiteohjelmistot ovat ohjelmia, jotka on "johdotettu" digitaalisiin elektronisiin laitteisiin. Joissakin tapauksissa (esimerkiksi IBM-PC-yhteensopivien tietokoneiden BIOS ) ovat olennaisesti osa käyttöjärjestelmää, joka on tallennettu pysyvään muistiin. Melko yksinkertaisissa laitteissa koko käyttöjärjestelmä voidaan upottaa. Monilla nykyaikaisten tietokoneiden laitteilla on oma "laiteohjelmistonsa", joka ohjaa näitä laitteita ja yksinkertaistaa vuorovaikutusta niiden kanssa.
Apuohjelmat ( englanninkielinen apuohjelma tai työkalu ) - ohjelmat, jotka on suunniteltu ratkaisemaan kapea valikoima aputehtäviä. Apuohjelmat luokitellaan joskus apuohjelmien luokkaan .
Apuohjelmia käytetään anturin suorituskyvyn ja laitteiston suorituskyvyn (esimerkiksi monitorin prosessorin tai videosovittimen lämpötilojen) seuraamiseen, laitteistoparametrien hallintaan (rajoittaa CD-aseman suurinta pyörimisnopeutta, muuttaa tuulettimen nopeutta), monitoroimaan ilmaisimia (tarkistaa referenssien eheys; oikeat tiedot). tallennus), laajenna ominaisuuksia (levyn alustaminen tai osiointi uudelleen tietojen säilyttämisellä, poistaminen ilman palautusmahdollisuutta).
Tämä luokka sisältää ohjelmistokehitykseen suunnitellut järjestelmäohjelmat:
Tietokannan hallintajärjestelmä (DBMS) on erikoistunut ohjelma (yleensä ohjelmasarja), joka on suunniteltu järjestämään ja ylläpitämään tietokantaa.
Koska tietokannan hallintajärjestelmät eivät ole pakollinen osa tietokonejärjestelmää, niitä ei useinkaan luokitella järjestelmäohjelmistoiksi. Usein DBMS suorittaa vain palvelutoiminnon, kun muun tyyppisiä ohjelmia (verkkopalvelimia, sovelluspalvelimia) on käynnissä, joten niitä ei aina voida liittää sovellusohjelmistoihin. Siksi DBMS:ää kutsutaan joskus väliohjelmistoksi .