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. Programmering af applikationsprogrammering producerer software, der får en computers hardware 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 styrer den indre funktion af en computers hardware og operativsystem.
Applikationsprogrammering involverer generelt udstedelse af systemkommandoer til at bruge basisfunktionerne i en computers hardware og operativsystem, såsom at opbevare et bestemt stykke data i computerens 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 den software, der defragmenterer hARD -drev og kontrollerer integriteten af en computers fysiske hukommelse.
Ud over at være i stand til at opbygge sådanne værktøjer er systemprogrammerere typisk eksperter i operativsystemets kernefunktion. 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 et operativsystems kerne er også nødvendigt for at maksimere en applikations ydelse 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 HardwaRE -komponenter, såsom hvordan man laver et bestemt operativsystem optimerer sin trådhåndtering, eller hvilke algoritmer kører hurtigst, hvorpå hardwarekomponenter, en systemprogrammør kan hjælpe med at finjustere en applikations ydelse.
Denne detaljerede adgang til den indre funktion af hardware- og operativsystemkomponenter kræver, at systemprogrammering skal udføres på et sprog, der tillader denne form for adgang til lavt niveau. Sprog som Java®, Python ™ 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å systemprogrammerere bruger et sprog på lavt niveau, såsom C eller C ++.