
Also known as computer programming, system scripting, system coding, system programming
programming that aims to produce software which provides services to the computer hardware
Programowanie systemowe jest rodzajem programowania systemów oprogramowania. Główną cechą odróżniającą programowanie systemowe od aplikacyjnego jest to iż programowanie aplikacyjne tworzy oprogramowanie które świadczy usługi dla użytkownika (np. edytor tekstu), natomiast programowanie systemowe służy stworzeniu oprogramowania które świadczy usługi sprzętowi komputerowemu (np. defragmentator dysku) co wymaga dużej znajomości sprzętu i wewnętrznej budowy systemu komputerowego. W szczególności * programista przyjmuje założenia odnośnie do sprzętu i innych właściwości systemu na którym program jest uruchomiony, i często będzie aktywnie wykorzystywał te własności (na przykład przez zastosowanie algorytmu który jest efektywniejszy na specyficznym sprzęcie) * używany jest język niskiego poziomu albo język który: * potrafi działać w środowisku o limitowanych zasobach * jest bardzo efektywny i ma małe narzuty uruchomieniowe * ma małą bibliotekę uruchomieniową (albo wcale) * pozwala na bezpośredni i surowy dostęp do pamięci i kontroli wykonania * umożliwia programiście pisać części programu bezpośrednio w języku asemblera * debugowanie może być utrudnione, albo niemożliwe z powodu ograniczonych zasobów w których program działa. Uruchomienie programu w środowisku symulowanym (emulacja, ) jest sposobem przezwyciężenia tego problemu. Programowanie systemowe jest tak różne od programowania aplikacyjnego iż programiści raczej specjalizują się w jednym bądź drugim. W programowaniu systemowym istnieje spektrum sposobów rozwiązania tego samego problemu jest ograniczone w stosunku do programowania aplikacyjnego. Używanie (przez garbage collector) jest rzadkie, a odpluskwianie czasami trudne do wykonania. Biblioteka uruchomieniowa (standardowa), jeśli w ogóle dostępna, zwykle ma mniejsze możliwości i większą podatność na błędy. Z powodu tych ograniczeń, monitorowanie i logowanie jest często używane. System operacyjny może być bardzo rozbudowany podsystem logowania. Oryginalnie programiści systemowi pisali w języku asemblera. Eksperymenty z obsługą sprzętu w językach wysokiego poziomu spowodowało stworzenie w późnych latach 60. takich języków jak i BCPL, ale dopiero C, z pomocą zwiększonej popularności UNIX-a stał się standardem w latach 80. Ostatnio jest czasami używany, na przykład w sterownikach systemu macOS. PrzykładyImplementacja wielu części systemu operacyjnego (jądra) czy też wymaga programowania systemowego. Najczęstszym przykładem są sterowniki urządzeń systemu operacyjnego.
Abstract from DBpedia / Wikipedia · CC BY-SA
via Wikidata sitelinks · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).