Manajemen File

MANAJEMEN FILE


1. Sasaran dan fungsi sistem manajemen file

File mempunyai sifat sebagai berikut :
a. Persistence.
   Informasi dapat bertahan meski proses yang membangkitkannya berakhir
   atau meskipun catu daya dihilangkan. Dengan properti ini maka file dapat
   digunakan untuk menjaga hasil-hasil yang diperoleh dari suatu proses
   dapat digunakaaan di masa datang.
b. Size.
   File umumnya berukuran besar. Memungkinkan menyimpan informasi yang
   sangat besar disimpan.
c. Sharability
   File dapat digunakan banyak proses mengakses informasi secara kongkuren.




2 Sasaran manajemen file

Pengelolaan file adalah kumpulan perangkat lunak sistem yang menyediakan
layanan-layanan berhubungan dengan penggunaan file ke pemakai dan/atau
aplikasi.
Biasanya, satu-satunya cara pemakai atau aplikasi mengakses file adalah
lewat sistem file. Pemakai atau pemrogram tidak perlu mengembangkan
perangkat lunak khusus untuk mengakses data di tiap aplikasi. Sistem pun
menyediakan pengendalian terhadap aset penting ini.
Beberapa sasaran sistem file adalah sebagai berikut :
a. Memenuhi kebutuhan manajemen data bagi pemakai.
b. Menjamin data pada file adalah valid.
c. Optimasi kinerja.
d. Menyediakan dukungan masukan/keluaran beragam tipe perangkat penyimpan.
e. Meminimalkan atau mengeliminasi potensi kehilangan atau perusakan data.
f. Menyediakan sekumpulan rutin interface masukan/keluaran.
g. Menyediakan dukungan masukan/keluaran banyak pemakai di sistem multiuser.

Memenuhi kebutuan manajemen data bagi pemakai.
Kebutuhan manajemen data bagi pemakai, yaitu kemampuan melakukan operasi-
operasi berikut :
a. Retrieve all, yaitu menampilkan seluruh rekord data.
b. Retrieve one, yaitu menampilkan seluruh satu rekord data tertentu.
c. Retrieve next, yaitu menampilkan satu rekord data berikutnya.
d. Retrieve previous, yaitu menampilkan satu rekord data sebelumnya.
e. Insert one, yaitu menyisipkan satu rekord data.
f. Delete one, yaitu menghapus satu rekord data tertentu.
g. Update one, yaitu memperbarui satu rekord data tertentu.
h. Update few, yaitu memperbarui beberapa rekord data tertentu yang satu
   kriteria.

Optimasi kerja.
o Menurut sistem, yaitu meningkatkan jumlah througput keseluruhan.
o Menurut pemakai, yaitu cepatnya waktu tanggap.

3 Fungsi manajemen file
Beberapaa fungsi yang diharapkan dari pengelolaan file adalah :
a. Penciptaan, modifikasi dan penghapusan file.
b. Mekanisme pemakaian file secara bersama.
   Menyediakan beragam tipe pengaksesan terkendali, seperti :
   o Read access (pengendalian terhadap akses membaca).
   o Write access (pengendalian terhadap akses memodifikasi).
   o Execute access (pengendalian terhadap akses menjalankan program).
   o Atau beragam kombinasi lain.
c. Kemampuan backup dan recovery untuk mencegah kehilangan karena kecelakaan
   atau dari upaya penghancuran informasi.
d. Pemakai dapat mengacu file dengan nama simbolik bukan menggunakan
   penamaan yang mengacu perangkat keras.
e. Pada lingkungan sensitif dikehendaki informasi tersimpan amana dan
   rahasia.
   Lingkungan ini, seperti :
   o Electronic fund transfer system.
   o Criminal record system.
   o Medical record system.
   o Dan sebagainya.
f. Sistem file harus menyediakan interface user-friendly.
   Sistem file menyediakan enkripsi dan dekripsi untuk menjaga informasi
   hanya digunakan oleh pemakai yang diotorisasi saja dan harus menyediakan :
   o Pandangan secara logik bukan pandangan secara fisik terhadap data.
   o Fungsi yang dapat dilakukan terhadap data.
   Pemakai tidak berkutat pada perangkat keras dimana data disimpan, bentuk
   data harus diambil dari perangkat atau cara-cara fisik transfer data
   ke/dari perangkat-perangkat tersebut.

4 Arsitektur pengelolaan file

Pengelolaan file, biasanya terdiri dari :
1. Sistem akses.
   Berkaitan dengan bagaimana cara data yang disimpan pada file diakses.

2. Manajemen file.
   Berkaitan dengan penyediaan mekanisme operasi pada file seperti :
   o Penyimpanan.
   o Pengacuan.
   o Pemakaian bersama.
   o Pengamanan.

3. Manajemen ruang penyimpan.
   Berkaitan dengan alokasi ruang untuk file di perangkat penyimpan.

4. Mekanisme integritas file.
   Berkaitan dengan jaminan informasi pada file tak terkorupsi.
   Program dapat mengakses file di sistem melalui sistem manajemen basisdata
   (DBMS) ataupun secara langsung melalui fasilitas yang disediakan sistem
   operasi. Umumnya, sistem operasi menyediakan :
   o Manajemen file.
   o Manajemen penyimpanan file.
   o Mekanisme integritas.
   DBMS umumnya memuat bagian berikut :
   o Database enginei, diantaranya mekanisme integritas.
   o Sistem akses.
   DBMS menggunakan fasilitas yang disediakan sistem operasi untuk
   memberikan layanan-layanannya. Mekanisme integritas merupakan masalah
   yang dilakukan baik di tingkat sistem operasi maupun di DBMS. Hanya
   sistem operasi tertentu, yaitu sistem operasi yang dikhususkan untuk
   basisdata yang secara langsung menyatakan sistem akses di sistem operasi
   agar diperoleh kinerja yang lebih bagus. Kebanyakan sistem operasi hanya
   menyediakan fasilitas pengelolaan umum yang akan digunakan perangkat
   lunak aplikasi diatasnya.

Pengelolaan file melibatkan banyak subsistem penting, yaitu :
o Manajemen perangkat I/O di sistem operasi.
  Device driver.
  Merupakan lapisan terbawah, berkomunikasi dengan perangkat secara langsung,
  bertanggungjawab memulai operasi I/O dan memproses penyelesaian permintaan
  I/O. Pada operasi file, perangkat yang biasa dipakai adalah disk atau tape.
  Device driver merupakan bagian manajemen I/O.
  Sistem file di sistem operasi.

    Sistem file dasar.
    Merupakan interface utama dengan perangkat keras. Lapisan ini berurusan
    dengan blok-blok data yang dipertukarkan antara sistem dengan disk dan
    tape. Lapisan ini berfungsi dalam penempatan blok-blok data diperangkat
    penyimpanan sekunder dan buffering blok-blok data itu di memori utama.
    Lapisan ini tidak berkaitan dengan isi data atau struktur file. Sistem
    file dasar merupakan bagian sistem operasi.

    Abstraksi file dan direktori.
    Sistem file memberikan abstraksi ke pemakai berupa file/direktori.
    Pemakai yaitu manusia ataupun proses tidak lagi berkaitan dengan blok-
    blok data melainkan beroperasi terhadap abstraksi file dan / atau
    direktori.
   
    Operasi-operasi terhadap file dan direktori.
    Kumpulan system call dan / atua pustaka untuk manipulasi file dan
    direktori.
    Sistem akses dan/atau sistem manajemen basisdata.
    Metode akses merupakan lapisan terakhir. Lapisan ini menyediakan
    interface standar antara aplikasi-aplikasi dan sistem file serta
    perangkat yang menyimpan data. Metode-metode pengaksesan yang berbeda
    merefleksikan struktur file berbeda dan cara-cara pengaksesan dan
    pemrosesan yang berbeda.
    Metode-metode pengaksesan yang paling terkenal, antara lain :

  •     File pile (pile file).
  •     File sekuen (sequential file).
  •     File sekuen (index-sequential file).
  •     File berindeks majemuk (multiple-indexed file).
  •     File ber-hash (hashed file).
  •     File multiring (multiring file).
5 Sistem file
Konsep terpenting dari pengelolaan file disistem operasi adalah :
a. File.
   Abstraksi penyimpanan dan pengambilan informasi di disk. Abstraksi ini
   membuat pemakai tidak dibebani rincian cara dan letak penyimpanan
   informasi, serta mekanisme kerja perangkat penyimpan data.
   Terdapat beragam pandangan mengenai file, yaitu :

  •    Pandangan pemakai.
     Terhadap file pemakai berkepentingan memahami berikut :

  1.      Penamaan untuk file.
        Pemakai mengacu file dengan nama simbolik. Tiap file di sistem harus
        mempunyai nama unik agar tidak ambigu. Penamaan file dengan nama
        direktori tempat file memberi nama unik. Tidak diperbolehkan nama
        file yang sama di satu direktori.
        Penamaan file berbeda sesuai sistem. Terdapat dua pendekatan, yaitu :
             - Sistem yang case sensitive.
                Sistem membedakan antara huruf kecil dan huruf kapital.
             - Sistem yang case insensitive.
             - Sistem tidak membedakan antara huruf kecil dan huruf kapital.
