Пређи на садржај

Корисник:Иванаостојиц/превод1

Извор: Викикњиге

Системско програмирање

[уреди]

Системско програмирање је активност програмирања[1] Рачунарског системског софтвера. Главна разлика између системског и апликативног програмирања је у томе што апликативно програмирање производи софтвер који директно пружа услуге кориснику (нпр. за обраду текста), док је циљ системског програмирања израда софтвера и платформи које пружају услуге другом софтверу, често под ограничењима перформанси (нпр. оперативни системи, научни прорачуни, енџини за игре, индустријска аутоматизација и софтвер као услуга).[1]

Системско програмирање захтева висок ниво свести о хардверу, јер му је циљ ефикасна употреба ресурса.

Преглед

[уреди]

Карактеристике системског програмирања укључују:

  • Програмер може претпоставити специфичне карактеристике хардвера и друга својства система на којима програм ради, и често ће искористити та својства, на пример коришћењем алгоритма за који се зна да је ефикасан када се користи са одређеним хардвером..
  • Обично се користи програмски језик ниског нивоа, што омогућава:
  • Програми често не могу да се извршавају у дебуггеру. Симулације се понекад користе за решавање овог проблема.

Већина софтвера написаног савременим језицима може се извршавати у дебуггеру, али то често није прихватљиво у продукцији или уграђеним системима.

У системском програмирању, аутоматско управљање меморијом није уобичајено и дебуггинг може бити сложен.

Историја

[уреди]

Првобитно су системски програмери писали искључиво у ассемблер језицима. Током касних 1960-их истраживана је подршка за језике вишег нивоа, што је довело до језика као што су ПЛ/С, БЛИСС, БЦПЛ и проширеног АЛГОЛ-а, коришћеног за Бурроугхс велике системе. Фортх је такође нашао примену као системски језик.

У 1970-им, ширење C језика уз подршку Униx система омогућило је његову широку употребу. Каснији језик, Ембеддед C++, коришћен је у мацОС драјверима I/О Кита.[2]

Инжењери из Гоогле-а су 2007. развили Го како би побољшали продуктивност програмера за рад у великим дистрибуираним системима, са карактеристикама као што су конкурентност и управљање меморијом.[3]

Руст, представљен 2015. године, језик је усмерен на сигурност меморије и често се користи у системском програмирању, пружајући перформансе упоредиве са C и C++ језицима.


Алтернативно значење

[уреди]

Из историјских разлога, у неким организацијама се израз системски програмер користи за радна места која би прецизније могла бити описана као системски администратор. Овај термин се често користи у компанијама са маинфраме рачунарима, где администрација укључује писање прилагођеног ассемблер кода за интеграцију са оперативним системима као што су ОС/МВС, ДОС/ВСЕ или ВМ/ЦМС. Иако се ова пракса смањује, термин системски програмер и даље означава администраторе у ИБМ маинфраме окружењу.


Види још

[уреди]

Референце

[уреди]


Додатна литература

[уреди]