0% found this document useful (0 votes)
25 views4 pages

File Allocation Methods

The document discusses three main file allocation methods: Contiguous, Linked, and Indexed Allocation. Each method has its own advantages and disadvantages regarding disk space utilization and access speed. Contiguous allocation offers fast access but suffers from fragmentation, linked allocation is flexible but slower due to random access, and indexed allocation supports direct access but incurs higher overhead for small files.

Uploaded by

Xyz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views4 pages

File Allocation Methods

The document discusses three main file allocation methods: Contiguous, Linked, and Indexed Allocation. Each method has its own advantages and disadvantages regarding disk space utilization and access speed. Contiguous allocation offers fast access but suffers from fragmentation, linked allocation is flexible but slower due to random access, and indexed allocation supports direct access but incurs higher overhead for small files.

Uploaded by

Xyz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

File Allocation Methods

The allocation methods define how the files are stored in the disk blocks. There are
three main disk space or file allocation methods.

• Contiguous Allocation

• Linked Allocation

• Indexed Allocation

The main idea behind these methods is to provide Efficient disk space utilization & Fast
access to the file blocks.

Contiguous Allocation

In this scheme, each file occupies a contiguous set of blocks on the disk. This means
that given the starting block address and the length of the file (in terms of blocks
required), we can determine the blocks occupied by the file. The directory entry for a file
with contiguous allocation contains:

• Address of starting block

• Length of the allocated portion.

• Example: If a file requires n blocks and is given a block b as the starting location,
then the blocks assigned to the file will be:

b, b+1, b+2, ......b+n-1.


Advantages

• Both the Sequential and Direct Accesses are supported by this. For direct
access, the address of the kth block of the file which starts at block b can easily
be obtained as (𝑏+𝑘).

• This is extremely fast since the number of seeks are minimal because of
contiguous allocation of file blocks.

Disadvantages

• This method suffers from both internal and external fragmentation. This makes it
inefficient in terms of memory utilization.

• Increasing file size is difficult because it depends on the availability of


contiguous memory at a particular instance.

Linked Allocation

In this scheme, each file is a linked list of disk blocks which need not be contiguous.
Here,

• The disk blocks can be scattered anywhere on the disk. The directory entry
contains a pointer to the starting and the ending file block.

• Each block contains a pointer to the next block occupied by the file.

• Example: The file 'jeep' in following image shows how the blocks are randomly
distributed. The last block (25) contains -1 indicating a null pointer and does not
point to any other block.
Advantages

• This is very flexible in terms of file size. File size can be increased easily since the
system does not have to look for a contiguous chunk of memory.

• This method does not suffer from external fragmentation. This makes it relatively
better in terms of memory utilization.

Disadvantages

• Because the file blocks are distributed randomly on the disk, a large number of
seeks are needed to access every block individually. This makes linked allocation
slower.

• It does not support random or direct access. We can not directly access the
blocks of a file. A block k of a file can be accessed by traversing k blocks
sequentially (sequential access ) from the starting block of the file via block
pointers.

• Pointers required in the linked allocation incur some extra overhead.

Indexed Allocation

In this scheme, a special block known as the Index block contains the pointers to all the
blocks occupied by a file. Here,

• Each file has its own index block.

• The ith entry in the index block contains the disk address of the ith file block.

• The directory entry contains the address of the index block as shown in the
image.
Advantages

• This supports direct access to the blocks occupied by the file and therefore
provides fast access to the file blocks.

• It overcomes the problem of external fragmentation.

Disadvantages

• The pointer overhead for indexed allocation is greater than linked allocation.

• For very small files, say files that expand only 2-3 blocks, the indexed allocation
would keep one entire block (index block) for the pointers which is inefficient in
terms of memory utilization. However, in linked allocation we lose the space of
only 1 pointer per block.

You might also like