.,
            Saat ini, penamaan cenderung dapat menggunakan nama file panjang
            karena deskriptif.



     Tipe file.
        Terdapat tiga tipe file di sistem operasi, yaitu :

        Reguler.
            File berisi informasi, terdiri dari file ASCII dan biner.
            File ASCII berisi baris teks. File biner adalah file yang bukan
            file ASCII. Untuk file biner eksekusi (exe) mempunyai struktur
            internal yang hanya diketahui sistem operasi. Untuk file biner
            hasil program aplikasi, struktur internalnya hanya diketahui
            program aplikasi yang menggunakan file tersebut.

        Direktori.
            File direktori merupakan file yang dimiliki sistem untuk
            mengelola struktur sistem file. File direktori merupakan file
            berisi informasi-informasi mengenai file-file yang termasuk
            dalam direktori itu.

         Spesial.
            File spesial merupakan nama logik perangkat I/O. Perangkat I/O
            dapat dipandang sebagai file. Pemakai dihindarkan dari kerumitan
            operasi perangkat I/O.
            File in terbagi dua, yaitu :
            - File spesial karakter.
              Berhubungan dengan perangkat I/O aliran karakter. File ini
              memodelkan perangkat I/O seperti :
              Ø Terminal.
              Ø Printer.
              Ø Port jaringan.
              Ø Modem.
              Ø Dan alat-alat yang bukan penyimpan sekunder.
            - File spesial blok.
              Berhubungan dengan perangkat I/O sebagai kumpulan blok-blok
              data (berorientasi blok).

     Atribut file.
           Informasi tambahan mengenai file untuk memperjelas dan membatasi
           operasi-operasi yang dapat diterapkan dan dipergunakan untuk
           pengelolaan file.
           Tabel berikut menunjukkan atribut-atribut di file.

     Perintah-perintah untuk manipulasi file.
           Merupakan perintah yang dapat diberikan pemakai dibaris perintah ke
           shell (command interpreter).Perintah-perintah tersebut dapat
           dikategorikan menjadi :
        o Perintah penciptaan file.
        o Perintah penghapusan file.
        o Perintah pengkopian file.
        o Perintah penggantian nama.
        o Perintah manipulasi yang lain.



   Pandangan pemogram.
     Selain perlu memahami sebagai pemakai, pemrogram perlu memahami :
     Operasi-operasi terhadap file.
           beragam operasi dapat diterapkan pada file, seperti operasi-operasi
           berikut :

  Pandangan perancang sistem.
    Implementasi pengelolaan file.

  Direktori.
     Berisi informasi mengenai file. Kebanyakan informasi berkaitan dengan
     penyimpan. Direktori adalah file, dimiliki sistem operasi dan dapat
     diakses dengan rutin-rutin di sistem operasi. Meski beberapa informasi
     direktori tersedia bagi pemakai atau aplikasi, informasi itu umumnya
     disediakan secara tidak langsung. Pemakai tidak dapat mengakses direktori
     secara langsung meski dalam mode read-only.
  
    Pandangan pemakai.
    Direktori menyediakan pemetaan nama file ke file. Informasi terpenting
    pada direktori adalah berkaitan dengan penyimpanan, termasuk lokasi dan
    ukuran penyimpanan file. Pada sistem bersama (shared system), informasi
    yang penting adalah informasi pengendalian akses file. Satu pemakai
    adalah pemilik file yang dapat memberi wewenang pengaksesan ke pemakai-
    pemakai lain.
   Aturan penamaan direktori mengikuti aturan penamaan file karena direktori
   merupakan file yang khusus.

   Beberapa konsep penting :

   Hirarki direktori.
     Kebanyakan sistem menggunakan hirarki direktori atau berstruktur pohon.
     Terdapat satu direktori master (root) yang didalamnya dapat terdapat
     subdirektori-subdirektori. Subdirektori dapat membuat subdirektori-
     subdirektori berikutnya, demikian seterusnya. Penamaan direktori sama
     aturannya dengan penamaan file karena direktori adalah file yang
     mempunyai arti khusus. Direktori diimplentasi dengan file.
   Jalur pengaksesan (path name).
     Bila sistem file diorganisasikan dengan pohon direktori,maka diperlukan
     cara menspesifikasikan nama file. Masalah penamaan file diselesaikan
     dengan penamaan absolut dan penamaan file relatif.
     Terdapat dua jalur, yaitu :
     a. Nama jalur absolut (absolute pathname).
        Nama jalur dari direktori root ke file, selalu dimulai dari
        direktori root da nakan bernilai unik.
     b. Nama jalur relatif (relative pathname).
        Jalur relatif terhadap direktori kerja/saat itu (working atau
        current director). Pemakai dapat menyatakan satu direktori sebagai
        current directory. Nama jalur yang tidak dimulai direktori root
        berarti relatif terhadap current directory.
   Perintah-perintah memanipulasi direktori.
     Meliputi perintah :
     ž Pindah direktori.
     ž Penciptaan direktori.
     ž Penghapusan direktori, yang mensyaratkan :.
       * Direktori tidak sedang digunakan.
       * Direktori telah kosong.
   Operasi pada direktori.
   Beragam operasi dapat diterapkan pada direktori seperti pada file.
   Tabel berikut menunjukkan operasi-operasi yang khusus beroperasi pada
   direktori, sebagai berikut :

c. Memanipulasi seluruh sistem file.
   Terdapat perintah-perintah memanipulasi sistem file, antara lain :
   o Pembentukan sistem file.
   o Pemeriksaan sistem file.
   o Pengkopian seluruh sistem file.
   o Manipulasi lain.

6 Shared file

Adalah file yang tidak hanya diacu oleh satu direktori (pemakai), tapi juga
oleh direktori-direktori (pemakai) lain. Sistem file tidak lagi berupa
pohon melainkan directed acyclic graph (DAG). Masalah-masalah yang terdapat
pada shared file adalah sebagai berikut :
1. Metode implementasi shared file.
2. Metode pemberian hak akses pada shared file.
3. Metode pengendalian atau penanganan terhadap pengaksesan yang secara
   simultan dilakukan pemakai-pemakai yang mengacu file. Persoalan
   pengaksesan simultan in  menyangkut integritas atau koherensi data.



7 Sistem akses file

Sistem akses merupakan pilihan, yaitu :
1. Dapat menjadi bagian dari sistem operasi, atau
2. Sistem operasi sama sekali tidak mempunyai komponen sistem akses.
Sistem operasi bertujuan umum (general purposes operating system) tidak
mengimplementasikan sistem akses sebagai komponen sistem operasi, terserah
sistem manajemen basis data yang dijalankan di sistem operasi untuk
menangani sistem akses. Sistem operasi hanya memberikan pengelolaan sistem
file dasar.
Sistem operasi tertentu (khusus) sering mengimplementasikan sistem akses
sebagai bagiannya seperti sistem operasi mainframe untuk tujuan khusus.
Implementasi sistem akses ditingkat sistem operasi untuk meningkatkan
kinerja sistem manajemen basisdata.

Cara akses perangkat penyimpanan.
Perangkat penyimpanan berdasar disiplin pengaksesan dibagi dua, yaitu :
1. Perangkat akses sekuen (sequential access devices).
   Proses harus membaca semua byte atau rekord file secara berturutan mulai
   dari awal, tidak dapat meloncati dan membaca diluar urutan.
   Contoh : tape.
2. Perangkat akses acak (random access devices).
   Dimungkinkan dapat membaca byte atau rekord file di luar urutan, atau
   mengakses rekord berdasar kunci bukan posisinya.

Organisasi file.
Elemen pokok perancangan sistem akses adalah cara rekord-rekord
diorganisasikan atau distrukturkan. Beberapa kriteria umum untuk pemilihan
organisasi file adalah :
1. Redundansi yang kecil.
2. Pengaksesan yang cepat.
3. Kemudahan dalam memperbaharui.
4. Pemeliharaan yang sederhana.
5. Kehandalan yang tinggi.

Terdapat enam organisasi dasar, kebanyakan organisasi file sistem nyata
termasuk salah satu atau kombinasi kategori-kategori ini. Enam organisasi
atau pengaksesan dasar adalah sebagai berikut :
1. File pile (pile).
2. File sekuen (sequential file).
3. File sekuen berindeks (indexed-sequential file).
4. File berindeks majemuk (multiple indexed file).
5. File berhash (hashed or direct file).
6. File cincin (multiring file).
9 Implementasi sistem file



File berisi sekumpulan blok. Sistem manajemen file bertanggungjawab untuk
alokasi blok-blok disk ke file. Dua hal penting yang harus ditangani adalah :
o Pencatatan ruang yang dialokasikan untuk file.
o Pencatatan ruang bebas yang tersedia di disk.




Sistem file meliputi :

a. Alokasi file.
   Masalah pokok adalah pencatatan blok-blok yang digunakan file.
   Beragam metode dapat digunakan, diantaranya :
   Alokasi berturutan/kontigu (contigous allocation).
     Teknik ini merupakan skema alokasi paling sederhana, yaitu menyimpan
     file sebagai blok-blok data berturutan (kontigu) di disk.
     Keunggulan :
     Sederhana.
        Metode ini sederhana dalam implementasi karena pencatatan dimana
        blok-blok file berada direduksi menjadi hanya mengingat alamat awal
        file dan panjang file, yaitu jumlah blok dari file.
     Kinerjanya luar biasa bagus.
        Karena seluruh file dapat dibaca dari disk dengan satu operasi.
        Tak ada metode alokasi lain yang dapat menandingi kinerja pengaksesan.
        Keunggulan ini diperoleh karena rekord-rekord yang secara logik
        berturutan biasanya juga saling berdekatan secara fisik.
     Kelemahan :
     Hanya bila ukuran maksimum diketahui pada saat file diciptakan.
        Layak digunakan kecuali bila ukuran maksimum diketahui pada saat file
        diciptakan. Tanpa informasi itu, sistem operasi tidak mengetahui
        berapa banyak ruang disk yang digunakan untuk suatu file.
     Terjadi fragmentasi disk.
        Fragmentasi disk dapat dihasilkan metode alokasi ini, ruang yang
        disiakan seharusnya dapat digunakan.

     Pada lingkungan dimana file berkembang dan mengkerut setiap saat,
     alokasi kontigu sulit diterapkan :
     o Pemakai biasanya berlebihan dalam memperkirakan ruang yang diperlukan,
       menyebabkan banyak pemborosan.
     o Ketika file berkembang lebih besar dari slot yang dialokasikan, file
       harus ditransfer ke lokasi baru dapat memuat. Pemindahan memerlukan
       usaha besar yang mengkonsumsi banyak waktu komputasi.
     Meskipun teknik ini banyak kelemahan, tetapi sangat cocok untuk sistem
     yang memerlukan pengaksesan data didisk yang sangat cepat. Contohnya,
     sistem jaringan dan sistem waktu nyata (real time).

   Alokasi blok-blok file sebagai senarai berkait.
     Metode kedua adalah mencatat blok-blok file dengan senarai berkait
     blok-blok didisk. Word pertama di blok data sebagai pointer ke blok
     berikutnya, sisanya untuk menyimpan data. Skema ini disebut rantai blok
     (block chaining) karena blok pertama merantai blok kedua, blok kedua
     merantai blok ketiga, dan seterusnya. Blok sebelumnya merantai blok
     berikutnya. Direktori mencatat blok pertama file.

     Keunggulan :
     - Setiap blok didisk dapat digunakan.
     - Tak ada ruang yang hilang karena fragmentasi eksternal.
     - Isian/elemen direktori cukup menyimpan alamat blok pertama file.

     Kelemahan :
     - Pembacaan sekuen cukup merepotkan karena harus menelusuri blok satu
        per satu.
     - Blok data tidak lagi berukuran 2k, karena pointer memerlukan beberapa
        byte.

     Masalah ini tidak fatal. Ukuran yang janggal (bukan berukuran 2k)
     kurang efisien karena program membaca dan menulis blok tidak dapat
     memanfaatkan sifat bilangan biner.

     Alokasi blok-blok sebagai senarai berkait menggunakan index (FAT).
     Kelemahan alokasi senarai berkait dieliminasi dengna menghilangkan
     pointer di blok dan meletakkan sebagai tabel tersendiri di memori.
     Seluruh blok tersedia untuk data. Skema ini disebut block oriented file
     mapping. Tabel yang mencatat nomor blok data disebut FAT (File Allocation
     Table).

     Keunggulan :
        - Pengaksesan acak lebih mudah.
           Meski masih harus menelusuri rantai berkait untuk menemukan lokasi
           blok file, rantai blok seluruhnya di memori sehingga dapat dilakukan
           secara cepat tanpa membuat pengaksesan ke disk.
        - Direktori cukup menyimpan bilangan bulat nomor blok awal.
           Blok awal ini digunakan untuk menemukan seluruh blok, tak peduli
           jumlah blok file itu. Direktori menunjuk blok pertama file dan FAT
           menunjukkan blok-blok file berikutnya.

     Kelemahan :
     -  Seluruh tabel (FAT) harus disimpan di memori.
        Jika penyimpanan berukuran besar mengakibatkan tabel berukuran besar
        dan harus ditaruh di memori utama meskipun hanya satu file yang
        dibuka.
     Penggunaan : MS-DOS menggunakan metode ini.

