sALam pErDaMaiAn...

Friday, April 25, 2008

diklat blogger bagi guru

Tidak diragukan lagi kekuatan partisipasi publik di Cianjur akan membawa dampak yang luar biasa positif terhadap perkembangan pembangunan di kabupaten Cianjur baik di bidang Pendidikan, Kesehatan, Politik,Keamanan, Sosial, dan Budaya. Untuk melakukan hal ini sangatlah jelas bukan pekerjaan yang mudah seperti membalikan tangan kita, perlu kerja keras dan kerja cerdas untuk memulai, menjalankan dan mempertahankannya.

Adalah Cianjur Blogger Community (CBC) sebuah Komunitas Blogger Cianjur yang akan memprakarsai penguatan partisipasi publik di cianjur, melalui sentuhan Teknologi informasi CBC akan membawa masyarakat cianjur menjadi masyarakat yang peduli dan bangga terhadap tempat lahirnya. Maka disanalah akan tercipta Partisipasi Publik yang nyata.
Dua paragraf diatas merupakan kutipan dari postingan yang terlampir di Cianjur Blogger Community. Komunitas Blogger Cianjur yang nanti akan diresmikan kelahirannya pada tanggal 20 April 2008 bersamaan dengan digelarnya Diklat Blog Bagi Guru Cianjur, yang selanjutnya disusul oleh Para Pengelola Pontren dan berikutnya bagi warga cianjur umumnya.

Kegiatan yang bakal di laksanaka dalam waktu dekat ini adalah Diklat Blog Bagi Guru Cianjur. Diklat ini digelar tiada lain memberikan sedikit ilmu serta informasi khususnya bagi para guru Kab. Cianjur dengan tema yaitu Internet Sebagai Sarana Pembelajaran Interaktif bagi Guru dan Siswa. Blog memang bisa dijadikan sebagai sarana pembelajaran bagi guru dan siswa.

SMK ISLAMIYAH SAYANG CIANJUR MENERIMA SISWA BARU


Akhirnya Datang Juga.....

Setelah sekian lama Yayasan Taman Pendidikan Islamiyah Sayang mengalami kemandulan dalam hirarki pendidikan di lembaganya, kini Yayasan yang memiliki sejarah/historis di Kabupaten Cianjur mulai memperlihatkan kualitas pendidikannya dengan didirikan sebuah sekolah kejuruan yaitu SMK Islamiyah Sayang, pada awal pendirian SMK (dulu MAK) Islamiyah pada tahun 2007 telah terdaftar 47 Siswa hingga kini bertahan 41 Siswa.
Dan Kini SMK Islamiyah Sayang Cianjur di Tahun Ajaran 2008/2009 Mulai menerima Siswa Baru yang dibatasi hanya untuk 50 Orang saja.
Beda dengan sekolah yang lain, SMK Islamiyah Sayang hanya menerima 50 Siswa saja, ini artinya SMK Islamiyah tidak mengedepankan Kuantitas Partisipasi Pendidikan tapi Mengutamakan Kualitas Pendidikan itu sendiri, menurut Kepala SMK Islamiyah, Pudin Sanueding mengungkapkan " Bingung juga, metode seperti apa yang dilakukan oleh sekolah yang Jumlah Siswanya Sampai Ribuan, maka tak jarang dari siswa/inya tidak terperhatikan, bahkan bebas begitu saja, dan artinya itu Pendidikan bagi siswa itu tidak berhasil, dan biasanya di Sekolah yang banyak Muridnya akan mengedepankan orang-orang Pintar dan cerdas untuk diajak Bicara sementara kaum Mayoritas yang notabene kurang dalam segi IQ, akan tertinggal begitu saja, Bisa memang murid banyak tapi juga harus diimbangi oleh Jumlah guru yang banyak dan berkualitas, dan ingat juga Sarjana belum tentu bisa. "
Untuk itulah SMK Islamiyah Sayang hanya Menerima siswa sebanyak 50 Siswa dalam tahun ajaran ini.
Adapun persyaratan untuk masuk ke SMK Islamiyah Sayang sangatlah ringan, siswa mampu atau tidak mampu hanya akan membayar Rp. 2,8 juta untuk Belajar selama 3 tahun dan telah mendapatkan fasilitas 1 Unit Komputer, 1 Set Uniform SMK, Ta'aruf, ujian dsb.
Dalam metode pembelajaran setiap siswa menggunakan komputer setiap hari dan aktifitas sepenuhna menggunakan komputer, komputer hanya digunakan oleh 1 siswa tidak dipindah tangankan kepada siswa lain, sehingga siswa bertanggung jawab rusak atau tidaknya PC, sehingga siswa dapat berkreasi, merakit, emnginstall berbagaimacam software sepuasnya.
SMK Islamiyah Sayang dalam proses pembelajarannya telah terhubung ke Jaringan Internasional (Internet) , dan anda Orang Tua tidak usah khawatir karena Internet kini tidak melayani situs-situs Porno dan Situs yang berbahaya untuk Siswa, dan Administrator Lab SMK Islamiyah Telah terlatih dalam Open DNS serta Blocking IP untuk Situs Porno.

Untuk pendaftaran selengkapnya Silahkan hubungi Sekretariat Pendaftaran :
Jl. Prof Moh Yamin No. 110 Sayang Cianjur 43213 Telp (0263) 265254 - 08156309231
atau Kunjungi Website SMK Islamiyah
Bagi siswa yang dari Luar kota disediakan Pondok Pesantren.

Wednesday, April 16, 2008

Pemanasan GLobal (Global Warming)

Perubahan Iklim Global atau dalam bahasa inggrisnya GLOBAL CLIMATE CHANGE menjadi pembicaraan hangat di dunia dan hari ini Konferensi Internasional yang membahas tentang hal tersebut sedang diselenggarakan di Nusa Dua Bali mulai tanggal 3 hingga 14 Desember 2007, diikuti oleh delegasi dari lebih dari 100 negara peserta. Salah satu penyebab perubahan iklim adalah Pemanasan Global (Global Warming).

Pemanasan Global adalah kejadian meningkatnya temperatur rata-rata atmosfer, laut dan daratan Bumi. Pemanasan Global disebabkan diantaranya oleh “Greenhouse Effect” atau yang kita kenal dengan EFEK RUMAH KACA. Efek rumah kaca disebabkan karena naiknya konsentrasi gas karbondioksida (CO2) dan gas-gas lainnya di atmosfer. Kenaikan konsentrasi gas CO2 ini disebabkan oleh kenaikan pembakaran bahan bakar minyak (BBM), batu bara dan bahan bakar organik lainnya yang melampaui kemampuan tumbuhan-tumbuhan dan laut untuk mengabsorbsinya.

Istilah efek rumah kaca, diambil dari cara tanam yang digunakan para petani di daerah iklim sedang (negara yang memiliki empat musim). Para petani biasa menanam sayuran atau bunga di dalam rumah kaca untuk menjaga suhu ruangan tetap hangat. Kenapa menggunakan kaca/bahan yang bening? Karena sifat materinya yang dapat tertembus sinar matahari. Dari sinar yang masuk tersebut, akan dipantulkan kembali oleh benda/permukaan dalam rumah kaca, ketika dipantulkan sinar itu berubah menjadi energi panas yang berupa sinar inframerah, selanjutnya energi panas tersebut terperangkap dalam rumah kaca. Demikian pula halnya salah satu fungsi atmosfer bumi kita seperti rumah kaca tersebut. Sebagai Illustrasi sederhana tentang terjadinya pemanasan Global silahkan KLIK DISINI

Untuk mencegah dan mengurangi emisi gas karbondioksida dan efek rumah kaca mendorong lahirnya PROTOKOL KYOTO. Dinegosiasikan di Kyoto Jepang pada Desember 1997, dibuka untuk penandatanganan 16 Maret 1998 dan ditutup pada 15 Maret 1999. Persetujuan ini mulai berlaku pada tanggal 16 Pebruari 2005, setelah ratifikasi resmi yang dilakukan Rusia pada 18 November 2004.

Hingga 23 Oktober 2007 sudah 179 negara yang meratifikasi PROTOKOL KYOTO tersebut, daftar negara dapat anda lihat DISINI. Ada empat negara yang telah menandatangani namun belum meratifikasi protokol Kyoto tersebut yaitu, Australia (tidak berminat meratifikasi), Monako, Amerika Serikat yang merupakan pengeluar terbesar gas rumah kaca juga tidak berminat untuk meratifikasinya, sisanya Kazakstan. Tetapi setelah baru-baru ini Australia meratifikasinya menjelang konferensi perubahan iklim di Bali, maka tinggal Amerika Serikat sendiri sebagai negara industri besar yang belum meratifikasinya. Negara lain yang belum memberikan reaksi adalah Afghanistan, Andorra, Brunei, Rep. Afrika Tengah, Chad, Komoro Island, Irak, Taiwan, Republik Demokratik Arab Sahrawi, San Marino, Somalia, tajikistan, Timor Leste, Tnga, Turki, Vatikan, dan Zimbabwe.

Tuesday, February 26, 2008

arti dan sejarah pancasila

Garuda Pancasila merupakan lambang negara Indonesia. Lambang ini dirancang oleh Sultan Hamid II dari Pontianak, yang kemudian disempurnakan oleh Presiden Soekarno. Sedangkan Pancasila itu sendiri merupakan dasar filosofi negara Indonesia. Kata Pancasila terdiri dari dua kata dari bahasa Sansekerta: pañca berarti lima dan śīla berarti prinsip atau asas.

Sejarah Pancasila

Hari Lahir Pancasila

Sejarah pembuatan Pancasila ini berawal dari pemberian janji kemerdekaan di kemudian hari kepada bangsa Indonesia oleh Perdana Menteri Jepang saat itu, Kuniaki Koiso (國昭 小磯 atau 国昭 小磯) pada tanggal 7 September 1944. Lalu, pemerintah Jepang membentuk BPUPKI (Badan Penyelidik Usaha-Usaha Persiapan Kemerdekaan Indonesia) pada tanggal 29 April 1945 (2605, tahun Showa 20) yang bertujuan untuk mempelajari hal-hal yang berhubungan dengan tata pemerintahan Indonesia Merdeka.

BPUPKI semula beranggotakan 70 orang (62 orang Indonesia dan 8 orang anggota istimewa bangsa Jepang yang tidak berhak berbicara, hanya mengamati/ observer),kemudian ditambah dengan 6 orng Indonesia pada sidang kedua. Sidang pertama pada tanggal 29 Mei 1945 - 1 Juni 1945 untuk merumuskan falsafah dasar negara bagi negara Indonesia. Selama empat hari bersidang ada tiga puluh tiga pembicara. Penelitian terakhir menunjukkan bahwa Soekarno adalah "Penggali/Perumus Pancasila". Tokoh lain yang yang menyumbangkan pikirannya tentang Dasar Negara antara lain adalah Mohamad Hatta, Muhammad Yamin dan Soepomo.

"Klaim" Muhammad Yamin bahwa pada tanggal 29 Mei 1945 dia mengemukakan 5 asas bagi negara Indonesia Merdeka, yaitu kebangsaan, kemanusiaan, ketuhanan, kerakyatan, dan kesejahteraan rakyat. oleh "Panitia Lima" (Bung Hatta cs)diragukan kebenarannya. Arsip A.G Pringgodigdo dan Arsip A.K.Pringgodigdo yang telah ditemukan kembali menunjukkan bahwa Klaim Yamin tidak dapat diterima. Pada hari keempat, Soekarno mengusulkan 5 asas yaitu kebangsaan Indonesia, internasionalisme atau peri-kemanusiaan, persatuan dan kesatuan, kesejahteraan sosial, dan ketuhanan yang Maha Esa, yang oleh Soekarno dinamakan Pancasila, Pidato Soekarno diterima dengan gegap gempita oleh peserta sidang. Oleh karena itu, tanggal 1 Juni 1945 diketahui sebagai hari lahirnya pancasila.

Pada tanggal 17 Agustus 1945, setelah upacara proklamasi kemerdekaan, datang berberapa utusan dari wilayah Indonesia Bagian Timur. Berberapa utusan tersebut adalah sebagai berikut:

  1. Sam Ratulangi, wakil dari Sulawesi
  2. Hamidhan, wakil dari Kalimantan
  3. I Ketut Pudja, wakil dari Nusa Tenggara
  4. Latuharhary, wakil dari Maluku.

Mereka semua berkeberatan dan mengemukakan pendapat tentang bagian kalimat dalam rancangan Pembukaan UUD yang juga merupakan sila pertama Pancasila sebelumnya, yang berbunyi, "Ketuhanan dengan kewajiban menjalankan syariat Islam bagi pemeluk-pemeluknya".

Pada Sidang PPKI I, yaitu pada tanggal 18 Agustus 1945, Hatta lalu mengusulkan mengubah tujuh kata tersebut menjadi "Ketuhanan Yang Maha Esa". Pengubahan kalimat ini telah dikonsultasikan sebelumnya oleh Hatta dengan 4 orang tokoh Islam, yaitu Kasman Singodimejo, Ki Bagus Hadikusumo, dan Teuku M. Hasan. Mereka menyetujui perubahan kalimat tersebut demi persatuan dan kesatuan bangsa. Dan akhirnya bersamaan dengan penetapan rancangan pembukaan dan batang tubuh UUD 1945 pada Sidang PPKI I tanggal 18 Agustus 1945 Pancasila ditetapkan sebagai dasar negara Indonesia.

Hari Kesaktian Pancasila

!Artikel utama untuk bagian ini adalah: Gerakan 30 September

Pada tanggal 30 September 1965, adalah awal dari Gerakan 30 September (G30SPKI). Pemberontakan ini merupakan wujud usaha mengubah unsur Pancasila menjadi ideologi komunis. Hari itu, enam Jendral dan berberapa orang lainnya dibunuh sebagai upaya kudeta. Namun berkat kesadaran untuk mempertahankan Pancasila maka upaya tersebut mengalami kegagalan. Maka 30 September diperingati sebagai Hari Peringatan Gerakan 30 September dan tanggal 1 Oktober ditetapkan sebagai Hari Kesaktian Pancasila, memperingati bahwa dasar Indonesia, Pancasila, adalah sakti, tak tergantikan.

Pancasila

1. Ketuhanan Yang Maha Esa
2. Kemanusiaan Yang Adil Dan Beradab
3. Persatuan Indonesia
4. Kerakyatan Yang Dipimpin Oleh Hikmat Kebijaksanaan Dalam Permusyawaratan/Perwakilan
5. Keadilan Sosial Bagi Seluruh Rakyat Indonesia

Makna Lambang Garuda Pancasila

  • Burung Garuda melambangkan kekuatan
    • Warna emas pada burung Garuda melambangkan kejayaan
  • Perisai di tengah melambangkan pertahanan bangsa Indonesia
    • Simbol-simbol di dalam perisai masing-masing melambangkan sila-sila dalam Pancasila, yaitu:
      • Bintang melambangkan sila Ketuhanan Yang Maha Esa
      • Rantai melambangkan sila Kemanusiaan Yang Adil Dan Beradab
      • Pohon beringin melambangkan sila Persatuan Indonesia
      • Kepala banteng melambangkan sila Kerakyatan Yang Dipimpin Oleh Hikmat Kebijaksanaan Dalam Permusyawaratan/Perwakilan
      • Padi dan Kapas melambangkan sila Keadilan Sosial Bagi Seluruh Rakyat Indonesia
    • Warna merah-putih melambangkan warna bendera nasional Indonesia. Merah berarti berani dan putih berarti suci
    • Garis hitam tebal yang melintang di dalam perisai melambangkan wilayah Indonesia yang dilintasi Garis Khatulistiwa
  • Jumlah bulu melambangkan hari proklamasi kemerdekaan Indonesia (17 Agustus 1945), antara lain:
    • Jumlah bulu pada masing-masing sayap berjumlah 17
    • Jumlah bulu pada ekor berjumlah 8
    • Jumlah bulu di bawah perisai/pangkal ekor berjumlah 19
    • Jumlah bulu di leher berjumlah 45
  • Pita yg dicengkeram oleh burung garuda bertuliskan semboyan negara Indonesia, yaitu Bhinneka Tunggal Ika yang berarti "berbeda beda, tetapi tetap satu jua".

Asal Istilah Pancasila dan Semboyan "Bhinneka Tunggal Ika"

Semboyan "Bhinneka Tunggal Ika" yang ada pada pita yang dicengkram oleh burung garuda, berasal dari Kitab Negarakertagama yang dikarang oleh Empu Prapanca pada zaman kekuasaan kerajaan Majapahit. Pada satu kalimat yang termuat mengandung istilah "Bhinneka Tunggal Ika", yang kalimatnya seperti begini: "Bhinneka tunggal Ika, tanhana dharma mangrwa. " Sedangkan istilah Pancasila dimuat dalam Kitab Sutasoma yang ditulis oleh Empu Tantular yang berisikan sejarah kerajaan bersaudara Singhasari dan Majapahit. Istilah Pancasila ini muncul sebagai Pancasila Karma, yang isinya berupa lima larangan sebagai berikut:

  1. Melakukan tindak kekerasan
  2. Mencuri
  3. Berjiwa dengki
  4. Berbohong
  5. Mabuk (oleh miras)

Peraturan Tentang Lambang Negara

Lambang negara Garuda diatur penggunaannya dalam Peraturan Pemerintah No. 43/1958 [1]

Lagu: Garuda Pancasila

Garuda pancasila
Akulah pendukungmu
Patriot proklamasi
Sedia berkorban untukmu
Pancasila dasar negara
Rakyat adil makmur sentosa
Pribadi bangsaku
Ayo maju maju
Ayo maju maju
Ayo maju maju

Trivia

  • Pada bagian rantai yang mewakili sila ke 2, salah satu gelang pada rantai awalnya berbentuk kotak.

Catatan Kaki

  1. ^ (id)Peraturan Pemerintah No.43

Lihat pula

Konsep IP Address di Internet

Selain ke tiga kelas di atas, ada 2 kelas lagi yang ditujukan untuk pemakaian khusus, yakni kelas D dan kelas E. Jika 4 bit pertama adalah 1110, IP Address merupakan kelas D yang digunakan untuk multicast address, yakni sejumlah komputer yang memakai bersama suatu aplikasi (bedakan dengan pengertian network address yang mengacu kepada sejumlah komputer yang memakai bersama suatu network). Salah satu penggunaan multicast address yang sedang berkembang saat ini di Internet adalah untuk aplikasi real-time video conference yang melibatkan lebih dari dua host (multipoint), menggunakan Multicast Backbone (MBone). Kelas terakhir adalah kelas E (4 bit pertama adalah 1111 atau sisa dari seluruh kelas). Pemakaiannya dicadangkan untuk kegiatan eksperimental.

Jenis kelas address yang diberikan oleh kooordinator IP Address bergantung kepada kebutuhan instansi yang meminta, yakni jumlah host yang akan diintegrasikan dalam network dan rencana pengembangan untuk beberapa tahun mendatang. Untuk perusahaan, kantor pemerintah atau universitas besar yang memiliki puluhan ribu komputer dan sangat berpotensi untuk tumbuh menjadi jutaan komputer, koordinator IP Address akan mempertimbangkan untuk memberikan kelas A. Contoh IP Address kelas A yang dipakai di Internet adalah untuk amatir paket radio seluruh dunia, mendapat IP nomor 44.xxx.xxx.xxx. Untuk kelas B, contohnya adalah nomor 167.205.xxx.xxx yang dialokasikan untuk ITB dan jaringan yang terkait ke ITB dibawah koordinator Onno W. Purbo.

Address Khusus

