Fungsi dari sistem operasi adalah sebagai
sebuah extended machine yang
fungsinya menjembatani antara pengguna (user)
dengan hardware. Sebuah arsitektur
komputer dapat terdiri dari set intruksi, organisasi memory, input / output,
struktur bus, dan Bahasa mesin lain
yang tingkatannya masih primitive dan
canggung untuk memprogram terutama bagian input
/ output. Sebagai contoh sebuah hardisk
modern SATA (Serial ATA) yang digunakan pada kebanyakan komputer untuk
menuliskan atau membaca hardisk ini membutuhkan waktu yang kompleks dan
komplikasi, dengan bantuan sistem operasi yang terdapat banyak driver untuk mengontrol perlengkapan
I/O, sistem operasi menyediakan sebuah layer
(lapisan) abstraksi untuk menggunakan hardisk
ini. Dengan menggunakan abstraksi ini, program dapat di buat, di tulis atau di
baca dari hardisk ke pengguna tanpa
harus berhubungan dengan detail yang komplikasi bagaimana hardware sebenarnya bekerja.
Abstraksi ini merupakan sebuah kunci untuk
mengelola sebuah kompleksitas ini. Abstraksi yang baik mengubah tugas yang
tidak mungkin menjadi dua hal yang dapat dikelola. Yang pertama adalah
mendefinisikan dan menerapkan abstraksi . Kedua adalah menggunakan abstraksi ini
untuk memecahkan masalah yang ditangani. Pekerjaan dari sistem operasi adalah
membuat abstarksi yang baik dan mengimplementasikan dan mengendalikan objek –
objek abstraksi yang sudah dibuat.
Salah satu tugas utama dari sistem operasi
adalah untuk menyembunyikan bagaimana perangkat keras (hardware) bekerja dan mempresentasikan program dengan baik, elegan
dan konsisten. Sistem operasi mengubah sesuatu yang terlihat rumit dah sulit
dimengerti mengenai cara kerja perangkat keras (hardware) menjadi terlihat indah pada sisi penglihatan pengguna (user).