b. Pencatatan ruang disk yang bebas.
   Dapat dilakukan dengan :
   o Berurutan.
     Cara ini mempunyai masalah bila file berkembang dan ruang berikutnya
     telah ditempati file lain.
   o Fixed block.
     Perkembangan file dapat diatasi tapi menentukan ukuran blok merupakan
     hal sulit.
   Blok-blok bebas yang belum digunakan pada disk harus dicatat sehingga
   dapat dilakukan alokasi blok-blok ke file yang memerlukan. Teknik
   pencatatan blok-blok bebas dapat dilakukan dengan :
   o Peta bit.
   o Senarai berkait.
   Peta bit memerlukan ruang pencatatan lebih kecil karena tiap blok hanya
   dipresentasikan 1 bit, sementara senarai berkait memerlukan 16 bit
   perblok. Senarai berkait lebih kecil dibanding peta bit hanya jika disk
   telah hampir penuh.

c. Shared file.
   Adalah file yang tidak hanya diacu satu direktori, juga oleh direktori-
   direktori lain. Sistem manajemen file tidak lagi berupa pohon melainkan
   graph berarah tak melingkar (DAG=directed acyclic graph).
   Shared file dapat diimplementasikan dengan tiga teknik, yaitu :
   o. Membuat pengkopian.
      File yang dipakai bersama dikopi ke masing-masing direktori pemakai.
      Keunggulan :
      - Sederhana.
      - Terdapat redundansi, sehingga kerusakan satu kopian masih tersedia
         kopian-kopian lain.
      Kelemahan :
       - Perubahan yang dibuat satu pemakai tidak akan terlihat pemakai-
         pemakai lain. Kelemahan ini merupakan masalah fatal, memerlukan
         satu mekanisme penjagaan integritas yang rumit.
       - Penggunaan ruang disk sangat besar karena duplikasi atau pengkopian
          file-file yang sama.

        Penggunaan :
           Dapat diterapkan pada sistem jaringan secara hati-hati agar
           memperkecil lalu lintas komunikasi. Penerapan terutama pada
           file-file acuan yang jarang diperbarui.

   o. I-node.
      Blok-blok disk file dipakai bersama tidak didaftarkan di direktori
      melainkain di struktur kecil diasosiasikan dengan file. Direktori
      pemakai-pemakai lain cukup menunjuk struktur itu. Struktur data kecil
      tersebut adalah i-node.

      Keuntungan :
      - Tidak terdapat banyak kopian.
      - Modifikasi oleh satu pemakai akan terlihat pemakai lain.
      - Tidak memerlukan mekanisme penjagaan integrasi yang rumit.

      Kelemahan :
      - Jika sistem menghapus file dan juga memberikan i-node maka direktori
         pemakai lain akan menunjuk i-node tidak absah.
      - Jika i-node kemudian diberikan ke file lain maka akan menunjuk ke
         file yang baru, file yang tidak dimaksud.

      Penggunaan :
      Pendekatan ini digunakan UNIX, disebut hard-link.

   o. Symbolic link.
      Sistem membuat file bertipe link (kaitan) berisi jalur yang dikaitkan
      di direktori. Ketika file bertipe link dibaca maka sistem operasi
      mengetahui bahwa file yang harus dibaca adalah nama file yang ditunjuk
      file tipe link. Sistem mencari direktori yang memuat i-node file itu.
      Kelemahannya tidak terdapat pada teknik symbolic link karena
      hanya pemilik file yang mempunyai penunjuk ke i-node file.

      Keuntungan :
      - Symbolic linking dapat digunakan men-links file di mesin manapun.
      - Bila symbolic linking dihilangkan, tidak menimbulkan efek apapun
        pada file.

      Kelemahan :
      - File yang berisi jalur haris dibaca. Jalur diparse dan diikuti
         komponen demi komponen sampai dicapai i-node. Semua aktivitas ini
         memerlukan sejumlah pengaksesan disk.
      - Pemborosan lain adalah diperlukan satu i-node ekstra untuk setiap
         symbolic linking.

      Penggunaan :
      Pendekatan ini digunakan UNIX, disebut symbolic link.

   Pengaksesan pada shared file
   Sistem manajemen file harus menyediakan alat bantu agar mengijinkan
   pemakaian file bersama pemakai-pemakai, menyediakan sejumlah pilihan
   teknik pengendalian pengaksesan file bersama. Biasanya, pemakai atau
   sekelompok pemakai diberi wewenang hak pengaksesan tertentu terhadap
   file itu.
   Hak-hak akses sangat beragam. Berikut adalah daftar hak-hak pengaksesan
   ke pemakai terhadap file :
   - None.
      Pemakai tidak mengetahui keberadaan file. Batasan ini dilakukan dengan
      pemakai tidak diijinkan membaca direktori.
   - Knowledge.
      Pemakai dapat mengetahui keberadaan file dan pemiliknya. Bila perlu,
      pemakai dapat meminta peningkatan hak akses file dengan mengirim pesan
      ke pemilik file. Pemilik file dapat mengendalikan yaitu berkuasa penuh
      untuk mengubah hak akses ataupun tidak.
   - Execution.
      Pemakai dapat memuatkan file dan mengeksekusi program tapi tidak dapat
      mengkopinya. Program-program khusus sering hanya dapat diakses dengan
      batasan ini.
   -  Reading.
      Pemakai dapat membaca file untuk tujuan tertentu, termasuk pengkopian
      dan eksekusi. Beberapa sistem dapat memaksakan pembedaan antara sekedar
      melihat dan mengkopi. Pada aktivitas pertama,isi file dapat ditampilkan
      ke pemakai tapi pemakai tidak mempunyai cara untuk mengkopinya.
   - Appending.
      Pemakai dapat menambah data ke file, sering hanya di akhir file.
      Pemakai tidak dapat memodifikasi atau menghapus suatu isi file.
      Hak ini berguna dalam mengumpulkan data dari sejumlah sumber dengan
      sumber-sumber tidak dapat memodifikasi file selain menambahkan data.
   - Updating.
      Pemakai dapat memodifikasi, menghapus dan menambah data pada file.
      Update biasanya termasuk menulis file, menulis ulang secara penuh atau
      sebagian, dan memindahkan semua atau sebagian data. Beberapa sistem
      membedakan menjadi derajat-derajat update secara berbeda.
  - Changing protection.
      Pemakai dapat mengubah hak-hak akses yang diberikan ke pemakai-pemakai
      lain. Biasanya hak ini hanya dipegang pemilik file. Pada beberapa
      sistem, pemilik file dapat melimpahkan hak ini pemakai lain. Untuk
      mencegah penyalahgunaan, pemilik file dapat menspesifikasikan hak-hak
      mana yang dapat diubah oleh penerima wewenang.
   - Deletion.
      Pemakai dapat menghapus file dari sistem file.

