Wednesday, September 18, 2013

KERNEL

    Dalam teknologi komputer modern, kernel adalah suatu program yang mengatur proses input/output dari aplikasi yang berjalan untuk ditranslasikan menjadi sebuah instruksi  yang dipahami dan dapat dieksekusi oleh CPU (Central Processing Unit) dari sebuah Komputer. Kernel adalah komponen dasar yang membangun sebuah sistem operasi komputer. Seperti inilah bagan kerja dari sebuah kernel :



FUNGSI DASAR KERNEL

    Fungsi dari sebuah kernel adalah untuk mengatur hardware / perangkat keras dan resource / sumber daya lainnya dari sebuah komputer dan mempermudah sebuah program untuk mengakses dan mempergunakan sumber daya tersebut. Berikut adalah beberapa sumber daya tersebut :

- CPU (Central Processing Unit) , ini adalah bagian terpenting dari sebuah komputer, bertanggung jawab dalam menjalankan dan mengeksekusi program. Di sini kernel bertanggung jawab dalam menentukan program mana sajakah dari banyak program yang berjalan di sebuah komputer yang harus dialokasikan ke dalam prosesor untuk dieksekusi.

- Memory Komputer (RAM), memory dipergunakan untuk menyimpan instruksi dan data sebuah program yang sedang berjalan. Keberadaan keduanya diperlukan dalam memory agar sebuah program dapat berjalan. Seringkali beberapa program yang sedang jalan secara bersamaan membutuhkan tempat di dalam memory, sehingga membutuhkan ruang yang lebih besar dari kapasitas yang sebenarnya. Kernel bertanggung jawab dalam menentukan address memory mana yang dapat dipergunakan oleh program, dan menentukan apa yang akan dilakukan ketika kapasitas yang tersedia tidak mencukupi.

- Input / Output Device dari sebuah komputer, seperti, keyboard, mouse, disk drives, USB devices, printers, displays, network adapters, dll. Kernel mengalokasikan request / permintaan dari aplikasi untuk menjalankan proses I/O terhadap sebuah device dan menyediakan metode mudah untuk mempergunakan device tersebut.


MEMORY MANAGEMENT

    Kernel memiliki akses penuh terhadap memory di system dan dapat membantu suatu proses untuk mengakses memory tersebut sebagaimana yang diperlukan. Langkah yang dilakukan dari kebanyakan kernel adalah dengan virtual addressing. Virtual addressing dilakukan kernel untuk membuat physical address sebuah memory untuk dibuat menjadi virtual address. Yaitu membuat suatu layer tersendiri untuk mengakomodir data sebelum di masukkan ke dalam physical address yang sebenarnya.

    Dalam beberapa system, virtual address dari suatu proses yang berjalan bisa merujuk pada data yang sebenarnya tidak berada dalam memory address, dalam kondisi seperti ini kernel mempergunakan media penyimpanan, seperti hard disk untuk menyimpan data yang seharusnya disimpan didalam memory (RAM). Jika anda pernah melakukan partisi di linux, swap memory digunakan untuk proses tersebut. Untuk itulah sebuah operating system memperbolehkan suatu program untuk menggunakan memory lebih besar dari jumlah physical memory yang tersedia. Cara kerjanya adalah sbb:
    Ketika program A membutuhkan data yang sedang tidak berada di dalam RAM, CPU memberikan signal kepada kernel bahwa terjadi hal tersebut, kernel merespon dengan memindahkan blok memory dari program B yang sedang tidak aktif di dalam RAM ke dalam hard disk, dan menggantinya dengan data yang diperlukan oleh program A tersebut.

    Virtual address juga membuat sebuah virtual partisi di dalam RAM menjadi 2, satu dipergunakan oleh kernel (kernel space), satu lagi dipergunakan oleh aplikasi (user space). Aplikasi tidak diperbolehkan oleh CPU untuk mengakses kernel memory, ini untuk mencegah aplikasi untuk mengganggu / merusak kernel yang sedang berjalan.

DEVICE MANAGEMENT

    Dalam menjalankan fungsinya terkadang sebuah aplikasi memerlukan akses ke peripheral yang terhubung dengan komputer, yang dikontrol oleh kernel melalui device driver. Device driver adalah sebuah program yang memperbolehkan operating system untuk berinteraksi dengan hardware tersebut. Ini menyediakan informasi untuk operating system tentang bagaimana mengontrol dan berinteraksi dengan hardware. Device driver biasa digunakan untuk graphics card, sound card, printer, scanner, modem dll. Sebagai contoh yaitu untuk menampilkan gambar di lyar kepada user, sebuah aplikasi melakukan request kepada kernel, lalu kernel mem-forward request tersebut kepada device driver, yang mana bertanggung untuk me-render pixel di layar.

SYSTEM CALL

   

No comments:

Post a Comment