ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Számítógépes program - Wikipédia

Számítógépes program

A Wikipédiából, a szabad enciklopédiából.

A számítógépes program (vagy egyszerűen program) megmondja egy számítógépnek, hogy mit csináljon, jellemző módon azt, hogy az adatokkal milyen műveleteket végezzen. A „programokat” és az „adatokat” általában két különböző fogalomként kezeljük.

Tartalomjegyzék

[szerkesztés] Program futtatása

Ahhoz, hogy egy számítógép egy programot végrehajtson, a számítógépet olyan alapállapotba kell hozni a program és gyakran az adatok számítógépbe juttatásával, hogy azok végrehajthatóak legyenek, majd egy indító eljárást kell a számítógépen aktivizálni. A legalacsonyabb szinten ez a hidegindítás (boot eljárás) folyamatával kezdődik, amikor a számítógép első indításakor az indítóprogramját futtatja le, ami a későbbi működésre készíti elő.

Napjainkban a legtöbb számítógép működési alapállapotának eléréséhez szükséges az operációs rendszer nevű "program" (programok rendszere) elindítása. Ez a program végzi el a későbbi futtatandó programok betöltését és futtatását. Ebben a működési környezetben a számítógépes program csak az épp vizsgált egyéni futtatható programot jelenti, és nem az összes programot (beleértve az operációs rendszert), amik a számítógépen az adott pillanatban futnak.

[szerkesztés] A Neumann-architektúra

Az architektúrák a számítógép működésének, felépítésének fajtáit jelentik.

A processzorokat működésük szempontjából két külön kategóriába sorolhatjuk. Az egyik a Neumann-architektúra a másik Harvard-architektúra szerint működik. A két architektúra abban különbözik, hogy a Neumann elvű esetében megegyezik az adat és a program memória. Míg a Harvard architektúrájú számítógép esetén a program és adatmemóri különbözik. A gép a programot és annak adatait egy külső adattároló eszközről tölti be, leggyakrabban a harddiskről (merevlemezes meghajtóról). Ezután a program és az adatok a központi memóriába kerülnek, majd a program végrehajtása megindul, és a gép egyenként sorban végrehajtja a gépi kódú utasításokat, adatokat változtat, az ugró utasítások (illetve néhány belső folyamat, mint amilyenek a megszakítások) hatására a végrehajtást a memória más pontján folytatja. Az éppen végrehajtandó programutasítás helyét a memóriában a programszámláló (program counter) mutatja, mely az utasítások végrehajtása után növekszik, és amit az ugrások megváltoztatnak.

A gépi kód olyan program, ami a gép által megértett utasításokból áll. A Neumann-architektúrán alapuló gépek program nélkül egyáltalán semmit sem tudnak csinálni.

A gépi kódú programokat – az egyedülieket, melyeket egy ilyen számítógép megért – általában magasabb szintű programozási nyelveken készítik, és azt fordítóprogramokkal (compiler) alakítják át gépi kódra.

[szerkesztés] Szoftver

A program szót gyakran a „számítógépes szoftver” kifejezés szinonimájaként használják. Bár a szoftverek fő részét programok képezik, maga a szoftver gyakran tartalmaz erőforrás-állományokat, melyek mindenféle adatot hordoznak, és amik valójában nem a programhoz, hanem az annak működéséhez szükséges környezet részei.

[szerkesztés] Neurális hálózatok

A neurális hálózatokon alapuló számítógépek esetében számos végrehajtó egység van, melyek egymással bizonyos fajta kapcsolatban vannak, és a feladatokat egyszerre, egymással közreműködve hajtják végre. Ezt az elvet számos architektúra követi, és ezen számítógépek programozása valójában az egységek közötti kapcsolatok szabályozásából áll (például a kapcsolatok súlyozásával illetve az egységeken belüli küszöbértékek meghatározásával). Ahogy a számítógép "tanul", a kapcsolatok módja (a súlyozások és küszöb-értékek) változnak. A legtöbb neurális hálózat esetén ez a megtanult állapot elmenthető és később visszatölthető, programszerűen.

Néhány neurális hálózat minden egyes indításkor újrakezdi a tanulást, és ebben az esetben azok egyáltalán nem rendelkeznek programmal.

[szerkesztés] Virtuális számítógép

Napjainkban számos program virtuális számítógépen fut. A programot futtató számítógépen belül egy idealizált utasításkészlettel rendelkező környezetet hozunk létre, melyben a programot futtatjuk. Ennek az idealizált utasításkészletnek általában valamilyen előnye van a gép által közvetlenül megértett gépi kóddal szemben, mely előny változatos lehet: lehetséges, hogy ez az utasításkészlet könnyebben programozható assembly nyelvet vagy egy másik gépi kóddal rendelkező, elterjedtebb végrehajtó egységet szimulál.

Napjainkban nagyon sok Neumann-architektúrán alapuló számítógépi környezet valójában csak egy virtuális gépen létező szimuláció eredménye, és az azon futó "gépi kód" nem azonos a központi egység által legalacsonyabb szinten végrehajtható lépésekkel.

[szerkesztés] Analóg számítógépek

Az analóg számítógépek – szemben a digitális számítógépekkel – az állapotaikat nem diszkrét értékekkel ábrázolják, mint az elterjedt számítógépeink, hanem végtelen sok analóg értékkel. Ilyen például a Water integrator (vízegyesítő[?]), aminek az alapállapotát a csapok áramlásának nagyságával és a gép tartályaiban szereplő vízmennyiségekkel adjuk meg.

Számos rovarszerű autonóm robot mutat példát a program nélküli analóg számítógépekre. Ezek a neutrális hálózatokhoz hasonlóan környezetük hatásaiból tanulnak.

[szerkesztés] Adat

A számítógépes programok általános felfogás szerint a számítógép állapotának azon részei, melyek nem adatok. Míg ez a megkülönböztetés általában egyértelmű a digitális Neumann-architektúrájú gépek esetében a probléma nehezedik más architektúrákat szemlélve. A neurális hálózatok súlyozása adat vagy program? A hálózat működésekor nyilvánvalóan adatként kezeljük, de ezek valójában közvetlenül meghatározzák a hálózat működését. Még bonyolultabb a helyzetünk az analóg számítógépek esetében: a Water integratornál a víz program vagy adat?

[szerkesztés] Algoritmusok

Az absztrakt programokat gyakran algoritmusoknak nevezzük. Ezek valamilyen módon általánosan leírják, hogy egy adott problémát hogyan lehet megoldani. Az algoritmusok absztrakt programjai alapján lehetséges egy konkrét programozási nyelven egy konkrét, az adott problémát megoldó programot írni.

Lásd még algoritmus.

[szerkesztés] Híres programozók

[szerkesztés] Egyéb

A számítógépes programokkal már a matematika is foglalkozik, például az algoritmikus információelmélet idealizált számítógépek viselkedését vizsgálja véletlenszerűen előállított programok esetén.


[szerkesztés] Lásd még


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -