Agung Putra Kusuma

Jejak Pemikiran, Motivasi dan Semangat Hidup

12 Oct

KERNEL & PENGGUNAAN SO


Kernel adalah sebuah program yang merupakan pusat dari sebuah komputer inti sistem operasi. Ini memiliki kontrol penuh atas segala sesuatu yang terjadi dalam sistem.

Kernel dapat dibandingkan dengan shell (seperti bash, csh atau ksh in Unix-seperti sistem operasi), yang merupakan bagian terluar dari sistem operasi dan program yang berinteraksi dengan user perintah. Kernel itu sendiri tidak berinteraksi secara langsung dengan pengguna, melainkan berinteraksi dengan shell dan program lain serta perangkat dengan hardware di sistem, termasuk prosesor (juga disebut central processing unit atau CPU), memori dan disk drive.

Kernel adalah bagian pertama dari sistem operasi untuk me-load ke memori pada saat boot (yaitu, sistem startup), dan tetap di sana selama seluruh durasi sesi komputer karena layanan yang diperlukan secara terus-menerus. Dengan demikian, penting untuk terlebih dahulu sekecil mungkin namun tetap memberikan semua layanan-layanan penting yang dibutuhkan oleh bagian lain dari sistem operasi dan oleh berbagai program aplikasi.

Karena sifat kritis, kode kernel biasanya dimuat ke memori kawasan lindung, yang mencegah dari yang diganti oleh yang lain, lebih sering digunakan bagian-bagian dari sistem operasi atau program aplikasi. Kernel melakukan tugasnya, seperti melaksanakan proses dan penanganan interrupt, dalam ruang kernel, sedangkan semua pengguna tidak normal, seperti menulis teks dalam editor teks atau menjalankan program dalam GUI (antarmuka pengguna grafis), dilakukan dalam ruang pengguna . Pemisahan ini dilakukan untuk mencegah data pengguna dan kernel data dari campur dengan satu sama lain dan dengan demikian mengurangi performa atau menyebabkan sistem menjadi tidak stabil (dan mungkin menabrak).

Ketika komputer crash, itu sebenarnya berarti kernel telah jatuh. Jika hanya satu program yang telah jatuh, tetapi sisa sistem tetap beroperasi, maka kernel sendiri tidak jatuh. Sebuah tabrakan adalah situasi di mana sebuah program, baik pengguna aplikasi atau bagian dari sistem operasi, berhenti melaksanakan fungsi yang diharapkan (s) dan merespons ke bagian lain dari sistem. Program mungkin akan muncul kepada pengguna untuk membeku. Jika program seperti kritis pengoperasian kernel, seluruh komputer dapat kios atau mematikan.

Kernel menyediakan layanan dasar untuk semua bagian lain dari sistem operasi, biasanya termasuk manajemen memori, manajemen proses, manajemen file dan I / O (input / output) manajemen (yaitu, mengakses perangkat perifer). Layanan ini diminta oleh bagian lain dari sistem operasi atau program aplikasi melalui serangkaian program tertentu antarmuka sistem disebut sebagai panggilan.

Proses manajemen, mungkin aspek yang paling jelas dari kernel kepada pengguna, adalah bagian dari kernel yang memastikan bahwa setiap proses mendapatkan giliran untuk berjalan di prosesor dan bahwa proses individu tidak mengganggu satu sama lain dengan menulis ke daerah mereka memori. Sebuah proses, juga disebut sebagai tugas, dapat didefinisikan sebagai pelaksana (yaitu, berjalan) contoh dari sebuah program.

Isi kernel bervariasi sesuai dengan sistem operasi, tetapi mereka biasanya meliputi (1) scheduler, yang menentukan bagaimana berbagai proses berbagi waktu proses kernel (termasuk dalam urutan), (2) seorang supervisor, yang memberikan penggunaan dari komputer untuk setiap proses ketika dijadwalkan, (3) pengendali interupsi, yang menangani semua permintaan dari berbagai perangkat keras (seperti disk drive dan keyboard) yang bersaing untuk layanan kernel dan (4) manajer memori, yang mengalokasikan ruang alamat sistem (yaitu, lokasi di memori) di antara semua pengguna layanan kernel.

Kernel tidak boleh bingung dengan BIOS (Basic Input / Output System). BIOS adalah suatu program mandiri yang tersimpan dalam sebuah chip pada motherboard(papan sirkuit utama dari komputer) yang digunakan selama proses boot untuk tugas-tugas seperti sebagai menginisialisasi hardware dan memuat kernel ke memori.Sedangkan BIOS selalu tetap di dalam komputer dan spesifik terhadap hardware tertentu, kernel dapat dengan mudah diganti atau ditingkatkan dengan mengubah atau meng-upgrade sistem operasi atau, dalam kasus Linux, dengan menambahkan kernel yang lebih baru atau memodifikasi kernel yang sudah ada.

