uuu9H...

caRI...AKYu

Kamis, 06 Maret 2008

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

Tidak ada komentar: