System Operasi [OS]

KERNEL

KERNEL Pengertian

Pengertian Kernel
Dalam sains komputerkernel merupakan inti dari sistem pengoperasianmultiplexing. yang mengatur penggunaan ingatan/memori, peranti masukan dan keluaran, proses-proses, penggunaan data pada sistem data dan lain-lain.

Kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai
kernel juga 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.
Kernel dibagi menjadi 4 kategori :
  • Kernel Monolitik. Kernel monolitik mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat kerassistem operasi secara penuh terhadap perangkat keras yang berada di bawah
  • 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.
Kernel Monolitik
kernel monolitik didefinisikan sebagai sebuah antarmuka virtual yang berada pada tingkat tinggi di atas perangkat keras, dengan sekumpulan primitif atau system call untuk mengimplementasikan layanan-layanan sistem operasi, seperti halnya manajemen proses, konkurensi (concurrency), dan manajemen memori pada modul-modul kernel yang berjalan di dalam mode supervisor.
Monolithic kernel sangatlah kuat, karena semua modul berjalan di dalam address space yang sama, sebuah bug dalam salah satu modul dapat merusak keseluruhan sistem. Akan tetapi, ketika implementasi dilakukan dengan benar, integrasi komponen internal yang sangat kuat tersebut justru akan mengizinkan fitur-fitur yang dimiliki oleh sistem yang berada di bawahnya dieksploitasi secara efektif, sehingga membuat sistem operasi dengan monolithic kernel sangatlah efisien—meskipun sangat sulit dalam pembuatannya.
Pada sistem operasi modern yang menggunakan monolithic kernel, seperti halnya LinuxFreeBSDSolaris, dan Microsoft Windows, dapat memuat modul-modul yang dapat dieksekusi pada saat kernel tersebut dijalankan sehingga mengizinkan ekstensi terhadap kemampuan kernel sesuai kebutuhan, dan tentu saja dapat membantu menjaga agar kode yang berjalan di dalam ruangan kernel (kernel-space) seminim mungkin.
Di bawah ini ada beberapa sistem operasi yang menggunakan Monolithic kernel:
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.
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.
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:
Kernel hibrida
Kernel hibrida aslinya adalah mikrokernel yang memiliki kode yang tidak menunjukkan bahwa kernel tersebut adalah mikrokernel di dalam ruangan kernel-nya. Kode-kode tersebut ditaruh di dalam ruangan kernel agar dapat dieksekusi lebih cepat dibandingkan jika ditaruh di dalam ruangan user.
Kernel hibrida secara spesifik memiliki teknologi pertukaran pesan (message passing) yang digunakan dalam mikrokernel, dan juga dapat memindahkan beberapa kode yang seharusnya bukan kode kernel ke dalam ruangan kode kernel karena alasan kinerja.
Di bawah ini adalah beberapa sistem operasi yang menggunakan kernel hibrida:

Exokernel

Sebenarnya, Exokernel bukanlah pendekatan kernel sistem operasi yang umum—seperti halnya microkernel atau monolithic kernel yang populer, melainkan sebuah struktur sistem operasi yang disusun secara vertikal.
Ide di balik exokernel adalah untuk memaksa abstraksi yang dilakukan oleh developer sesedikit mungkin, sehingga membuat mereka dapat memiliki banyak keputusan tentang abstraksi hardware. Exokernel biasanya berbentuk sangat kecil, karena fungsionalitas yang dimilikinya hanya terbatas pada proteksi dan penggandaan sumber daya.
Exokernel mengizinkan akses terhadap hardware secara langsung pada tingkat yang rendah, aplikasi dan abstraksi dapat melakukan request sebuah alamat memori spesifik baik itu berupa lokasi alamat physical memory dan blok di dalam hard disk
Exokernel biasanya menggunakan library yang disebut dengan libOS untuk melakukan abstraksi. libOS memungkinkan para pembuat aplikasi untuk menulis abstraksi yang berada pada level yang lebih tinggi, seperti halnya abstraksi yang dilakukan pada sistem operasi tradisional, dengan menggunakan cara-cara yang lebih fleksibel, karena aplikasi mungkin memiliki abstraksinya masing-masing. Secara teori, sebuah sistem operasi berbasis Exokernel dapat membuat sistem operasi yang berbeda seperti halnya LinuxUNIX, dan Windows dapat berjalan di atas sistem operasi tersebut.

Penggunaan kernel

Windows

Pada sistem operasi Windows, kernel ditangani oleh file kernel32.dll. Kernel ini menangani manajemen memori, operasi masukan / keluaran dan interrupt. Ketika boot Windows, kernel32.dll di-load ke dalam spasi protected memory sehingga spasi memorinya tidak digunakan oleh aplikasi lain. Apabila ada aplikasi yang mencoba mengambil spasi memori kernel32.dll, akan muncul pesan kesalahan “invalid page fault”.
Kernel Linuk
Kernel Linux adalah kernel yang digunakan dalam sistem operasiGNU/Linux. Kernel ini merupakan turunan dari keluarga sistem operasiUNIX, 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.

Kernel Linux pertama yang dipublikasikan adalah versi 0.01, pada tanggal 14 Maret 1991. Sistem berkas yang didukung hanya sistem berkas Minix. Kernel pertama dibuat berdasarkan kerangka Minix (sistem UNIX kecil yang dikembangkan oleh Andy Tanenbaum). Tetapi, kernel tersebut sudah mengimplementasi proses UNIX secara tepat.
Pada tanggal 14 Maret 1994 dirilis versi 1.0, yang merupakan tonggak sejarah Linux. Versi ini adalah kulminasi dari tiga tahun perkembangan yang cepat dari kernel Linux. Fitur baru terbesar yang disediakan adalah jaringan. Versi 1.0 mampu mendukung protokol standar jaringan TCP/IP. Kernel 1.0 juga memiliki sistem berkas yang lebih baik tanpa batasan-batasan sistem berkas Minix. Sejumlah dukungan perangkat keras ekstra juga dimasukkan ke dalam rilis ini. Dukungan perangkat keras telah berkembang termasuk diantaranya floppy-disk, CD-ROM, sound card, berbagai mouse, dan keyboard internasional. Dukungan juga diberikan terhadap modul kernel yang loadable dan unloadable secara dinamis.
Satu tahun kemudian dirilis kernel versi 1.2. Kernel ini mendukung variasi perangkat keras yang lebih luas. Pengembang telah memperbaharui networking stack untuk menyediakan support bagi protokol IPX, dan membuat implementasi IP lebih lengkap dengan memberikan fungsi accounting dan firewalling. Kernel 1.2 ini merupakan kernel Linux terakhir yang PC-only. Konsentrasi lebih diberikan pada dukungan perangkat keras dan memperbanyak implementasi lengkap pada fungsi-fungsi yang ada.
Pada bulan Juni 1996, kernel Linux 2.0 dirilis. Versi ini memiliki dua kemampuan baru yang penting, yaitu dukungan terhadap multiple architecture dan multiprocessor architectures. Kode untuk manajemen memori telah diperbaiki sehingga kinerja sistem berkas dan memori virtual meningkat. Untuk pertama kalinya, file system caching dikembangkan ke networked file systems, juga sudah didukung writable memory mapped regions. Kernel 2.0 sudah memberikan kinerja TCP/IP yang lebih baik, ditambah dengan sejumlah protokol jaringan baru. Kemampuan untuk memakai remote netware dan SMB (Microsoft LanManager) network volumes juga telah ditambahkan pada versi terbaru ini. Tambahan lain adalah dukungan internal kernel threads, penanganan dependencies antara modul-modul loadable, dan loading otomatis modul berdasarkan permintaan (on demand). Konfigurasi dinamis dari kernel pada run time telah diperbaiki melalui konfigurasi interface yang baru dan standar.Semenjak Desember 2003, telah diluncurkan Kernel versi 2.6, yang dewasa ini (2008) telah mencapai patch versi 2.6.26.1

