Sistem operasi (bahasa Inggris: operating system ; OS) adalah seperangkat program yang mengelola sumber daya perangkat keras komputer, dan menyediakan layanan umum untuk aplikasi perangkat lunak. Sistem operasi adalah jenis yang paling penting dari perangkat lunak sistem
dalam sistem komputer. Tanpa sistem operasi, pengguna tidak dapat
menjalankan program aplikasi pada komputer mereka, kecuali program
aplikasi booting.
Sistem operasi mempunyai penjadwalan yang sistematis mencakup
perhitungan penggunaan memori, pemrosesan data, penyimpanan data, dan
sumber daya lainnya.
Untuk fungsi-fungsi perangkat keras seperti sebagai masukan dan keluaran dan alokasi memori, sistem operasi bertindak sebagai perantara antara program aplikasi dan perangkat keras komputer,[1][2]
meskipun kode aplikasi biasanya dieksekusi langsung oleh perangkat
keras dan seringkali akan menghubungi OS atau terputus oleh itu. Sistem
operasi yang ditemukan pada hampir semua perangkat yang berisi
komputer-dari ponsel dan konsol permainan video untuk superkomputer dan server web.
Sistem Operasi saat ini
Sistem operasi-sistem operasi utama yang digunakan komputer umum
(termasuk PC, komputer personal) terbagi menjadi 3 kelompok besar:
- Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7 (Seven) yang dirilis pada tahun 2009, dan Windows 8 yang akan dirilis pada tahun 2012 atau lebih lambat)).
- Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
- Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.6 (Snow Leopard). Musim panas 2011 direncanakan peluncuran versi 10.7 (Lion).
Sedangkan komputer Mainframe, dan Super komputer
menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya
merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor
seperti IBM AIX, HP/UX, dll.
Proses
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).
Status Proses
Jenis status yang mungkin dapat disematkan pada suatu proses pada
setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3
macam status yang umum, yaitu:
- Ready, yaitu status dimana proses siap untuk dieksekusi pada giliran berikutnya
- Running, yaitu status dimana saat ini proses sedang dieksekusi oleh prosesor
Blocked, yaitu status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas