Sistem operasi

Layanan

Seiring dengan berkembangnya sistem operasi, semakin banyak lagi layanan yang menjadi layanan inti umum. Kini, sebuah OS mungkin perlu menyediakan layanan jaringan dan koneksi internet, yang dulunya tidak menjadi layanan inti umum. Sistem operasi juga perlu untuk menjaga kerusakan sistem komputer dari gangguan program perusak yang berasal dari komputer lainnya, seperti virus. Daftar layanan inti umum akan terus bertambah.
Program saling berkomunikasi antara satu dengan lainnya dengan Antarmuka Pemrograman Aplikasi, Application Programming Interface atau disingkat dengan API. Dengan API inilah program aplikasi dapat berkomunikasi dengan sistem operasi. Sebagaimana manusia berkomunikasi dengan komputer melalui Antarmuka User, program juga berkomunikasi dengan program lainnya melalui API.
Walaupun demikian API sebuah komputer tidaklah berpengaruh sepenuhnya pada program-program yang dijalankan diatas platform operasi tersebut. Contohnya bila program yang dibuat untuk windows 3.1 bila dijalankan pada windows 95 dan generasi setelahnya akan terlihat perbedaan yang mencolok antara program tersebut dengan program yang lain.

Prosesor

Prosesor mengeksekusi program-program komputer. Prosesor adalah sebuah chip dalam sistem komputer yang menjalankan instruksi-instruksi program komputer. Dalam setiap detiknya prosesor dapat menjalankan jutaan instruksi.
Program adalah sederetan instruksi yang diberikan kepada suatu komputer. Sedangkan proses adalah suatu bagian dari program yang berada pada status tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih sering membahas proses dibandingkan dengan program. Pada Sistem Operasi modern, pada saat tertentu tidak seluruh program dimuat dalam memori, tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari program tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian dari program tersebut dimuat di memori dan dieksekusi oleh prosesor. Hal ini sangat menghemat pemakaian memori.
Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu, sedangkan yang lainnya menjalankan multi-proses dalam satu waktu. Padahal sebagian besar sistem komputer hanya memiliki satu prosesor, dan sebuah prosesor hanya dapat menjalankan satu instruksi dalam satu waktu. Maka bagaimana sebuah sistem prosesor tunggal dapat menjalankan multi-proses? Sesungguhnya pada granularity yang sangat kecil, prosesor hanya menjalankan satu proses dalam satu waktu, kemudian secara cepat ia berpindah menjalankan proses lainnya, dan seterusnya. Sehingga bagi penglihatan dan perasaan pengguna manusia, seakan-akan prosesor menjalankan beberapa proses secara bersamaan.
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga mengubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).