Pređi na sadržaj

Korisnik:Ivanaostojic/prevod1

Izvor: Викикњиге

Sistemsko programiranje

[uredi]

Sistemsko programiranje je aktivnost programiranja[1] Računarskog sistemskog softvera. Glavna razlika između sistemskog i aplikativnog programiranja je u tome što aplikativno programiranje proizvodi softver koji direktno pruža usluge korisniku (npr. za obradu teksta), dok je cilj sistemskog programiranja izrada softvera i platformi koje pružaju usluge drugom softveru, često pod ograničenjima performansi (npr. operativni sistemi, naučni proračuni, endžini za igre, industrijska automatizacija i softver kao usluga).[1]

Sistemsko programiranje zahteva visok nivo svesti o hardveru, jer mu je cilj efikasna upotreba resursa.

Pregled

[uredi]

Karakteristike sistemskog programiranja uključuju:

  • Programer može pretpostaviti specifične karakteristike hardvera i druga svojstva sistema na kojima program radi, i često će iskoristiti ta svojstva, na primer korišćenjem algoritma za koji se zna da je efikasan kada se koristi sa određenim hardverom..
  • Obično se koristi programski jezik niskog nivoa, što omogućava:
  • Programi često ne mogu da se izvršavaju u debuggeru. Simulacije se ponekad koriste za rešavanje ovog problema.

Većina softvera napisanog savremenim jezicima može se izvršavati u debuggeru, ali to često nije prihvatljivo u produkciji ili ugrađenim sistemima.

U sistemskom programiranju, automatsko upravljanje memorijom nije uobičajeno i debugging može biti složen.

Istorija

[uredi]

Prvobitno su sistemski programeri pisali isključivo u assembler jezicima. Tokom kasnih 1960-ih istraživana je podrška za jezike višeg nivoa, što je dovelo do jezika kao što su PL/S, BLISS, BCPL i proširenog ALGOL-a, korišćenog za Burroughs velike sisteme. Forth je takođe našao primenu kao sistemski jezik.

U 1970-im, širenje C jezika uz podršku Unix sistema omogućilo je njegovu široku upotrebu. Kasniji jezik, Embedded C++, korišćen je u macOS drajverima I/O Kita.[2]

Inženjeri iz Google-a su 2007. razvili Go kako bi poboljšali produktivnost programera za rad u velikim distribuiranim sistemima, sa karakteristikama kao što su konkurentnost i upravljanje memorijom.[3]

Rust, predstavljen 2015. godine, jezik je usmeren na sigurnost memorije i često se koristi u sistemskom programiranju, pružajući performanse uporedive sa C i C++ jezicima.


Alternativno značenje

[uredi]

Iz istorijskih razloga, u nekim organizacijama se izraz sistemski programer koristi za radna mesta koja bi preciznije mogla biti opisana kao sistemski administrator. Ovaj termin se često koristi u kompanijama sa mainframe računarima, gde administracija uključuje pisanje prilagođenog assembler koda za integraciju sa operativnim sistemima kao što su OS/MVS, DOS/VSE ili VM/CMS. Iako se ova praksa smanjuje, termin sistemski programer i dalje označava administratore u IBM mainframe okruženju.


Vidi još

[uredi]

Reference

[uredi]


Dodatna literatura

[uredi]