Selasa, 09 Juni 2015

DIREKTORI BERKAS DAN KONTROL INFORMASI



Nama : Kasmiati
Nim    : 1304411180
Kelas : Gabungan 4
Mk    : Sistem Berkas 




DIREKTORI BERKAS DAN KONTROL INFORMASI

Sebelum berkas dapat diakses oleh sebuah program, sistem operasi harus mengetahui pada alat penyimpanan  sekunder yang mana berkas tersebut berada.
Direktori yang diperlihatkan pada gambar tersebut adalah untuk satu unit (mis. disk pack atau tape reel) dari penyimpanan sekunder.
Labelnya berisi identifikasi informasi, akses kontrol informasi, dan sebuah pointer yang menunjuk ke isi tabel, yang berisi kontrol blok untuk setiap berkas pada unit tersebut.
Sebuah kontrol blok berisi informasi tentang nama berkas, atributnya (seperti panjang record, ukuran blok, organisasi berkas) dan batasannya pada media penyimpanan. Sebuah kontrol blok menunjukkan awal dari berkas yang bersangkutan. Jadi bila sebuah berkas dicari, isi tabel dari unit yang dimaksud diperiksa untuk menemukan berkas pada media penyimpanan.

Kontrol Peralatan
Aktifitas I/O terutama mencakup perpindahan data antara main memory dengan alat penyimpanan sekunder atau alat I/O seperti printer, terminal, dan card reader/punch. Operasi I/O memerlukan dukungan kontrol alat secara mendetail.
Contoh :   Misalkan direktori berkas sudah diberitahu lokasi berkas yang diminta pada alat penyimpanan sekunder atau peralatan I/O sudah ditentukan. Supaya dapat menulis (Write) pada alat tersebut atau membaca (Read) dari alat tersebut.
Maka :      Jalur (pathway) antara memori utama dan peralatan harus sudah ditentukan dan juga harus ditentukan komponen-komponen yang dibutuhkan dari jalur tersebut (termasuk peralatan yang dituju) dan siap untuk digunakan.

Macam-macam Channel
1.      Selector Channel
Dapat mengatur aliran data antara memori utama dengan sebuah peralatan pada saat tersebut. Karena saluran merupakan processor-processor yang cepat maka saluran selektor biasanya hanya menggunakan peralatan I/O dengan kecepatan tinggi, seperti disk. Penggunaan peralatan dengan kecepatan rendah, misal card reader.
2.      Multiplexor Channel
Dapat mengatur aliran data antara memori utama dengan beberapa peralatan. Saluran Multiplexor lebih efektif bila menggunakan peralatan dengan kecepatan rendah, dibandingkan dengan selector channel. Dengan saluran multiplexor, beberapa peralatan dapat diaktifkan secara serentak, tetapi saluran harus melengkapi saluran program untuk satu peralatan sebelum memulai dengan saluran program lain.
3.      Block Multiplexor Channel
  Mengatur aliran data ke berbagai peralatan. Block Multiplexor Channel dapat mengeksekusi satu instruksi dari saluran program untuk satu peralatan, kemudian dapat mengalihkan instruksi-instruksi dari saluran program itu ke peralatan yang lain.

 Macam-macam Device
1.      Dedicated Device
      Digunakan untuk pengaksesan oleh satu orang pada setiap saat.
      Contoh : Terminal.
2.      Shared Device
      Digunakan untuk pengaksesan oleh banyak pemakai secara bersamaan
      Contoh : Disk.

Aktifitas Saluran
Tujuan dari saluran I/O adalah sebagai perantara antara CPU-main memory dengan unit pengontrol penyimpan. CPU berkomunikasi dengan saluran melalui beberapa perintah yang sederhana.

Beberapa saluran akan memberi perintah :

  • Test I/O, untuk menentukan apakah jalur (pathway) yang menuju peralatan sedang sibuk
  • Start I/O, pada peralatan tertentu.
  •  Halt I/O, pada peralatan tertentu.

      Saluran biasanya berkomunikasi dengan CPU melalui cara interupsi. Interupsi akan terjadi, jika keadaan error terdeteksi, misalnya instruksi CPU yang salah atau jika aktifitas I/O telah diakhiri.