Posted on November 17, 2007 by jauari88
Operating System bukanlah Aplikasi !!!
Komputer tanpa Operating System (Sistem Operasi) sama dengan memiliki Walkman tanpa kaset, yang artinya sama saja bohong. Operating System BUKAN aplikasi. Masyarakat sering tertukar antara pengertian Software dan Aplikasi.
Pengertian mudahnya, software adalah segala macam jenis program yang digunakan untuk mengoperasikan komputer dan peralatannya. Sedangkan software terbagi menjadi dua :
• Operating Systems : software yang digunakan untuk mengoperasikan komputer
• Applications : program yang dioperasikan di dalam sebuah lingkungan Operating System untuk keperluan-keperluan tertentu, misal : Programming, Office Work, dan Gaming.
Operating System Terkini
Operating System berkembang mengikuti perkembangan teknologi dan kebutuhan manusia. Secara umum Operating System dibuat untuk jenis komputer tertentu, antara lain sebagai berikut:
• Microsoft Windows untuk Personal Computer (PC)
• VMS untuk DEC
• OS/2, AIX, OS/390 untuk IBM
• MacOS untuk Apple Macintosh
• SunOS untuk Sun Computers
• Microsoft Windows CE untuk Palmtop UNIX adalah induk Operating System yang mampu diimplementasikan untuk segala macam jenis mesin komputer yang ada hingga saat ini.
Konsep Kernel dan Shell
Kernel adalah jembatan antara hardware dan aplikasi-aplikasi yang menerjemahkan bahasa software sehingga mampu dimengerti oleh hardware dan hardware akan segera memprosesnya sesuai dengan permintaan. Akibatnya hal tersebut memungkinkan pengguna untuk menggunakan atau bekerja dengan komputernya melalui software.
Hal-hal yang dilakukan oleh Kernel :
• interrupt handler – yang mampu menangani I/O request
• memory management Untuk melakukan hal-hal tersebut, beberapa orang/kelompok mempunyai pertimbangan dan arahan pengembangan yang berbeda. Hal ini yang menyebabkan Operating System muncul dalam berbagai jenis, seperti :
• Windows 3.11 dengan metoda non pre-emptive multitasking yang kemudian dikembangkan dalam Windows 9x menjadi Pre-Emptive MultiTasking.
• Windows yang menggunakan Driver untuk mengakses hardware, berbeda dengan Unix lainnya yang memasukkannya ke dalam kernel. Linux, MacOS dan BeOS adalah hibrid dari dua konsep ini, sebagian (yang esensial) dimasukkan ke dalam kernel dan sisanya dijadikan module-module (karena tidak semua komputer perlu/sama).
Sedangkan shell adalah jembatan antara User Input dengan Kernel, berfungsi memberikan fasilitas pada Pengguna agar bisa berinteraksi dengan Komputer (baik Software maupun Hardware).
Ilustrasi Shell:
Shell dalam Windows95 dikenal sebagai Windows Explorer, sedangkan untuk Windows 98 telah diubah menjadi Internet Explorer (4.0 dan 5.0). Alternatif lain shell untuk Windows adalah LiteStep, yang memberikan tampilan Windows menyerupai XWindow Afterstepnya Unix.
Shell lebih dikenal oleh para pengguna Unix, antara lain : csh, tcsh, bash, pdksh, sh, dan lain-lain.

    GNU/Linux adalah sebuah sistem operasi yang diciptakan oleh Linus Benedict Torvalds seorang mahasiswa Universitas Helsinki Finlandia di tahun 1991.Proyek GNU ini diluncurkan pada tahun 1984 untuk mengembangkan sebuah sistem operasi lengkap mirip UNIX berbasis perangkat lunak bebas: yaitu sistem GNU (GNU merupakan akronim berulang dari “GNU’s Not Unix”; GNU dilafalkan dengan “genyu”). Varian dari sistem operasi GNU, yang menggunakan kernel Linux, dewasa ini telah digunakan secara meluas. Walau pun sistem ini sering dirujuk sebagai “Linux”, sebetulnya lebih tepat jika disebut sistem GNU/Linux. Ada salah satu fitur atau kemampuan yang sangat menarik dari GNU/Linux yang belum ada pada sistem operasi populer lainnya, yaitu menjalankan sistem operasi dan aplikasi lengkap tanpa menginstalnya di hard disk. Dengan cara ini dengan mudah kita dapat menggunakan GNU/Linux di komputer orang lain karena tak perlu menginstalnya (tak perlu mengutak-atik hard disk dan partisinya). Sejarah sistem operasi Linux berkaitan erat dengan proyek GNU, proyek program bebas freeware terkenal diketuai oleh Richard Stallman. Proyek GNU diawali pada tahun 1983 untuk membuat sistem operasi seperti Unix lengkap — kompiler, utiliti aplikasi, utiliti pembuatan dan seterusnya — diciptakan sepenuhnya dengan perangkat lunak bebas. Pada tahun 1991, pada saat versi pertama kerangka Linux ditulis, proyek GNU telah menghasilkan hampir semua komponen sistem ini — kecuali kernel. Torvalds dan pembuat kernel seperti Linux menyesuaikan kernel mereka supaya dapat berfungsi dengan komponen GNU, dan seterusnya mengeluarkan Sistem operasi yang cukup berfungsi. Oleh karena itu, Linux melengkapi ruang terakhir dalam rancangan GNU.
Beberapa distro Linux Live CD yang banyak dipakai antara lain Knoppix, SUSE Live Eval, Mandrake Move, Gentoo Live CD, Slackware Live CD dll. Meskipun bentuknya Live CD, tetapi distro tersebut memiliki fungsi yang sama dengan distro-distro terinstal. Di dalam CD tersebut, sudah terdapat paket-paket umum yang biasa kita jumpai di distro Linux besar, seperti: OpenOffice, KOffice, XMMS, GIMP, Konqueror, dan sebagainya. Namun ada beberapa pengecualian, yaitu beberapa paket yang memang sangat besar dan kiranya tidaklah umum digunakan oleh home user, mengingat kapasitas CD yang terbatas, yaitu sekitar 700MB.
Kepraktisan itu ada batasnya karena selama operasionalnya, Linux Live CD tidak mempunyai sebuah tempat khusus di dalam harddisk. Linux Live CD hanya memiliki tempat di memori utama (RAM), sehingga setelah di-restart, semua isi RAM akan dikosongkan dan Linux Live CD harus melakukan inisialisasi ulang untuk mendeteksi semua perangkat keras yang dimiliki oleh user. Selain itu, kinerja dari Linux Live CD sendiri juga tidak bisa maksimal, karena kecepatan komputer untuk mengakses CD-ROM jauh lebih lambat dibandingkan dengan kecepatan mengakses harddisk.
Dalam ilmu komputerkernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman. Istilah Linux sebetulnya hanya mengacu pada kernel dari suatu sistem operasi. Kernel adalah Jembatan antara hardware dan aplikasi-aplikasi yg menterjemahkan bahasa software sehingga mampu dimengerti dan diproses oleh hardware sesuai dengan permintaan. 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. 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.
Selanjutnya, para arsitek sistem operasi mengembangkan kernel sistem operasi yang pada akhirnya terbagi menjadi empat bagian yang secara desain berbeda, sebagai berikut:
  • Monolithic Kernel. Monolithic kernel mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat keras secara penuh terhadap perangkat keras yang berada di bawah sistem operasi.
  • Microkernel. Microkernel menyediakan sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan di atasnya—yang disebut dengan server—untuk melakukan beberapa fungsionalitas lainnya.
  • Hybrid kernel. Hybrid kernel 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.
open source adalah sistem pengembangan yang tidak dikoordinasi oleh suatu orang/lembaga pusat, tetapi oleh para pelaku yang bekerja sama dengan memanfaatkan kode sumber (source-code) yang tersebar dan tersedia bebas (biasanya menggunakan fasilitas komunikasi internet). Pola pengembangan ini mengambil model ala bazaar, sehingga pola Open Source ini memiliki ciri bagi komunitasnya yaitu adanya dorongan yang bersumber dari budaya memberi, yang artinya ketika suatu komunitas menggunakan sebuah program Open Source dan telah menerima sebuah manfaat kemudian akan termotivasi untuk menimbulkan sebuah pertanyaan apa yang bisa pengguna berikan balik kepada orang banyak. Pengembangan Linux bersifat open source artinya source code dari aplikasi pembentuk sistem dan aplikasi lainnya diberikan secara terbuka sehingga setiap orang dapat melakukan modifikasi atau kustomisasi sesuai dengan kebutuhan masing-masing.
Pola Open Source lahir karena kebebasan berkarya, tanpa intervensi berpikir dan mengungkapkan apa yang diinginkan dengan menggunakan pengetahuan dan produk yang cocok. Kebebasan menjadi pertimbangan utama ketika dilepas ke publik. Komunitas yang lain mendapat kebebasan untuk belajar, mengutak-ngatik, merevisi ulang, membenarkan ataupun bahkan menyalahkan, tetapi kebebasan ini juga datang bersama dengan tanggung jawab, bukan bebas tanpa tanggung jawab. Pada intinya konsep sumber terbuka adalah membuka “kode sumber” dari sebuah perangkat lunak. Konsep ini terasa aneh pada awalnya dikarenakan kode sumber merupakan kunci dari sebuah perangkat lunak. Dengan diketahui logika yang ada di kode sumber, maka orang lain semestinya dapat membuat perangkat lunak yang sama fungsinya. Sumber terbuka hanya sebatas itu. Artinya, dia tidak harus gratis. Definisi sumber terbuka yang asli adalah seperti tertuang dalam OSD (Open Source Definition)/Definisi sumber terbuka. Pergerakan perangkat lunak bebas dan sumber terbuka saat ini membagi pergerakannya dengan pandangan dan tujuan yang berbeda. Sumber terbuka adalah pengembangan secara metodelogi, perangkat lunak tidak bebas adalah solusi suboptimal. Bagi pergerakan perangkat lunak bebas, perangkat lunak tidak bebas adalah masalah sosial dan perangkat lunak bebas adalah solusi.

Modul Kernel Linux

Pengertian Modul Kernel Linux

Modul kernel Linux adalah bagian dari kernel Linux yang dapat dikompilasi, dipanggil dan dihapus secara terpisah dari bagian kernel lainnya saat dibutuhkan. Modul kernel dapat menambah fungsionalitas kernel tanpa perlu me-reboot sistem. Secara teori tidak ada yang dapat membatasi apa yang dapat dilakukan oleh modul kernel. Kernel modul dapat mengimplementasikan antara lain device driver, sistem berkas, protokol jaringan.
Modul kernel Linux memudahkan pihak lain untuk meningkatkan fungsionalitas kernel tanpa harus membuat sebuah kernel monolitik dan menambahkan fungsi yang mereka butuhkan langsung ke dalam image dari kernel. Selain hal tersebut akan membuat ukuran kernel menjadi lebih besar, kekurangan lainnya adalah mereka harus membangun dan me-reboot kernel setiap saat hendak menambah fungsi baru. Dengan adanya modul maka setiap pihak dapat dengan mudah menulis fungsi-fungsi baru dan bahkan mendistribusikannya sendiri, di luar GPL.
Kernel modul juga memberikan keuntungan lain yaitu membuat sistem Linux dapat dinyalakan dengan kernel standar yang minimal, tanpa tambahan device driver yang ikut dipanggil. Device driver yang dibutuhkan dapat dipanggil kemudian secara eksplisit maupun secara otomatis saat dibutuhkan.
Terdapat tiga komponen untuk menunjang modul kernel Linux. Ketiga komponen tersebut adalah manajemen modul, registrasi driver, dan mekanisme penyelesaian konflik. Berikut akan dibahas ketiga komponen pendukung tersebut.

Manajemen Modul Kernel Linux

