Számítógépes program

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 .

Programok létrehozása

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ó.

Tárolás és végrehajtás

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.

Egyidejű végrehajtás

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.

Önmódosító programok

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 .

Programok használata

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.

Jogi szempontok

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.

Lásd még

Jegyzetek

  1. ISO/IEC/IEEE 24765:2010 Rendszer- és szoftverfejlesztés – Szókincs
  2. ISO/IEC 2382-1:1993, Információtechnológia – Szójegyzék – 1. rész: Alapvető kifejezések
  3. GOST 19781-90. ESPD . Kifejezések és meghatározások
  4. Art. Az Orosz Föderáció Polgári Törvénykönyve 1261 „Számítógépes programok”.
  5. Feldman S. K. Rendszerprogramozás. Előadások teljes tanfolyama elméleti anyagokkal és laboratóriumi munkával. - 2003. - 512 p. — ISBN 5-88548-096-6 .
  6. Silberschatz, 1994 , p. 97.
  7. Silberschatz, 1994 , p. 100.
  8. Akhter Shameem. Többmagos programozás. - Richard Bowles (Intel Press), 2006. - P. 11-13. — ISBN 0-9764832-4-6 .
  9. Chibisov D. M. Jogi természet Ugodi a szellemi hatalom jogainak kereskedelmi vonatkozásairól (TRIPS)  (ukrán)  // Scientific Bulletin of Uzhgorod National University. "Jog" sorozat. - 2012. - 19. sz .
  10. Chibisov D.M. A védett digitális tartalom (ukr.) védelmének módjai  (nem elérhető link) (2015. április 8.). Letöltve: 2015. április 9. Az eredetiből archiválva : 2015. április 2.. 
  11. D.M. Chibisov. Szabadalmaztatott digitális tartalom: kulcsfontosságú funkció . Blog (2015. április 8.). Az eredetiből archiválva : 2018. június 12.
  12. Zimin V.A. Számítógépes programok regisztrációja az Orosz Föderációban . Letöltve: 2016. június 9. Az eredetiből archiválva : 2016. április 4..

Irodalom