Selain address yang dipergunakan untuk pengenal host, ada beberapa jenis address yang digunakan untuk keperluan khusus dan tidak boleh digunakan untuk pengenal host. Address tersebut adalah :

  • Network Address.
    Address ini digunakan untuk mengenali suatu network pada jaringan Internet. Misalkan untuk host dengan IP Address kelas B 167.205.9.35. Tanpa memakai subnet, network address dari host ini adalah 167.205.0.0. Address ini didapat dengan membuat seluruh bit host pada 2 segmen terakhir menjadi 0. Tujuannya adalah untuk menyederhanakan informasi routing pada Internet. Router cukup melihat network address (167.205) untuk menentukan kemana paket tersebut harus dikirimkan. Contoh untuk kelas C, network address untuk IP address 202.152.1.250 adalah 202.152.1.0. Analogi yang baik untuk menjelaskan fungsi network address ini adalah dalam pengolahan surat pada kantor pos. Petugas penyortir surat pada kantor pos cukup melihat kota tujuan pada alamat surat (tidak perlu membaca seluruh alamat) untuk menentukan jalur mana yang harus ditempuh surat tersebut. Pekerjaan "routing" surat-surat menjadi lebih cepat. Demikian juga halnya dengan router di Internet pada saat melakukan routing atas paket-paket data.
  • Broadcast Address.
    Address ini digunakan untuk mengirim/menerima informasi yang harus diketahui oleh seluruh host yang ada pada suatu network. Seperti diketahui, setiap paket IP memiliki header alamat tujuan berupa IP Address dari host yang akan dituju oleh paket tersebut. Dengan adanya alamat ini, maka hanya host tujuan saja yang memproses paket tersebut, sedangkan host lain akan mengabaikannya. Bagaimana jika suatu host ingin mengirim paket kepada seluruh host yang ada pada networknya ? Tidak efisien jika ia harus membuat replikasi paket sebanyak jumlah host tujuan. Pemakaian bandwidth akan meningkat dan beban kerja host pengirim bertambah, padahal isi paket-paket tersebut sama. Oleh karena itu, dibuat konsep broadcast address. Host cukup mengirim ke alamat broadcast, maka seluruh host yang ada pada network akan menerima paket tersebut. Konsekuensinya, seluruh host pada network yang sama harus memiliki address broadcast yang sama dan address tersebut tidak boleh digunakan sebagai IP Address untuk host tertentu. Jadi, sebenarnya setiap host memiliki 2 address untuk menerima paket : pertama adalah IP Addressnya yang bersifat unik dan kedua adalah broadcast address pada network tempat host tersebut berada. Address broadcast diperoleh dengan membuat seluruh bit host pada IP Address menjadi 1. Jadi, untuk host dengan IP address 167.205.9.35 atau 167.205.240.2, broadcast addressnya adalah 167.205.255.255 (2 segmen terakhir dari IP Address tersebut dibuat berharga 11111111.11111111, sehingga secara desimal terbaca 255.255). Jenis informasi yang dibroadcast biasanya adalah informasi routing.
  • Netmask.
    Adalah address yang digunakan untuk melakukan masking / filter pada proses pembentukan routing supaya kita cukup memperhatikan beberapa bit saja dari total 32 bit IP Address. Artinya dengan menggunakan netmask tidak perlu kita memperhatikan seluruh (32 bit) IP address untuk menentukan routing, akan tetapi cukup beberapa buah saja dari IP address yg kita perlu perhatikan untuk menentukan kemana packet tersebut dikirim.

Kaitan antara host address, network address, broadcast address & network mask sangat erat sekali - semua dapat dihitung dengan mudah jika kita cukup paham mengenai bilangan Biner. Jika kita ingin secara serius mengoperasikan sebuah jaringan komputer menggunakan teknologi TCP/IP & Internet, adalah mutlak bagi kita untuk menguasai konsep IP address tersebut. Konsep IP address sangat penting artinya bagi routing jaringan Internet. Kemampuan untuk membagi jaringan dalam subnet IP address penting artinya untuk memperoleh routing yang sangat effisien & tidak membebani router-router yang ada di Internet. Mudah-mudahan tulisan awal ini dapat membuka sedikit tentang teknologi / konsep yang ada di dalam Internet.

Aplikasi Antarmuka I/O; Subsistem Kernel; Operasi Perangkat Keras

Aplikasi Antarmuka I/O

Bagian ini akan membahas bagaimana teknik dan struktur antarmuka yang memungkinkan I/O diperlakukan secara seragam. Salah satu contohnya adalah ketika suatu aplikasi ingin membuka data yang ada dalam suatu disk tanpa mengetahui jenis disk apa yang akan diaksesnya. Untuk mempermudah pengaksesan, sistem operasi melakukan standarisasi pengaksesan pada perangkat I/O. Pendekatan inilah yang dinamakan aplikasi antarmuka I/O.

Seperti layaknya permasalahan dari software-engineering yang rumit lainnya, aplikasi antarmuka I/O melibatkan abstraksi, enkapsulasi, dan software layering. Abstraksi dilakukan dengan membagi-bagi detail perangkat-perangkat I/O ke dalam kelas-kelas yang lebih umum. Dengan adanya kelas-kelas yang umum ini, maka akan lebih mudah bagi fungsi-fungsi standar ( antarmuka) untuk mengaksesnya. Selanjutnya, keberadaan device driver pada masing-masing peralatan I/O akan berfungsi meng-enkapsulasi perbedaan-perbedaan yang ada dari setiap anggota kelas-kelas yang umum tadi.

