0% found this document useful (0 votes)
14 views5 pages

File Allocation Methods

File Allocation Methods

Uploaded by

pingalesai9
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)
14 views5 pages

File Allocation Methods

File Allocation Methods

Uploaded by

pingalesai9
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
You are on page 1/ 5

Search...

Aptitude Engineering Mathematics Discrete Mathematics Operating System DBMS Sign In

File Allocation Methods


Last Updated : 18 Jul, 2023

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.

All the three methods have their own advantages and disadvantages as
discussed below: 1. Contiguous Allocation In this scheme, each file
occupies a contiguous set of blocks on the disk. For 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. 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.

The file 'mail' in the following figure starts from the block 19 with length =
6 blocks. Therefore, it occupies 19, 20, 21, 22, 23, 24 blocks.

Open In App
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 (b+k).
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.

2. Linked List Allocation In this scheme, each file is a linked list of disk
blocks which need not be contiguous. 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. The file 'jeep' in following image shows how the
blocks are randomly distributed. The last block (25) contains -1 indicating

Open In App
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.

3. Indexed Allocation In this scheme, a special block known as the Index


block contains the pointers to all the blocks occupied by a file. 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

Open In App
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.

For files that are very large, single index block may not be able to hold all
the pointers. Following mechanisms can be used to resolve this:
1. Linked scheme: This scheme links two or more index blocks together
for holding the pointers. Every index block would then contain a pointer
or the address to the next index block.
2. Multilevel index: In this policy, a first level index block is used to point
to the second level index blocks which inturn points to the disk blocks
occupied by the file. This can be extended to 3 or more levels
depending on the maximum file size.
Open In App
3. Combined Scheme: In this scheme, a special block called the Inode
(information Node) contains all the information about the file such as
the name, size, authority, etc and the remaining space of Inode is used
to store the Disk Block addresses which contain the actual file as
shown in the image below. The first few of these pointers in Inode point
to the direct blocks i.e the pointers contain the addresses of the disk
blocks that contain data of the file. The next few pointers point to
indirect blocks. Indirect blocks may be single indirect, double indirect or
triple indirect. Single Indirect block is the disk block that does not
contain the file data but the disk address of the blocks that contain the
file data. Similarly, double indirect blocks do not contain the file data
but the disk address of the blocks that contain the address of the blocks
containing the file data.

Comment More info Advertise with us Next Article


Free Space Management in
Operating System

Similar Reads
File Attributes in OS
Open In App

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy