Back to IF2130 Sistem Operasi

Topic

Questions/Cues

  • Kontrol Akses Berkas Lokal
  • Model Berbagi Berkas Jarak Jauh
  • Apa itu Semantik Konsistensi?
  • Studi Kasus: NFS
  • Studi Kasus: WAFL
  • Studi Kasus: APFS

Kontrol Akses pada Berbagi Berkas Lokal

Pada sistem multi-pengguna, OS harus dapat mengontrol siapa yang boleh mengakses berkas apa dan dengan cara apa (baca, tulis, eksekusi, dll.). Dua model utama:

  1. Access-Control List (ACL): Setiap berkas memiliki daftar (list) eksplisit yang berisi pasangan (pengguna/grup, izin).
    • Kelebihan: Sangat fleksibel dan granular. Anda bisa memberikan izin spesifik ke pengguna A, izin lain ke pengguna B, dan izin berbeda lagi untuk grup C.
    • Kekurangan: Bisa menjadi sangat panjang dan rumit untuk dikelola. Contoh utama: Windows.
  2. Condensed ACL (Model UNIX): Model yang lebih sederhana. Setiap berkas memiliki tiga set izin rwx (read, write, execute) untuk tiga kategori:
    • Owner: Pemilik berkas.
    • Group: Grup pengguna yang terkait dengan berkas.
    • Other/Public: Semua pengguna lain di sistem.
    • Kelebihan: Sederhana, efisien, dan mudah dipahami
    • Kekurangan: Kurang fleksibel dibandingkan ACL penuh.

Berbagi Berkas Jarak Jauh (Remote File Sharing)

Menggunakan jaringan untuk mengakses berkas yang berada di mesin lain.

  • Model Klien-Server:** Arsitektur yang paling umum.
    • Server: Mesin yang memiliki data fisik dan “mengekspor” (menyatakan tersedia) direktorinya ke jaringan.
    • Client: Mesin yang “memasang” (mount) direktori yang diekspor tersebut ke dalam struktur direktori lokalnya. Setelah di-mount, berkas jarak jauh tersebut terlihat dan terasa seperti berkas lokal bagi pengguna di klien.
  • Mode Kegagalan: Sistem jarak jauh memiliki lebih banyak titik kegagalan (jaringan putus, server crash). Protokol harus mendefinisikan semantik kegagalan: apakah klien menunggu tanpa batas, atau langsung gagal?
  • Stateless vs. Stateful:
    • Stateless (Tanpa Status): Server tidak menyimpan informasi tentang klien di antara permintaan (misal: NFSv3). Setiap permintaan harus berisi semua informasi yang diperlukan. Jika server crash, ia bisa langsung kembali online tanpa perlu memulihkan status klien.
    • Stateful (Berstatus): Server melacak status klien (misalnya, berkas apa yang sedang dibuka). Ini memungkinkan fitur canggih seperti penguncian berkas jaringan, tetapi pemulihan dari crash server menjadi lebih rumit.

Semantik Konsistensi (Consistency Semantics)

  • Menentukan kapan modifikasi pada sebuah berkas yang dilakukan oleh satu pengguna akan terlihat oleh pengguna lain yang mengakses berkas yang sama.
  • UNIX Semantics: Sangat ketat. Setiap operasi write langsung terlihat oleh proses lain yang telah membuka berkas tersebut. Memberikan ilusi satu citra berkas tunggal.
  • Session Semantics (AFS): Lebih longgar. Perubahan yang dilakukan pada berkas yang terbuka tidak terlihat oleh pengguna lain. Perubahan baru akan terlihat setelah berkas ditutup, dan hanya untuk sesi yang dibuka setelahnya. Baik untuk kinerja di jaringan yang lambat karena memungkinkan caching yang agresif.
  • Immutable-Shared-Files Semantics: Paling sederhana. Berkas yang sudah dibagikan tidak dapat diubah sama sekali (bersifat read-only). Ini menghilangkan semua masalah konsistensi.

Studi Kasus

NFS (Network File System):

  • Tujuan: Menyediakan akses berkas jarak jauh yang transparan dalam lingkungan heterogen (berbagai OS dan mesin).
  • Mekanisme: Menggunakan protokol Mount untuk koneksi awal dan RPC (Remote Procedure Calls) untuk operasi berkas seperti baca dan tulis.
  • Karakteristik Kunci (v3): Desain stateless-nya membuatnya sangat tangguh terhadap kegagalan server, tetapi mengorbankan beberapa kinerja (karena server harus menulis data ke disk sebelum membalas) dan fungsionalitas (kontrol konkurensi/penguncian yang rumit).

WAFL (Write-Anywhere File Layout):

  • Konsep Inti: Sebuah sistem berkas Copy-on-Write (CoW) yang dioptimalkan untuk server berkas jaringan. WAFL tidak pernah menimpa blok data.
  • Fitur Unggulan: Desain CoW ini secara alami memungkinkan:
    • Snapshots: Membuat “foto” instan dari sistem berkas pada suatu waktu. Proses ini sangat cepat dan efisien ruang karena tidak menyalin data, hanya mempertahankan penunjuk ke blok lama.
    • Clones: Versi snapshot yang dapat ditulisi (writable).
    • Replikasi: Mengirim pembaruan ke sistem cadangan dengan hanya mengirimkan blok-blok yang berubah di antara dua snapshot.

APFS (Apple File System):

  • Tujuan: Sistem berkas modern dan terpadu untuk semua perangkat Apple (dari watchOS hingga macOS).
  • Fitur Unggulan:
    • Space Sharing: Beberapa volume logis (misalnya, ‘macOS’ dan ‘Data’) berada dalam satu “Container” dan berbagi kumpulan ruang kosong yang sama secara dinamis. Tidak ada lagi partisi berukuran tetap.
    • Copy-on-Write: Seperti WAFL, ini menjadi dasar untuk fitur seperti snapshots dan clones yang efisien.
    • Enkripsi Kuat: Enkripsi adalah fitur kelas satu, terintegrasi secara native.
    • Atomic Safe-Save: Operasi seperti mengganti nama (rename) dijamin bersifat atomik, mencegah keadaan tidak konsisten jika terjadi crash.

Summary

Berbagi berkas diatur melalui model kontrol akses—baik granular (ACL) maupun sederhana (UNIX)—dan diperluas ke jaringan melalui arsitektur klien-server seperti NFS, yang menimbulkan tantangan baru dalam mode kegagalan dan semantik konsistensi. Studi kasus sistem berkas modern menyoroti inovasi kunci: NFS untuk interoperabilitas jarak jauh, WAFL dengan desain copy-on-write yang revolusioner untuk snapshot dan kloning, serta APFS sebagai sistem berkas terpadu yang dioptimalkan untuk berbagai perangkat Apple dengan fitur canggih seperti space sharing dan enkripsi kuat.