Skip to main content

Hva er systemprogrammering?

Alle programmerere skriver kjørbar kode for datamaskiner, men det som skiller systemprogrammerere fra applikasjonsprogrammerere er formålet med programvaren de skriver.Applikasjonsprogrammering produserer programvare som lager en datamaskinvare -maskinvare til å generere noe for brukeren, det være seg et regneark eller grafikken for et spill.Systemprogrammering produserer programvare som får tilgang til og kontrollerer den indre funksjonen til et datamaskinvare- og operativsystem for datamaskiner.

Applikasjonsprogrammering innebærer generelt å utstede systemkommandoer for å bruke de grunnleggende funksjonene til et datamaskinvare og operativsystem, for eksempel lagring av et bestemt stykke data iDatamaskinene fysiske minne eller en fil på harddisken.Denne typen programmer er ikke opptatt av detaljer om hvordan harddisken eller det fysiske minnet fungerer.Motsatt angår systemprogrammerere seg med detaljene om hvordan et operativsystem og maskinvarekomponenter fungerer.Dette lar dem bygge programvaren som defragmenter harddisk og sjekker integriteten til et fysisk datamaskin for datamaskiner.

I tillegg til å kunne bygge slike verktøy, er systemprogrammerere typisk eksperter på kjernefunksjonen til operativsystemer.Alle programmerere er kjent med systemanrop, trådstyring og håndtering av inngang/utgang, men systemprogrammering krever at programvareingeniøren kan manipulere disse operativsystemmekanismene.Dette gjør at en systemprogrammerer kan utføre spesialiserte installasjoner og automatisere systemvedlikeholdsoppgaver.

Kunnskap om en operativsystemkjerne er også nødvendig for å maksimere en applikasjonsytelse på en bestemt maskinvarekonfigurasjon.For eksempel trenger veldig travle online forhandlere sine nettsteder og transaksjonsbehandlingssystemer for å kjøre så effektivt, og pålitelig, som mulig.Ved å bruke hans eller hennes kunnskap om den interne mekanikken i operativsystemer og maskinvarekomponenter, for eksempel hvordan du lager et bestemt operativsystem, optimaliserer trådhåndteringen eller hvilke algoritmer som kjører raskest på hvilke maskinvarekomponenter, en systemprogrammerer kan hjelpe deg med å finjustere en applikasjonsytelse.

Denne detaljerte tilgangen til den indre virkningen av maskinvare- og operativsystemkomponenter krever at systemprogrammering skal gjøres på et språk som tillater denne typen maskinvaretilgang på lavt nivå.Språk som Java , Python Trade;, eller Ruby on Rails er det programmerere omtaler som språk på høyt nivå.Dette betyr at de gjør applikasjonsprogrammering enklere ved ikke å få programmereren til å håndtere de fine detaljene i maskinvarestyring.Systemprogrammering krever nøyaktig denne typen tilgang, så systemprogrammerere bruker et språk på lavt nivå som C eller C ++.