Aliran File (Sistem File Lokal)

Aliran adalah urutan byte. Dalam sistem file NTFS, aliran berisi data yang ditulis ke file, dan yang memberikan informasi lebih lanjut tentang file daripada atribut dan properti. Misalnya, Anda dapat membuat aliran yang berisi kata kunci pencarian, atau identitas akun pengguna yang membuat file.

Setiap aliran yang terkait dengan file memiliki ukuran alokasinya sendiri, ukuran aktual, dan panjang data yang valid:

  • Ukuran alokasi adalah jumlah ruang disk yang dicadangkan untuk aliran.
  • Ukuran aktual adalah jumlah byte yang digunakan oleh penelepon.
  • Panjang data (VDL) yang valid adalah jumlah byte yang diinisialisasi dari ukuran alokasi untuk aliran.

Setiap aliran juga mempertahankan statusnya sendiri untuk kompresi, enkripsi, dan jarang. Atribut FILE_ATTRIBUTE_SPARSE_FILE pada file diatur dalam dwFileAttributes anggota struktur WIN32_FIND_DATA yang dikembalikan dari fungsi FindFirstFile, FindFirstFileEx, dan FindNextFile jika salah satu aliran pernah jarang. GetFileAttributes, GetFileAttributesEx, GetFileAttributesTransacted, GetFileInformationByHandle, dan GetFileInformationByHandleEx mengembalikan status jarang aliran data default jika tidak ada aliran yang ditentukan.

Tidak ada waktu file yang terkait dengan aliran. Waktu file untuk file diperbarui ketika aliran apa pun dalam file diperbarui.

Kunci oportunistik dipertahankan per aliran. Mode berbagi juga dipertahankan per aliran. Saat akses penghapusan diminta pada file, sistem operasi memeriksa akses penghapusan pada semua aliran terbuka dalam file. Jika proses lain telah membuka aliran tanpa izin FILE_SHARE_DELETE , Anda tidak dapat membuka file untuk menghapus akses.

Jika file yang disalin memiliki aliran data dan pengalihan jaringan digunakan, file hanya dapat disalin jika klien memiliki izin baca dan izin atribut baca.

Konvensi Penamaan untuk Aliran

Ketika ditentukan dari baris perintah shell Windows, nama lengkap aliran adalah "filename:stream name:stream type", seperti dalam contoh berikut: "myfile.dat:stream1:$DATA".

Setiap karakter yang legal untuk nama file juga legal untuk nama streaming, termasuk spasi. Untuk informasi selengkapnya, lihat Penamaan File. Jenis aliran (juga disebut kode jenis atribut) bersifat internal untuk sistem file NTFS. Oleh karena itu, pengguna tidak dapat membuat jenis aliran baru, tetapi mereka dapat membuka jenis sistem file NTFS yang ada. Nilai penentu jenis aliran selalu dimulai dengan simbol tanda dolar ($). Lihat di bawah ini untuk daftar jenis aliran.

Secara default, aliran data default tidak disebutkan namanya. Untuk sepenuhnya menentukan aliran data default, gunakan "filename::$DATA", di mana $DATA adalah jenis aliran. Ini setara dengan "nama file". Anda dapat membuat aliran bernama dalam file menggunakan konvensi penamaan file. Perhatikan bahwa "$DATA" adalah nama aliran legal. Misalnya, nama lengkap aliran bernama "$DATA" pada file bernama "sample" adalah "sample:$DATA:$DATA". Jika Anda membuat aliran bernama "bar" pada file yang sama, nama lengkapnya adalah "sample:bar:$DATA".

Saat membuat dan bekerja dengan file yang memiliki nama satu karakter, awali nama file dengan periode diikuti dengan garis miring terbalik (.) atau gunakan nama jalur yang sepenuhnya memenuhi syarat. Alasan untuk melakukan ini adalah bahwa Windows memperlakukan nama file satu karakter sebagai huruf kandar. Ketika huruf kandar ditentukan dengan jalur relatif, titik dua memisahkan huruf drive dari jalur. Ketika ada ambiguitas tentang apakah nama satu karakter adalah huruf kandar atau nama file, Windows mengasumsikan itu adalah huruf drive jika string yang mengikuti titik dua adalah jalur yang valid, bahkan jika huruf kandar tidak valid.

Jenis Aliran

Berikut ini adalah daftar jenis aliran NTFS, juga disebut kode jenis atribut. Beberapa jenis aliran bersifat internal untuk NTFS dan formatnya tidak terdokumentasi.

Jenis Aliran Deskripsi
::$ATTRIBUTE_LIST Berisi daftar semua atribut yang membentuk file dan mengidentifikasi tempat setiap atribut berada.
::$BITMAP Bitmap yang digunakan oleh indeks untuk mengelola ruang kosong b-tree untuk direktori. Pohon b dikelola dalam gugus 4 KB (terlepas dari ukuran kluster) dan ini digunakan untuk mengelola alokasi gugus ini. Jenis aliran ini ada di setiap direktori.
::$DATA Aliran data. Aliran data default tidak memiliki nama. Aliran data dapat dijumlahkan menggunakan fungsi FindFirstStreamW dan FindNextStreamW.
::$EA Berisi data Atribut yang Diperluas.
::$EA_INFORMATION Berisi informasi dukungan tentang Atribut yang Diperluas.
::$FILE_NAME Nama file, dalam karakter Unicode. Ini termasuk nama pendek file serta tautan keras apa pun.
::$INDEX_ALLOCATION Jenis aliran direktori. Digunakan untuk menerapkan alokasi nama file untuk direktori besar. Aliran ini mewakili direktori itu sendiri dan berisi semua data direktori. Perubahan pada aliran jenis ini dicatat ke jurnal perubahan NTFS. Nama aliran default dari jenis aliran $INDEX_ALLOCATION $I 30 sehingga "DirName", "DirName::$INDEX_ALLOCATION", dan "DirName:$I 30:$INDEX_ALLOCATION" semuanya setara.
::$INDEX_ROOT Aliran ini mewakili akar pohon b indeks. Jenis aliran ini ada di setiap direktori.
::$LOGGED_UTILITY_STREAM Mirip dengan ::$DATA tetapi operasi dicatat ke jurnal perubahan NTFS. Digunakan oleh EFS dan Transactional NTFS (TxF). Pasangan ":StreamName:$StreamType" untuk EFS adalah ":$EFS:$LOGGED_UTILITY_STREAM" dan untuk TxF adalah ":$TXF_DATA:$LOGGED_UTILITY_STREAM".
::$OBJECT_ID ID 16-byte yang digunakan untuk mengidentifikasi file untuk layanan pelacakan tautan.
::$REPARSE_POINT Data titik pemilah ulang.

 

Menggunakan Aliran