Buffer Pada Proses
Pada proses baik langsung maupun tidak langsung untuk melakukan pertukaran pesan (message) memerlukan tempat antrian (queue) sementara yang disebut dengan buffer. Pada dasarnya terdapat tiga cara untuk mengimplementasikan antrian tersebut.
- Kapasitas Nol – jika antrian mempunyai panjang maksimum nol, maka tidak ada proses menunggu pesan (message waitting), hal ini dilakukan dengan cara pengirim melakukan blocking sampai penerima menerima pesan yang dikirim.
- Kapasitas Terbatas (finite buffer/bounded-buffer) – panjang antrian memiliki batasan tertentu, paling banyak n message dapat dimasukkan. Jika antrian tidak penuh ketika pesan dikirimkan, maka pesan yang baru akan menimpa, dan pengirim dapat melanjutkan eksekusi tanpa harus menunggu. Sebaliknya jika antrian penuh, pengirim harus memblok sampai terdapat ruang pada antrian.
- Kapasitas Tak Terbatas (infinite buffer) – antrian mempunyai panjang yang tak terhingga, sehingga semua pesan dapat menunggu disini, dan pengirim tidak akan pernah melakukan blocking.
Gambar Data Buffer.
(Sumber: https://www.codingalpha.com/producer-consumer-problem-c-program/, 2016)
Jadi dapat disimpulkan bahwa buffer dapat dibagi menjadi 3 jenis sesuai kapasitasnya, yaitu: buffer yang memiliki kapasitas 0; buffer yang memiliki kapasitas tak terbatas (inifinte buffer); serta buffer yang memiliki kapasitas terbatas yaitu sebanyak n dan disebut dengan finite/bounded buffer.
Artikel Terkait
Karna pembahasan sistem operasi sangat kompleks, maka kita akan membaginya menjadi beberapa bagian, untuk sementara berikut beberapa artikel lainnya yang terkait atau berhubungan dengan pembahasan ini.
- 1 Gambaran Sistem Operasi - Komponen & Fungsi
- 1.1 Apa Yang Dikerjakan Sistem Operasi
- 1.2 Organisasi Sistem Komputer
- 1.3 Arsitektur Sistem Komputer
- 1.4 Struktur Sistem Operasi
- 1.5 Operasi Sistem Operasi - Trap Exception
- 2 Proses & Thread
- 3 Konkurensi: Mutual Exclusion dan Sinkronisasi
Referensi
- Operating Systems: Internals and Design Principles (8th Edition), William Stallings, 2014.
- Operating System Concepts (9th Edition in Chinese) by Abraham Silberschatz et al.
- The Linux Programming Interface: A Linux and UNIX System Programming Handbook, Michael Kerrisk.
Warning!
We are not responsible for any loss whatsoever due to this site, also if you want to take this article please read terms of use or touch us via contact page.
If there is question, please discuss below. Very welcome and expected to provide corrections, criticisms, and suggestions.
Be the first :D