Có hai loại phần mềm chính: phần mềm hệ thống và phần mềm ứng dụng. Phần mềm hệ thống đề cập đến một chương trình làm cho phần cứng của máy tính hoạt động, trong khi phần mềm ứng dụng là phần mềm hoàn thành một nhiệm vụ cụ thể hoặc một số liên quan các nhiệm vụ. Phần mềm hệ thống về cơ bản là hệ điều hành của máy tính và thường đi kèm với phần cứng. Phần mềm ứng dụng bao gồm một bộ sưu tập lớn các ứng dụng được tạo cho các tác vụ cụ thể.
Phần mềm hệ thống thường có các thành phần khác nhau để thực hiện một công việc cụ thể. Ví dụ, hệ thống đầu vào và đầu ra cơ bản quản lý luồng hướng dẫn giữa các bộ phận phần cứng khác nhau và hệ điều hành. Chương trình khởi động tải hệ điều hành chính vào bộ nhớ khi máy tính đang khởi động. Trình điều khiển thiết bị cũng là thành phần của phần mềm hệ thống điều khiển các thiết bị phần cứng cụ thể. Phần mềm hệ thống đôi khi được gọi là phần mềm cấp thấp vì nó chạy ở cấp cơ bản nhất của máy tính.
Mặt khác, phần mềm ứng dụng cho phép người dùng máy tính hoàn thành nhiều tác vụ khác nhau. Khi một chương trình ứng dụng được mở, nó sẽ chạy bên trong hệ điều hành cho đến khi nó được đóng lại. Có vô số loại chương trình ứng dụng bao gồm ứng dụng Web, ứng dụng máy tính để bàn và nhiều loại khác. Các ví dụ điển hình về phần mềm ứng dụng bao gồm bảng tính, bộ xử lý văn bản và trình phát đa phương tiện, trong số những phần mềm khác.