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 file. Apabila beberapa aplikasi berjalan secara bersamaan, maka Sistem Operasi mengatur skedule 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.
Kernel
Dalam komputer, kernel merupakan komponen utama sistem komputer yang paling penting, yang merupakan jembatan antara aplikasi dan pengolahan data yang sebenarnya dilakukan pada bagian hardware. Tanggung jawab Kernel termasuk mengelola sumber daya sistem (komunikasi antara hardware dan komponen software). Biasanya sebagai komponen dasar dari suatu sistem operasi, kernel dapat menyediakan lapisan abstraksi terendah-level untuk sumber daya (terutama prosesor dan perangkat Input Output) bahwa perangkat lunak aplikasi harus terkontrol untuk melakukan fungsinya. Kernel biasanya membuat fasilitas tersebut tersedia untuk proses aplikasi melalui inter-process communication mechanisms dan system calls.
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. Biasanya, sumber daya komputer terdiri dari:
Central Processing Unit (CPU/prosesor)
Ini adalah bagian paling sentral dari sebuah sistem komputer, bertanggung jawab untuk menjalankan atau mengeksekusi program di atasnya. Kernel bertanggung jawab untuk memutuskan setiap saat dimana banyak program yang berjalan serta harus dialokasikan ke prosesor (yang biasanya masing-masing prosesor hanya dapat menjalankan satu program pada satu waktu)
Memori komputer.
Memori digunakan untuk menyimpan instruksi program baik dan data. Biasanya, berdua harus hadir dalam memori agar program untuk mengeksekusi. Seringkali beberapa program akan menginginkan akses ke memori, sering menuntut memori lebih dari komputer telah tersedia. Kernel bertanggung jawab untuk menentukan memori memilih proses yang dapat menggunakan, dan menentukan apa yang harus dilakukan bila tidak cukup kapasitas memori yang tersedia.
Input / Output (I / O)
Perangkat-perangkat komputer I/O, seperti keyboard, mouse, disk drive, printer, monitor, dll kernel mengalokasikan permintaan dari aplikasi untuk melakukan I/O ke perangkat yang sesuai (atau pemilihan perangkat, misal dalam kasus pemilihan file pada disk atau menampilakan windows pada monitor) dan memberikan metode mudah untuk menggunakan perangkat (biasanya diabstraksikan ke titik di mana aplikasi tidak perlu tahu rincian pelaksanaan perangkat).
Kernel juga biasanya menyediakan metode untuk sinkronisasi dan komunikasi antara proses (disebut antar-proses komunikasi atau IPC inter-process communication).
Kernel dapat mengimplementasikan fitur-fitur ini sendiri, atau bergantung pada beberapa proses dijalankan untuk menyediakan fasilitas untuk proses lainnya, meskipun dalam hal ini harus menyediakan beberapa cara untuk memungkinkan proses IPC untuk mengakses fasilitas yang disediakan oleh masing-masing lain.
sumber :
http://bagusangga.wordpress.com/2012/03/09/cara-so-mengendalikan-proses-sistem-aplikasi/