Sebuah komputer modern dapat terdiri dari satu atau lebih prosesor, beberapa memori, disk, printer, sebuah keyboard,
sebuah mouse, display, network interface
dan berbagai macam perangkat input/output.
Semua itu merupakan sebuah sistem yang kompleks, jika setiap programmer harus
mengerti bagaimana hal ini bekerja secara detail, maka programmer tidak akan memulai
untuk menulis sebuah kode program. Mengelola semua komponen dan menggunakannya
secara optimal adalah pekerjaan yang sangat penting. Untuk alasan ini, komputer
dilengkapi dengan lapisan-lapisan perangkat lunak yang disebut dengan sistem
operasi.
Tugas dari sistem operasi adalah menyediakan
pengguna (user) menggunakan dengan
lebih baik, lebih sederhana, lebih bersih, model dari komputer dan untuk
menangani pengelolaan semua sumber daya yang disebutkan diatas.
Beberapa nama sistem operasi yang biasa kita
temukan diantaranya Windows, Linux, FreeBSD, OS X, MacOS, PalmOS, Android, Unix.
Program yang digunakan untuk berinteraksi dengan pengguna biasa disebut dengan shell
ketika berbasis teks dan GUI (Graphical User Interface) ketika
menggunakan ikon. Program ini bukan bagian dari sistem operasi walaupun program
ini tetap menggunakan sistem operasi untuk menyelesaikan pekerjaannya.
Kesimpulan sederhana pada penjelasan di atas dapat
dilihat pada gambar di bawah ini

Pada gambar di atas terlihat Hardware terletak pada bagian bawah. Hardware (perangkat keras) terdiri dari chips, board, disk, sebuah keyboard, sebuah monitor dan objek fisik
yang lainnya. Diatas hardware, adalah
bagian software (perangkat lunak).
Kebanyakan komputer terdiri dari 2 (dua) mode operasi: kernel mode dan user
mode. Sistem Operasi yang akan kita bahas pada buku ini berjalan pada kernel mode (dipanggil juga supervisor
mode). Pada mode ini memiliki akses lengkap ke semua hardware dan dapat menjalankan bermacan intruksi mesin. Software (perangkat lunak) lainnya
berjalan pada mode user yang mana hanya berupa subset dari intruksi – intruksi
mesin yang disediakan. Khususnya, instruksi yang mempengaruhi kontrol mesin
atau melakukan I / O (Input / Output) dilarang pada user mode.
User interface
program, shell, atau GUI berada pada tingkatan paling
bawah dari mode pengguna (user mode) software, dan mengizinkan pengguna untuk
memulai menjalankan program - program lainnya seperti web browser, email reader,
atau music player.
Penempatan sistem operasi yang di tunjukan Gambar 1 berjalan
pada bagian yang bersentuhan dengan hardware dan menyediakan dasar penghubung
dengan seluruh program – program lainnya.
Perbedaan penting antara perangkat lunak
sistem operasi dan perangkat lunak normal (user
mode) contohnya jika pengguna tidak ingin membaca sebuah email maka
pengguna dengan bebas dapat melakukan edit atau hapus sesuai dengan keinginan
pengguna. Pengguna tidak bisa melakukan membuat clock interrupt handler
dimana itu adalah bagian dari sistem yang dilindungi oleh sistem operasi untuk
melindungi perangkat keras agar tidak di modifikasi oleh pengguna.
Segala sesuatu yang berjalan pada kernel mode merupakan bagian dari sistem
operasi, tetapi beberapa program dari luar mungkin dapat terkait dekat dengan
hal itu.
Konsep dari sistem operasi sebagai penyedia
utama abstraksi pada program – program aplikasi merupakan penglihatan dari
pandangan Top-down. Sebagai
alternative, bottom-up, dapat dilihat
sistem operasi mengelola seluruh bagian dari sistem yang kompleks. Komputer
yang modern terdiri dari prosesor – prosesor, memori – memori, timers, disks, mouse, network interface, printers dan perangkat lain yang mendukung. Pada pandangan
bottom-up, pekerjaan sistem operasi adalah menyediakan alokasi yang teratur dan
terkontrol dari prosesor, memori dan perangkat I/O diantara berbagai program
yang menginginkannya. Sistem operasi modern memungkinkan banyak program berada
dalam memori dan dijalankan pada waktu yang bersamaan.