Skip to main content

Vad är systemprogrammering?

Alla programmerare skriver körbar kod för datorer, men det som skiljer systemprogrammerare från applikationsprogrammerare är syftet med programvaran de skriver.Applikationsprogrammering producerar programvara som gör att en dator hårdvara genererar något för användaren, vare sig det är ett kalkylblad eller grafik för ett spel.Systemprogrammering producerar programvara som åtkomst till och styr de inre funktionerna i en datorhårdvaru- och operativsystem.Datorerna fysiska minne eller en fil på hårddisken.Dessa typer av program handlar inte om detaljer om hur hårddisken eller det fysiska minnet fungerar.Omvänt berör systemprogrammerare sig detaljerna om hur ett operativsystem och hårdvarukomponenter fungerar.Detta gör att de kan bygga programvaran som defragments hårddiskar och kontrollerar integriteten i ett fysiskt minne.

Förutom att de kan bygga sådana verktyg är systemprogrammerare vanligtvis experter på operativsystemens kärnfunktion.Alla programmerare är bekanta med systemsamtal, trådhantering och input/utgångshantering, men systemprogrammering kräver att programvaruingenjören kan manipulera dessa operativsystemmekanismer.Detta gör det möjligt för en systemprogrammerare att utföra specialiserade installationer och automatisera systemunderhållsuppgifter.

Kunskap om en operativsystemkärna är också nödvändig för att maximera en applikationsprestanda på en viss hårdvarukonfiguration.Till exempel behöver mycket upptagna online -återförsäljare sina webbplatser och transaktionsbehandlingssystem för att köras så effektivt och pålitligt som möjligt.Genom att använda sin kunskap om den interna mekaniken i operativsystem och hårdvarukomponenter, till exempel hur man gör ett visst operativsystem optimerar dess trådhantering eller vilka algoritmer som kör snabbast på vilka hårdvarukomponenter, kan en systemprogrammerare hjälpa till att finjustera en applikationsprestanda.

Denna detaljerade åtkomst till den inre funktionen av hårdvara och operativsystemkomponenter kräver att systemprogrammering ska göras på ett språk som tillåter denna typ av lågnivåhårdvaruåtkomst.Språk som Java , Python Trade;, Ruby on Rails är vad programmerare kallar språk på hög nivå.Detta innebär att de underlättar applikationsprogrammering genom att inte göra programmeraren hantera de fina detaljerna i hårdvaruthantering.Systemprogrammering kräver exakt denna typ av åtkomst, så systemprogrammerare använder ett lågnivåspråk som C eller C ++.