Компьютерная программа
Компью́терная програ́мма — 1) комбинация компьютерных инструкций и данных, позволяющая аппаратному обеспечению вычислительной системы выполнять вычисления или функции управления (стандарт ISO/IEC/IEEE 24765:2010); 2) синтаксическая единица, которая соответствует правилам определённого языка программирования, состоящая из определений и операторов или инструкций, необходимых для определённой функции, задачи или решения проблемы (стандарт ISO/IEC 2382-1:1993).

Первое определение соответствует понятию «исполняемая программа», второе относится к понятию «исходный текст».
Другие определения из нормативных документов:
- данные, предназначенные для управления конкретными компонентами системы в целях реализации определённого алгоритма;
- представленная в объективной форме совокупность данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств с целью получения определённого результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения (Гражданский кодекс Российской Федерации).
Компьютерные программы как объект авторского права и других прав интеллектуальной собственности относятся к категории нематериальных активов.
Создание программ
Чаще всего образ программы хранится в виде исполняемого модуля (отдельного файла или группы файлов). Из этого образа, находящегося, как правило, на диске, исполняемая программа в оперативной памяти может быть построена программным загрузчиком.
В системном программировании программой называются данные, которые используются процессором как инструкции по управлению компьютерной системой. В состав программы может входить как машинный код, исполняемый процессором для достижения некоторой цели, так и необходимые для этого данные. Отличительной особенностью программы является её нахождение в памяти и исполнение процессором.
Процесс разработки программного обеспечения состоит из нескольких этапов, из которых в узком смысле лишь непосредственное создание программного кода носит название «программирование». В широком смысле под программированием часто подразумевается весь процесс разработки ПО, а людей, занимающихся этим видом деятельности, называют программистами.
Запись исходных текстов программ при помощи языков программирования облегчает понимание и редактирование человеком. Этому, в частности, помогают комментарии, допустимые в синтаксисе большинства языков. Для выполнения на компьютере готовый текст программы преобразуется (компилируется) в машинный код.
Некоторые языки программирования позволяют обходиться без предварительной компиляции программы и переводят её в инструкции машинного кода непосредственно во время исполнения. Этот процесс называется динамической компиляцией, и он позволяет добиться большей переносимости программ между разными аппаратными и программными платформами при сохранении многих плюсов компиляции.
Интерпретируемые программы, для которых, как правило, не применяется процесс компиляции и которые интерпретируются операционной системой или специальными программами-интерпретаторами, называются скриптами или «сценариями».
Исходные тексты компьютерных программ в большинстве языков программирования состоят из списка инструкций, точно описывающих заложенный алгоритм. Подобный подход в программировании называется императивным. Однако применяются и другие методологии программирования. Например, описание исходных и требуемых характеристик обрабатываемых данных и предоставление выбора подходящего алгоритма решения специализированной программе-интерпретатору — такой подход называется декларативным программированием. К декларативному программированию относятся функциональное и логическое, а также менее распространённые виды программирования.
Программы могут создаваться в текстовом виде и визуально. В первом случае исходный код набирается вручную, во втором функциональность программы задаётся с помощью элементов графического интерфейса пользователя, а текст программы генерируется автоматически и может быть как доступен для изменения вручную, так и полностью скрыт от программиста.
Хранение и выполнение

