Počítačový program - 1) kombinace počítačových instrukcí a dat , která umožňuje hardwaru výpočetního systému provádět výpočty nebo řídicí funkce ( norma ISO / IEC / IEEE 24765:2010) [1] ; 2) syntaktická jednotka, která vyhovuje pravidlům konkrétního programovacího jazyka , sestávající z definic a operátorů nebo instrukcí nezbytných pro konkrétní funkci, úlohu nebo řešení problému (norma ISO/IEC 2382-1:1993) [2] .
První definice odpovídá pojmu " spustitelný program ", druhá se vztahuje k pojmu " zdrojový kód ".
Další definice z regulačních dokumentů:
Počítačové programy jako předmět autorských práv a jiných práv duševního vlastnictví jsou klasifikovány jako nehmotná aktiva .
Obraz programu je nejčastěji uložen jako spustitelný modul (jeden soubor nebo skupina souborů). Z tohoto obrazu, obvykle na disku , lze pomocí softwarového zavaděče sestavit spustitelný program v paměti RAM .
V systémovém programování jsou programem data, která jsou používána procesorem jako instrukce pro řízení počítačového systému [5] . Program může obsahovat jak strojový kód , vykonávaný procesorem za účelem dosažení určitého cíle, tak data k tomu nezbytná. Charakteristickým rysem programu je jeho umístění v paměti a provádění procesorem.
Proces vývoje softwaru se skládá z několika fází, z nichž pouze přímé vytvoření programového kódu se v užším smyslu nazývá „ programování “. V širokém smyslu se programování často týká celého procesu vývoje softwaru a lidé zapojení do tohoto typu činnosti se nazývají programátoři .
Psaní zdrojového kódu programů pomocí programovacích jazyků usnadňuje lidem porozumění a úpravy. Tomu napomáhají zejména komentáře , které jsou v syntaxi většiny jazyků povoleny . Pro spuštění na počítači je hotový text programu převeden ( zkompilován ) do strojového kódu.
Některé programovací jazyky vám umožňují obejít se bez předkompilace programu a přeložit jej do instrukcí strojového kódu přímo za běhu. Tento proces se nazývá dynamická kompilace a umožňuje větší přenositelnost programů napříč různými hardwarovými a softwarovými platformami při zachování mnoha výhod kompilace.
Interpretované programy, které běžně nepoužívají proces kompilace a jsou interpretovány operačním systémem nebo speciálními interpretačními programy, se nazývají skripty nebo „skripty“.
Zdrojové texty počítačových programů ve většině programovacích jazyků se skládají ze seznamu instrukcí, které přesně popisují základní algoritmus . Podobný přístup v programování se nazývá imperativ . Uplatňují se však i jiné metodiky programování. Například popis počátečních a požadovaných charakteristik zpracovávaných dat a poskytnutí výběru vhodného algoritmu řešení specializovanému interpretačnímu programu – tento přístup se nazývá deklarativní programování . Deklarativní programování zahrnuje funkční a logické programování , stejně jako méně obvyklé typy programování .
Programy lze vytvářet v textové i vizuální podobě . V prvním případě se zdrojový kód zadává ručně, ve druhém se funkčnost programu nastavuje pomocí prvků grafického uživatelského rozhraní a text programu se generuje automaticky a může být k dispozici pro ruční úpravy nebo zcela skrytý před programátor.
Do okamžiku, kdy uživatel počítače explicitně nebo implicitně zadá požadavek na spuštění počítačového programu, je tento obvykle uložen v energeticky nezávislé paměti . Když je takový požadavek přijat, program je nahrán jiným počítačovým programem, nazývaným operační systém, do paměti s náhodným přístupem , odkud jej může přímo provést centrální procesorová jednotka. CPU pak provádí program, instrukce po instrukci, dokud není dokončen. Běžící program se nazývá proces [6] . K ukončení programu dochází buď při dosažení jeho poslední instrukce (obvykle předání řízení operačnímu systému), nebo chybou, softwarem či hardwarem.
Mnoho operačních systémů podporuje mechanismus multitaskingu , který umožňuje vytvořit efekt několika počítačových programů běžících současně na jednom počítači. Operační systémy mohou spouštět více programů pomocí správce operačního systému , softwarového mechanismu pro přepínání procesů běžících na procesoru. Přestože je spuštěn pouze jeden program, pokud budete přepínat dostatečně často, může uživatel pracovat se všemi programy, zatímco jsou spuštěny [7] . Moderní víceprocesorové počítače nebo počítače s vícejádrovými procesory podporují současné provádění několika programů v hardwaru [8] .
Fragmenty kódu stejného počítačového programu lze spouštět souběžně pomocí spouštěcích vláken . Existují vícevláknové procesory speciálně optimalizované pro běh více vláken.
Běžící počítačový program se považuje za odlišný od dat, která zpracovává. Tento rozdíl se však stírá, když se počítačový program sám upraví. Upravený počítačový program se pak provede jako součást původního programu. Vlastní úprava kódu je možná v programech napsaných ve strojovém kódu , assembleru , Lisp , C , Cobol , PL/1 a Prolog .
Většina uživatelů počítačů používá programy určené k provádění specifických aplikačních úkolů, jako je příprava a zpracování dokumentů, matematické výpočty , zpracování obrazu atd. Odpovídající software se nazývá aplikační programy nebo aplikační software . Správu komponent výpočetního systému a tvorbu prostředí pro fungování aplikačních programů zajišťuje systémový software , jehož nejdůležitější složkou je operační systém.
Podle Čl. 1261 Občanského zákoníku Ruské federace, počítačový program je soubor dat a příkazů prezentovaných v objektivní podobě, určený k provozu počítačů a jiných počítačových zařízení za účelem dosažení určitého výsledku, včetně přípravných materiálů získaných během vývoj počítačového programu a audiovizuální zobrazení jím generovaná.
Programy s veřejně dostupným zdrojovým kódem se nazývají open source .
Počítačové programy ve většině zemí podléhají autorským právům (včetně Ukrajiny a Ruska). V některých zemích mohou být počítačové programy chráněny patenty . Patentování počítačových programů bylo usnadněno Dohodou o obchodních aspektech práv k duševnímu vlastnictví, která stanovila minimální [9] požadavky na chráněný rozsah práv duševního vlastnictví a skutečně umožnila patentování softwaru. Dohoda TRIPS je závazná pro implementaci na území Ukrajiny a Ruska jako členských států WTO.
Program tak může být chráněn jako „literární dílo“ i jako „vynález“. Pro určení režimu právní ochrany se v prvním případě používá „kódový text“, ve druhém znaky používané pro vynálezy navržené k patentování (tj. je nutné prokázat „inovativnost“, „originalitu“ a „nesamozřejmost“, jakož i možnost řešení existujícího technického problému a komerční vhodnost) [10] . Zároveň je zde problém právního odlišení počítačových programů od proprietárního digitálního obsahu a proprietárního softwaru [11] .
Výhradní právo k počítačovým programům a databázím vzniká automaticky od okamžiku jejich vytvoření a platí po celý život autora a sedmdesát let, počínaje 1. lednem roku následujícího po roce úmrtí autora (nebo úmrtí poslední ze spoluautorů).
Současná legislativa Ruské federace nepočítá s patentováním počítačových programů jako takových. Tyto předměty duševního vlastnictví jsou chráněny autorským právem, které vzniká automaticky od okamžiku jejich vytvoření a nevyžadují povinnou státní registraci. Počítačové programy a databáze však mohou být registrovány u Rospatent na žádost držitele autorských práv [12] .
Copyright a některé další[ co? ] práva duševního vlastnictví vám umožňují omezit přístup ke zdrojovému kódu programů.
Slovníky a encyklopedie | |
---|---|
V bibliografických katalozích |
|