Kebanyakan kernel telah dikembangkan untuk sistem operasi tertentu, dan biasanya hanya ada satu versi yang tersedia untuk setiap sistem operasi. Sebagai contoh, Microsoft Windows 2000 kernel adalah satu-satunya kernel untuk Microsoft Windows 2000 dan Microsoft Windows 98 adalah satu-satunya kernel kernel untuk Microsoft Windows 98. Linux jauh lebih fleksibel dalam bahwa ada banyak versi dari kernel Linux, dan masing-masing dapat dimodifikasi dalam banyak cara oleh pengguna informasi.

Beberapa kernel telah dirancang dengan tujuan untuk menjadi cocok untuk digunakan dengan sistem operasi apapun. Yang paling terkenal di antaranya adalah kernel Mach, yang dikembangkan di Carnegie-Mellon University dan digunakan dalam Macintosh OS X sistem operasi. Hal ini tidak diperlukan untuk sebuah komputer untuk memiliki sebuah kernel agar hal itu untuk digunakan, alasannya karena bahwa hal itu tidak perlu untuk itu untuk memiliki sistem operasi. Itu, adalah mungkin untuk memuat dan menjalankan program secara langsung pada mesin logam telanjang (yaitu, komputer tanpa sistem operasi diinstal), meskipun hal ini biasanya tidak terlalu praktis.

Bahkan, generasi pertama komputer digunakan logam telanjang operasi. Namun, akhirnya menyadari bahwa kenyamanan dan efisiensi dapat ditingkatkan dengan mempertahankan program utilitas kecil, seperti program loader dan debugger, dalam memori antara aplikasi. Program-program ini secara bertahap berkembang menjadi kernel sistem operasi.

Istilah kernel sering digunakan dalam buku-buku dan diskusi tentang Linux, sedangkan itu digunakan lebih jarang ketika mendiskusikan beberapa sistem operasi lain, seperti Microsoft Windows sistem. Alasannya adalah bahwa kernel sangat dapat dikonfigurasi dalam kasus Linux dan pengguna didorong untuk mempelajari dan memodifikasi, dan untuk men-download dan menginstal update versi. Dengan sistem operasi Microsoft Windows, sebaliknya, relatif sedikit ada titik dalam mendiskusikan kernel karena mereka tidak dapat dimodifikasi atau diganti.

Kategori kernel

Kernel dapat diklasifikasikan ke dalam empat kategori luas: monolitik kernel, microkernels, hybrid kernel dan exokernels. Masing-masing memiliki pendukung dan pengkritik.

Kernel monolitik, yang secara tradisional telah digunakan oleh Unix-sistem operasi mirip, berisi semua fungsi inti sistem operasi dan device driver (program kecil yang memungkinkan sistem operasi untuk berinteraksi dengan perangkat keras, seperti disk drive, video card dan printer) . Kernel monolitik modern, seperti Linux dan FreeBSD, yang keduanya jatuh ke dalam kategori operasi mirip Unix sistem, fitur kemampuan untuk memuat modul saat runtime, sehingga memungkinkan perluasan mudah kemampuan kernel sesuai kebutuhan, sambil membantu meminimalkan jumlah kode yang berjalan dalam ruang kernel.

Sebuah mikrokernel biasanya hanya menyediakan layanan minimal, seperti menentukan ruang alamat memori, interprocess komunikasi (IPC) dan proses manajemen.Semua fungsi lain, seperti pengelolaan perangkat keras, yang dilaksanakan sebagai proses yang berjalan secara independen dari kernel. Contoh sistem operasi mikrokernel AIX, BeOS, Hurd, Mach, Mac OS X, MINIX dan QNX.

Hybrid kernel mirip dengan microkernels, kecuali bahwa mereka termasuk kode tambahan di ruang kernel sehingga kode tersebut bisa berjalan lebih cepat daripada itu akan berada di ruang pengguna. Kernel ini merupakan kompromi yang dilaksanakan oleh beberapa pengembang sebelum itu menunjukkan bahwa microkernels murni dapat memberikan performa tinggi. Hybrid kernel tidak boleh dikacaukan dengan monolithic kernel yang dapat memuat modul setelah boot (seperti Linux).