Tujuan dari adanya lapisan device driver ini adalah untuk menyembunyikan perbedaan-perbedaan yang ada pada pengendali perangkat dari subsistem I/O yang terdapat dalam kernel. Dengan demikian, subsistem I/O dapat bersifat mandiri dari perangkat keras. Hal ini sangat menguntungkan dari segi pengembangan perangkat keras, karena tidak perlu menunggu vendor sistem operasi untuk mengeluarkan support code untuk perangkat-perangkat keras baru yang akan dikeluarkan oleh para vendor perangkat keras tersebut.

Spooling adalah proses yang sangat berguna saat berurusan dengan perangkat I/O dalam sistem multiprogram. Sebuah spool adalah sebuah buffer yang menyimpan keluaran untuk sebuah perangkat yang tidak dapat menerima interleaved data streams. Salah satu perangkat spool yang paling umum adalah printer.

Printer hanya dapat melayani satu pekerjaan pada waktu tertentu, namun beberapa aplikasi dapat meminta printer untuk mencetak. Spooling memungkinkan keluaran mereka tercetak satu per satu, tidak tercampur. Untuk mencetak sebuah berkas, pertama-tama sebuah proses mengeneralisasi berkas secara keseluruhan untuk di cetak dan ditempatkan pada spooling directory. Sistem operasi akan menyelesaikan masalah ini dengan meng-intercept semua keluaran kepada printer. Tiap keluaran aplikasi sudah di-spooled ke disk berkas yang berbeda. Ketika sebuah aplikasi selesai mencetak, sistem spooling akan melanjutkan ke antrian berikutnya.

Di dalam beberapa sistem operasi, spooling ditangani oleh sebuah sistem proses daemon. Pada sistem operasi yang lain, sistem ini ditangani oleh in-kernel thread. Pada kedua penanganan tersebut, sistem operasi menyediakan antarmuka kontrol yang membuat users and sistem administrator dapat menampilkan antrian tersebut, untuk mengenyahkan antrian-antrian yang tidak diinginkan sebelum mulai dicetak.

Contoh lain adalah penggunaan spooling pada transfer berkas melalui jaringan yang biasanya menggunakan daemon jaringan. Untuk mengirim berkas ke suatu tempat, user menempatkan berkas tersebut dalam spooling directory jaringan. Selanjutnya, daemon jaringan akan mengambilnya dan mentransmisikannya. Salah satu bentuk nyata penggunaan spooling jaringan adalah sistim email via Internet. Keseluruhan sistem untuk mail ini berlangsung di luar sistem operasi.

Beberapa perangkat, seperti drive tape dan printer, tidak dapat me-multiplex permintaan I/O dari beberapa aplikasi. Selain dengan spooling, dapat juga diatasi dengan cara lain, yaitu dengan membagi koordinasi untuk multiple concurrent ini. Beberapa sistem operasi menyediakan dukungan untuk akses perangkat secara eksklusif, dengan mengalokasikan proses ke device idle dan membuang perangkat yang sudah tidak diperlukan lagi. Sistem operasi lainnya memaksakan limit suatu berkas untuk menangani perangkat ini. Banyak sistem operasi menyediakan fungsi yang membuat proses untuk menangani koordinat exclusive akses diantara mereka sendiri.

Error Handling

Sebuah sistem operasi yang menggunakan protected memory dapat menjaga banyak kemungkinan error akibat perangkat keras mau pun aplikasi. Perangkat dan transfer I/O dapat gagal dalam banyak cara, bisa karena alasan transient, seperti overloaded pada jaringan, maupun alasan permanen yang seperti kerusakan yang terjadi pada disk controller. Sistem operasi seringkali dapat mengkompensasikan untuk kesalahan transient. Seperti, sebuah kesalahan baca pada disk akan mengakibatkan pembacaan ulang kembali dan sebuah kesalahan pengiriman pada jaringan akan mengakibatkan pengiriman ulang apabila protokolnya diketahui. Akan tetapi untuk kesalahan permanen, sistem operasi pada umumnya tidak akan bisa mengembalikan situasi seperti semula.

Sebuah ketentuan umum, yaitu sebuah sistem I/O akan mengembalikan satu bit informasi tentang status panggilan tersebut, yang akan menandakan apakah proses tersebut berhasil atau gagal. Sistem operasi pada UNIX menggunakan integer tambahan yang dinamakan ERRNO untuk mengembalikan kode kesalahan sekitar 1 dari 100 nilai yang mengindikasikan sebab dari kesalahan tersebut. Sebaliknya, beberapa perangkat keras dapat menyediakan informasi kesalahan yang detail, walau pun banyak sistem operasi yang tidak mendukung fasilitas ini.

Sebagai contoh, kesalahan pada perangkat SCSI dilaporkan oleh protokol SCSI dalam bentuk sense key yang mengindentifikasi kesalahan yang umum seperti error pada perangkat keras atau permintaan yang ilegal; sebuah additional sense code yang mengkategorikan kesalahan yang muncul, seperti kesalahan parameter atau kesalahan self-test; dan sebuah additional sense code qualifier yang memberitahukan kesalahan secara lebih mendalam dan mendetil, seperti parameter yang error.

