Sistem berkas NTFS memiliki sebuah desain yang sederhana tetapi memiliki kemampuan yang lebih dibandingkan keluarga sistem berkas FAT. NTFS menawarkan beberapa fitur yang dibutuhkan dalam sebuah lingkungan yang terdistribusi, seperti halnya pengaturan akses (access control) siapa saja yang berhak mengakses sebuah berkas atau direktori, penetapan kuota berapa banyak setiap pengguna dapat menggunakan kapasitas hard disk, fitur enkripsi, serta toleransi terhadap kesalahan (fault tolerance). Fitur-fitur standar sebuah sistem berkas, seperti halnya directory hashing, directory caching, penggunaan atribut direktori, dan atribut berkas tentu saja telah dimiliki oleh NTFS.
Bahkan, Microsoft telah menambahkan kemampuan yang hebat ke dalam NTFS agar memiliki kinerja yang tinggi, lebih tinggi daripada sistem berkas yang sebelumnya semacam HPFS atau FAT, khususnya pada ukuran volume yang besar, tetapi juga tetap mempertahankan kemudahan pengoperasiannya. Salah satu keunggulan NTFS dibandingkan dengan sistem berkas lainnya adalah bahwa NTFS bersifat extensible (dapat diperluas) dengan menambahkan sebuah fungsi yang baru di dalam sistem operasi, tanpa harus merombak desain secara keseluruhan (perombakan mungkin dilakukan, tetapi tidak secara signifikan).
Fitur NTFS
Terdapat beberapa fitur NTFS:
NTFS dapat mengatur kuota volume untuk setiap pengguna (dalam NTFS disebut dengan Disk Quota).
NTFS mendukung pembuatan berkas dengan atribut sparse (berkas yang berisi banyak area kosong di dalam datanya) yang umumnya dibutuhkan oleh aplikasi-aplikasi ilmiah.
NTFS mendukung hard link (tautan keras) serta symbolic link (tautan simbolis) seperti halnya sistem berkas dalam sistem operasi keluarga UNIX, meskipun dalam NTFS, implementasinya lebih sederhana. Fitur symbolic link dalam NTFS diimplementasikan dengan menggunakan Reparse Point yang awalnya hanya dapat diterapkan terhadap direktori. Windows Vista mengizinkan penggunaan symbolic link terhadap berkas.
NTFS mendukung penamaan berkas dengan metode pengodean Unicode (16-bit UCS2) hingga 255 karakter. Berbeda dengan sistem berkas FAT yang masih menggunakan pengodean ANSI (8-bit ASCII) dan hanya berorientasi pada format 8.3. Penggunaan nama panjang dalam sistem berkas FAT akan menghabiskan lebih dari dua entri direktori. Tabel di bawah ini menyebutkan karakteristik perbandingan antara NTFS dengan sistem berkas FAT32 dan FAT16.
Kompresi berkas
Kompresi diaktifkan per folder atau per berkas dengan mengatur atribut 'terkompresi. Saat kompresi dikatifkan di sebuah folder, berkas manapun yang dipindahkan atau disimpan ke folder tersebut akan secara otomatis terkompres menggunakan algoritma LZNT1 (sebuah varian dari LZ77).[2] Algoritme kompresi dirancang untuk mendukung ukuran cluster hingga 4 KB; jika ukuran cluster lebih besar dari 4 KB pada volume NTFS, kompresi NTFS tidak tersedia.[3] Data dikompresi dalam 16 bagian cluster (berukuran hingga 64 KB); jika kompresinya mengurangi 64KB data ke 60KB atau kurang, NTFS treats the unneeded 4KB pages like empty sparse file clusters—they are not written. This allows for reasonable random-access times as the OS merely has to follow the chain of fragments.
Alternate data stream (ADS)
NTFS memiliki fitur untuk menampung lebih dari satu buah ruangan data dalam sebuah berkas. Fitur ini disebut dengan alternate data stream.
Aliran alternatif tidak terdaftar di Windows Explorer, dan ukuran mereka tidak termasuk dalam ukuran berkas. Saat berkas di salin atau dipindahkan ke sistem berkas lain tanpa dukungan ADS pengguna diperingatkan bahwa aliran data alternatif tidak dapat dipertahankan. Biasanya tidak ada peringatan seperti itu yang diberikan jika berkas dilampirkan ke surel, atau diunggah ke situs web. Oleh karena itu, penggunaan aliran alternatif untuk data penting dapat menimbulkan masalah. Microsoft menyediakan alat yang disebut Streams[4] untuk melihat aliran pada volume yang dipilih. Dimulai dengan Windows PowerShell 3.0, dimungkinkan untuk mengelola ADS secara asli dengan enam cmdlet: Add-Content, Clear-Content, Get-Content, Get-Item, Remove-Item, Set-Content.[5]
Malware telah menggunakan aliran data alternatif untuk menyembunyikan kodenya.[6]
Perbandingan
Tabel Perbandingan Karakteristik NTFS dengan FAT32 dan FAT16
Pada pertengahan 1980an, Microsoft dan IBM membentuk sebuah kerja sama proyek untuk membuat generasi antarmuka sistem operasi baru; hasilnya adalah OS/2 dan HPFS. Karena Microsoft tidak setuju dengan IBM dalam banyak masalah penting, mereka akhirnya berpisah; OS/2 tetap menjadi proyek IBM dan Microsoft bekerja untuk mengembangkan Windows NT dan NTFS.
Sistem berkas HPFS untuk OS/2 mengandung beberapa fitur penting baru. Saat Microsoft membuat sistem operasi baru mereka, mereka meminjam banyak konsep ini untuk NTFS.[7] Pengembang asli untuk NTFS adalah Tom Miller, Gary Kimura, Brian Andrew, dan David Goebel.[8]
Mungkin karena kesamaan pendahulu, HPFS dan NTFS menggunakan kode tipe identifikasi (07) partisi diska yang sama. Menggunakan Nomor Catatan ID Partisi yang sama sangatlah tidak biasa, karena ada lusinan nomor kode yang belum digunakan, dan sistem berkas besar lainnya memiliki kodenya sendiri. Sebagai contoh, FAT mempunyai lebih banyak dari sembilan (masing-masing satu untuk FAT12, FAT16, FAT32, dll.). Algoritma yang mengidentifikasi sistem berkas pada partisi tipe 07 harus melakukan pemeriksaan tambahan untuk membedakan antara HPFS dan NTFS.
Versi NTFS
Selama 16 tahun perkembangan Windows NT (1991-2007), NTFS telah beberapa kali mengalami perbaikan fungsi dan fitur. Meskipun terjadi beberapa kali perbaikan fungsi dan fitur, antar setiap versi tersebut masih terdapat kompatibilitas yang sangat dibutuhkan oleh sistem-sistem lama. Berikut ini adalah beberapa versi NTFS:
NTFS versi 1.0 merupakan versi yang datang bersama dengan Windows NT 3.1. Versi ini menawarkan fungsi yang sangat dasar, tetapi sudah jauh lebih baik dibandingkan dengan sistem berkas FAT yang saat itu telah digunakan.
NTFS versi 1.1 merupakan versi yang datang bersama dengan Windows NT 3.50. Versi ini menambahkan dukungan terhadap pengaturan akses secara diskrit (discretionary access control).
NTFS versi 1.2 merupakan versi yang datang bersama dengan Windows NT 4.0. Versi ini menambahkan dukungan terhadap auditing setiap berkas dan juga kompresi transparan.
NTFS versi 2.0 tidak dirilis secara umum, karena berbagai kendala yang dialaminya, yang tidak diumumkan oleh Microsoft (Microsoft menggagalkan proyek NTFS versi 2.0, dan langsung menginjak NTFS versi 3.0, mengingat banyaknya fitur yang ditambahkan ke dalam versi 3.0).
NTFS versi 3.0 merupakan versi yang datang bersama dengan Windows 2000. Versi ini menawarkan banyak peningkatan dibandingkan dengan versi sebelumnya. Diantaranya adalah penetapan kuota kepada setiap pengguna, Encrypting File System (EFS), sistem keamanan yang dapat diatur dari server pusat, fitur indeksasi terhadap properti dan isi setiap berkas, dan lain-lain. Selain itu, versi 3.0 juga menawarkan dukungan kepada struktur selain MBR (Master Boot Record), yakni GPT (GUID Partition Table) dan LDM (Logical Disk Management).
NTFS versi 3.1 merupakan versi yang datang bersama dengan Windows XP Service Pack 1 dan Windows Server 2003. Versi ini menawarkan perbaikan yang minor yang terjadi dalam versi sebelumnya (khususnya di bidang performa), dan juga penggantian algoritme enkripsi yang digunakan oleh EFS dari DESX atau 3DES menjadi AES-256.
Meskipun memiliki keunggulan dibandingkan dengan sistem berkas FAT, desain internal NTFS sebenarnya didasarkan pada struktur disk berbasis Master Boot Record, sama seperti halnya sistem berkas FAT16 atau FAT32. Dengan menggunakan struktur yang didasarkan atas penggunaan MBR untuk mengolah semua berkas yang dapat disimpan di dalam sebuah disk, maka perpindahan atau migrasi dari sistem berkas FAT menuju NTFS pun mudah dilakukan: hanya mengubah beberapa komponen sistem FAT menjadi NTFS saja. Selain itu, struktur MBR merupakan salah satu cara pengalokasian berkas-berkas dalam hard disk yang sangat populer dan paling umum digunakan, karena skema pengalokasian disk dengan MBR digunakan pada platform Intel x86.
Ada lima buah program yang dapat digunakan untuk membuat sebuah volume NTFS, yaitu Disk Administrator (pada Windows NT 3.1, Windows NT 3.5 dan Windows NT 3.51, Disk Management snap-in (pada versi keluarga Windows NT 5.x), serta tiga buah utilitas yang berbasis command-line yaitu format.com (pada semua versi Windows NT), utilitas diskpart.exe, dan utilitas convert.exe.
Keamanan
NTFS menggunakan daftar akses kontrol dan enkripsi tingkat pengguna untuk membantu mengamankan data pengguna.
Access control list (ACL)
Dalam NTFS, setiap berkas atau folder diberi deskriptor keamanan yang mendefinisikan pemiliknya dan berisi dua access control lists (ACL). ACL pertama, disebutdiscretionary access control list (DACL), mendefinisikan dengan tepat jenis interaksi apa (misalnya membaca, menulis, mengeksekusi atau menghapus) yang diperbolehkan atau dilarang oleh pengguna atau kelompok pengguna mana. Sebagai contoh, berkas dalam folder C:\Program Files dapat dibaca dan dieksekusi oleh semua pengguna tetapi hanya dapat dimodifikasi oleh pengguna yang mempunyai hak administratif.[9] Windows Vista menambahkan info mandatory access control ke DACL. DACL adalah fokus utama Kontrol Akun Pengguna di Windows Vista dan yang lebih baru.
ACL kedua, dinamakan system access control list (SACL), menentukan interaksi mana dengan berkas atau folder yang akan diaudit dan apakah interaksi tersebut harus dicatat ketika aktivitas berhasil, gagal atau keduanya. Sebagai contoh, audit dapat diaktifkan pada berkas sensitif perusahaan, sehingga pengelolanya mengetahui ketika seseorang mencoba menghapus atau membuat salinannya, dan apakah dia berhasil.[9]
^"FileSystem Provider". Microsoft. 9 August 2012. Diarsipkan dari versi asli tanggal 23 January 2015. Diakses tanggal 23 January 2015.Parameter |url-status= yang tidak diketahui akan diabaikan (bantuan)
Bolosky, William J.; Corbin, Scott; Goebel, David; Douceur, John R. (January 2000). "Single Instance Storage in Windows 2000". Proceedings of 4th USENIX Windows Systems Symposium.