Sebagian besar sistem operasi modern menggunakan kernel hibrida, termasuk Microsoft Windows NT, 2000 dan XP. Dragonfly BSD, garpu baru-baru ini (yaitu, varian) dari FreeBSD, adalah yang pertama berbasis non-Mach BSD sistem operasi untuk menggunakan kernel hibrida arsitektur.

Exokernels adalah pendekatan eksperimental desain sistem operasi. Mereka berbeda dari kernel, jenis lain dalam fungsi mereka terbatas pada perlindungan dan multiplexing mentah perangkat keras, dan mereka tidak memberikan abstraksi perangkat keras di atas aplikasi yang dapat dibangun. Pemisahan ini hardware perlindungan dari manajemen perangkat keras memungkinkan pengembang aplikasi untuk menentukan bagaimana membuat yang paling efisien penggunaan perangkat keras yang tersedia untuk setiap program khusus.

Exokernels dalam diri mereka sangat kecil. Namun, mereka yang disertai dengan sistem operasi perpustakaan, yang menyediakan pengembang aplikasi dengan fungsionalitas konvensional dari sebuah sistem operasi lengkap. Keuntungan utama dari sistem berbasis exokernel adalah bahwa mereka dapat menggabungkan beberapa sistem operasi perpustakaan, masing-masing mengekspor API yang berbeda (antarmuka pemrograman aplikasi), seperti satu untuk Linux dan satu untuk Microsoft Windows, sehingga memungkinkan untuk secara bersamaan menjalankan keduanya Linux dan jendela aplikasi.

PENGGUNAANNYA DALAM SISTEM OPERASI

——————————————————————————————

LINUX
Kernel Linux adalah kernel yang digunakan dalam sistem operasi GNU/Linux. Kernel ini merupakan turunan dari keluarga sistem operasi UNIX, dirilis dengan menggunakan lisensi GNU General Public License (GPL), dan dikembangkan oleh pemrogram di seluruh dunia. Linux merupakan contoh utama dari perangkat lunak bebas dan sumber terbuka.

Linux pertama kali ditulis oleh Linus Benedict Torvalds pada tahun 1991. Pada saat itu, Proyek GNU telah membuat banyak komponen yang dibutuhkan untuk membentuk sebuah sistem operasi yang bebas, tapi belum memiliki kernel yang melandasi komponen aplikasi tersebut. Sebenarnya waktu itu, sudah ada kandidat kuat sebagai fondasi sistem operasi GNU, yang dinamakan dengan Hurd, tapi pengembangannya belum selesai. Pada saat awal pengembangannya, Linux sangat sederhana. Tapi berkat dukungan semua pihak (khususnya komunitas sistem operasi Minix) yang menyumbang ide ke dalam Linux sehingga dapat berkembang.

MAC OS

Mac OS adalah sebuah sistem operasi kernel mikro yang dikembangkan di Carnegie Mellon University untuk mendukung sistem operasi penelitian, terutama komputasi terdistribusi dan paralel. Ini adalah salah satu contoh awal dari sebuah mikrokernel, dan derivatif merupakan dasar dari kernel sistem operasi modern di Mac OS X dan GNU Hurd.
Proyek di Carnegie Mellon lari 1985-1994, berakhir dengan Mach 3.0. Sejumlah upaya lainnya Mach terus penelitian, termasuk University of Utah ’s Mach 4 [1]. Mac dikembangkan sebagai pengganti kernel di BSD versi UNIX, sehingga tidak ada sistem operasi baru harus dirancang di sekitarnya. Hari ini penelitian eksperimental lebih lanjut Mac tampaknya telah berakhir, meskipun Mac dan turunannya sedang digunakan dalam beberapa sistem operasi komersial, seperti NeXTSTEP dan OPENSTEP, dan terutama Mac OS X menggunakan XNUkernel sistem operasi yang memasukkan Mach sebagai komponen utama. Mach virtual memory sistem manajemen juga diadopsi oleh pengembang BSD di CSRG, dan muncul di BSD modern yang diturunkan dari sistem UNIX, seperti FreeBSD. Baik Mac OS X maupun FreeBSD mempertahankan struktur mikrokernel dirintis di Mach, walaupun Mac OS X terus menawarkan mikrokernel Antar-Proses Komunikasi dan kontrol primitif untuk digunakan langsung oleh aplikasi.

