View
205
Download
0
Category
Preview:
Citation preview
SYSTEM CALL,KERNEL DAN MIKRO KERNEL
Disusun Oleh
Nama : 1. As'ad Syamsul Arifin (262110337)
2. Fandi Ahmad (262110350)
3.
PRODI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS ISLAM SULTAN AGUNG
SEMARANG
2012
SYSTEM CALL , KERNEL DAN MIKRO KERNEL
A. SYSTEM CALL
1. Pengertian System Call
Layanan langsung sistem operasi ke pemrograman, disebut dengan system call atau
API (application programming interface). System call adalah tata cara pemanggilan di
program aplikasi untuk memperoleh layanan yang disediakan oleh sistem operasi. System
call berupa sistem operasi untuk keperluan tertentu yang spesifik.
System Call untuk manajemen proses diperlukan untuk mengatur proses-proses yang
sedang berjalan. Kita dapat melihat penggunaan system calls untuk manajemen proses pada
Sistem Operasi Unix. Contoh yang paling baik untuk melihat bagaimana system call bekerja
untuk manajemen proses adalah Fork.
Fork adalah satu satunya cara untuk membuat sebuah proses baru pada sistem Unix.
Fork membuat duplikasi yang mirip dengan proses aslinya, termasuk file descriptor, register,
dan lainnya. Setelah perintah Fork, child akan mengeksekusi kode yang berbeda dengan
parentnya.
System Calls menyediakan interface pelayanan-pelayanan yang disediakan oleh sistem
operasi, umumnya sebagai rutin-rutin yang ditulis dengan bahasa C atau C++, atau beberapa
tugas yang mengakses hardware secara langsung menggunakan bahasa rakitan. Biasanya
programmer lebih memilih Application Programming Interface (API) dibandingkan dengan
low level programming.
2. Keuntungan dan Kerugian
Keuntungan dan kerugian menggunakan system call sama antarmuka yaitu untuk
memanipulasi baik file dan perangkat adalah Setiap perangkat dapat diakses seolah-olah itu
adalah file dalam file sistem. Karena sebagian besar penawaran kernel dengan perangkat
melalui antarmuka file, relatif mudah untuk menambahkan device driver baru dengan
menerapkan kode perangkat keras khusus untuk mendukung antarmuka file abstrak. Oleh
karena itu, manfaat pengembangan baik kode program pengguna, yang dapat bewritten untuk
mengakses perangkat dan file dalam samemanner, dan perangkat sopir kode, yang dapat
ditulis untuk mendukung API yang didefinisikan dengan baik. Kerugian itu dengan
menggunakan antarmuka yang sama adalah bahwa mungkin akan sulit untuk menangkap
fungsi peralatan tertentu dalam konteks akses file API, sehingga baik mengakibatkan
hilangnya fungsi atau kerugian kinerja. Beberapa ini dapat diatasi dengan penggunaan operasi
ioctl yang menyediakan antarmuka tujuan umum untuk proses untuk memanggil operasi pada
perangkat.
3. Jenis – Jenis System Call
Ada lima jenis system calls utama, yaitu:
1. Process control merupakan system calls yang mengendalikan proses-proses yang
berjalan.
2. File manipulation adalah kumpulan system calls yang bertugas untuk melakukan
manipulasi file seperti pembacaan, penulisan, penghapusan dan pengubahan.
3. Device manipulation adalah system calls yang mengatur penggunaan peralatan-
peralatan yang terhubung pada mesin tersebut.
4. Information maintenance. System calls yang menghubungkan user dengan sistem
operasi dalam hal berbagi informasi.
5. Communications. Ada dua model komunikasi yaitu pertukaran informasi dilakukan
melalui fasilitas komunikasi antar proses yang disediakan oleh sistem operasi
(Message-Passing) dan pertukaran dengan menggunakan memori (shared-memory).
B. KERNEL DAN MIKRO KERNEL
1. Kernel
kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem
operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras
komputer secara aman. Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih
dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga
bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu
bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.
Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks,
oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware.
Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas,
dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga
abstraksi pada akhirnya memudahkan pekerjaan programer.
Untuk menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem
operasi. Sebuah program dapat saja langsung diload dan dijalankan diatas mesin (telanjang)
komputer, yaitu bilamana pembuat program ingin melakukan pekerjaannya tanpa bantuan
abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini digunakan oleh komputer
generasi awal, sehingga bila kita ingin berpindah dari satu program ke program lain, kita
harus mereset dan meload kembali program-program tersebut.
Sebuah kernel sistem operasi tidak harus ada dan dibutuhkan untuk menjalankan
sebuah komputer. Program dapat langsung dijalankan secara langsung di dalam sebuah mesin
(contohnya adalah CMOS Setup) sehingga para pembuat program tersebut membuat program
tanpa adanya dukungan dari sistem operasi atau hardware abstraction. Cara kerja seperti ini,
adalah cara kerja yang digunakan pada zaman awal-awal dikembangkannya komputer (pada
sekitar tahun 1950). Kerugian dari diterapkannya metode ini adalah pengguna harus
melakukan reset ulang komputer tersebut dan memuatkan program lainnya untuk berpindah
program, dari satu program ke program lainnya. Selanjutnya, para pembuat program tersebut
membuat beberapa komponen program yang sengaja ditinggalkan di dalam komputer, seperti
halnya loader atau debugger, atau dimuat dari dalam ROM (Read-Only Memory). Seiring
dengan perkembangan zaman komputer yang mengalami akselerasi yang signifikan, metode
ini selanjutnya membentuk apa yang disebut dengan kernel sistem operasi.
2. Mikrokernel
Mikrokernel berisi sebuah abstraksi yang sederhana terhadap hardware, dengan
sekumpulan primitif atau system call yang dapat digunakan untuk membuat sebuah sistem
operasi agar dapat berjalan, dengan layanan-layanan seperti manajemen thread, komunikasi
antar address space, dan komunikasi antar proses. Layanan-layanan lainnya, yang biasanya
disediakan oleh kernel, seperti halnya dukungan jaringan, pada pendekatan microkernel justru
diimplementasikan di dalam ruangan pengguna (user-space), dan disebut dengan server.
Server atau disebut sebagai peladen adalah sebuah program, seperti halnya program
lainnya. Server dapat mengizinkan sistem operasi agar dapat dimodifikasi hanya dengan
menjalankan program atau menghentikannya. Sebagai contoh, untuk sebuah mesin yang kecil
tanpa dukungan jaringan, server jaringan (istilah server di sini tidak dimaksudkan sebagai
komputer pusat pengatur jaringan) tidak perlu dijalankan. Pada sistem operasi tradisional
yang menggunakan monolithic kernel, hal ini dapat mengakibatkan pengguna harus
melakukan rekompilasi terhadap kernel, yang tentu saja sulit untuk dilakukan oleh pengguna
biasa yang awam.
Dalam teorinya, sistem operasi yang menggunakan microkernel disebut jauh lebih
stabil dibandingkan dengan monolithic kernel, karena sebuah server yang gagal bekerja, tidak
akan menyebabkan kernel menjadi tidak dapat berjalan, dan server tersebut akan dihentikan
oleh kernel utama. Akan tetapi, dalam prakteknya, bagian dari system state dapat hilang oleh
server yang gagal bekerja tersebut, dan biasanya untuk melakukan proses eksekusi aplikasi
pun menjadi sulit, atau bahkan untuk menjalankan server-server lainnya.
Sistem operasi yang menggunakan microkernel umumnya secara dramatis memiliki
kinerja di bawah kinerja sistem operasi yang menggunakan monolithic kernel. Hal ini
disebabkan oleh adanya overhead yang terjadi akibat proses input/output dalam kernel yang
ditujukan untuk mengganti konteks (context switch) untuk memindahkan data antara aplikasi
dan server.
Beberapa sistem operasi yang menggunakan microkernel:
1. IBM AIX, sebuah versi UNIX dari IBM
2. Amoeba, sebuah kernel yang dikembangkan untuk tujuan edukasi
3. Kernel Mach, yang digunakan di dalam sistem operasi GNU/Hurd, NexTSTEP,
OPENSTEP, dan Mac OS/X
4. Minix, kernel yang dikembangkan oleh Andrew Tanenbaum untuk tujuan edukasi
5. Symbian OS, sebuah sistem operasi yang populer digunakan pada hand phone,
handheld device, embedded device, dan PDA Phone.
Daftar Pustaka
http://dewa18.wordpress.com/2009/10/28/operasi-sistem-komputer-struktur-sistem-operasi-
dan-system-call
http://2009030ifunsika.blogdetik.com/category/sistem-operasi/
http://en.wikipedia.org/wiki/System_call
http://dewa18.wordpress.com/2009/10/28/operasi-sistem-komputer-struktur-sistem-operasi-
dan-system-call/
http://blog.unsri.ac.id/rennyamalia/sistem-operasi/tugas-sistem-operasi-2/mrdetail/48335/
http://www.google.co.id/url?
sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCIQFjAA&url=http%3A%2F
%2Fopenstorage.gunadarma.ac.id%2Fhandouts%2FS1_Sistem%2520Informasi
%2FLectureNote-Sistem-Operasi-Jurusan-
SK.doc&ei=m_aGT8CPCsewiQeB0f3HBw&usg=AFQjCNGVu6xWXCP43n8JbNWeBxnTj
HnWoQ
Recommended