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 boot diri.
Waktu-berbagi
jadwal tugas sistem operasi untuk penggunaan yang efisien dari sistem dan juga
dapat mencakup akuntansi untuk alokasi biaya waktu prosesor, penyimpanan massa,
cetak, 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.
Contoh
populer sistem operasi modern termasuk Linux, Android, iOS, Mac OS X, dan Microsoft
Windows.[3]
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. Sedangkan software-software lainnya
dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan
layanan inti umum untuk software-software itu. Layanan inti umum tersebut
seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user.
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 dan lapisan software. Lebih jauh daripada itu, 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 software 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 mengontrol mereka.
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 network
dan koneksitas 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 window program
tersebut dengan program yang lain.
Sistem Operasi saat ini
Sistem
operasi-sistem operasi utama yang digunakan komputer sistem 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 cip 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 satu saat 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 memory 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
Tidak ada komentar:
Posting Komentar