Struktur Data Kernel

Kernel membutuhkan informasi keadaan tentang penggunakan komponen I/O. Kernel menggunakan banyak struktur yang mirip untuk melacak koneksi jaringan, komunikasi perangkat karakter, dan aktivitas I/O lainnya.

UNIX menyediakan akses sistem berkas untuk beberapa entiti, seperti berkas pengguna, raw devices, dan alamat tempat proses. Walau pun tiap entiti ini didukung sebuah operasi baca, semantiksnya berbeda untuk tiap entiti. Seperti untuk membaca berkas pengguna, kernel perlu memeriksa buffer cache sebelum memutuskan apakah akan melaksanakan I/O disk. Untuk membaca sebuah raw disk, kernel perlu untuk memastikan bahwa ukuran permintaan adalah kelipatan dari ukuran sektor disk, dan masih terdapat di dalam batas sektor. Untuk memproses citra, cukup perlu untuk mengkopi data ke dalam memori. UNIX mengkapsulasikan perbedaan-perbedaan ini di dalam struktur yang seragam dengan menggunakan teknik object oriented.

Beberapa sistem operasi bahkan menggunakan metode object oriented secara lebih ekstensif. Sebagai contoh, Windows NT menggunakan implementasi message-passing untuk I/O. Sebuah permintaan I/O akan dikonversikan ke sebuah pesan yang dikirim melalui kernel kepada I/O manager dan kemudian ke device driver, yang masing-masing bisa mengubah isi pesan. Untuk output, isi message adalah data yang akan ditulis. Untuk input, message berisikan buffer untuk menerima data. Pendekatan message-passing ini dapat menambah overhead, dengan perbandingan dengan teknik prosedural yang membagi struktur data, tetapi akan mennyederhanakan struktur dan design dari sistem I/O tersebut dan menambah fleksibilitas.

Kesimpulannya, subsistem I/O mengkoordinasi kumpulan-kumpulan service yang banyak sekali, yang tersedia dari aplikasi maupun bagian lain dari kernel. Subsistem I/O mengawasi:

1. Manajemen nama untuk berkas dan perangkat.

2. Kontrol akses untuk berkas dan perangkat.

3. Kontrol operasi, contoh: model yang tidak dapat dikenali.

4. Alokasi tempat sistem berkas.

5. Alokasi perangkat.

6. Buffering, caching, spooling.

7. Penjadwalan I/O

8. Mengawasi status perangkat, error handling, dan kesalahan dalam recovery.

9. Konfigurasi dan utilisasi driver device.

Penanganan Permintaan I/O

Di bagian sebelumnya, kita mendeskripsikan handshaking antara device driver dan pengendali perangkat, tapi kita tidak menjelaskan bagaimana Sistem Operasi menyambungkan permintaan aplikasi untuk menyiapkan jaringan menuju sektor disk yang spesifik.

Sistem Operasi yang modern mendapatkan fleksibilitas yang signifikan dari tahapan-tahapan tabel lookup di jalur diantara permintaan dan pengendali perangkat physical. Kita dapat mengenalkan perangkat dan driver baru ke komputer tanpa harus meng-compile ulang kernelnya. Sebagai fakta, ada beberapa sistem operasi yang mampu untuk me- load device drivers yang diinginkan. Pada waktu boot, sistem mula-mula meminta bus perangkat keras untuk menentukan perangkat apa yang ada, kemudian sistem me- load ke dalam driver yang sesuai; baik sesegera mungkin, mau pun ketika diperlukan oleh sebuah permintaan I/O.

Sistem V UNIX mempunyai mekanisme yang menarik, yang disebut streams, yang membolehkan aplikasi untuk men- assemble pipeline dari kode driver secara dinamis. Sebuah stream adalah sebuah koneksi full duplex antara sebuah device driver dan sebuah proses user-level. Stream terdiri atas sebuah stream head yang merupakan antarmuka dengan user process, sebuah driver end yang mengontrol perangkat, dan nol atau lebih stream modules di antara mereka. Modules dapat didorong ke stream untuk menambah fungsionalitas di sebuah layered fashion. Sebagai gambaran sederhana, sebuah proses dapat membuka sebuah alat port serial melalui sebuah stream, dan dapat mendorong ke sebuah modul untuk memegang edit input. Stream dapat digunakan untuk interproses dan komunikasi jaringan. Faktanya, di Sistem V, mekanisme soket diimplementasikan dengan stream.

Berikut dideskripsikan sebuah lifecycle yang tipikal dari sebuah permintaan pembacaan blok:

1. Sebuah proses mengeluarkan sebuah blocking read system call ke sebuah berkas deskriptor dari berkas yang telah dibuka sebelumnya.

2. Kode system-call di kernel mengecek parameter untuk kebenaran. Dalam kasus input, jika data telah siap di buffer cache, data akan dikembalikan ke proses dan permintaan I/O diselesaikan.

