Sebelum kita melangkah ke jenjang
yang lebih dalam, alangkah baiknya kalau kita berkenalan terlebih dahulu dengan
sistem operasi dan sistem aplikasi.Untuk yang pertama sistem operasi adalah
seperangkat program yang bertugas untuk melakukan kontrol dan manajemen
perangkat keras serta operasi-operasi dasar sistem mengelola sumber daya
perangkat keras komputer atau hardware, dan menyediakan layanan umum untuk
aplikasi perangkat lunak atau software sistem ini termasuk 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. Contoh populer sistem operasi
modern termasuk Linux, Android, iOS, Mac OS X dan Microsoft Windows. Sedangkan
sistem aplikasi adalah suatu
subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung
untuk melakukan suatu tugas yang diinginkanpengguna. Biasanya dibandingkan
dengan perangkat lunak sistem yang mengintegrasikan berbagai kemampuan
komputer, tapi tidak secara langsung menerapkan kemampuan tersebut untuk
mengerjakan suatu tugas yang menguntungkan pengguna. Contoh utama perangkat
lunak aplikasi adalahpengolah kata, lembar kerja, danpemutar media.
Secara umum, Sistem Operasi adalah
perangkat lunak pada lapisan pertama yang ditempatkan pada memori komputer pada
saat komputer dinyalakan. Sedangkan software atau aplikasi lainnya dijalankan
setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti
umum untuk aplikasi itu. Layanan inti umum tersebut seperti akses ke disk,
manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing
software atau aplikasi 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. Berikut ini
adalah beberapa desain kernel:
- Kernel monolitik. Kernel monolitik mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat keras secara penuh terhadap perangkat keras yang berada di bawah sistem operasi.
- Mikrokernel. Mikrokernel menyediakan sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan di atasnya—yang disebut dengan server—untuk melakukan beberapa fungsionalitas lainnya.
- Kernel hibrida. Kernel hibrida adalah pendekatan desain microkernel yang dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.
- Exokernel. Exokernel menyediakan hardware abstraction secara minimal, sehingga program dapat mengakses hardware secara langsung. Dalam pendekatan desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang dilakukan dalam desain monolithic kernel.
Fungsi utama kernel
adalah untuk mengelola sumber daya komputer dan memungkinkan program lain untuk
menjalankan dan menggunakan sumber daya koputer tersebut. Kalau sistem komputer terbagi dalam
lapisan-lapisan, maka Sistem Operasi adalah penghubung antara lapisan hardware dan lapisan software atau
aplikasi. 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.
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.
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). 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
25 February 2013 at 19:46
kita juga punya nih jurnal mengenai sistem operasi, silahkan dikunjungi dan dibaca , berikut linknya
http://repository.gunadarma.ac.id/bitstream/123456789/6158/1/jurnal%20pdf.pdf
semoga bermanfaat yaa :)