Mac OS X menggunakan kekuatan kedua kernel Kernel MacOS disebut dengan singkatan XNU (X is Not Unix). Hal ini dapat dipahami, karena Apple mengombinasikan dua sumber untuk kernel sistem operasinya dan hanya sebagian yang berasal dari dunia Unix. Bagian lainnya berasal dari proyek Mach, contoh klasik untuk sebuah micro kernel. Apple menggunakan Mach hanya untuk Message Passing, komunikasi efisien setiap bagian kernel. Selain itu XNU berisi code dari proyek FreeBSD berbasis Unix. Bagian ini mengurus pengelolaan pengguna, pemrosesan sinyal, dan kompatibilitas POSIX. Melalui yang terakhir dijamin, kebanyakan program dari dunia Unix juga berfungsi di bawah Mac OS X.

Sebuah komponen penting Mach adalah I/O-Kit untuk pemrosesan input/output. Di sini, ada perbedaan besar dengan Windows dan Linux. Sebab I/O-Kit bekerja sebagai lapisan abstraksi tambahan antara hardware dan sistem selebihnya. Di dalamnya, terdapat model-model driver standar sehingga menjamin stabilitas lebih besar dan performa yang lebih baik. Selain layanan kernel, Mac OS X juga menawarkan untuk menggunakan ekstensi kernel. Ini baru di-load sistem ketika diperlukan. Sistem itu sering disebut “hybrid-kernel, tetapi para pakar mengklasifikasikan kernel Mac OS X berdasarkan konstruksinya, yaitu monolitik.

WINDOWS 98

ernel menyediakan fungsi sistem operasi dasar, termasuk file I / O layanan, manajemen memori virtual, dan tugas penjadwalan. Ketika seorang pengguna ingin menjalankan aplikasi, Kernel load EXE dan DLL file untuk aplikasi.

Memory Pager

Windows 98, seperti Windows NT, menggunakan permintaan-paged sistem memori virtual. Sistem ini didasarkan pada datar, ruang alamat linier, diakses menggunakan alamat 32-bit.

Setiap proses adalah unik mengalokasikan ruang alamat virtual dari 2 gigabyte (GB). Atas 2 GB digunakan bersama-sama, sedangkan yang lebih rendah 2 GB adalah swasta ke aplikasi. Ruang alamat virtual ini dibagi menjadi blok yang sama, atau halaman.

Demand paging adalah metode kode dan data yang dipindahkan di halaman dari memori fisik untuk sementara paging file di disk. Seperti informasi yang dibutuhkan oleh proses, adalah paged kembali ke memori fisik sesuai permintaan.

Pager Memori virtual peta alamat dari ruang alamat proses halaman fisik di dalam memori komputer. Dalam melakukannya, Pager Memori menyembunyikan organisasi fisik memori dari proses benang. Hal ini memastikan bahwa benang dapat mengakses memori dari proses yang diperlukan, tetapi bukan memori proses-proses lain. Oleh karena itu, seperti yang ditunjukkan pada Gambar 28,7, memori virtual sebuah proses benang jauh lebih sederhana daripada susunan nyata halaman dalam memori fisik.

Gambar Memori Memori Pemetaan dengan Pager

Untuk mendukung operasi 16-bit lingkungan termasuk Windows 3.1 dan MS-DOS, arsitektur prosesor Intel menggunakan mekanisme yang disebut segmen. Segmen referensi memori dengan menggunakan segmen 16-bit alamat, dan 16-bit alamat offset dalam segmen. Sebuah segmen dalam ukuran 64 KB, dan kinerja dari kedua aplikasi dan sistem operasi menderita untuk mengakses informasi melintasi batas-batas segmen. Windows 98 mendukung model memori untuk kompatibilitas untuk aplikasi berbasis Win16 yang ditulis untuk itu dengan menyediakan emulasi oleh subsistem Win16.

Untuk mendukung aplikasi berbasis Win32 dan fitur, Windows 98 menggunakan 32-bit kemampuan dari 80386 (dan kemudian) untuk mendukung arsitektur prosesor yang datar, linear model memori 32-bit untuk sistem operasi fungsi dan aplikasi berbasis Win32. Sebuah model pengalamatan linier menyederhanakan proses pengembangan aplikasi vendor dan menghapus hukuman kinerja yang dipaksakan oleh tersegmentasi arsitektur memori.

Dengan model pengalamatan ini, Windows 98 memungkinkan penggunaan penuh dari 4 GB ruang memori diakses untuk semua 32-bit komponen sistem operasi dan aplikasi. Setiap aplikasi 32-bit bisa akses sampai 2 GB ruang memori diakses, cukup untuk mendukung aplikasi desktop terbesar.


Download Full Article


Filed under: Document

You must be logged in to post a comment.