3. Jika data tidak berada dalam buffer cache, sebuah physical I/O akan bekerja, sehingga proses akan dikeluarkan dari antrian jalan ( run queue) dan diletakkan di antrian tunggu ( wait queue) untuk alat, dan permintaan I/O pun dijadwalkan. Pada akhirnya, subsistem I/O mengirimkan permintaan ke device driver. Bergantung pada sistem operasi, permintaan dikirimkan melalui call subrutin atau melalui pesan in-kernel.

4. Device driver mengalokasikan ruang buffer pada kernel untuk menerima data, dan menjadwalkan I/O. Pada akhirnya, driver mengirim perintah ke pengendali perangkat dengan menulis ke register device control.

5. Pengendali perangkat mengoperasikan perangkat keras perangkat untuk melakukan transfer data.

6. Driver dapat menerima status dan data, atau dapat menyiapkan transfer DMA ke memori kernel. Kita mengasumsikan bahwa transfer diatur oleh sebuah DMA controller, yang menggunakan interupsi ketika transfer selesai.

7. Interrupt handler yang sesuai menerima interupsi melalui tabel vektor-interupsi, menyimpan sejumlah data yang dibutuhkan, menandai device driver, dan kembali dari interupsi.

8. Device driver menerima tanda, menganalisa permintaan I/O mana yang telah diselesaikan, menganalisa status permintaan, dan menandai subsistem I/O kernel yang permintaannya telah terselesaikan.

9. Kernel mentransfer data atau mengembalikan kode ke ruang alamat dari proses permintaan, dan memindahkan proses dari antrian tunggu kembali ke antrian siap.

Proses tidak diblok ketika dipindahkan ke antrian siap. Ketika penjadwal ( scheduler) mengembalikan proses ke CPU, proses meneruskan eksekusi pada penyelesaian dari system call

kernel (ilmu komputer)

Dalam ilmu komputer, 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.

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.

Monolithic Kernel

Pendekatan monolithic kernel 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.

Meskipun jika setiap modul memiliki layanan operasi-operasi tersebut terpisah dari modul utama, integrasi kode yang terjadi di dalam monolithic kernel sangatlah kuat, dan 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 Linux, FreeBSD, Solaris, 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:

*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, Linux.

*Kernel sistem operasi Windows (versi 1.x hingga 4.x; kecuali Windows NT).

Microkernel

Pendekatan Microkernel 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 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:

*IBM AIX, sebuah versi UNIX dari IBM

*Amoeba, sebuah kernel yang dikembangkan untuk tujuan edukasi

*Kernel Mach, yang digunakan di dalam sistem operasi GNU/Hurd, NexTSTEP, OPENSTEP, dan Mac OS/X

*Minix, kernel yang dikembangkan oleh Andrew Tanenbaum untuk tujuan edukasi

*Symbian OS, sebuah sistem operasi yang populer digunakan pada hand phone, handheld device, embedded device, dan PDA Phone.

Hybrid Kernel

Hybrid kernel aslinya adalah microkernel yang memiliki kode yang tidak menunjukkan bahwa kernel tersebut adalah microkernel 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. Hal ini dilakukan oleh para arsitek sistem operasi sebagai solusi awal terhadap masalah yang terjadi di dalam microkernel: kinerja.

Beberapa orang banyak yang bingung dalam membedakan antara Hybrid kernel dan monolithic kernel yang dapat memuat modul kernel setelah proses booting, dan cenderung menyamakannya. Antara hybrid kernel dan monolithic kernel jelas berbeda. Hybrid kernel berarti bahwa konsep yang digunakannya diturunkan dari konsep desain monolithic kernel dan microkernel. Hybrid kernel juga memiliki secara spesifik memiliki teknologi pertukaran pesan (message passing) yang digunakan dalam microkernel, 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 Hybrid kernels:

*BeOS, sebuah sistem operasi yang memiliki kinerja tinggi untuk aplikasi multimedia.

*Novell NetWare, sebuah sistem operasi yang pernah populer sebagai sistem operasi jaringan berbasis IBM PC dan kompatibelnya.

*Microsoft Windows NT (dan semua keturunannya).

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.

Kernel-kernel klasik yang populer seperti halnya monolithic dan microkernel melakukan abstraksi terhadap hardware dengan menyembunyikan semua sumber daya yang berada di bawah hardware abstraction layer atau di balik driver untuk hardware. Sebagai contoh, jika sistem operasi klasik yang berbasis kedua kernel telah mengalokasikan sebuah lokasi memori untuk sebuah hardware tertentu, maka hardware lainnya tidak akan dapat menggunakan lokasi memori tersebut kembali.

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. Tugas kernel hanya memastikan bahwa sumber daya yang diminta itu sedang berada dalam keadaan kosong—belum digunakan oleh yang lainnya—dan tentu saja mengizinkan aplikasi untuk mengakses sumber daya tersebut. Akses hardware pada tingkat rendah ini mengizinkan para programmer untuk mengimplementasikan sebuah abstraksi yang dikhususkan untuk sebuah aplikasi tertentu, dan tentu saja mengeluarkan sesuatu yang tidak perlu dari kernel agar membuat kernel lebih kecil, dan tentu saja meningkatkan performa.

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 Linux, UNIX, dan Windows dapat berjalan di atas sistem operasi tersebut.

Contoh implementasi kernel

[place holder]

bAnnErs