d. Kehandalan sistem file.
   Kerusakan data lebih mahal dibanding kerusakan perangkat keras karena
   merupakan kehilangan yang tak dapat diganti bila tidak memiliki
   salinannya.

   Manajemen blok buruk
   Disk biasanya mempunyai blok-blok buruk, yaitu mempunyai cacat sehingga
   tak sempurna dalam menyimpan data. Kebanyakan produsen harddisk memberi
   daftar blok buruk yang ditemukan selama pengujian.
   Terdapat dua solusi terhadap blok-blok buruk, yaitu :
   - Secara perangkat keras.
     Solusi dengan menyediakan track pengganti. Secara perangkat keras
     didedikasikan sektor untuk mencatat blok-blok buruk. Daftar blok buruk
     menyatakan blok pengganti pada track yang disediakan untuk pengganti.
     Semua permintaan ke blok buruk akan diarahkan menggunakan blok
     pengganti.
   - Secara perangkat lunak.
     Sistem manajemen file membuat catatan semua blok buruk, menyingkirkan
     dari daftar blok bebas. Blok-blok ini tak pernah dipakai untuk
     menyimpan data. Selama pencatatan blok-blok buruk tidak terusik maka
     tak akan muncul masalah.

   Pemulihan dari kegagalan disk
   Penanggulangan kerusakan disk saat operasi dapat dilakukan dengan :
   a. Backup.
      Teknik yang paling biasa dilakukan adalah backup data secara periodik.
      Backup adalah membuat kopian file secara teratur dan meletakkan kopian
      ditempat aman. Cara backup bergantung kapasitas penyimpan yang
      dibackup, yaitu :
      - Untuk floppy disk.
        Kopikan isi floppy disk secara keseluruhan. Cara iini dilakukan
        karena kapasitas masih kecil sehingga pengkopian dapat dilakukan
        secara cepat, aman, dan menyeluruh.
      - Untuk small harddisk.
        Dump isi harddisk.
      - Untuk big harddisk.

        Backup bersilangan, yaitu :
        - Partisi pertama disk A adalah data sedang partisi kedua adalah
           backup untuk data disk B.
        - Partisi pertama disk B adalah data sedang partisi kedua adalah
           backup untuk data disk A.

      Agar tidak terjadi pengkopian berulang file-file yang tidak
      dimodifikasi pada disk berukuran besar maka dilakukan incremented dump.
      Incremented dump adalah hanya dump file-file yang berubah sejak
      terakhir kali di dump. Terdapat daftar file yang harus dibackup di
      disk.
      Kelemahan :
      > Sistem perlu shutdown selama operasi backup.
      > Backup lengkap memakan waktu lama.
      > Ketika terjadi kegagalan sistem, pemulihan dari backup terakhir
        biasanya memakai banyak waktu.
      Ketika pemulihan selesai, data di sistem adalah data backup terakhir.
      Seluruh taransaksi yang dilakukan sejak backup terakhir sampai terjadi
      kegagalan sistem hilang musnah. Semua teknik berbasis backup mempunyai
      keterbatasan tidak dapat memulihkan data/informasi diantara backup
      terakhir dan kejadian kegagalan sistem. Pendekatan untuk memperkecil
      data/informasi yang hilang adalah dengan transaction log.

   b. Transaction log.
      Setiap transaksi segera dicatat (log), menghasilkan transaction log.
      Setiap transaksi dibackup. Teknik ini lebih mudah dilakukan di sistem
      interaktif karena aktifitas manusia relatif lebih lambat dibanding
      pencatatan transaksi sehingga tidak mempengaruhi waktu tanggap.
      Bila terjadi kegagalan maka pemulihan memanfaatkan backup terakhir
      dan transaction log.Pemulihan dilakukan dengan cara sistem menjalankan
      setiap transaksi di transaction log terhadap backup terakhir,
      seterusnya sampai transaksi terakhir yang tercatat. Kehilangan data
      dikurangi, yaitu hanya satu transaksi terakhir yang tidak tercatat
      yang hilang musnah.

      Konsistensi sistem manajemen file.
      Masalah penting lain adalah konsistensi atau integritas. Terdapat
      beberapa teknik untuk mengatasi masalah konsistensi sistem manajemen
      file, antara lain :
      - Atomic update.
        Update rekord, blok dan file terjadi lengkap atau tidak sama sekali
        (meninggalkan sistem pada keadaan semula).
      - Stable storage.
        Menulis di drive 1, dilakukan verifikasi :
        -  Jika baik maka ditulis ke drive 2 dan diversifikasi. Verifikasi
           untuk menangani bad sector.
        -  Jika baik maka diulangi penulisannya.
           Cara ini tidak pernah menjadikan sistem dalam keadaan ambigu.
        Multiversion files.
        Dibuat file baru pada saat pengaksesan.

      Kendali kongkurensi
      Teknik untuk menangani keadaan simultan secara serial disebut
      serializability. Teknik untuk mendapatkan properti ini disebut kendali
      kongkurensi, antara lain :
     -  Penguncian (locking).
        Adalah teknik kendali kongkurensi yang biada dipakai. Ketika file
        dikunci, semua usaha menggunakan atau mengunci fle oleh klien-klien
        lian akan ditolak. Masalahnya yaitu jika klien mengunci file,
        kemudian crash.
        Solusi menerapkan timer begitu memulai lock. Bila proses telah
        melewati suatu batas waktu maka klien dianggap telah crash dan
        dilepaskan penguncian yang dilakukannya. Cara ini menimbulkan
        masalah baru, yaitu jika ternyata sebenarnya klien masih berjalan
        baik, hanya lamban maka karena pengunciannya dilepaskan menyebabkan
        inkonsistensi dapat terjadi bila klien lain memakai file itu.
      - Transaksi (transaction).
        Pemakai diberi wewenang mendefinisikan transaksi yaitu seluruh aksi
        di transaksi harus berjalan sukses seluruhnya atau bila terdapat
        aksi yang gagal maka dianggap tidak terdapat aksi sama sekali.
        Transaksi yang gagal akan meninggalkan sistem file tanpa perubahan,
        tidak dalam keadaan ditengah-tengah yang tidak tentu.
      - Replikasi file (file replication).
        Sistem tidak hanya menyimpan satu kopian tapi menyimpan N kopian.
        Jika salah satu kopian rusak, data tidak hilang. Ketika satu kopian
        dimodifikasi, beragam cara untuk menangani replikasi agar sistem
        file tetap konsisten.
        Terdapat dua strategi, yaitu :
        - Menempatkan duplikasi-duplikasi pada banyak direktori dan
           mengirim blok-blok yang telah diubah ke tiap duplikasi.
           Duplikasi-duplikasi akan up-to-minute.
        - Tinggalkan duplikasi-duplikasi yang telah kedaluwarsa, buat
           kopian-kopian baru file yang dimodifikasi dan masukan kopian-
           kopian itu ke direktori.