Manajemen modul akan mengatur pemanggilan modul ke dalam memori dan berkomunikasi dengan bagian lainnya dari kernel. Memanggil sebuah modul tidak hanya memasukkan isi binarinya ke dalam memori kernel, namun juga harus dipastikan bahwa setiap rujukan yang dibuat oleh modul ke simbol kernel atau pun titik masukan diperbaharui untuk menunjuk ke lokasi yang benar di alamat kernel. Linux membuat tabel simbol internal di kernel. Tabel ini tidak memuat semua simbol yang didefinisikan di kernel saat kompilasi, namun simbol-simbol tersebut harus diekspor secara eksplisit oleh kernel. Semua hal ini diperlukan untuk penanganan rujukan yang dilakukan oleh modul terhadap simbol-simbol.
Pemanggilan modul dilakukan dalam dua tahap. Pertama, utilitas pemanggil modul akan meminta kernel untuk mereservasi tempat di memori virtual kernel untuk modul tersebut. Kernel akan memberikan alamat memori yang dialokasikan dan utilitas tersebut dapat menggunakannya untuk memasukkan kode mesin dari modul tersebut ke alamat pemanggilan yang tepat. Berikutnya system calls akan membawa modul, berikut setiap tabel simbol yang hendak diekspor, ke kernel. Dengan demikian modul tersebut akan berada di alamat yang telah dialokasikan dan tabel simbol milik kernel akan diperbaharui.
Komponen manajemen modul yang lain adalah peminta modul. Kernel mendefinisikan antarmuka komunikasi yang dapat dihubungi oleh program manajemen modul. Saat hubungan tercipta, kernel akan menginformasikan proses manajemen kapan pun sebuah proses meminta device driver, sistem berkas, atau layanan jaringan yang belum terpanggil dan memberikan manajer kesempatan untuk memanggil layanan tersebut. Permintaan layanan akan selesai saat modul telah terpanggil. Manajer proses akan memeriksa secara berkala apakah modul tersebut masih digunakan, dan akan menghapusnya saat tidak diperlukan lagi.

Registrasi Driver

Untuk membuat modul kernel yang baru dipanggil berfungsi, bagian dari kernel yang lain harus mengetahui keberadaan dan fungsi baru tersebut. Kernel membuat tabel dinamis yang berisi semua driver yang telah diketahuinya dan menyediakan serangkaian routines untuk menambah dan menghapus driver dari tabel tersebut. Routines ini yang bertanggung-jawab untuk mendaftarkan fungsi modul baru tersebut.
Hal-hal yang masuk dalam tabel registrasi adalah:
·         device driver
·         sistem berkas
·         protokol jaringan
·         format binari

Resolusi Konflik

Keanekaragaman konfigurasi perangkat keras komputer serta driver yang mungkin terdapat pada sebuah komputer pribadi telah menjadi suatu masalah tersendiri. Masalah pengaturan konfigurasi perangkat keras tersebut menjadi semakin kompleks akibat dukungan terhadap device driver yang modular, karena device yang aktif pada suatu saat bervariasi.
Linux menyediakan sebuah mekanisme penyelesaian masalah untuk membantu arbitrasi akses terhadap perangkat keras tertentu. Tujuan mekanisme tersebut adalah untuk mencegah modul berebut akses terhadap suatu perangkat keras, mencegah autoprobes mengusik keberadaan driver yang telah ada, menyelesaikan konflik di antara sejumlah driver yang berusaha mengakses perangkat keras yang sama.
Kernel membuat daftar alokasi sumber daya perangkat keras. Ketika suatu driver hendak mengakses sumber daya melalui M/K port, jalur interrupt, atau pun kanal DMA, maka driver tersebut diharapkan mereservasi sumber daya tersebut pada basis data kernel terlebih dahulu. Jika reservasinya ditolak akibat ketidaktersediaan sumber daya yang diminta, maka modul harus memutuskan apa yang hendak dilakukan selanjutnya. Jika tidak dapat melanjutkan, maka modul tersebut dapat dihapus.

Pengantar Linux Flash Disk

Postby Farabi


OS atau Operating System adalah sebuah piranti lunak yang diciptakan untuk membuat sebuah komputer berfungsi secara maksimal. OS adalah sebuah kumpulan perintah-perintah untuk prosesor yang tersimpan dalam sebuah media tulis seperti harddisk, CD, USB Flash Disk dan lain sebagainya. OS masuk dalam kategori piranti lunak.
Tanpa sebuah OS, sebuah komputer tidak akan mungkin bisa mencapai tujuan diciptakannya, yaitu untuk memudahkan tugas manusia untuk menyelesaikan tugasnya. Saat pertama kali berjalan, sebuah komputer akan memeriksa semua media tulis yang terpasang pada komputer, dan dia akan membaca sektor 0 track 0 pada setiap media tulis sampai dia menemukan sebuah data yang sah untuk dimasukan kedalam memori komputer. Data ini biasa disebut sebagai MBR(Main Boot Record) atau Boot sector. MBR ini pada umumnya, untuk prosesor inte,l atau sebangsanya (IA-32) mempunyai sebuah "Magic" byte untuk menandai bahwa data tersebut adalah sebuah MBR.

OS Linux yang akan saya bahas sekarang adalah Slax. Sengaja saya memilih Slax secara khusus karena hanya OS ini satu-satunya yang saya gunakan sekarang. Slax menggunakan sebuah piranti lunak SysLinux untuk MBR nya, dan menggunakan VMLinuz sebagai kernel(inti) dari OS tersebut.

Secara singkat pengertian kernel atau inti adalah, sebuah piranti lunak dasar yang menyediakan kumpulan perintah-perintah untuk menjalankan semua piranti keras yang ada di komputer anda. Tidak seperti desktop yang mempunyai tampilan grafis seperti yang biasa kita lihat jika kita sedang bekerja menggunakan sebuah komputer, kernel tidak menampilkan apa-apa kecuali tentunya jika kita memanggil sebuah perintah grafis dari kernel.


