Pages

Selasa, 30 April 2013

MANAJEMEN RUANG KOSONG

Materi sebelumnya dibahas oleh :
Abdul Wahid : http://randiabdulwahid.blogspot.com/2013/04/konsep-file-dan-metode-akses.html
Dimas : http://dimaspungpungpung.blogspot.com/2013/04/pendahuluan-dan-landasan-teori.html
Emil : http://emilia-regar.blogspot.com/2013/04/struktur-direktori-dan-sistem-proteksi.html
Oscar : http://myfileocr.blogspot.com/2013/04/metode-pengalokasian-dan-struktur.html

Manajemen Ruang Kosong

     Penyimpanan yang tidak berkesinambungan dan adanya penghapusan data menyebabkan adanya ruang-ruang bebas di disk. Oleh karena itu diperlukan manajemen ruang bebas. Caranya, dengan membuat daftar ruang-ruang kosong. Informasi ruang kosong umumnya turut disimpan di dalam media penyimpanan. Ruang-ruang kosong pada media penyimpanan perlu dicatat sehingga memudahkan pengalokasian berkas yang akan disimpan.
·         Pada saat terjadi alokasi berkas baru ataupun penghapusan berkas, informasi ruang kosong akan diperbaharui.
·         Apabila ada berkas baru yang ingin disimpan, maka ruang bebas dicari oleh daftar ini.
·         Untuk membuat berkas baru, system mencari ke daftar tersebut untuk mencarikan tempat kosong yang di butuhkan, lalu tempat tersebut dihilangkan dari daftar. Ketika berkas dihapus, alamat berkas tadi ditambahkan pada daftar.
Teknik-teknik yang dapat digunakan untuk pencatatan ruang kosong media penyimpanan adalah :
1.      Teknik Bit Vektor
Teknik bit vector menggunakan satu bit untuk menyatakan kosong tidaknya setiap alamat blok media penyimpanan. Blok yang kosong ditandai dengan angka 1 dan blok yang ada isinya ditandai dengan angka 0. Posisi bit menyatakan alamat atau nomor blok Jumlah bit = jumlah blok logika media penyimpan Contoh: 0100100, ini berarti blok yang kosong adalah blok ke 1 dan 4.
Kelebihan:
ü  Pencarian ruang kosong secara cepat
ü  Relatif sederhana dan efisien untuk mencari blok pertama yang kosong atau berturut-turut n blok yang kosong pada disk
Kekurangan:
1.      Butuh ruang tambahan untuk pencatatan bit-vector.
Contohnya:
Ukuran blok = 212 byte,
ukuran disk = 230 byte (1 gigabyte),
maka ruang untuk vektor bit = 230 /212 bit = 218 (32Kb)
2.      Bit vector tidak efisien kecuali seluruh vector disimpan dalam memori utama (dan ditulis di disk untuk kebutuhan pemulihan). Menyimpan dalam memori utama dimungkinkan untuk disk yang kecil pada mikro komputer, tetapi tidak untuk disk yang besar.
3.      Dengan menggunakan vektor bit bias terjadi kesalahan dimana bit[i] = 1 pada memory dan bit[i] = 0 pada disk. Untuk mencegah terjadinya perbedaan ini, maka pada saat pengalokasian suatu ruang kosong untuk suatu berkas dilakukan cara berikut:
set bit[i] = 0 pada disk
alokasikan blok[i]
set bit[i] = 0  pada memory


2.      Linked-List
Menggunakan blok-blok kosong di media penyimpan untuk menyimpan pointer atau alamat blok kosong berikutnya. Menyimpan pointer ke blok pertama yang kosong di tempat yang khusus pada disk dan menyimpannya di memori. Blok kosong pertama pointer ke blok kosong kedua, dan blok kosong kedua pointer ke blok ketiga yang kosong. Blok kosong terakhir akan mencatat pointer yang tidak valid sebagai penanda akhir blok yang kosong
Contoh :
kita akan menyimpan pointer ke blok ke 1 sebagai blok kosong pertama, blok 1 akan menyimpan pointer keblok 3, yang akan menunjuk ke blok 3, blok 3 akan menyimpan pointer keblok 4 dan seterusnya
Kelebihan:
ü  Menghemat penggunaan ruang khusus
Kelemahan:
1)      Jika terjadi kerusakan pada salah satu blok kosong, maka pengelolaan ruang kosong menjadi terganggu.
2)      Pengalokasian sejumlah blok kosong ke berkas relative lebih lambat karena untuk melintasi daftar ini kita perlu membaca tiap blok.
3)      Sulit untuk mendapatkan ruang kosong berurutan dengan mudah.

3.      Grouping
Mengumpulkan informasi alamat blok kosong ke blok kosong pertama. Alamat blok kosong pertama perlu di catat secara khusus pada struktur SO.Jika blok telah terisi, maka akan dihapus dari blok alamat kosong

4.      Counting
Memperhitungkan rangkaian blok-blok kosong yang kontinu sebagai suatu segmen. Setiap segmen di catat alamat blok kosong pertamanya dan jumlah blok kosong yang mengikutinya. Informasi segmen dicatat pada tabel khusus.

IMPLEMENTASI DIREKTORI

