Számítógépes program - 1) számítógépes utasítások és adatok kombinációja, amely lehetővé teszi egy számítástechnikai rendszer hardvere számára , hogy számításokat vagy vezérlési funkciókat hajtson végre ( ISO / IEC / IEEE 24765:2010 szabvány) [1] ; 2) egy szintaktikai egység, amely megfelel egy adott programozási nyelv szabályainak, amely egy adott funkcióhoz, feladathoz vagy problémamegoldáshoz szükséges definíciókból és operátorokból vagy utasításokból áll (ISO / IEC 2382-1:1993 szabvány) [2] .
Az első definíció a " végrehajtható program " fogalmának, a második a " forráskód " fogalmának felel meg.
Egyéb definíciók a szabályozó dokumentumokból:
A szerzői és egyéb szellemi tulajdonjogok tárgyát képező számítógépes programok az immateriális javak közé tartoznak .
A programképet leggyakrabban végrehajtható modulként (egy fájl vagy fájlok csoportja) tárolják . Ebből a képből, általában lemezen , a RAM -ban futtatható programot tud létrehozni egy szoftverbetöltő .
A rendszerprogramozásban a program olyan adat, amelyet a processzor utasításként használ a számítógépes rendszer vezérléséhez [5] . A program tartalmazhat gépi kódot , amelyet a processzor valamilyen cél elérése érdekében hajt végre, és az ehhez szükséges adatokat. A program megkülönböztető jellemzője a memóriában való elhelyezkedése és a processzor általi végrehajtás.
A szoftverfejlesztési folyamat több szakaszból áll, amelyek közül szűk értelemben csak a programkód közvetlen létrehozását nevezzük " programozásnak ". Tág értelemben a programozás gyakran a szoftverfejlesztés teljes folyamatára utal, és az ilyen típusú tevékenységekben részt vevő embereket programozóknak nevezik .
A programok forráskódjának programozási nyelvekkel történő megírása megkönnyíti az emberek megértését és szerkesztését. Ezt különösen a megjegyzések segítik , amelyek a legtöbb nyelv szintaxisában megengedettek. Számítógépen történő végrehajtáshoz a kész programszöveg gépi kóddá konvertálva ( lefordítva ) történik.
Egyes programozási nyelvek lehetővé teszik a program előzetes fordítása nélkül, és közvetlenül futás közben lefordítják gépi kód utasításokká. Ezt a folyamatot dinamikus fordításnak nevezik , és lehetővé teszi a programok nagyobb hordozhatóságát a különböző hardver- és szoftverplatformokon, miközben megőrzi a fordítás számos előnyét.
Azokat az értelmezett programokat, amelyek általában nem használják a fordítási folyamatot, és amelyeket az operációs rendszer vagy speciális értelmező programok értelmeznek, szkripteknek vagy "scripteknek" nevezzük .
A számítógépes programok forrásszövege a legtöbb programozási nyelvben olyan utasítások listájából áll, amelyek pontosan leírják a mögöttes algoritmust . A programozásban egy hasonló megközelítést kötelezőnek neveznek . Azonban más programozási módszerek is alkalmazhatók. Például a feldolgozott adatok kezdeti és szükséges jellemzőinek leírása és a megfelelő megoldási algoritmus kiválasztása egy speciális értelmező program számára – ezt a megközelítést deklaratív programozásnak nevezik . A deklaratív programozás magában foglalja a funkcionális és logikai programozást , valamint a ritkább programozási típusokat .
A programok szöveges formában és vizuálisan is létrehozhatók . Az első esetben a forráskód kézi beírása, a második esetben a program funkcióinak beállítása a grafikus felhasználói felület elemeivel történik , és a program szövege automatikusan generálódik, és lehet manuálisan módosítható, vagy teljesen elrejtve a program elől. programozó.
Amíg a számítógép-felhasználó kifejezetten vagy hallgatólagosan kérelmet ad ki egy számítógépes program végrehajtására, az általában a nem felejtő memóriában tárolódik . Amikor egy ilyen kérés érkezik, a programot egy másik számítógépes program, az úgynevezett operációs rendszer betölti a véletlen elérésű memóriába , ahonnan a központi feldolgozó egység közvetlenül végrehajthatja. A CPU ezután utasításról utasításra végrehajtja a programot, amíg az be nem fejeződik. A futó programot folyamatnak nevezzük [6] . A program vagy az utolsó utasítás elérésekor (általában az irányítás átadása az operációs rendszerre), vagy hiba, szoftver vagy hardver miatt leáll.
Sok operációs rendszer támogatja a többfeladatos mechanizmust , amely lehetővé teszi, hogy több számítógépes program hatását hozza létre egyidejűleg egy számítógépen. Az operációs rendszerek több programot is futtathatnak az operációs rendszerkezelő segítségével, amely a processzoron futó folyamatok átváltására szolgáló szoftvermechanizmus . Bár egyszerre csak egy program fut, ha elég gyakran váltunk, a felhasználó az összes programmal kommunikálhat futás közben [7] . A modern többprocesszoros számítógépek vagy a többmagos processzorral rendelkező számítógépek több program egyidejű végrehajtását támogatják hardverben [8] .
Ugyanannak a számítógépes programnak a kódrészletei párhuzamosan is végrehajthatók végrehajtási szálak használatával . Vannak többszálas processzorok, amelyeket kifejezetten több szál futtatására optimalizáltak.
Egy futó számítógépes program különbözik az általa feldolgozott adatoktól. Ez a megkülönböztetés azonban elmosódik, amikor egy számítógépes program módosítja magát. A módosított számítógépes program ezután az eredeti program részeként kerül végrehajtásra. A kód önmódosítása gépi kóddal , assembly nyelven , Lisp , C , Cobol , PL/1 és Prolog nyelven írt programokban lehetséges .
A legtöbb számítógép-felhasználó olyan programokat használ, amelyeket speciális alkalmazási feladatok elvégzésére terveztek, például dokumentumok előkészítésére és feldolgozására, matematikai számításokra , képfeldolgozásra stb. A megfelelő szoftvereket alkalmazásprogramoknak vagy alkalmazásszoftvereknek nevezik . A számítási rendszer összetevőinek kezelését és az alkalmazási programok működéséhez szükséges környezet kialakítását a rendszerszoftver végzi , melynek legfontosabb összetevője az operációs rendszer.
Az Art. Az Orosz Föderáció Polgári Törvénykönyvének 1261. §-a szerint a számítógépes program objektív formában bemutatott adatok és parancsok halmaza, amelyet a számítógépek és más számítógépes eszközök működtetésére szánnak bizonyos eredmény elérése érdekében, beleértve az előkészítő anyagokat, amelyeket az eljárás során megszerzett. számítógépes program fejlesztése és az általa generált audiovizuális kijelzők.
A nyilvánosan elérhető forráskóddal rendelkező programokat nyílt forráskódnak nevezzük .
A legtöbb országban a számítógépes programok szerzői jogvédelem alatt állnak (Ukrajnában és Oroszországban is). Egyes országokban a számítógépes programokat szabadalom védi . A számítógépes programok szabadalmaztatását elősegítette a szellemi tulajdonjogok kereskedelmi vonatkozásairól szóló megállapodás, amely minimális [9] követelményeket támasztott a szellemi tulajdonjogok védett körére, és ténylegesen lehetővé tette a szoftverek szabadalmaztatását. A TRIPS-egyezmény kötelező végrehajtása Ukrajna és Oroszország, mint WTO-tagország területén.
Így egy program „irodalmi alkotásként” és „találmányként” egyaránt védhető. A jogi védelmi rendszer meghatározásához az első esetben a „kódszöveget”, a másikban a szabadalmaztatásra javasolt találmányok jellemzőit használják (vagyis igazolni kell az „innovatívságot”, az „eredetiséget” ill. „nem nyilvánvalóság”, valamint egy meglévő műszaki probléma megoldásának lehetősége és kereskedelmi alkalmasság) [10] . Ugyanakkor problémát jelent a számítógépes programok jogi megkülönböztetése a védett digitális tartalomtól és a védett szoftverektől [11] .
A számítógépi programokra és adatbázisokra vonatkozó kizárólagos jog a keletkezés pillanatától automatikusan keletkezik, és a szerző teljes életciklusáig és a szerző halálának (vagy a szerző halálának) évét követő év január 1-jétől számítva hetven évig érvényes. a társszerzők közül az utolsó).
Az Orosz Föderáció jelenlegi jogszabályai nem írják elő a számítógépes programok szabadalmaztatását. A szellemi tulajdon ezen tárgyait szerzői jog védi, amely a létrehozásuk pillanatától automatikusan keletkezik, és nem igényel kötelező állami regisztrációt. Számítógépes programok és adatbázisok azonban a szerzői jog jogosultjának kérésére regisztrálhatók a Rospatentnél [12] .
Copyright és néhány más[ mi? ] szellemi tulajdonjogok lehetővé teszik a programok forráskódjához való hozzáférés korlátozását.
Szótárak és enciklopédiák | |
---|---|
Bibliográfiai katalógusokban |
|