e. Kinerja sistem file.
   Sasaran utama peningkatan kinerja sistem manajemen file adalah mereduksi
   jumlah akses ke disk. Cara-cara yang dapat digunakan, adalah :
   - Buffer cache.
     Mengakses data dari/ke disk dibanding mengakses dari/ke memori utama
     (RAM) lebih lamban 100.000 kali. Karena itu harus diusahakan mereduksi
     jumlah pengaksesan ke disk. Teknik untuk mereduksi adlah block chace
     atau buffer cache atau chace. Chace adalah kumpulan blok yang secara
     logik dipunyai disk tetapi tersimpan di memori utama. Cara kerja chace
     adalah sebagai berikut :
     - Selalu memeriksa semua permintaan baca untuk menentukan apakah blok
        yang diperlukan telah berada di chace.
     - Jika blok telah berada di chace, maka permintaan baca dapat dipenuhi
        dari cache tanpa pengaksesan disk.
     - Jika blok data tidak berada di chace, maka dilakukan pembacaan dari
        disk sebanyak satu blok dan kopikan lebih dulu ke chace. Setelah itu
        kopikan ke proses yang meminta. Permintaan berikutnya untuk blok
        yang sama dapat dipenuhi dari chace tanpa perlu pengaksesan disk.
     - Jika chace telah penuh, suatu blok di chace dipindahkan dan jika
        blok tersebut telah dimodifikasi maka harus dituliskan ke disk.

   - Penempatan data.
     Penempatan data diusahakan sehingga memperkecil jumlah seek times dan
     rotasi. Interleave digunakan untuk memperkecil rotasi. Pada sistem
     dengan i-node terdapat bottleneck disebabkan dua pengaksesan, yaitu :
     - Pengaksesan i-node.
     - Pengaksesan blok-blok data.

