Skip to main content

Hvad er systemprogrammering?

Alle programmerere skriver eksekverbar kode til computere, men hvad der adskiller systemprogrammerere fra applikationsprogrammerere er formålet med den software, de skriver.Applikationsprogrammering producerer software, der får en computerehardware til at generere noget til brugeren, det være sig et regneark eller grafikken til et spil.Systemprogrammering producerer software, der får adgang til og kontrollerer den indre funktion af en computere hardware og operativsystem.

Anvendelsesprogrammering involverer generelt udstedelseComputers fysiske hukommelse eller en fil på harddisken.Disse slags programmer er ikke optaget af detaljer om, hvordan harddisken eller fysisk hukommelse fungerer.Omvendt beskæftiger systemprogrammører sig med detaljerne om, hvordan et operativsystem og hardwarekomponenter fungerer.Dette giver dem mulighed for at opbygge softwaren, der defragmenterer harddiske og kontrollerer integriteten af en computere fysisk hukommelse.

Ud over at være i stand til at opbygge sådanne værktøjer er systemprogrammerere typisk eksperter i kernefunktionen i operativsystemer.Alle programmerere er bekendt med systemopkald, trådstyring og input/output -håndtering, men systemprogrammering kræver, at softwareingeniøren kan manipulere disse operativsystemmekanismer.Dette gør det muligt for en systemprogrammør at udføre specialiserede installationer og automatisere systemvedligeholdelsesopgaver.

Kendskab til en operativsystemkerne er også nødvendig for at maksimere en applikationsydelse på en bestemt hardwarekonfiguration.For eksempel har meget travle onlineforhandlere brug for deres websteder og transaktionsbehandlingssystemer til at køre så effektivt og pålideligt som muligt.Brug af hans eller hendes viden om den interne mekanik i operativsystemer og hardwarekomponenter, såsom hvordan man får et bestemt operativsystem til at optimere sin trådhåndtering, eller hvilke algoritmer kører hurtigst, hvorpå hardwarekomponenter, en systemprogrammør kan hjælpe med at finjustere en applikationsydelse.

Denne detaljerede adgang til den indre funktion af hardware- og operativsystemkomponenter kræver, at systemprogrammering udføres på et sprog, der tillader denne form for adgang til lavt niveau.Sprog som Java , Python Trade;, eller Ruby on Rails er det, som programmerere omtaler som sprog på højt niveau.Dette betyder, at de gør applikationsprogrammering lettere ved ikke at få programmereren til at håndtere de fine detaljer om hardwareadministration.Systemprogrammering kræver nøjagtigt denne form for adgang, så systemprogrammører bruger et sprog på lavt niveau, såsom C eller C ++.