Alokasi link dapat memecahkan semua masalah yang terdapat pada alokasi berkesinambungan. Dengan alokasi link , setiap berkas dipandang sebagai sebuah linked-list pada blok disk. Alokasi link juga memiliki direktori yang berisi nama berkas, alamat awal sebuah berkas, dan alamat akhir sebuah berkas. Direktori tersebut memiliki pointer ke alamat awal dari sebuah berkas. Untuk berkas yang kosong, pointer-nya diinisialisasi dengan nilai NULL (akhir dari nilai pointer).
Pada alokasi link, sebuah berkas disimpan menyebar ke seluruh disk yang dihubungkan dengan pointer. Pointer pertama menunjuk ke berkas data kedua, pointer dari berkas kedua menunjuk ke berkas data ketiga, dst.
Proses membaca berkas dapat dilakukan dengan mengikuti pointer dari blok ke blok. Di sini tidak terjadi fragmentasi eksternal dan blok yang kosong dapat digunakan oleh berkas lain. Ukuran dari berkas tidak perlu didefinisikan pada saat berkas dibuat. Masalah yang terdapat pada alokasi link adalah ketika mencari sebuah blok berkas kita harus mencarinya dari awal dan mengikuti pointer sampai menemukan blok berkas yang dicari.
Hal lain yang jadi masalah adalah pointer memerlukan ruang tersendiri. Untuk mengatasi masalah ini maka menggunakan cluster yaitu menggabungkan berkas-berkas yang berdekatan menjadi satu, sehingga gabungan dari berkas- berkas itu hanya menggunakan satu pointer .Hal ini bisa menyebabkan fragmentasi internal karena banyak ruang yang tidak terpakai ketika suatu cluster hanya sebagian menggunakan blok.
Masalah lainnya adalah kebenaran dari suatu berkas. Jika suatu berkas yang dihubungkan oleh pointer dan tersebar di seluruh disk mengalami kerusakan sehingga pointer -nya tidak menunjuk ke berkas yang tepat.
Suatu variasi penting dari alokasi link adalah dengan menggunakan File Allocation Table (FAT) yang direktorinya hanya berisi nama berkas dan alamat pertama suatu berkas. Dan penanda dari akhir sebuah berkas terdapat pada blok yang ditunjuk oleh pointer terakhir.
Keunggulan dari sistem FAT adalah pengaksesan acak yang lebih mudah. Hal ini karena meski harus menelusuri rantai berkait untuk menemukan lokasi blok berkas, rantai blok seluruhnya di memori sehingga dapat dilakukan secara cepat tanpa membuat pengaksesan disk. Selain itu, direktori yang dimiliki sistem FAT juga cukup menyimpan bilangan bulat nomor blok awal saja. Blok awal ini digunakan untuk menemukan seluruh blok, tak peduli jumlah blok berkas itu. Direktori menunjuk blok pertama berkas dan FAT menunjukkan blok-blok berkas berikutnya.
Disamping kelebihan, sistem FAT juga memiliki kekurangan yaitu jika penyimpanan berukuran besar mengakibatkan tabel berukuran besar dan harus ditaruh di memori utama meskipun hanya satu berkas yang dibuka