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.
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.
pada saat producer mengisi buffer yang pertama, demikian seterusnya.
4. Three
Buffering
Tidak ada komentar:
Posting Komentar