Ohjelmisto

Wikipediasta
Siirry navigaatioon Siirry hakuun
Kaavio ohjelmiston ja laitteiston sijoittumisesta. Kayttaja kayttaa sovellusohjelmaa, joka toimii kayttojarjestelman kanssa, joka ohjaa tietokonelaitteistoa. Seka sovellusohjelma etta kayttojarjestelma ovat ohjelmistoja, jotka voivat koostua useista ohjelmakomponenteista.

Ohjelmisto tai tietokoneohjelmisto ( engl. software ) on joukko kaskyja tietokoneen ja siihen liittyvan laitteiston eli tietokonejarjestelman kayttamiseen: ohjelmisto on vastakohta laitteistolle. [1] [2] [3] [4]

Ohjelmisto on immateriaalista (ilman fyysista olomuotoa) ja nimenomaisesti jotain, mika ei ole konkreettista (laitteistoa). [4] Ohjelmisto on myos tarpeen yleiskayttoisen tietokoneen kayttamiseen, jota ilman laitteisto ei ratkaise ongelmaa. [4] Termi "ohjelmisto" viittaa yksittaiseen entiteettiin, mutta mitaan yksittaista ei ole: tietokonejarjestelma koostuu sipulimaisista kerroksista, jossa on useita ohjelmakerroksia laitteistoytimen paalla. [4] Myos laitteiston sisalla on kerroksia kuten mikro-ohjelma ja firmware . [4]

Ohjelmisto koostuu yhdesta tai useammasta tietokoneohjelmasta , valiohjelmasta , ohjelmistokehyksesta tai ohjelmakomponentista (kuten kirjastoista ). Ohjelmistotuotteisiin liittyvat usein myos niiden kayttamat tiedostot ja dokumentaatio . Ohjelmistoja ovat esimerkiksi niin tavalliset toimisto-ohjelmistot ja videopelit kuin kokonaiset kayttojarjestelmatkin . Usein termeja ohjelma ja ohjelmisto kaytetaan sekaisin seka toistensa synonyymeina.

Erityisesti sulautetuissa jarjestelmissa , mutta myos yleisesti tietokoneista puhuttaessa, ohjelmistoksi kutsutaan usein kaikesta laitteen sisaltamasta ohjelmakoodista muodostuvaa kokonaisuutta. Laitteistoon laheisesti liittyva ohjelmisto on firmware , joka on erikoisunut ohjelmisto. [5] Suorittimen sisainen ohjelma on mikro-ohjelma , joka toimii alemmalla tasolla kuin konekielinen ohjelma. [6] Tietokoneen varsinaisen suorittimen lisaksi grafiikkasuoritinta voidaan kayttaa ohjelmakoodin suorittamiseen ( GPGPU -kaytto).

Ohjelmat voidaan jakaa kahteen kategoriaan: [2]

  • jarjestelmaohjelmat : tietokonejarjestelman sisaista toimintaa ohjaava ohjelmisto kuten kayttojarjestelma
  • sovellusohjelmat : kayttajan toiminnoista vastaavat ohjelmat kuten taulukkolaskentaohjelmat ja tekstinkasittelyohjelmat

Epatoivottava ohjelmisto on haittaohjelma kuten tietokonevirus tai mato .

Manchesterin yliopiston Small-Scale Experimental Machine (SSEM) oli ensimmainen tietokone , jossa ohjelmaa voitiin vaihtaa ilman fyysisia muutoksia tietokoneeseen ( tallennetun ohjelman tietokone ). [7]

Ennen IBM S/360 :ta ja monopolioikeudenkayntia IBM :aa vastaan ohjelmistot seurasivat ilmaiseksi tietokoneen mukana tai ne olivat erityisesti kayttotarpeeseen kehitettyja. [8]

Kasite omisteinen ohjelmisto syntyi vasta vuonna 1983 Applen oikeudenkaynnissa Franklin ACE -tietokoneista. [9] [10] [11]

1950-luvulla julkaistuja varhaisia korkean tason ohjelmointikielia olivat ALGOL , COBOL , Fortran ja LISP .

Ohjelmien valmistus ja hankinta

[ muokkaa | muokkaa wikitekstia ]

