Đặc điểm xác định của hệ điều hành là kết nối mà hệ điều hành cung cấp giữa phần cứng, phần mềm và trong một số trường hợp, giao diện người dùng. Máy tính yêu cầu hệ điều hành để được sử dụng.
Tất cả các máy tính hiện đại đều yêu cầu một số phần mềm để điều khiển và hệ điều hành là phần mềm cơ bản nhất hiện có. Mặc dù hệ điều hành được sử dụng trên các thiết bị nhỏ có thể tương đối nhỏ và đơn giản, nhưng các hệ điều hành phổ biến như Windows, OSX và Linux cung cấp trình điều khiển cho nhiều loại thiết bị và giao diện người dùng.
Phần cốt lõi của hệ điều hành là nhân của nó. Ngày nay, hạt nhân nguyên khối là phổ biến nhất. Các hạt nhân này cung cấp một cách để các tiến trình máy tính khác nhau gửi thông điệp cho nhau và chúng quản lý RAM lưu trữ thông tin chương trình. Hầu hết các hạt nhân cũng cung cấp trình điều khiển thiết bị để điều khiển màn hình, thiết bị đầu vào, ổ đĩa và các thiết bị ngoại vi khác.
Trước đây, phần mềm chỉ có thể nhắm mục tiêu một hệ điều hành cụ thể và các chương trình phải được điều chỉnh và biên dịch để chạy trên các nền tảng khác nhau. Tuy nhiên, các chương trình hiện đại được thiết kế để chạy trên một loạt các nền tảng được hỗ trợ. Java phần lớn được cho là bắt đầu xu hướng này, nhưng Python, Ruby và các nền tảng lập trình cấp cao khác giúp việc chuyển các chương trình sang hệ thống mới trở nên đơn giản.