Cara kerja slax bisa dikatakan cukup mudah untuk di mengerti. Pada saat anda memasangnya (install) pada sebuah flashdisk, komputer pertama akan membaca piranti lunak syslinux yang berada di MBR. Setelah itu, syslinux akan membaca sebuah teks yang isinya adalah perintah-perintah untuk memuat semua berkas yang telah ditentukan, file teks ini biasa disebut konfigurasi. File konfigurasi biasa disimpan di folder "/boot/", folder ini adalah folder pertama yang akan dicari oleh syslinux, jika syslinux menemukan file konfigurasi tersebut maka secara otomatis syslinux melaksanakan segala perintah-perintah yang ada didalam konfigurasi tersebut. Pada umumnya, syslinux menjalankan sebuah program dengan nama Vesa32.c32. Berkas dengan nama belakang .c32 adalah sebuah aplikasi standar syslinux yang mempunyai format sama seperti program lawas windows yang bernama belakang ".com". Bedanya, pada format .c32 ini adalah, instruksi-instruksi yang dimuat kedalam memori dan dijalankan adalah instruksi 32-bit, berlainan dengan .com yang adalah aplikasi 16-bit.

Setelah anda selesai memilih salah satu dari beberapa pilihan yang ada pada file konfigurasi, berikutnya syslinux akan memuat kernel ke dalam memory, baru kemudian aplikasi-aplikasi atau biasa disebut modul dimuat kedalam memori dan dijalankan. Modul-modul dasar yang ada pada Slax terdiri dari 7 bagian:
1. Core
Ini adalah inti dari Slax.
2. Xorg
Tidak diketahui
3. Desktop
Tampilan grafis untuk memudahkan pemakaian.
4. KDE-Apps
Tidak diketahui
5. K-Office
Pengganti MS-Office untuk perlengkapan kantor.
6. Devel
Aplikasi untuk membangun sebuah modul.
7. Mozzila
Browser untuk internet

Modul-modul dasar tersebut bisa dimodifikasi, modul-modul tersebut terletak di folder "/Slax/Base".

Dengan mengganti modul-modul utama diatas, anda dengan mudah bisa membangun sebuah sistem linux sesuai dengan selera anda. Dari yang paling mudah, mengganti tampilan utama linux seperti menampilkan foto anda, atau sampai yang canggih, untuk mengembalikan data yang rusak, terhapus, atau terkena virus.
Website slax menyediakan modul-modul sederhana tersebut secara cuma-cuma, bahkan mereka mengizinkan anda untuk merekayasa modul tersebut, dengan syarat, anda harus memberitahukan kepada orang lain yang menggunakan hasil rekayasa anda bahwa anda telah merekayasa OS tersebut dan pembuat asli slax tidak bertanggung jawab atas segala kerusakan.

Setelah anda paham bagaimana cara Slax bekerja, sekarang kita akan masuk dalam pembahasan instalasi pada Flash Disk. Saya tidak akan membahas masalah pemrograman disini, jadi anda tidak perlu khawatir kalau anda akan dibanjiri oleh informasi-informasi yang anda perlukan. Untuk membangun sebuah Slax Flash Disk, pertama anda harus menyiapkan sebuah Flash Disk (Akan disingkat menjadi FD) kosong. Format yang disarankan adalah FAT32. Kemudian anda download sebuah program yang bernama Syslinux. Instalkan Syslinux dengan mengikuti instruksi seperti yang ada di paket syslinux tersebut. Kedua, download paket Slax. Sebagai contoh, jika FD anda berada di drive "h:\ " maka simpan folder "/boot/" di "H:\Boot" dan folder "/Slax/" di "h:\Slax\", kemudian jika komputer anda adalah laptop dengan merek zyrex, pastikan seting BIOS anda mengizinkan anda untuk menggunakan linux. Set BIOS anda supaya bisa boot dari Flash Disk, restart. Anda akan melihat linux berjalan di komputer anda.
Perbedaan Kernell Linux dan Windows

Secara umum kernel itu fungsinya me-manage resource yang ada di komp dan me-manage semua proses. 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.
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.
Di bawah ini ada beberapa sistem operasi yang menggunakan Monolithic kernel:
Kernel sistem operasi UNIX tradisional, seperti halnya kernel dari sistem operasi UNIX keluarga BSD (NetBSD, BSD/I, FreeBSD, dan lainnya).
Kernel sistem operasi GNU/Linux.
Kernel sistem operasi Windows (versi 1.x hingga 4.x; kecuali Windows NT).
linux :