Ohjelmistoja voi ohjelmoida itse, niita voi saada ilmaisohjelmina ( vapaan ja avoimen lahdekoodin ohjelmistot) tai niita voi hankkia kaupallisina valmisohjelmistoina ( omisteinen ohjelmisto ). [12] Valmisohjelmistot hinnoitellaan usein viela lisenssipohjaisesti kuten lisenssi per kayttaja tai lisenssi per suoritin (palvelinohjelmistot). Eras ohjelmistotyyppi on pilvipalveluna tarjottava Software as a Service (SaaS) -ohjelmistotyyppi, jossa ohjelmistoa vuokrataan. SaaS-mallissa hinnoittelu perustuu kayton laajuuteen kuten projektinhallintatyokalussa hallittavien projektien maaraan.

Ohjelmien valinen toiminta

[ muokkaa | muokkaa wikitekstia ]

Ohjelmistot voidaan toteuttaa edusta - ja taustasovelluksina ( frontend ja backend , esimerkiksi verkkoselainsovellukset) [13] , apuohjelmien avulla (kuten kaavaeditori Microsoft Officessa [14] ), komponenttien ja kirjastojen avulla tai yhtena suurena ohjelmana.

Muun muassa pelikonsoleille julkaistavat videopelit voivat olla yhtena suurena binaaritiedostona ( blob ) [15] , joka kayttaa useita yhteen liitettyja datatiedostoja. [16] [17]

Ohjelmien kaantaminen ja konfigurointi

[ muokkaa | muokkaa wikitekstia ]

Ohjelmointikielella toteutettu ohjelma kaannetaan tai tulkataan siihen tehdylla ohjelmalla. Kaannoksen automatisointiin kaytetaan useita aputyokaluja kuten GNU Autotools .

Valmiit ohjelmat ja ohjelmistot voidaan levittaa jakelupaketteina tai myytavina kokonaisuuksina. Vapaat ja avoimen lahdekoodin ohjelmistot jaetaan usein paketinhallintajarjestelman avulla.

Asennuksen yhteydessa ohjelma(t) ja sen komponentit konfiguroidaan kayttotapausta ja kayttoymparistoa varten.

  1. Software computerhope.com . Viitattu 27.2.2020. (englanniksi)  
  2. a b Software britannica.com . Viitattu 27.2.2020. (englanniksi)  
  3. software merriam-webster.com . Viitattu 27.2.2020. (englanniksi)  
  4. a b c d e Paul E. Ceruzzi:  A History of Modern Computing , s. 79-80. Second edition. MIT Press, 1998. ISBN 0-262-53203-4 . (englanniksi)  
  5. What Is Firmware? lifewire.com . Viitattu 3.2.2020. (englanniksi)
  6. Microcode techopedia.com . Viitattu 3.2.2020. (englanniksi)  
  7. The Manchester Small Scale Experimental Machine -- "The Baby" curation.cs.manchester.ac.uk . Viitattu 25.8.2017.
  8. Software Becomes a Product Computer History Museum. Viitattu 1.9.2017.
  9. Hassett, Rob: Impact of Apple vs. Franklin Decision internetlegal.com . Viitattu 12.8.2017. (englanniksi)
  10. 714 F. 2d 1240 - Apple Computer Inc v. Franklin Computer Corporation Open Jurist. Viitattu 12.8.2017.
  11. Smith, Ernie: Clone Wars Tedium. Viitattu 12.8.2017.
  12. software searchapparchitecture.techtarget.com . Viitattu 3.2.2020. (englanniksi)
  13. http://www.mynewsdesk.com/fi/pressreleases/tupas-poistuu-pian-suuri-kipukohta-tuhansissa-vanhoissa-sovelluksissa-2886975 ( Arkistoitu ? Internet Archive)
  14. https://www.bleepingcomputer.com/news/microsoft/microsoft-appears-to-have-lost-the-source-code-of-an-office-component/
  15. https://xboxdevwiki.net/Xbe
  16. https://www.gamasutra.com/blogs/NiklasGray/20181108/330175/The_Story_behind_The_Truth_Designing_a_Data_Model.php
  17. https://www.perforce.com/blog/vcs/single-source-truth-benefits-game-development

Aiheesta muualla

[ muokkaa | muokkaa wikitekstia ]