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.
Pendahuluan
Biasanya, istilah Sistem
Operasi sering ditujukan kepada semua perangkat lunak yang masuk dalam satu
paket dengan sistem komputer sebelum aplikasi-aplikasi perangkat lunak
terinstal. Sistem operasi adalah perangkat
lunak sistem yang bertugas untuk melakukan kontrol dan
manajemen perangkat
keras serta operasi-operasi dasar sistem, termasuk menjalankan
perangkat lunak aplikasi seperti program-program pengolah kata dan peramban web.
Secara umum, Sistem Operasi adalah perangkat
lunak pada lapisan pertama yang ditempatkan pada memori komputer
pada saat komputer dinyalakan booting.
Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan,
dan Sistem Operasi akan melakukan layanan inti untuk software-software itu.
Layanan inti tersebut seperti akses ke disk, manajemen memori, penjadwalan
tugas schedule task, dan antar-muka user GUI/CLI. Sehingga masing-masing software tidak perlu
lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan
dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan
umum tersebut dinamakan dengan "kernel"
suatu Sistem Operasi.
Kalau sistem komputer terbagi dalam
lapisan-lapisan, maka Sistem Operasi adalah penghubung antara lapisan
hardware dengan lapisan software. Sistem Operasi melakukan semua tugas-tugas
penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat
berjalan secara bersamaan dengan lancar. Sistem Operasi menjamin aplikasi
lainnya dapat menggunakan memori, melakukan input dan output terhadap peralatan
lain, dan memiliki akses kepada sistem berkas. Apabila beberapa aplikasi
berjalan secara bersamaan, maka Sistem Operasi mengatur schedule yang
tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu
yang cukup untuk menggunakan prosesor (CPU) serta tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi
menyediakan suatu pustaka dari fungsi-fungsi standar, dimana aplikasi lain
dapat memanggil fungsi-fungsi itu, sehingga dalam setiap pembuatan program
baru, tidak perlu membuat fungsi-fungsi tersebut dari awal.
Sistem Operasi secara umum terdiri dari
beberapa bagian:
- Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
- Kernel, yaitu inti dari sebuah Sistem Operasi
- Command Interpreter atau shell, yang bertugas membaca input dari pengguna
- Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain
- Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrolnya.
Sebagian Sistem Operasi hanya mengizinkan
satu aplikasi saja yang berjalan pada satu waktu (misalnya DOS), tetapi sebagian besar Sistem Operasi baru
mengizinkan beberapa aplikasi berjalan secara simultan pada waktu yang
bersamaan. Sistem Operasi seperti ini disebut sebagai Multi-tasking Operating
System (misalnya keluarga sistem operasi UNIX). Beberapa Sistem Operasi berukuran sangat
besar dan kompleks, serta inputnya tergantung kepada input pengguna, sedangkan
Sistem Operasi lainnya sangat kecil dan dibuat dengan asumsi bekerja tanpa
intervensi manusia sama sekali. Tipe yang pertama sering disebut sebagai Desktop
OS, sedangkan tipe kedua adalah Real-Time OS, contohnya adalah Windows, Linux, Free BSD, Solaris, palm, symbian,
dan sebagainya.
Layanan inti umum
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.
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 dirilis pada Oktober 2012)).
- Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, Zeath OS (berbasis kernel linux yang dimodifikasi.)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.
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).
Status Prosesor
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
Tidak ada komentar:
Posting Komentar