Alustariippumattomuudella (engl.
Tähän artikkeliin tai osioon ei ole merkitty lähteitä, joten tiedot kannattaa tarkistaa muista tietolähteistä. Voit auttaa Wikipediaa lisäämällä artikkeliin tarkistettavissa olevia lähteitä ja merkitsemällä ne ohjeen mukaan. |
Toisaalta alustariippumaton ohjelmointikieli tai sovellus ei tarkoita, että siitä olisi olemassa toteutus kaikille mahdollisille käyttöjärjestelmille, vaan sitä, että kielen kääntäjän, tulkin tai sovellusohjelman toteutuksessa ei ole laitteistoalustaan tai käyttöjärjestelmään sidottuja ominaisuuksia, tai ne on toteutettu erikseen kullekin alustalle siten, että niiden toiminta on mahdollisimman samanlaista kaikissa ympäristöissä.
Alustariippuvaisia piirteitä ovat esimerkiksi monitavuisten lukujen tavujärjestys, säikeiden (jos niitä on) ja prosessien toteutus, hakemistoerottimet ja mahdolliset levyasematunnukset, grafiikkakirjastot ja useimmat järjestelmäkutsut, joita ohjelma voi suorittaa. Näin esimerkiksi yksinkertainen tekstinkäsittelyohjelmisto voidaan toteuttaa helpohkosti alustariippumattomasti, kunhan huomioidaan eri käyttöjärjestelmissä olevat rajoitukset hakemisto- ja tiedostonimille sekä levyasematunnuksille (jos sellaisia käytetään).
Ohessa kuvitteellinen esimerkki pseudokoodina alustaan sidostusta ja alustariippumattomasta ohjelmakoodista:
# sidottu alustaan, koska hakemistoa /proc/sys/loadavg ei löydy koskaan Windows- tai Mac-järjestelmistä def get_system_load() info_path = '/proc/sys/loadavg' load_avg0 = get_current_loads(info_path) now = time.time() sys.sleep(1) load_avg1 = get_current_loads(info_path) elapsed = time.time()-now return load_avg1-load_avg0/elapsed
# laitteistoalustariippumaton, käyttää kielen omaa funktiota, joka on # toteutettu erikseen eri käyttöjärjestelmille def get_system_load() load_avg0 = system.loadavg() now = time.time() sys.sleep(1) load_avg1 = system.loadavg() elapsed = time.time()-now return load_avg1-load_avg0/elapsed
Useimmat ohjelmointikielet ovat nykyään alustariippumattomia, kun taas sovellukset toteutetaan tyypillisesti vain yhdelle tai muutamalle suosituimmalle käyttöjärjestelmälle. Toisaalta useimmat Microsoftin suosituimmatkin sovellukset ovat saatavissa vain Windows-järjestelmiin, joka rajoittaa samalla laitteistoalustan PC-koneisiin.
Alustariippumattomuus ei ole verrattain uusi asia. Niin sanottua P-koodia käytettiin vuodesta 1966 - 1980 luvulle ennen kuin IBM PC koneita oli. Tietotekniikan historian alkuvaiheissa kaikki ohjelmat olivat usein paitsi käyttöjärjestelmäriippuvaisia, myös hyvin sidottuja tiettyyn tietokonearkkitehtuuriin tai jopa tietokonemalliin. Myöhemmin käyttöjärjestelmä toimi yhä enenevässä määrin abstraktiokerroksena laitteelle ja salli siten ohjelmoinnin useille erilaisille tietokoneille, kunhan niissä toimi sama käyttöjärjestelmä.
Eräs ehkä merkittävimmistä syistä WWW:n nopeaan laajenemiseen ja suosioon oli juuri sen alustariippumattomuus - yksi Tim Berners Leen motiiveista WWW:n kehittämiseen olikin juuri dokumenttien helppo vaihto eri käyttöjärjestelmien välillä. Sen avulla voidaan tuottaa ja lukea dokumentteja www-selaimen avulla, joita on saatavilla kaikille yleisille käyttöjärjestelmille aina tietokoneista matkapuhelimiin asti.
This article uses material from the Wikipedia Suomi article Alustariippumattomuus, 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.