A szoftver a hardver egységeket működtető, vezérlő programok összessége. A szoftver (software) mesterséges szó, azokat a szellemi javakat hívják összefoglalóan így, amelyekkel kihasználhatjuk a hardverben rejlő teljesítményt és lehetőségeket. A szoftvert egyrészt a gépet működtető programok, másrészt a számítógéppel való feldolgozásra előkészített adatok alkotják.

1.      Rendszerszoftver

Feladata a hardverelemek közvetlen vezérlése.

A BIOS (Basic Input Output System) jellemzői:

-       a számítógépen működésbe lépő első program

-       a ROM-ban helyezkedik el, az adatok megtartásához nem szükséges feszültség

-       az alaplap-gyártók maguk írják a BIOS-t

-       elsődleges feladata az I/O elemek kezelése, ellenőrzése, inicializálása, alapértékek beállítása, külső adathordozóról az operációs rendszer elindítása

-       a modern BIOS-ok Plug and Play támogatást is tartalmaznak, vagyis az operációs rendszernek segítenek megkeresni a hardverelemeket

-       beállítható pl. a háttértárolók olvasási sorrendje (boot)

A meghajtó-szoftverek (driverek, drájverek) olyan szoftverek, melyek egy adott hardverelem vezérlését látják el. Általában a hardver gyártója biztosítja, és időnként frissítéseket is elérhetővé tesz. A legismertebb hardverek drivereit az operációs rendszerek is tartalmazzák.

2.      Operációs rendszer

Alapfeladata a gép és a felhasználó közötti kommunikáció biztosítása, e nélkül a felhasználó számára használhatatlan a gép.

Az operációs rendszer legfontosabb további feladatai:

-       A felhasználók adatainak és jogosultságaik kezelése, bejelentkeztetés

-       Hardverelemek kezelése és elérhetővé tétele a szoftverek és a felhasználók számára

-       A memória kezelése

-       A programok indítása, leállítása, erőforrások hozzárendelése

-       Háttértárak, fájlrendszerek, fájlok kezelése

-       Kiegészítő szolgáltatások nyújtása a többi szoftvernek

-       Hálózati kapcsolatok kezelése

Az operációs rendszerek csoportosítása:

-       felhasználó száma szerint: egy illetve több felhasználó.

-       elérés módja szerint: kötegelt, interaktív és valós idejű.

-       multiprogramozás foka szerint: egy- vagy többáramú.

-       hardver mérete alapján: nagy-, kis- és mikrogépes.

-       felhasználói felület szerint lehet: grafikus (ikonvezérelt) vagy karakteres (parancsvezérelt) felületű.

-       rendszer struktúrája szerint: centralizált, elosztott vagy hálózati.

A rendszerközeli szoftvereknek alapvetően két csoportját különböztetjük meg

-       Segédprogramok (utility-k)

Ide tartoznak a víruskereső és -irtó programok, valamint a különféle tömörítő- és fájlkezelő programok.

Az új operációs rendszerek a rendszerközeli szoftverek egyre több funkcióját veszik át.

-       Fejlesztői szoftverek (új szoftverek megírását könnyítik meg a programozók számára)

Ide soroljuk a különféle programnyelvek (C, C++,C#, Java, Delphi) fordítóprogramjait és fejlesztői környezetét.

4.      Felhasználói szoftver – a szoftverpiac legnagyobb szeletét képezik 

-       általános célú szoftverek – szövegszerkesztők, táblázatkezelők, adatbázis-kezelők, tűzfalak, vírusirtók, tömörítők, játékprogramok

-       speciális célú szoftverek – egy-egy szakma/tevékenység igényei szerint készültek – könyvelő, oktatóprogramok, tervező programok, stb.