Pengertian Sistem operasi Komputer adalah perangkat lunak komputer atau software
yang bertugas untuk melakukan kontrol dan manajemen perangkat keras dan juga
operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti
program-program pengolah data yang bisa digunakan untuk mempermudah kegiatan
manusia. Sistem
Operasi dalam
bahasa Inggrisnya disebut Operating System, atau biasa di singkat dengan OS.
Sistem Operasi komputer merupakan software pada lapisan pertama yang
diletakkan pada memori komputer, (memori komputer dalam hal ini ada Hardisk,
bukan memory RAM) pada saat komputer dinyalakan. Sedangkan software-software
lainnya dijalankan setelah Sistem Operasi Komputer berjalan, dan Sistem Operasi
akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum
tersebut seperti akses ke disk, manajemen memori, schedulling 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.
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.
Sistem Operasi berfungsi sebagai penghubung
antara lapisan hardware dan lapisan software. selain itu, Sistem Operasi
komputer juga melakukan semua perintah perintah penting dalam komputer, serta
menjamin aplikasi-aplikasi yang berbeda fungsinya dapat berjalan lancar secara
bersamaan tanpa hambatan. Sistem
Operasi Komputer menjamin
aplikasi perangkat lunak lainnya bisa memakai memori, melakukan input serta
output terhadap peralatan lain, dan mempunyai akses kepada sistem file. Jika
beberapa aplikasi berjalan secara bersamaan, maka Sistem
Operasi Komputer
akan mengatur jadwal yang tepat, sehingga sebisa mungkin semua proses pada
komputer yang berjalan mendapatkan waktu yang cukup untuk menggunakan CPU.
Perangkat keras memiliki hubungan dekat
dengan sistem operasi. Tanpa adanya sistem operasi, perangkat keras komputer
hanyalah seonggok benda mati yang tidak berguna. Sistem operasi adalah
“pengasuh” seluruh perangkat lunak aplikasi yang akan berinteraksi dengan
perangkat keras. Tugas sistem operasi dalam rangka cara kerja komputer antara
lain sebagai berikut:
1.
Melakukan manajemen proses. Sistem operasi menjadwalkan setiap proses
seperti membuat file, menghapus file, sinkronisasi antar file, komunikasi antar
file dan lain sebagainya.Sistem operasi juga melakukan penundaan proses,
melanjutkan proses atau menghentikan proses secara paksa. Hal yang berkaitan
dengan menunda dan melanjutkan proses sangat bergantung pada RAM untuk
menampung proses sementara waktu dan register prosesor yang menampung proses
yang sedang berjalan. Sedangkan untuk yang berkaitan dengan pengolahan file
membutuhkan bantuan dari Control Unit, yakni komponen pemrosesan yang ada dalam
CPU.
2.
Manajemen memori utama. Sistem operasi harus bisa mengatur dan
mengalokasikan jumlah memori yang dibutuhkan serta alamat memori yang
diperlukan untuk menampung proses. Jika tidak bisa, maka terjadi proses yang
tumpang tindih dan terjadi hang karena memori tidak cukup menampung beban
proses.
3.
Manajemen file. Ada empat bagian penting dalam manajemen
file, yakni membuka file, menulis file (salin, tempel atau tulis data),
menyimpan file dan menghapus file.
4.
Manajemen sistem input dan output. Sistem operasi harus bisa melakukan hal yang
berkaitan dengan masukan dan keluaran data. Data yang diberikan oleh pengguna
melalui keyboard, mouse atau perangkat lain harus mampu ditampung. Hal yang
berkaitan dengan manajemen sistem input output adalah buffering atau
penampungan data, scheduling atau penjadwalan data, spooling atau meletakkan
pekerjaan di dalam buffer dan mengalokasikan driver untuk perangkat keras yang
terhubung ke CPU.
5.
Manajemen penyimpanan sekunder. Penyimpanan sekunder erat kaitannya dengan
media penyimpanan sekunder seperti harddisk, USB flashdisk, SSD, DVD dan lain
sebagainya. Aplikasi komputer pada umumnya akan menyimpan file atau data hasil
pemrosesan di media penyimpanan sekunder karena penyimpanan primer bersifat
sementara dan terbatas. Oleh karena itu sistem operasi juga melakukan
perantaraan file maupun data yang akan disimpan dalam sistem penyimpanan
sekunder dengan memperhatikan beberapa aspek, diantaranya adalah efisiensi,
optimalisasi dan sekuriti.
Selain lima hal
diatas, sistem operasi juga menyediakan sistem keamanan untuk komputer. Hal ini
dikarenakan tanpa adanya sistem keamanan maka komputer akan menjadi mudah
digunakan oleh siapa saja, termasuk yang tidak berwenang untuk menggunakannya.
Untuk itu maka sistem operasi menyediakan fitur keamanan seperti login user, firewall dan anti malware.
CARA KERJA SISTEM OPERASI (SO)
Dalam
sebuah perangkat komputer, kernel merupakan komponen inti dari Sistem Operasi
yang berjalan dalam perangkat tersebut. Kernel bertugas untuk mengatur
pembagian sumber daya system komunikasi antara komponen hardware dan software.
Kernel menghubungkan antara software aplikasi dan hardware komputer. Ia
menyediakan abstraction layer pada level terendah untuk
resource-resource seperti memori, prosesor dan perangkat I/O di mana suatu
software aplikasi harus mengontrol resource-resource tersebut agar dapat
berfungsi. Kernel mampu menyediakan fasilitas seperti ini bagi proses-proses
aplikasi melalui mekanisme IPC (Inter Process Communication) dan System
call.
Dalam
banyak kasus, boot loader mulai mengeksekusi kernel dalam mode supervisor.
Kernel kemudian menginisialiasi diri sendiri dan memulai proses pertama.
Setelah itu, kernel tidak mengekseskusi secara langsung, tapi hanya merespon
kepada even eksternal. Sebagai tambahan, kernel biasanya menyediakan loop yang
dieksekusi ketika tidak ada proses yang tersedia untuk dijalankan; hal ini
biasnya disebut idle process.
Tujuan
utama dari adanya kernel adalah untuk mengatur pembagian sumber daya dan
program mana yang boleh mengakses dan menggunakan sumber daya tersebut. Pada
umumnya, sumber daya tersebut antara lain adalah CPU, memori dan Perangkat I/O.
-
Central
Processing Unit (CPU). Sebagai bagian utama komputer, CPU bertugas dalam
mengeksekusi program atau proses. Dalam hal ini, kernel bertugas menentukan
setiap saat berapa banyak program yang harus dialokasikan ke CPU.
-
Memori Komputer. Memori digunakan untuk
menyimpan instruksi program dan juga data. Keduanya dibutuhkan oleh memori agar
suatu program dapat dieksekusi. Biasanya beberapa program akan berusaha
mengakses memori, bahkan seringkali meminta memori melebihi yang dimiliki
komputer. Di sinilah kernel bertugas untuk menentukan porsi pemakaian memori
yang dapat dipakai oleh tiap program dan menentukan apa yang akan dikerjakan
ketika tidak cukup tersedia memori.
-
Perangkat I/O. Beberapa perangkat I/O yang
umumnya dipakai, misalnya: keyboard, mouse, monitor, Hard Disk, printer,
scanner, dsb. Kernel melanjutkan request dari suatu aplikasi yang ingin
melakukan suatu aksi I/Okepada perangkat yang sesuai dan menyediakan metode
yang sesuai untuk memakai perangkat tersebut.
a.
Pengaturan
Proses
Tugas utama kernel adalah membantu eksekusi aplikasi dan
mendukungnya dengan fitur seperti abstraksi hardware. Suatu proses
mendefinisikan seberapa porsi memori yang dapat diakses oleh suatu aplikasi.
Pengaturan proses kernel harus memperhitungkan perangkat yang dibawa oleh
hardware untuk perlindungan memori. Untuk menjalankan aplikasi, sebuah kernel
pertama kali harus menyediakan space address untuk aplikasi, lalu me-load file
yang berisi kode aplikasi ke dalam memori, mempersiapkan stack untuk program
dan percabangan ke lokasi lain dalam program, dan kemudian baru memulai
eksekusi program.
Dalam sebuah sistem pre-emptive multitasking, kernel akan
memberi slot waktu kepada setiap program dan berpindah dari satu proses ke
proses yang lain dengan cepat hingga terlihat seperti proses-proses ini
dieksekusi secara bersamaan. Kernel menggunakan algoritma penjadwalan untuk
menentukan proses mana yang akan dikerjakan berikutnya dan berapa lama waktu
yang akan diberikan. Algoritma yang dipilih mungkin akan mengijinkan beberapa
proses memiliki prioritas yang lebih tinggi daripada yang lain. Umumnya kernel
juga menyediakan cara agar proses-proses ini dapat saling berkomunikasi; hal
ini dikenal sebagai Inter-Process Communication (IPC). Pendekatan utama IPC ini
adalah untuk shared memory, message passing dan remote procedure call.
b.
Pengaturan
Memori
Kernel memiliki akses penuh ke memori sistem dan harus
memberikan ijin kepada proses-proses untuk mengakses memori secara aman ketika
membutuhkan. Langkah pertama yang dilakukan untuk melakukan hal ini di
antaranya adalah virtual addressing. Virtual addressing menijinkan kernel untuk
menjadikan suatu alamat fisik untuk tampil sebagai alamat lain, alamat virtual.
Space alamat virtual mungkin berbeda untuk masing-masing proses; memori yang
diakses suatu proses pada alamat virtual tertentu mungkin berbeda dengan memori
yang diakses proses lain pada alamat yang sama. Hal ini menyebabkan tiap
program seakan menjadi satu-satunya program yang berjalan dan karenanya dapat
mencegah terjadinya crash antar program.
Dalam kebanyakan sistem, alamat virtual suatu program
dapat berupa data yang sebenarnya tidak ada dalam memori. Layer abstraksi yang
disediakan virtual addressing mengijinkan Sistem Operasi untuk menggunakan
penyimpan data, seperti Hard Disk, untuk menyimpan apa yang mestinya ada di
memori utama (RAM).
Akibatnya, Sistem Operasi dapat mengijinkan program untuk
memakai memori melebihi memori fisik yang yang dimiliki oleh komputer. Virtual
addressing juga mengijinkan dibuatnya partisi vritual memori di dua area yang
terpisah, satu dipakai oleh kernel (kernel space) dan yang lain untuk aplikasi
(user space). Aplikasi tidak diijinkan oleh CPU untuk memakai alamat kernel,
yang akhirnya hal ini akan mencegah agar aplikasi tidak merusak kernel.
c.
Pengaturan
perangkat
Untuk menjalankan fungsinya, aplikasi membutuhkan akses
ke perangkat-perangkat yang terhubung ke komputer, yang dikontrol oleh kernel
melalui device driver. Sebagai contoh, untuk menampilkan sesuatu di layar,
sebuah aplikasi harus membuat request ke kernel. Kernel lalu akan melanjutkan
request tersebut ke driver display yang kemudian akan bertanggung jawab
mem-plot karakter/pixel. Kernel harus memelihara sejumlah perangkat yang
tersedia. Daftar perangkat ini dapat berupa plug and play (dideteksi oleh
Sistem Operasi saat perangkat dijalankan), di-configure oleh user, atau bahkan
advance (misal dalam system embedded di mana kernel akan diubah jika hardware
diubah).
d.
System
calls
Untuk mengakses layanan yang disediakan oleh kernel,
biasanya kernel menyediakan library C atau API (Application Programming
Interface) yang selanjutnya akan melibatkan fungsi kernel yang berhubungan.
Metode untuk melibatkan fungsi kernel berbeda-beda antar
kernel. Jika isolasi memori sedang dipakai, tidak mungkin bagi proses untuk
memanggil kernel secara langsung, karena hal itu merupakan pelanggaran aturan
akses kontrol dari prosesor. Beberapa kemungkinan antara lain;
o Menggunakan interrupt software-simulated.
Metode ini tersdia dalam hamper semua hardware, karenanya sangat umum.
o Menggunakan call gate. Call gate adalah
address khusus di mana alamat tersebut ditambahkan dalam daftar yang disimpan
dalam memori kernel yang diketahui prosesor. Ketika prosesor mendeteksi call ke
lokasi tersebut, prosesor kemudian mengalihkannya ke lokasi target tanpa
menyebabkan pelanggaran akses.
o Menggunakan instruksi system call khusus.
Teknik ini membutuhkan dukungan hardware khusus, yang mana arsitektur umum
(khususnya x86) mungkin kesulitan.
o Menggunakan memory-based queue. Sebuah
aplikasi yang membuat request dalam jumlah besar tapi tidak perlu menunggu
hasilnya dapat menambahkan detil request-nya ke suatu area memori yang di-scan
secara priodik oleh kernel untuk menemukan request.
0 komentar:
Posting Komentar