Systemprogramvara kan i stort sett kategoriseras i följande grupper:
1. Operativsystem (OS):
* kärnfunktion: Hantera och kontrollera alla hårdvaruresurser, tillhandahålla en plattform för applikationsprogramvara för att köra och hantera användarinteraktioner.
* Exempel: Windows, MacOS, Linux, Android, iOS.
2. Verktygsprogram:
* kärnfunktion: Utför specifika uppgifter relaterade till systemunderhåll, optimering och säkerhet.
* Exempel: Disk defragmenterare, antivirusprogramvara, säkerhetskopieringsverktyg, filkomprimeringsverktyg, systemrengöringsmedel.
3. Enhetsdrivare:
* kärnfunktion: Agera som mellanhänder mellan operativsystemet och hårdvaruenheter, vilket gör att de kan kommunicera och fungera korrekt.
* Exempel: Grafikkortdrivrutiner, nätverkskortdrivrutiner, skrivardrivrutiner, tangentbord och musdrivare.
4. Programmeringsspråk och kompilatorer/tolkar:
* kärnfunktion: Ge verktyg för mjukvaruutvecklare att skriva och översätta kod till maskinläsbara instruktioner.
* Exempel: C ++, Java, Python, Ruby, Swift.
* kompilatorer: Översätt hela program till maskinkod på en gång.
* Tolkar: Översätt och utföra kodlinje-för-linje.
5. Systemhanteringsprogramvara:
* kärnfunktion: Övervaka och hantera systemresurser, prestanda, säkerhet och användarkonton.
* Exempel: Systemövervakningsverktyg, nätverkshanteringsprogramvara, säkerhetsprogramvara, fjärråtkomstverktyg.
6. Systemprogrammeringsspråk:
* kärnfunktion: Används för att utveckla systemprogramvara själv och erbjuder låg åtkomst till hårdvara och systemresurser.
* Exempel: Monteringsspråk, C.
7. Bootloaders:
* kärnfunktion: Initiera startprocessen för ett datorsystem genom att ladda operativsystemet i minnet.
8. Firmware:
* kärnfunktion: Inbäddad programvara som tillhandahåller grundläggande instruktioner för att en hårdvaruenhet ska användas.
* Exempel: BIOS (grundläggande input/output -system) i datorer, firmware på smartphones, skrivare och andra enheter.
9. Systembibliotek:
* kärnfunktion: Samlingar av förskriven kod som tillhandahåller återanvändbara funktioner och rutiner för olika uppgifter, som används av annan programvara.
* Exempel: Standard C Library, Java Class Library.
Denna kategorisering ger en allmän översikt. Vissa kategorier kan överlappa varandra, och specifik programvara kan falla i flera kategorier. Det är också viktigt att notera att nya typer av systemprogramvara ständigt dyker upp när tekniken utvecklas.