10 Sistem akses file
Rekord dan blocking
Pada sistem akses, maka rekord adalah unit terkecil penyimpanan data di
level logik atau file. Panjang rekord dapat tetap atau bervariasi.
Tiga metode untuk penandaan awal dan akhir rekord berukuran variasi, yaitu :
- End of record mark.
- Indikator panjang.
- Tabel posisi rekord.
  Rekord-rekord harus ditempatkan di blok. Satu blok dapat terdiri satu
  rekord atau lebih. Penempatan rekord-rekord ke blok disebut blocking.
  Blocking factor (Bfr) adalah parameter yang menunjukkan jumlah rekord
  yang diharapkan (maksimum) ditampung di 1 blok.

Penempatan rekord-rekord pada block
Kombinasi penempatan rekord-rekord pada blok dapat berupa :
- Fixed blocking.
  Rekord berukuran tetap. Blok berisi jumlah rekord yang tetap. Rekord
  hanya menempati di satu blok, tidak boleh di pecah di beberapa blok.
  Rekord tidak boleh melebihi ukuran blok.
  Keunggulan :
  Memudahkan implementasi.
  Kelemahan :
  Memboroskan ruang penyimpan karena fragmentasi internal.

- Variable length spanned blocking.
  Rekord dapat berukuran bervariasi ditempatkan memenuhi blok dan dapat
  dipecah untuk menempati blok-blok berbeda. Satu rekord dapat ditempatkan
  di lebih dari satu blok. Keterhubungan rekord yang terpecah pada blok-blok
  berbeda diwujudkan dengan pointer blok menunjuk alamat blok-blok berikutnya
  tempat bagian rekord itu.
  Keuntungan :
  - Fleksibel bagi pemakai.
  - Ukuran rekord tidak dibatasi ukuran blok.
  - Mengurangi kesiaan ruang penyimpan karena fragmentasi internal sungguh
     berkurang.
  Kelemahan :
  - Sulit diimplementasikan.
  - Mahal dalam pencariannya.
  - Sulit dalam perbaruan (update).

- Variable length unspanned blocking.
  Rekord-rekord walaupun bervariabel panjangnya harus secara utuh ditempatkan
  pada satu blok, tidak boleh dipecah ke blok-blok lain.
  Kelemahan :
  - Terjadi pemborosan tempat karena rekord yang akan ditempatkan terlalu
     panjang untuk sisa blok akan ditempatkan di blok berikutnya.
  - Panjang rekord tidak boleh lebih panjang daripada ukuran blok.

Operasi-operasi di sistem akses file
Sistem akses harus mampu menyediakan operasi-operasi berikut terhadap
organisasi akses yang dipilih, yaitu :
ž Pencarian suatu rekord tertentu.
ž Bergerak ke rekord berikutnya.
ž Memperbarui rekord berupa penghapusan rekord atau modifikasi suatu rekord.
ž Pembacaan kumpulan rekord dengan kriteria tertentu.
ž Pembacaan seluruh rekord di file.
ž Reorganisasi.
Tiap organisasi akses mempunyai keunggulan dan kelemahan tersendiri sehingga
tidak mungkin menerapkan satu organisasi akses untuk seluruh kebutuhan
aplikasi sistem komputer.