Ohjelmisto tai tietokoneohjelmisto (engl.
Ohjelmisto on immateriaalista (ilman fyysistä olomuotoa) ja nimenomaisesti jotain, mikä ei ole konkreettista (laitteistoa). Ohjelmisto on myös tarpeen yleiskäyttöisen tietokoneen käyttämiseen, jota ilman laitteisto ei ratkaise ongelmaa. Termi "ohjelmisto" viittaa yksittäiseen entiteettiin, mutta mitään yksittäistä ei ole: tietokonejärjestelmä koostuu sipulimaisista kerroksista, jossa on useita ohjelmakerroksia laitteistoytimen päällä. Myös laitteiston sisällä on kerroksia kuten mikro-ohjelma ja firmware.
Ohjelmisto koostuu yhdestä tai useammasta tietokoneohjelmasta, väliohjelmasta, ohjelmistokehyksestä tai ohjelmakomponentista (kuten kirjastoista). Ohjelmistotuotteisiin liittyvät usein myös niiden käyttämät tiedostot ja dokumentaatio. Ohjelmistoja ovat esimerkiksi niin tavalliset toimisto-ohjelmistot ja videopelit kuin kokonaiset käyttöjärjestelmätkin. Usein termejä ohjelma ja ohjelmisto käytetään sekaisin sekä toistensa synonyymeina.
Erityisesti sulautetuissa järjestelmissä, mutta myös yleisesti tietokoneista puhuttaessa, ohjelmistoksi kutsutaan usein kaikesta laitteen sisältämästä ohjelmakoodista muodostuvaa kokonaisuutta. Laitteistoon läheisesti liittyvä ohjelmisto on firmware, joka on erikoisunut ohjelmisto. Suorittimen sisäinen ohjelma on mikro-ohjelma, joka toimii alemmalla tasolla kuin konekielinen ohjelma. Tietokoneen varsinaisen suorittimen lisäksi grafiikkasuoritinta voidaan käyttää ohjelmakoodin suorittamiseen (GPGPU-käyttö).
Ohjelmat voidaan jakaa kahteen kategoriaan:
Epätoivottava ohjelmisto on haittaohjelma kuten tietokonevirus tai mato.
Manchesterin yliopiston Small-Scale Experimental Machine (SSEM) oli ensimmäinen tietokone, jossa ohjelmaa voitiin vaihtaa ilman fyysisiä muutoksia tietokoneeseen (tallennetun ohjelman tietokone).
Ennen IBM S/360:tä ja monopolioikeudenkäyntiä IBM:ää vastaan ohjelmistot seurasivat ilmaiseksi tietokoneen mukana tai ne olivat erityisesti käyttötarpeeseen kehitettyjä.
Käsite omisteinen ohjelmisto syntyi vasta vuonna 1983 Applen oikeudenkäynnissä Franklin ACE-tietokoneista.
1950-luvulla julkaistuja varhaisia korkean tason ohjelmointikieliä olivat ALGOL, COBOL, Fortran ja LISP.
Ohjelmistoja voi ohjelmoida itse, niitä voi saada ilmaisohjelmina (vapaan ja avoimen lähdekoodin ohjelmistot) tai niitä voi hankkia kaupallisina valmisohjelmistoina (omisteinen ohjelmisto). Valmisohjelmistot hinnoitellaan usein vielä lisenssipohjaisesti kuten lisenssi per käyttäjä tai lisenssi per suoritin (palvelinohjelmistot). Eräs ohjelmistotyyppi on pilvipalveluna tarjottava Software as a Service (SaaS) -ohjelmistotyyppi, jossa ohjelmistoa vuokrataan. SaaS-mallissa hinnoittelu perustuu käytön laajuuteen kuten projektinhallintatyökalussa hallittavien projektien määrään.
Ohjelmistot voidaan toteuttaa edusta- ja taustasovelluksina (frontend ja backend, esimerkiksi verkkoselainsovellukset), apuohjelmien avulla (kuten kaavaeditori Microsoft Officessa), komponenttien ja kirjastojen avulla tai yhtenä suurena ohjelmana.
Muun muassa pelikonsoleille julkaistavat videopelit voivat olla yhtenä suurena binääritiedostona (blob), joka käyttää useita yhteen liitettyjä datatiedostoja.
Ohjelmointikielellä toteutettu ohjelma käännetään tai tulkataan siihen tehdyllä ohjelmalla. Käännöksen automatisointiin käytetään useita aputyökaluja kuten GNU Autotools.
Valmiit ohjelmat ja ohjelmistot voidaan levittää jakelupaketteina tai myytävinä kokonaisuuksina. Vapaat ja avoimen lähdekoodin ohjelmistot jaetaan usein paketinhallintajärjestelmän avulla.
Asennuksen yhteydessä ohjelma(t) ja sen komponentit konfiguroidaan käyttötapausta ja käyttöympäristöä varten.
This article uses material from the Wikipedia Suomi article Ohjelmisto, which is released under the Creative Commons Attribution-ShareAlike 3.0 license ("CC BY-SA 3.0"); additional terms may apply (view authors). Sisältö on käytettävissä lisenssillä CC BY-SA 4.0, ellei toisin mainita. Images, videos and audio are available under their respective licenses.
®Wikipedia is a registered trademark of the Wiki Foundation, Inc. Wiki Suomi (DUHOCTRUNGQUOC.VN) is an independent company and has no affiliation with Wiki Foundation.