Open source code kernelnya / kodenya dibuka,Linux memiliki kernel yang stabil. Dia dapat berjalan 24 jam sehari 7 hari seminggu tanpa harus restart. Ini yang membuat Linux menjadi unggul jika dibandingkan dengan MS Windows yang kadang minimal dalam satu hari kita harus me-restart ulang untuk menyegarkannya.
Kernel Linux memiliki interface untuk mengakses sistem, library, dan user interface. Interface untuk sistem berperan penting karena secara umum bertanggung jawab atas proses-proses. Melalui sebuah perintah khusus proses diganti dari mode pengguna ke mode kernel.
Seperti dalam Windows, kernel bekerjasama dengan perangkat I/O dan menangani pengelolaan kapasitas. Bagian yang besar mengurusi manajemen proses, memilih tugas mana yang menjadi prioritas, dan mendapatkan giliran yang mana yang harus dikerjakan. Untuk itu, pada level terbawah terdapat fungsi-fungsi untuk mengendalikan interupsi.
Kernel Linux pada mulanya ditulis sebagai hobi oleh pelajar universitas Finland Linus Torvalds yang belajar di Universitas Helsinki, untuk membuat kernel Minix yang bebas dan dapat sunting. (Minix adalah projek pelajaran menyerupai UNIX direka untuk mudah dan bukannya untuk kegunaan perniagaan.) Versi 0.01 dikeluarkan ke Internet pada September 1991, Versi 0.02 pada 5 Oktober 1991.

windows :
Kernelnya bersifat close source / kodenya ditutup,kernel windows...itu adalah bagian dalam dari sistem operasi windows seperti registry, library nya..kita hanya bisa mengedit sedikit saja tidak bisa dalam seperti nix..makanya disebut sebagai sistem cathedral..tidak seperti opensources

Hal ini bertujuan untuk menjadi yang paling komprehensif kernel1, 2 perbandingan terbaru gaya Unix yang paling populer versus kernel terbaru kernel yang paling populer. Saat ini adalah kernel 2.6.28 Linux dan Windows Vista SP1 kernel. Datang di 2009 adalah 2.6.29 versus Windows Vista SP1.

Pada Windows kernel ditangani oleh file kernel32.dll. Kernel ini menangani manajemen memori operasi masukan / keluaran dan interrupt. Ketika boot Windows, kernel32.dll di-load ke dalam spasi protected memory sehingga spasi memorinya tidak digunakan oleh aplikasi lain. Apabila ada aplikasi yang mencoba mengambil spasi memori kernel32.dll, akan muncul pesan kesalahan "invalid page fault".
GNOME

GNOME - Guh-Nome (GNU Network Object Model Environment) adalah graphical user interface (GUI) & aplikasi desktop untuk sebagian pengguna Unix dan Linux. Ada juga yang di tujukan untuk membuat OS Linux lebih mudah di gunakan untuk non-pemrogram yang pada umum nya terkalit dengan Windows dan kumpulan aplikasi yang menyerupai. GNOME adalah salah satu desktop bagi para pengguna Linux yang memiliki kemudahan memilih aplikasi desktop, dari beberapa tampilan desktop yang tersedia. Dengan GNOME desktop dapat di buat agar terlihat seperti Windows98, Mac OS, atau dengan efect 3D desktop. Gnome juga memiliki kemiripan yang bisa di temukan di Windows Office 97, word processor, a spreadsheet program, database manager, presentation developer, Web browser, dan e-mail program.

GNOME berawal dari upaya dan usaha pengembangan para sukarelawan yang bekerja di bawah naungan Free Software Foundation, sebuah organisasi yang di dirikan oleh richard Stallman. Stallman dan anggota Free Software Foundation meyakini bahwa source code harus selalu publik dan terbuka untuk perubahan sehingga terus dapat di tingkatkan dan dikembangkan oleh orang lain.GNOME sebagai upaya atau alternatif agar pasar aplikasi desktop tidak di pegang oleh 1 vendor.Tujuan GNOME adalah menyediakan sejumlah aplikasi yang mudah dan ramah untuk di gunakan.Selain sebagai desktop, GNOME juga datang untuk pengguna dan kumpulan aplikasi handheld PalmPilot.

KDE
KDE adalah (K Desktop Environment) merupakan salah satu windows manager di sistem operasi berbasis UNIX. Pembuatan aplikasi yang berjalan di KDE harus mengikuti standar antarmuka yang ramah dan efisien bagi penggunanya. KDE adalah sebuah aplikasi desktop environment untuk sistem operasi berbasis UNIX (termasuk Linux, FreeBSD, NetBSD dan lain-lainnya). Fungsinya adalah untuk mengurangi penggunaan command line yang mungkin terlalu rumit bagi pengguna yang awam di sistem operasi berbasis UNIX tersebut, sehingga pengoperasiannya semudah mengoperasikan desktop pada lingkungaN

GNOME VS KDE
KDE dan GNOME merupakan suatu GUI (graphical user interface) atau desktop environtment (lingkungan desktop) yang memudahkan user untuk bisa mengakses aplikasi di linux. Sebenarnya GUI itu tidak hanya KDE dan GNOME saja yang ada, tapi ada juga yang namanya IceWM,XFCE,Blackbox,dan Fluxbox. ringkasnya GUI itu adalah tampilan yang menjembatani penggunaan sistem linux dengan user agar lebih mudah digunakan, jadi usernya tinggal klak-klik aja sana sini.