Jika interupsi terjadi, kontrol akan bercabang melalui rutin pengendali interupsi (interrupt-handler routine), dimana kontrol akan menentukan penyebab dari interupsi, melakukan kegiatan yang tepat, kemudian mengembalikan kontrol pada pemanggil (caller).

Manajemen Buffer
Terbagi menjadi 4 jenis manajemen yaitu :
1.     Single Buffering
Teknik  ini  merupakan  Buffering  paling  sederhana.  Ketika  proses pemakai  memberikan  perintah  I/O,  sistem  operasi  menyediakan  buffer bagian memori utama sistem untuk operasi. Untuk peralatan berorientasi blok, transfer masukan dibuat ke buffer sistem. Ketika transfer  selesai,  proses  memeindahkan blok ke ruang pemakai  dan segera  meminta  blok  lain.  Teknik  ini  disebut  reading  ahead atau anticipated input.
Teknik  ini  dilakukan  dengan  harapan  bahwa  blok  tersebut  akan  segera diperlukan. Untuk banyak tipe komputasi, asumsi  ini  berlaku. Hanya akhir barisan pemrosesan maka blok yang dibaca tidak diperlukan. Pendekatan  ini  umumnya  meningkatkan  kecepatan  dibanding  tanpa Buffering.


      Gambar di atas menunjukkan struktur data dari buffer dalam bentuk yang sederhana, yang terdiri dari satu record per-block dan satu buffer per-berkas, dimana buffer ini berfungsi mengisikan permintaan dari sebuah program. Struktur buffer ini berisi sebuah pointer pada alamat awal & channel program untuk berkas.

      Struktur dasar dari channel program untuk mengisi buffer adalah :
«  Tunggu instruksi READ dari program
«  Memberitahukan instruksi start I/O ke unit control
«  Tunggu hingga buffer dikosongkan
«  Memberitahukan interupsi pada program sehingga dapat mulai membaca dari buffer Masalah yang timbul     di sini adalah pemakai program menganggur pada saat menunggu buffer diisi.

2.       Anticipatory Buffering
Pendekatan lain yang dapat menghilangkan beberapa hal yang mungkin untuk menunggu CPU adalah dengan menggunakan Anticipatory Buffering.

Dengan anticipatory buffering, sistem kontrol I/O akan berusaha mendahulukan kebutuhan program akan data. Diusahakan agar buffer selalu penuh. Channel selalu menguji flag ini. Jika buffer mendekati kosong, karena pemakai program telah membaca isinya maka flag itu akan direset dan channel program akan menginitates pengisian kembali buffer.

Struktur dasar channel program untuk mengisi sebuah buffer dengan anticipatory buffer diperlihatkan pada gambar di bawah ini:


 3.  Double Buffering
Peningkatan  atas  Single  Buffering  dapat  dibuat  dengan  mempunyai  dua buffer sistem untuk operasi. Proses dapat transfer ke (atau dari) satu buffer sementara sistem operasi mengosongkan (atau mengisi) buffer lain. Double  Buffering  menjamin  proses  tidak  akan  menunggu  operasi  I/O. Peningkatan atas  Single Buffering diperoleh,  namun harus  dibayar  dengan kompleksitas yang meningkat.
Untuk mengurangi kemungkinan dari program menunggu, maka double buffer dapat digunakan. Dua dari tempat buffer yang ada, hanya satu yang ditetapkan untuk berkas.
Ide dasar dari double buffering adalah jika consumer mengosongkan salah satu buffer, maka producer dapat mengisikan ke dalam buffer yang lain, pada saat buffer pertama sudah kosong, maka buffer yang kedua harus dalam keadaan penuh. Kemudian consumer dapat mengkosongkan buffer yang kedua,
pada saat producer mengisi buffer yang pertama, demikian seterusnya.

4.    Three Buffering