Direktori Berstruktur Graf

Direktori dengan struktur pohon (Tree-Structured Directories) tidak memperbolehkan adanya pembagian berkas/direktori. Sedangkan Struktur Graf Asiklik (Acyclic-Structured Directory) memperbolehkan direktori untuk berbagi berkas atau subdirektori. Jika ada berkas yang ingin diakses oleh dua pengguna atau lebih, maka struktur ini menyediakan fasilitas sharing. Acyclic-structured Directory bisa mengatasi permasalahan pada direktori dengan struktur pohon (Tree-Structured Directories).

Permasalahan yang timbul dalam penggunaan struktur graf asiklik adalah meyakinkan apakah tidak ada siklus. Bila kita mulai dengan struktur direktori dua tingkat dan memperbolehkan pengguna untuk membuat subdirektori, maka kita akan mendapatkan struktur direktori pohon. Mempertahankan sifat pohon bukan suatu hal yang sulit, tetapi bila kita menambahkan sambungan pada direktori dengan struktur pohon, maka sifat pohon akan hilang dan menghasilkan struktur graf sederhana (General-graph directory).

Gambar 14.5. Acyclic-Structured Directory

Acyclic-Structured Directory

Bila siklus diperbolehkan dalam direktori, tentunya kita tidak ingin mencari sebuah berkas dua kali. Algoritma yang tidak baik akan menghasilkan infinite loop dan tidak akan pernah berakhir. Oleh karena itu, diperlukan skema pengumpulan sampah (garbage-collection scheme). Skema ini berhubungan dengan pemeriksaan seluruh sistem berkas dengan menandai tiap berkas yang dapat diakses. Kemudian mengumpulkan apapun yang tidak ditandai pada tempat yang kosong. Hal ini tentunya dapat menghabiskan banyak waktu.

Gambar 14.6. General-graph Directory

General-graph Directory

Pada direktori dengan struktur pohon, setiap pengguna dapat membuat direktori sendiri sehingga dalam UFD akan terdapat direktori yang dibuat oleh pengguna dan di dalam direktori tersebut dapat dibuat direktori lain (sub-direktori), begitu seterusnya. Hal ini tentu akan memudahkan pengguna dalam pengelompokan dan pengorganisasian berkas. Masalah yang muncul adalah ketika pengguna ingin menggunakan suatu berkas secara bersama-sama. Hal ini timbul dikarenakan sistem tidak mengizinkan seorang pengguna mengakses direktori pengguna lain.

Pada general-graph directory, sebuah direktori me-link pada direktori yang me-link nya. Dengan kata lain, jika direktori A berisi/ me-link direktori B maka ketika direktori B dibuka akan terdapat direktori A (ada siklus).