Sebelum sebuah berkas dapat dibaca, berkas tersebut harus dibuka terlebih dahulu. Saat berkas tersebut dibuka, sistem operasi menggunakan path name yang dimasukkan oleh pengguna untuk mengalokasikan direktori entri yang menyediakan informasi yang dibutuhkan untuk menemukan block disk tempat berkas itu berada. Tergantung dari sistem tersebut, informasi ini dapat berupa alamat disk dari berkas yang bersangkutan (contiguous allocation), nomor dari blok yang pertama (keduaskema linked list), atau nomor dari inode.
Dalam semua kasus, fungsi utama dari direktori entri adalah untuk memetakan nama ASCII dari berkas yang bersangkutan kepada informasi yang dibutuhkan untuk mengalokasikan data.
Masalah berikutnya yang kemudian muncul adalah dimana atribut yang dimaksud akan disimpan. Kemungkinan paling nyata adalah menyimpan secara langsung di dalam direktori entri, dimana kebanyakan system  menggunakannya. Untuk sistem yang menggunakan inodes, kemungkinan lain adalah menyimpan atribut ke dalam inode, selain dari direktori entri. Cara yang terakhir ini mempunyai keuntungan lebih dibandingkan menyimpan dalam direktori entri. Cara pengalokasian direktori dan pengaturan direktori dapat meningkatkan efisiensi, performa dan kehandalan. Ada beberapa macam algoritma yang dapat digunakan.
1.      Algoritma Linear List
Metode paling sederhana.Menggunakan nama berkas dengan penunjuk ke data blok.
Proses:
·         Mencari (tidak ada nama berkas yang sama).
·         Menambah berkas baru pada akhir direktori.
·         Menghapus (mencari berkas dalam direktori dan melepaskan tempat yang dialokasikan).
Penggunaan suatu berkas:
Memberi tanda atau menambahkan pada daftar direktori bebas.
Kelemahan:
Pencarian secara linier (linier search) untuk mencari sebuah berkas, sehingga implementasi sangat lambat saat mengakses dan mengeksekusi berkas.
Solusi:
Linked list dan Software Cache
2.      Algoritma Hash Table
Linear List menyimpan direktori entri, tetapi sruktur data hash juga digunakan.
Proses:
Hash table mengambil nilai yang dihitung dari nama berkas dan mengembalikan sebuah penunjuk ke nama berkas yang ada di linier list.
Kelemahan:
·         Ukuran tetap
·         Adanya ketergantungan fungsi hash dengan ukuran hash table
Alternatif:
Chained-overflow hash table yaitu setiap hash table mempunyai linked list dari nilai individual dan crash dapat diatasi dengan menambah tempat pada linked list tersebut. Namun penambahan ini dapat memperlambat.

EFISIENSI DAN UNJUK KERJA
Efisiensi tergantung pada :
*      Alokasi disk dan algoritma direktori
*      Tipe data yang dilindungi pada direktori file
Unjuk Kerja
*      disk cache – memisahkan bagian main memori yang sering digunakan sebagai blok.
*      Teknik free-behind dan read-ahead – digunakan untuk optimasi akses sequensial
*      Meningkatkan unjuk kerja PC dengan menggunakan bagian memori seperti virtual disk atau RAM disk.

 RECOVERY

            Data recovery adalah proses menyelamatkan data dari kerusakan, gagal, atau tidak dapat diakses media penyimpanan sekunder ketika tidak dapat diakses normal. Sering kali data diselamatkan dari media penyimpanan seperti drive internal atau eksternal hard disk, solid-state drive (SSD), USB flash drive, kaset penyimpanan, CD, DVD, RAID, dan elektronik lainnya.
            Pemulihan mungkin diperlukan karena kerusakan fisik pada perangkat penyimpanan atau kerusakan logis untuk mencegah sistem file yang dipasang oleh sistem operasi host. Skenario yang paling umum, "pemulihan data" melibatkan sistem operasi (OS) (biasanya pada disk-tunggal, tunggal-partisi, sistem single-OS), dalam hal ini tujuannya adalah hanya untuk menyalin semua file yang diinginkan ke disk lain.
            Hal ini dapat dengan mudah dicapai dengan menggunakan Live CD, banyak yang menyediakan sarana untuk me-mount sistem drive dan disk cadangan atau removable media, dan untuk memindahkan file dari disk sistem ke media backup dengan manajer file atau perangkat lunak authoring cakram optik .
            Kasus seperti itu dapat diatasi dengan partisi disk dan konsisten menyimpan file data berharga (atau salinan dari mereka) pada partisi yang berbeda dari file sistem OS diganti. Skenario lain melibatkan kegagalan disk-tingkat, seperti sistem dikompromikan file atau partisi disk, atau kegagalan hard disk. Dalam setiap kasus ini, data tidak dapat dengan mudah dibaca. Tergantung pada situasi, solusi memperbaiki sistem file, tabel partisi atau master boot record, atau teknik pemulihan hard disk mulai dari pemulihan berbasis perangkat lunak data rusak, hardware-software pemulihan berbasis wilayah pelayanan yang rusak (juga dikenal sebagai hard drive "firmware"), untuk penggantian hardware pada disk yang rusak secara fisik.
            Jika pemulihan hard disk diperlukan, disk itu sendiri biasanya telah gagal, dan fokusnya adalah lebih pada pemulihan satu kali, menyelamatkan apa pun data yang dapat dibaca. Dalam skenario ketiga, file sudah "dihapus" dari media penyimpanan. Biasanya, isi dari file yang dihapus tidak segera dihapus dari drive, melainkan referensi kepada mereka dalam struktur direktori yang dihapus, dan ruang yang mereka tempati dibuat tersedia untuk nanti Timpa. Sementara itu, isi file asli tetap, sering di sejumlah fragmen terputus, dan mungkin dapat dipulihkan.

Materi selanjutnya akan dibahas oleh Tarmuji :
 http://konsepmemograman-tarmuji.blogspot.com/2013/04/kesimpulan_1252.html

Tidak ada komentar:

Posting Komentar