Праграмнае забесьпячэньне

Прагра́мнае забесьпячэ́ньне, апраграмава́ньне — агульны тэрмін для абазначэньня сукупнасьці кампутарных праграмаў, працэдураў і дакумэнтацыі, якая выконвае пэўную задачу ў кампутарнай сыстэме. Тэрмін ахоплівае дастасаваныя праграмы, такія як тэкставы рэдактар, што выконвае задачу карыстальніка, сыстэмнае апраграмаваньне, якое стасуецца непасрэдна з апаратнай часткай і забясьпечвае неабходныя для дастасаваных праграмаў функцыі, і пасрэднае апраграмаваньне, якое кантралюе й каардынуе разасяроджаныя сыстэмы. Кампутарнае праграмнае забесьпячэньне ўключае ў сябе кампутарныя праграмы, бібліятэкі й зьвязаныя зь імі невыканальныя зьвесткі, як то праграмная дакумэнтацыя альбо лічбавыя мэдыяфайлы. Апаратнае й праграмнае забесьпячэньне кампутара патрабуюць адзін аднаго й натуральна ня могуць быць выкарыстаны самастойна.

На самым нізкім узроўні праграмаваньня выканальны код складаецца з інструкцыяў машыннай мовы, якія падтрымліваюцца адмысловым працэсарам, якім звычайна зьяўляецца цэнтральны працэсар (CPU) або графічны працэсар (GPU). Машынная мова складаецца з групы бінарных значэньняў, якія азначаюць інструкцыі для працэсару, якія зьмяняюць стан кампутара з папярэдняга стану. Напрыклад, інструкцыя можа зьмяніць значэньне, якое захоўваецца ў пэўным месцы захоўвання на кампутары. Гэты эфэкт непасрэдна не назіраецца для карыстальніка. Інструкцыя таксама можа выклікаць адну з шматлікіх апэрацыяў уводу ці вываду, напрыклад, адлюстраваньне нейкага тэксту на экране кампутара, выклікаючы зьмены стану, якія павінны быць бачныя карыстальніку. Працэсар выконвае інструкцыі ў парадку, які яму перададзеныя на выкананьне, калі толькі не працэсару даручана непасрэдна перайсьці на іншую інструкцыю альбо не прыйшла каманда на пераірваньне выкананьне апэрацыйнай сыстэмай. Па стане на 2015 год большасьць пэрсанальных кампутараў, смартфонаў і сэрвэраў маюць працэсары зь некалькімі блёкамі выкананьня альбо некалькімі працэсарамі, якія разам ажыцьцяўляюць вылічэньні, бо вылічэньні сталі выконвацца паралельна.

Большасьць праграмнага забесьпячэньня напісанае на мовах праграмаваньня высокага ўзроўню. Яны больш простыя й зразумелыя для праграмістаў, паколькі яны бліжэй да натуральных моваў, чым машынныя мовы[1]. Мовы высокага ўзроўню перакладаюцца на машынную мову з дапамогай кампілятару або перакладчыка альбо іхных камбінацыяў. Праграмнае забесьпячэньне таксама можа пісацца на мове зборкі нізкага ўзроўню, які добра адпавядае інструкцыям машыннай мовы кампутара й перакладаецца на машынную мову праз мову асэмблер.

ТыпыРэдагаваць

Існыя кампутарныя сыстэмы падзяляюць апраграмаваньне на тры асноўныя клясы: сыстэмнае апраграмаваньне, сродкі праграмаваньня й дастасаваныя праграмы, але мяжа паміж імі недакладная й часта размытая.

  • Сыстэмнае апраграмаваньне забясьпечвае працу абсталяваньня й кампутарнае сыстэмы як адзінага цэлага. Улучае апэрацыйныя сыстэмы, драйвэры прыладаў, сродкі дыягностыкі, сэрвэры, ваконныя сыстэмы й інш. Прызначэньне сыстэмнага апраграмаваньня — адмежаваць наколькі магчыма праграміста, што піша дастасаваныя праграмы, ад дэталяў канкрэтнае кампутарнае сыстэмы, асаблівасьцяў падсыстэмы памяці, тых ці іншых прыладаў — прынтараў, дысплэяў, клявіятур і г. д.
  • Сродкі праграмаваньня ахопліваюць прылады, што дапамагаюць праграмісту ствараць праграмы на розных мовах праграмаваньня больш зручным спосабам. Улучаюць тэкставыя рэдактары, кампілятары, інтэрпрэтатары, лінкеры, дэбагеры й г. д. Інтэграваныя асяродзьдзі праграмаваньня спалучаюць гэтыя прылады ў праграмным пакунку, звычайна замяняючы кіраваньне з загаднага шэрагу графічным інтэрфэйсам карыстальніка.
  • Дастасаваныя праграмы дазваляюць карыстальніку выконваць адну ці болей пэўных, не зьвязаных з кампутарам, задачаў. Звычайны ўжытак улучае аўтаматызацыю прамысловасьці, праграмы для бізнэсу, адукацыйныя праграмы, мэдычныя праграмы, базы зьвестак і кампутарныя гульні. Амаль кожная праява чалавечае дзейнасьці зараз выкарыстоўвае нейкую форму дастасаванае праграмы.

КрыніцыРэдагаваць

  1. ^ «Compiler construction». Department of Information and Computing Sciences.

Вонкавыя спасылкіРэдагаваць

  Праграмнае забесьпячэньнесховішча мультымэдыйных матэрыялаў