PERLU diingat bahwa GUI pada linux (yaitu KDE,GNOME dll) berbeda dengan sistem operasi W NDOWS. Kalau di windows, GUInya termasuk sistem utama. AKibatnya ketika GUI pada windows crash, maka sistem utama juga akan ikut crash. Berbeda dg linux, dimana GUInya berjalan di atas sistem X-window. Jadi ketika GUI atau Xwindownya crash, sistem utamanya tidak ikut crash. solusinya cukup restart aja lingkungan X-windownya Dengan kata lain GUI pada linux bukanlah sistem, melainkan aplikasi grafis yang berjalan di atas sistem. Kita anggap saja X-window adalah baju, sedangkan sistem utama adalah orang. KEtika bajunya robek tentu kita tidak perlu menjahit orangnya tetapi bajunya yang kita jahit, atau ganti dg baju yang lain.
Sebenarnya X-window adalah kumpulan bagian yang bekerjasama untuk menampilkan GUI, bagian2 tersebut adalah :
- dasar sistem window, program yang menyediakan layanan untuk sistem X-window
- X network protocol, protokol yang digunakan untuk berkomunikasi lewat jaringan
- Xlib, interface tingkat rendah. Bagian utama yang mengimplementasikan X Netwotk protocol antara sistem jaringan dengan program-program tingkat tinggi
- Window manager, menghubungkan ketiga bagian di atas. WIndow manager adalah aplikasi X yang berfungsi untuk mengatur bagaimana window ditampilkan kepada pengguna..

Remastersys Linux Distro

remastering itu cara untuk menambahkan atau mengurangi aplikasi-aplikasi atau default layanan yang ada di sebuah OS linux. Yang bisa ditambahkan seperti tema, background atau aplikasi-aplikasi software lainnya.

nah ini langkah-langkahnya:
Sedangkan untuk mempermudah pembuatan iso ketika proses remastering
selesai dilakukan, maka digunakan tool yang disebut remastersys. Tool ini
digunakan untuk mengkonversi system operasi yang telah diberi tambahan
aplikasi ke dalam bentuk .iso sehingga nantinya bisa dibuat dalam bentuk
livecd.
Langkah-langkah yang digunakan dalam melakukan remastersys ini
adalah:

1. Melakukan instalisasi system operasi yang akan digunakan, yang
dalam ini adalah linux ubuntu 8.04 dengan menggunakan cd live
ubuntu 8.04. Sudo username:hendy, password:laziale

2. Setelah system operasi terinstal, hal berikutnya yang dilakukan adalah
mencari beberapa aplikasi recovery yang akan ditambahkan ke dalam
system operasi.

3. Kemudian dilakukan penginstallan tool remastersys. Saat
penginstallan remastersys, pada awalnya akan menemui kegagalan
karena dependensi yang dibutuhkan belum tersedia. Untuk itu
dilakukan penginstallan dependensi melalui internet atau melalui dvd
repo.

4. Membuat folder baru di direktori home/hendy yang nantinya akan
digunakan sebagai repository local. Dalam hal ini folder yang dibuat
diberi nama repo_tubes

5. Kemudian memindahkan aplikasi yang telah dibuat ke dalam folder
repo_tubes dan kemudian mengekstrak tiap aplikasi tersebut. Setelah
semua terekstrak maka dilakukan penghapusan terhadap file-file
aplikasi sebelum diekstrak yang masih dalam bentuk
.tar/.tar.gz/.tar.bz2

6. Langkah selanjutnya adalah masuk ke dalam terminal. Setelah masuk
maka hal yang dilakukan adalah mengetikkan perintah (sudo dpkgscanpackages
repo_tubes/dev/null | gzip -9c > repo_tubes/Package.gz)
yang bertujuan unutk mengeset folder repo-tubes menjadi repository local.
7. Setelah itu mengetikkan perintah (sudo gedit /etc/apt/sources.list).
Setelah sources list terbuka, kemudian melakukan pengeditan dengan
menambahkan baris berisi deb file:home/hendy repo_tubes/ .
Setelah itu menyimpannya(save) dan keluar dari sources list.

8. Setelah melakukan pengeditan di dalam source list, hal berikutnya
yang dilakukan adalah mengetikkan perintah (sudo apt-get update)
untuk mengupdate package yang ada dalam repository local

9. Setelah itu hal yang dilakukan adalah melakukan penginstallan
terhadap aplikasi yang diperoleh.
Perintah yang diketikkan adalah (apt-get install nama_aplikasi). Jadi
perintah-perintah yang diketikkan adalah:
 Sudo apt-get install ddrescue
 Sudo apt-get install foremost
 Sudo apt-get install magicrescue
 Sudo apt-get install scalpet
 Sudo apt-get install testdisk

10. Setelah semua proses penginstallan selesai, maka kemudian hal yang
dilakukan adalah membuka synaptic. Tujuannya untuk
membuang(uninstall) aplikasi-aplikasi yang tidak dibutuhkan untuk
menghemat kapasitas ketika hasil remastering di-burn ke dalam cd.

11. Setelah dirasa cukup, maka kembali ke dalam terminal untuk
melakukan convert ke dalam bentuk iso. Perintah yang diketikkan
adalah (sudo remastersys backup custom.iso)
Hasil remastering dalam bentuk file iso (custom.iso) akan berada di
direktori /home/remastersys.

sebenarnya fungsi remastersys convert ke iso nya saja, dan kalau punya .iso berarti kita punya OS distro bikinan kita sendiri walau hanya nambah-nambahi aplikasi saja...