Jumat, 25 Mei 2012

I/O Buffering

Alasan untuk buffering 

> Proses harus menunggu utama I/O lengkap sebelum pemrosesan
> Pages tertentu harus tinggal didalam memori selama I/O


Berdasarkan jenisnya, buffering dibedakan menjadi 2 kategori

* Berorientasi blok (Block-oriented)

> Informasi disimpan didalam ukuran blok yang tetap
> Transfer membuat sebuah blok setiap waktu
> Digunakan untuk disk dan tape

* Berorientasi Alur (Stream-oriented)

> Transfer informasi sebagai alur byte
> Digunakan untuk terminal, printer, port komunikasi, mouse, dan beberapa device lainnya yang
  bukan penyimpanan sekunder.


Ada 3 cara berbeda dalam melakukan buffering , yaitu


* Buffer Tunggal

> Sistem operasi menugaskan sebuah buffer didalam memori utama untuk sebuah
   permintaan I/O

* Berorientasi blok
   - Proses user dapat memproses sebuah blok data ketika blok selanjutnya sedang dibaca
   - Pemindahan (swapping) dapat terjadi selama masukkan sedang mengambil tempat
     didalam sistem memori, bukan di memori pengguna
   - Sistem operasi menempatkan trak yang ditugaskan sistem buffer untuk
      proses pengguna

* Berorientasi alur
   - Menggunakan sebuah bentuk waktu linier (line at time)
   - Pengguna (user) masukkan (input) dari sebuah terminal merupakan suatu waktu
     linier sengan  membawa kebali sinyal-sinyal akhir dari sebuah jalur
   - Keluaran (output) ke terminal merupakan sebuah waktu linier

Skema




* Buffer Ganda

> Menggunakan dua buah sistem buffer
> Sebuah proses dapat memindahkan data transfer data) ke atau dari
   sebuah buffer ketika sistem operasi mengosongkan atau mengisi buffer yang lain



* Circular Buffer

> Menggunakan lebih dari dua buah buffer
> Masing-masing buffer terdiri satu unit didalam sebuah buffer cirkular
> Digunakan ketika operasi I/O harus menempatkan proses






0 komentar:

Posting Komentar