До момента, когда пользователь компьютера явно или неявно выдаст запрос на выполнение компьютерной программы, она обычно хранится в энергонезависимой памяти. При получении такого запроса программа посредством другой компьютерной программы, называющейся операционной системой, загружается в память с произвольным доступом, откуда центральный процессор может непосредственно выполнять её. После этого центральный процессор выполняет программу, инструкция за инструкцией, до её завершения. Выполняющаяся программа называется процессом. Завершение программы происходит либо по достижении её последней инструкции (обычно передающей управление операционной системе), либо по ошибке, программной или аппаратной.
Одновременное выполнение
Многие операционные системы поддерживают механизм многозадачности, который позволяет создать эффект одновременной работы нескольких компьютерных программ на одном компьютере. Операционные системы могут выполнять несколько программ, используя диспетчер операционной системы — программный механизм для переключения процессов, выполняемых процессором. Хотя в каждый момент времени выполняется только одна программа, при достаточно частом переключении пользователь может взаимодействовать со всеми программами во время их работы. Современные многопроцессорные компьютеры или компьютеры с многоядерными процессорами поддерживают одновременное выполнение нескольких программ аппаратно.
Фрагменты кода одной и той же компьютерной программы могут одновременно выполняться с помощью потоков выполнения. Существуют многопоточные процессоры, специально оптимизированные для выполнения нескольких потоков.
Самомодифицирующиеся программы
Считается, что выполняющаяся компьютерная программа отличается от данных, которые она обрабатывает. Однако это отличие размывается, когда компьютерная программа модифицирует сама себя. Модифицированная компьютерная программа затем выполняется как часть исходной программы. Самомодификация кода возможна в программах, написанных в машинном коде, на ассемблере, Лиспе, Си, Коболе, ПЛ/1 и Прологе.
Использование программ
Большинство пользователей компьютеров использует программы, предназначенные для выполнения конкретных прикладных задач, таких, как подготовка и оформление документов, математические вычисления, обработка изображений и т. п. Соответствующие программные средства называют прикладными программами или прикладным программным обеспечением. Управление компонентами вычислительной системы и формирование среды для функционирования прикладных программ берёт на себя системное программное обеспечение, наиболее важной составляющей которого является операционная система.
Правовые аспекты
Согласно ст. 1261 ГК РФ, программой для ЭВМ является представленная в объективной форме совокупность данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств в целях получения определённого результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения.
Программы с общедоступными исходными текстами называются открытыми.
Компьютерные программы в большинстве стран являются объектами авторского права (включая страны СНГ). В некоторых странах компьютерные программы могут защищаться патентами. Патентованию компьютерных программ способствовало Соглашение о торговых аспектах прав интеллектуальной собственности, которое установило минимальные требования к охраняемому ряду объектов прав интеллектуальной собственности и фактически разрешило патентовать программы. Соглашение ТРИПС обязательно для выполнения на территории Украины как государства — члена ВТО[значимость факта?].
Таким образом, программа может охраняться и как «литературное произведение» и как «изобретение». Для определения режима правовой охраны в первом случае используется «текст кода», в другом — признаки, применяемые для изобретений, предлагаемых для патентования (то есть нужно доказать «инновационность», «оригинальность» и «неочевидность», а также возможность решения существующей технической проблемы и коммерческую пригодность). При этом существует проблема правового разграничения компьютерных программ от проприетарного цифрового контента и проприетарного программного обеспечения.
Исключительное право на программы для ЭВМ и базы данных возникает автоматически с момента её создания и действует в течение всей жизни автора и семидесяти лет, считая с 1 января года, следующего за годом смерти автора (либо смерти последнего из соавторов).
Действующим законодательством Российской Федерации не предусмотрено патентование компьютерных программ как таковых. Данные объекты интеллектуальной собственности охраняются авторским правом, которое возникает автоматически с момента их создания и не требуют обязательной государственной регистрации. Однако программы для ЭВМ и базы данных могут быть зарегистрированы в Роспатенте по желанию правообладателя.
Авторское право и некоторые другие[какие?] права интеллектуальной собственности позволяют ограничивать доступ к исходным текстам программ.
См. также
- Программное обеспечение
- Утилита
- Встроенное программное обеспечение
Примечания
- ISO/IEC/IEEE 24765:2010 Systems and software engineering — Vocabulary
- ISO/IEC 2382-1:1993, Information technology — Vocabulary — Part 1: Fundamental terms
- ГОСТ 19781—90 «Обеспечение систем обработки информации программное. Термины и определения»
- ст. 1261 «Программы для ЭВМ» ГК РФ
- Фельдман С. К. Системное программирование. Полный курс лекций с теоретическими материалами и лабораторными работами. — 2003. — 512 с. — ISBN 5-88548-096-6.
- Silberschatz, 1994, p. 97.
- Silberschatz, 1994, p. 100.
- Akhter Shameem. Multi-Core Programming. — Richard Bowles (Intel Press), 2006. — С. 11—13. — ISBN 0-9764832-4-6.
- Чибісов Д. М. Правова природа Угоди про торговельні аспекти прав інтелектуальної власності (ТРІПС) (укр.) // Науковий вісник Ужгородського національного університету. Серія «Право». — 2012. — № 19.
- Чибисов Д.М. Режимы охраны проприетарного цифрового контента (укр.) (8 апреля 2015). Дата обращения: 9 апреля 2015. Архивировано из оригинала 2 апреля 2015 года.
- Д.М. Чибисов. Проприетарный цифровой контент: основная характеристика. Блог (8 апреля 2015). Архивировано 12 июня 2018 года.
- Зимин В.А. Регистрация программ для ЭВМ в Российской Федерации. Дата обращения: 9 июня 2016. Архивировано 4 апреля 2016 года.
Литература
- Silberschatz Abraham. Operating System Concepts, Fourth Edition. — Addison-Wesley, 1994. — С. 970. — ISBN 0-201-50480-4.
- Knuth, Donald E. The Art of Computer Programming, Volume 1, 3rd Edition (англ.). — Boston: Addison-Wesley, 1997. — ISBN 978-0-201-89683-1.
- Knuth, Donald E. The Art of Computer Programming, Volume 2, 3rd Edition (англ.). — Boston: Addison-Wesley, 1997. — ISBN 978-0-201-89684-8.
- Knuth, Donald E. The Art of Computer Programming, Volume 3, 3rd Edition (англ.). — Boston: Addison-Wesley, 1997. — ISBN 978-0-201-89685-5.
Эта статья описывает ситуацию применительно лишь к одному региону, возможно, нарушая при этом правило о взвешенности изложения. |
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Компьютерная программа, Что такое Компьютерная программа? Что означает Компьютерная программа?
Termin programma imeet takzhe drugie znacheniya Kompyu ternaya progra mma 1 kombinaciya kompyuternyh instrukcij i dannyh pozvolyayushaya apparatnomu obespecheniyu vychislitelnoj sistemy vypolnyat vychisleniya ili funkcii upravleniya standart ISO IEC IEEE 24765 2010 2 sintaksicheskaya edinica kotoraya sootvetstvuet pravilam opredelyonnogo yazyka programmirovaniya sostoyashaya iz opredelenij i operatorov ili instrukcij neobhodimyh dlya opredelyonnoj funkcii zadachi ili resheniya problemy standart ISO IEC 2382 1 1993 Kompyuternaya programma Pervoe opredelenie sootvetstvuet ponyatiyu ispolnyaemaya programma vtoroe otnositsya k ponyatiyu ishodnyj tekst Drugie opredeleniya iz normativnyh dokumentov dannye prednaznachennye dlya upravleniya konkretnymi komponentami sistemy v celyah realizacii opredelyonnogo algoritma predstavlennaya v obektivnoj forme sovokupnost dannyh i komand prednaznachennyh dlya funkcionirovaniya EVM i drugih kompyuternyh ustrojstv s celyu polucheniya opredelyonnogo rezultata vklyuchaya podgotovitelnye materialy poluchennye v hode razrabotki programmy dlya EVM i porozhdaemye eyu audiovizualnye otobrazheniya Grazhdanskij kodeks Rossijskoj Federacii Kompyuternye programmy kak obekt avtorskogo prava i drugih prav intellektualnoj sobstvennosti otnosyatsya k kategorii nematerialnyh aktivov Sozdanie programmChashe vsego obraz programmy hranitsya v vide ispolnyaemogo modulya otdelnogo fajla ili gruppy fajlov Iz etogo obraza nahodyashegosya kak pravilo na diske ispolnyaemaya programma v operativnoj pamyati mozhet byt postroena programmnym zagruzchikom V sistemnom programmirovanii programmoj nazyvayutsya dannye kotorye ispolzuyutsya processorom kak instrukcii po upravleniyu kompyuternoj sistemoj V sostav programmy mozhet vhodit kak mashinnyj kod ispolnyaemyj processorom dlya dostizheniya nekotoroj celi tak i neobhodimye dlya etogo dannye Otlichitelnoj osobennostyu programmy yavlyaetsya eyo nahozhdenie v pamyati i ispolnenie processorom Process razrabotki programmnogo obespecheniya sostoit iz neskolkih etapov iz kotoryh v uzkom smysle lish neposredstvennoe sozdanie programmnogo koda nosit nazvanie programmirovanie V shirokom smysle pod programmirovaniem chasto podrazumevaetsya ves process razrabotki PO a lyudej zanimayushihsya etim vidom deyatelnosti nazyvayut programmistami Zapis ishodnyh tekstov programm pri pomoshi yazykov programmirovaniya oblegchaet ponimanie i redaktirovanie chelovekom Etomu v chastnosti pomogayut kommentarii dopustimye v sintaksise bolshinstva yazykov Dlya vypolneniya na kompyutere gotovyj tekst programmy preobrazuetsya kompiliruetsya v mashinnyj kod Nekotorye yazyki programmirovaniya pozvolyayut obhoditsya bez predvaritelnoj kompilyacii programmy i perevodyat eyo v instrukcii mashinnogo koda neposredstvenno vo vremya ispolneniya Etot process nazyvaetsya dinamicheskoj kompilyaciej i on pozvolyaet dobitsya bolshej perenosimosti programm mezhdu raznymi apparatnymi i programmnymi platformami pri sohranenii mnogih plyusov kompilyacii Interpretiruemye programmy dlya kotoryh kak pravilo ne primenyaetsya process kompilyacii i kotorye interpretiruyutsya operacionnoj sistemoj ili specialnymi programmami interpretatorami nazyvayutsya skriptami ili scenariyami Ishodnye teksty kompyuternyh programm v bolshinstve yazykov programmirovaniya sostoyat iz spiska instrukcij tochno opisyvayushih zalozhennyj algoritm Podobnyj podhod v programmirovanii nazyvaetsya imperativnym Odnako primenyayutsya i drugie metodologii programmirovaniya Naprimer opisanie ishodnyh i trebuemyh harakteristik obrabatyvaemyh dannyh i predostavlenie vybora podhodyashego algoritma resheniya specializirovannoj programme interpretatoru takoj podhod nazyvaetsya deklarativnym programmirovaniem K deklarativnomu programmirovaniyu otnosyatsya funkcionalnoe i logicheskoe a takzhe menee rasprostranyonnye vidy programmirovaniya Programmy mogut sozdavatsya v tekstovom vide i vizualno V pervom sluchae ishodnyj kod nabiraetsya vruchnuyu vo vtorom funkcionalnost programmy zadayotsya s pomoshyu elementov graficheskogo interfejsa polzovatelya a tekst programmy generiruetsya avtomaticheski i mozhet byt kak dostupen dlya izmeneniya vruchnuyu tak i polnostyu skryt ot programmista Hranenie i vypolnenieV 1950 e gody kompyuternye programmy hranilis na perfolentah Do momenta kogda polzovatel kompyutera yavno ili neyavno vydast zapros na vypolnenie kompyuternoj programmy ona obychno hranitsya v energonezavisimoj pamyati Pri poluchenii takogo zaprosa programma posredstvom drugoj kompyuternoj programmy nazyvayushejsya operacionnoj sistemoj zagruzhaetsya v pamyat s proizvolnym dostupom otkuda centralnyj processor mozhet neposredstvenno vypolnyat eyo Posle etogo centralnyj processor vypolnyaet programmu instrukciya za instrukciej do eyo zaversheniya Vypolnyayushayasya programma nazyvaetsya processom Zavershenie programmy proishodit libo po dostizhenii eyo poslednej instrukcii obychno peredayushej upravlenie operacionnoj sisteme libo po oshibke programmnoj ili apparatnoj Odnovremennoe vypolnenie Sm takzhe Process informatika i Multiprocessornost Mnogie operacionnye sistemy podderzhivayut mehanizm mnogozadachnosti kotoryj pozvolyaet sozdat effekt odnovremennoj raboty neskolkih kompyuternyh programm na odnom kompyutere Operacionnye sistemy mogut vypolnyat neskolko programm ispolzuya dispetcher operacionnoj sistemy programmnyj mehanizm dlya pereklyucheniya processov vypolnyaemyh processorom Hotya v kazhdyj moment vremeni vypolnyaetsya tolko odna programma pri dostatochno chastom pereklyuchenii polzovatel mozhet vzaimodejstvovat so vsemi programmami vo vremya ih raboty Sovremennye mnogoprocessornye kompyutery ili kompyutery s mnogoyadernymi processorami podderzhivayut odnovremennoe vypolnenie neskolkih programm apparatno Fragmenty koda odnoj i toj zhe kompyuternoj programmy mogut odnovremenno vypolnyatsya s pomoshyu potokov vypolneniya Sushestvuyut mnogopotochnye processory specialno optimizirovannye dlya vypolneniya neskolkih potokov Samomodificiruyushiesya programmy Osnovnaya statya Samomodificiruyushijsya kod Schitaetsya chto vypolnyayushayasya kompyuternaya programma otlichaetsya ot dannyh kotorye ona obrabatyvaet Odnako eto otlichie razmyvaetsya kogda kompyuternaya programma modificiruet sama sebya Modificirovannaya kompyuternaya programma zatem vypolnyaetsya kak chast ishodnoj programmy Samomodifikaciya koda vozmozhna v programmah napisannyh v mashinnom kode na assemblere Lispe Si Kobole PL 1 i Prologe Ispolzovanie programmBolshinstvo polzovatelej kompyuterov ispolzuet programmy prednaznachennye dlya vypolneniya konkretnyh prikladnyh zadach takih kak podgotovka i oformlenie dokumentov matematicheskie vychisleniya obrabotka izobrazhenij i t p Sootvetstvuyushie programmnye sredstva nazyvayut prikladnymi programmami ili prikladnym programmnym obespecheniem Upravlenie komponentami vychislitelnoj sistemy i formirovanie sredy dlya funkcionirovaniya prikladnyh programm beryot na sebya sistemnoe programmnoe obespechenie naibolee vazhnoj sostavlyayushej kotorogo yavlyaetsya operacionnaya sistema Pravovye aspektySoglasno st 1261 GK RF programmoj dlya EVM yavlyaetsya predstavlennaya v obektivnoj forme sovokupnost dannyh i komand prednaznachennyh dlya funkcionirovaniya EVM i drugih kompyuternyh ustrojstv v celyah polucheniya opredelyonnogo rezultata vklyuchaya podgotovitelnye materialy poluchennye v hode razrabotki programmy dlya EVM i porozhdaemye eyu audiovizualnye otobrazheniya Programmy s obshedostupnymi ishodnymi tekstami nazyvayutsya otkrytymi Kompyuternye programmy v bolshinstve stran yavlyayutsya obektami avtorskogo prava vklyuchaya strany SNG V nekotoryh stranah kompyuternye programmy mogut zashishatsya patentami Patentovaniyu kompyuternyh programm sposobstvovalo Soglashenie o torgovyh aspektah prav intellektualnoj sobstvennosti kotoroe ustanovilo minimalnye trebovaniya k ohranyaemomu ryadu obektov prav intellektualnoj sobstvennosti i fakticheski razreshilo patentovat programmy Soglashenie TRIPS obyazatelno dlya vypolneniya na territorii Ukrainy kak gosudarstva chlena VTO znachimost fakta Takim obrazom programma mozhet ohranyatsya i kak literaturnoe proizvedenie i kak izobretenie Dlya opredeleniya rezhima pravovoj ohrany v pervom sluchae ispolzuetsya tekst koda v drugom priznaki primenyaemye dlya izobretenij predlagaemyh dlya patentovaniya to est nuzhno dokazat innovacionnost originalnost i neochevidnost a takzhe vozmozhnost resheniya sushestvuyushej tehnicheskoj problemy i kommercheskuyu prigodnost Pri etom sushestvuet problema pravovogo razgranicheniya kompyuternyh programm ot proprietarnogo cifrovogo kontenta i proprietarnogo programmnogo obespecheniya Isklyuchitelnoe pravo na programmy dlya EVM i bazy dannyh voznikaet avtomaticheski s momenta eyo sozdaniya i dejstvuet v techenie vsej zhizni avtora i semidesyati let schitaya s 1 yanvarya goda sleduyushego za godom smerti avtora libo smerti poslednego iz soavtorov Dejstvuyushim zakonodatelstvom Rossijskoj Federacii ne predusmotreno patentovanie kompyuternyh programm kak takovyh Dannye obekty intellektualnoj sobstvennosti ohranyayutsya avtorskim pravom kotoroe voznikaet avtomaticheski s momenta ih sozdaniya i ne trebuyut obyazatelnoj gosudarstvennoj registracii Odnako programmy dlya EVM i bazy dannyh mogut byt zaregistrirovany v Rospatente po zhelaniyu pravoobladatelya Avtorskoe pravo i nekotorye drugie kakie prava intellektualnoj sobstvennosti pozvolyayut ogranichivat dostup k ishodnym tekstam programm Sm takzheProgrammnoe obespechenie Utilita Vstroennoe programmnoe obespecheniePrimechaniyaISO IEC IEEE 24765 2010 Systems and software engineering Vocabulary ISO IEC 2382 1 1993 Information technology Vocabulary Part 1 Fundamental terms GOST 19781 90 Obespechenie sistem obrabotki informacii programmnoe Terminy i opredeleniya st 1261 Programmy dlya EVM GK RF Feldman S K Sistemnoe programmirovanie Polnyj kurs lekcij s teoreticheskimi materialami i laboratornymi rabotami 2003 512 s ISBN 5 88548 096 6 Silberschatz 1994 p 97 Silberschatz 1994 p 100 Akhter Shameem Multi Core Programming Richard Bowles Intel Press 2006 S 11 13 ISBN 0 9764832 4 6 Chibisov D M Pravova priroda Ugodi pro torgovelni aspekti prav intelektualnoyi vlasnosti TRIPS ukr Naukovij visnik Uzhgorodskogo nacionalnogo universitetu Seriya Pravo 2012 19 Chibisov D M Rezhimy ohrany proprietarnogo cifrovogo kontenta ukr 8 aprelya 2015 Data obrasheniya 9 aprelya 2015 Arhivirovano iz originala 2 aprelya 2015 goda D M Chibisov Proprietarnyj cifrovoj kontent osnovnaya harakteristika neopr Blog 8 aprelya 2015 Arhivirovano 12 iyunya 2018 goda Zimin V A Registraciya programm dlya EVM v Rossijskoj Federacii neopr Data obrasheniya 9 iyunya 2016 Arhivirovano 4 aprelya 2016 goda LiteraturaMediafajly na Vikisklade Silberschatz Abraham Operating System Concepts Fourth Edition Addison Wesley 1994 S 970 ISBN 0 201 50480 4 Knuth Donald E The Art of Computer Programming Volume 1 3rd Edition angl Boston Addison Wesley 1997 ISBN 978 0 201 89683 1 Knuth Donald E The Art of Computer Programming Volume 2 3rd Edition angl Boston Addison Wesley 1997 ISBN 978 0 201 89684 8 Knuth Donald E The Art of Computer Programming Volume 3 3rd Edition angl Boston Addison Wesley 1997 ISBN 978 0 201 89685 5 Eta statya opisyvaet situaciyu primenitelno lish k odnomu regionu vozmozhno narushaya pri etom pravilo o vzveshennosti izlozheniya Vy mozhete pomoch Vikipedii dobaviv informaciyu dlya drugih stran i regionov 8 fevralya 2011

