際際滷

際際滷Share a Scribd company logo
Operating System Handout
Unit VI  File management
1.Files Concepts:
 A file is a named collection of related information that is recorded on secondary
storage such as magnetic disks, magnetic tapes and optical disks.
 In general, a file is a sequence of bits, bytes, lines or records whose meaning is
defined by the files creator and user.
 Attributes of a File
 Following are some of the attributes of a file:
 Name . It is the only information which is in human-readable form.
 Identifier. The file is identified by a unique tag(number) within file system.
 Type. It is needed for systems that support different types of files.
 Location. Pointer to file location on device.
 Size. The current size of the file.
 Protection. This controls and assigns the power of reading, writing, executing.
 Time, date, and user identification. This is the data for protection, security,
and usage monitoring
 File Operation
 The operating system must do to perform basic file operations given below.
 Creating a file: Two steps are necessary to create a file. First, space in the file
system must be found for the file. Second, an entry for the new file must be
made in the directory.
 Writing a file: To write a file, we make a system call specifying both the name
of the file and the information to be written to the file. Given the name of the
file, the system searches the directory to find the file's location. The system
must keep a write pointer to the location in the file where the next write is to
take place. The write pointer must be updated whenever a write occurs.
 Reading a file: To read from a file, we use a system call that specifies the name
of the file and where (in memory) the next block of the file should be put.
Again, the directory is searched for the associated entry, and the system needs
to keep a read pointer to the location in the file where the next read is to take
place. Once the read has taken place, the read pointer is updated.
 Repositioning within a file: The directory is searched for the appropriate entry,
and the current-file-position pointer is repositioned to a given value.
Repositioning within a file need not involve any actual I/O. This file operation
is also known as a file seek.
 Deleting a file. To delete a file, we search the directory for the named
file. Having found the associated directory entry, we release all file space, so
that it can be reused bv other files, and erase the directory entry.
Mr. V.N.Kukre
Page 1 of
17
Operating System Handout
 Protection: Access-control information determines who can do reading,
writing, executing, and so on.
 Truncating a file: The user may want to erase the contents of a file but keep its
attributes. Rather than forcing the user to delete the file and then recreate it, this
function allows all attributes to remain unchangedexcept for file lengthbut
lets the tile be reset to length zero and its file space released.
In brief
File Types
Mr. V.N.Kukre
Page 2 of
17
Operating System Handout
File System Structure
A File Structure should be according to a required format that the operating system can
understand.
A file has a certain defined structure according to its type.
A text file is a sequence of characters organized into lines.
A source file is a sequence of procedures and functions.
An object file is a sequence of bytes organized into blocks that are
understandable by the machine.
When operating system defines different file structures, it also contains the code
to support these file structure. Unix, MS-DOS support minimum number of file
structure.
Files can be structured in several ways in which three common structures are given in
this tutorial with their short description one by one.
File Structure 1
Here, as you can see from the figure 1, the file is an unstructured sequence of bytes.
Therefore, the OS doesn't care about what is in the file, as all it sees are bytes.
File Structure 2
Now, as you can see from the figure 2 that shows the second structure of a file, where
a file is a sequence of fixed-length records where each with some internal structure.
Central to the idea about a file being a sequence of records is the idea that read
operation returns a record and write operation just appends a record.
File Structure 3
Now in the last structure of a file that you can see in the figure 3, a file basically
consists of a tree of records, not necessarily all the same length, each containing a key
field in a fixed position in the record. The tree is stored on the field, just to allow the
rapid searching for a specific key.
Fig.1 Fig.2 Fig.3
Mr. V.N.Kukre
Page 3 of
17
Mr. V.N.Kukre
Page 4 of
17
Operating System Handout
2. File Access method
File access mechanism refers to the manner in which the records of a file may
be
accessed. There are several ways to access files 
 Sequential access
 Direct/Random access
 Indexed sequential access
1.Sequential Access
 A sequential access is that in which the records are accessed in some sequence,
i.e., the information in the file is processed in order, one record after the other.
This access method is the most primitive one.
 The idea of Sequential access is based on the tape model which is a sequential
access device.
 The Sequential access method is best because most of the records in a file are to be
processed. For example, transaction files.
 Example: Compilers usually access files in this fashion.
In Brief:
Data is accessed one record right after another is an order.
Read command cause a pointer to be moved ahead by one.
Write command allocate space for the record and move the pointer to the new End of
File.
Such a method is reasonable for tape.
Advantages of sequential access
It is simple to program and easy to design.
Sequential file is best use if storage space.
Disadvantages of sequential access
Sequential file is time consuming process.
It has high data redundancy.
Random searching is not possible.
2.Direct Access
 Sometimes it is not necessary to process every record in a file.
 It is not necessary to process all the records in the order in which they are present in the
memory. In all such cases, direct access is used.
 The disk is a direct access device which gives us the reliability to random access of any
file block.
 In the file, there is a collection of physical blocks and the records of that blocks.
 Example: Databases are often of this type since they allow query processing that
involves immediate access to large amounts of information. All reservation systems fall
into this category.
In brief:
This method is useful for disks.
The file is viewed as a numbered sequence of blocks or records.
Mr. V.N.Kukre
Page 5 of
17
Operating System Handout
 There are no restrictions on which blocks are read/written, it can be dobe in any
order.
 User now says "read n" rather than "read next".
 "n" is a number relative to the beginning of file, not relative to an
absolute physical disk location.
Advantages:
 Direct access file helps in online transaction processing system (OLTP)
like online railway reservation system.
 In direct access file, sorting of the records are not required.
 It accesses the desired records immediately.
 It updates several files quickly.
 It has better control over record allocation.
Disadvantages:
 Direct access file does not provide backup facility.
 It is expensive.
 It has less storage space as compared to sequential file.
3. Indexed Sequential Access
 The index sequential access method is a modification of the direct access
method.
 Basically, it is kind of combination of both the sequential access as well as
direct access.
 The main idea of this method is to first access the file directly and then it
accesses
sequentially.
 In this access method, it is necessary for maintaining an index.
 The index is nothing but a pointer to a block.
 The direct access of the index is made to access a record in a file.
 The information which is obtained from this access is used to access the file.
Sometimes the indexes are very big.
 So to maintain all these hierarchies of indexes are built in which one direct
access
of an index leads to information of another index access.
 It is built on top of Sequential access.
 It uses an Index to control the pointer while accessing files.
Advantages:
 In indexed sequential access file, sequential file and random file access is
possible.
 It accesses the records very fast if the index table is properly organized.
 The records can be inserted in the middle of the file.
 It provides quick access for sequential and direct processing.
 It reduces the degree of the sequential search.
Disadvantages:
 Indexed sequential access file requires unique keys and periodic reorganization.
 Indexed sequential access file takes longer time to search the index for the data
access or retrieval.
Operating System Handout
 It requires more storage space.
 It is expensive because it requires special software.
 It is less efficient in the use of storage space as compared to other file
organizations.
Swapping:
 Swapping is a mechanism in which a process can be swapped temporarily out
of main memory (or move) to secondary storage (disk) and make that
memory available to other processes.
 At some later time, the system swaps back the process from the
secondary storage to main memory.
 Though performance is usually affected by swapping process but it helps
in running multiple and big processes in parallel and that's the reason
 Swapping is also known as a technique for memory compaction.
 Swap space is a space on hard disk which is a substitute of physical memory.
 It is used as virtual memory which contains process memory image.
 Whenever our computer run short of physical memory it uses its virtual
memory and stores information in memory on disk.
File Space Allocation:
Files are allocated disk spaces by operating system. Operating systems deploy
following three main ways to allocate disk space to files.
Contiguous Allocation
Linked Allocation
Indexed Allocation
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.
Mr. V.N.Kukre
Page 6 of
17
Operating System Handout
 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
1. Address of starting block
2. 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.
 Each file occupies a contiguous address space on disk.
 Assigned disk address is in linear order.
 Easy to implement.
 External fragmentation is a major issue with this type of allocation technique.
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 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 a null pointer and does
not point to any other block.
Mr. V.N.Kukre
Page 7 of
17
Operating System Handout
 Each file carries a list of links to disk blocks.
 Directory contains link / pointer to first block of a file.
 No external fragmentation
 Effectively used in sequential access file.
 Inefficient in case of direct access file.
Advantages:
1. File size does not have to be specified.
2. No external fragmentation.
Disadvantages:
1. It does sequential access efficiently and is not for direct access
2. Each block contains a pointer, wasting space
3. Blocks scatter everywhere and a large number of disk seeks may be necessary
4. Reliability: what if a pointer is lost or damaged?
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 the index block as shown in
the image:
 Provides solutions to problems of contiguous and linked allocation.
 A index block is created having all pointers to files.
Mr. V.N.Kukre
Page 8 of
17
Ad

Recommended

Operating System - File Management concepts
Operating System - File Management concepts
cscprabh
File management
File management
sangrampatil81
File Concept.pptx fa s fasfasfasfsfsfasfasfas
File Concept.pptx fa s fasfasfasfsfsfasfasfas
YuvarajY5
8 File Management system project .pptx
8 File Management system project .pptx
anitabricks49
Unit ivos - file systems
Unit ivos - file systems
donny101
operating system notes for file managment.pptx
operating system notes for file managment.pptx
panditestmail
OS Unit 4.pptx
OS Unit 4.pptx
GautamBorana
Unit 3 chapter 1-file management
Unit 3 chapter 1-file management
Kalai Selvi
Unit 6 OSY.pptx aaaaaaaaaaaaaaaaaaaaaaaa
Unit 6 OSY.pptx aaaaaaaaaaaaaaaaaaaaaaaa
harshlad847
File Systems
File Systems
Shipra Swati
Dude.pptx
Dude.pptx
DushyantChauhan40
File Management in Operating System
File Management in Operating System
Janki Shah
oslectureset7.pdf
oslectureset7.pdf
WaltonJrSmithTZ
Introduction to File System
Introduction to File System
SanthiNivas
The Operating System concepts.. -os.pptx
The Operating System concepts.. -os.pptx
Stella526835
Operating System Unit 4(RTU Syllabus).pptx
Operating System Unit 4(RTU Syllabus).pptx
skultdedsec
File Management.ppt
File Management.ppt
JeelBhanderi4
Chapter 3 part 1
Chapter 3 part 1
rohassanie
Chapter 12.pptx
Chapter 12.pptx
AsmaaFaried1
Chapter 3
Chapter 3
Cahaya Penyayang
File System.pptx
File System.pptx
bcanawakadalcollege
Files
Files
kirtidhamija16
(file systems)12312321321321312312312.pptx
(file systems)12312321321321312312312.pptx
ronniemayang
FILE MANAGEMENT.pptx
FILE MANAGEMENT.pptx
jayashri kolekar
distributed SYSTEMS FSnewBBIT305KCAU.ppt
distributed SYSTEMS FSnewBBIT305KCAU.ppt
mrluvaha
File concept and access method
File concept and access method
rajshreemuthiah
Report blocking ,management of files in secondry memory , static vs dynamic a...
Report blocking ,management of files in secondry memory , static vs dynamic a...
NoorMustafaSoomro
Unit-1-Lecture-9.pptx file structure semester
Unit-1-Lecture-9.pptx file structure semester
NevilDesai8
Operating Systems - Device management concept
Operating Systems - Device management concept
cscprabh
Operating System - Virtual Device Technology
Operating System - Virtual Device Technology
cscprabh

More Related Content

Similar to Operating Systems - File Space Allocation (20)

Unit 6 OSY.pptx aaaaaaaaaaaaaaaaaaaaaaaa
Unit 6 OSY.pptx aaaaaaaaaaaaaaaaaaaaaaaa
harshlad847
File Systems
File Systems
Shipra Swati
Dude.pptx
Dude.pptx
DushyantChauhan40
File Management in Operating System
File Management in Operating System
Janki Shah
oslectureset7.pdf
oslectureset7.pdf
WaltonJrSmithTZ
Introduction to File System
Introduction to File System
SanthiNivas
The Operating System concepts.. -os.pptx
The Operating System concepts.. -os.pptx
Stella526835
Operating System Unit 4(RTU Syllabus).pptx
Operating System Unit 4(RTU Syllabus).pptx
skultdedsec
File Management.ppt
File Management.ppt
JeelBhanderi4
Chapter 3 part 1
Chapter 3 part 1
rohassanie
Chapter 12.pptx
Chapter 12.pptx
AsmaaFaried1
Chapter 3
Chapter 3
Cahaya Penyayang
File System.pptx
File System.pptx
bcanawakadalcollege
Files
Files
kirtidhamija16
(file systems)12312321321321312312312.pptx
(file systems)12312321321321312312312.pptx
ronniemayang
FILE MANAGEMENT.pptx
FILE MANAGEMENT.pptx
jayashri kolekar
distributed SYSTEMS FSnewBBIT305KCAU.ppt
distributed SYSTEMS FSnewBBIT305KCAU.ppt
mrluvaha
File concept and access method
File concept and access method
rajshreemuthiah
Report blocking ,management of files in secondry memory , static vs dynamic a...
Report blocking ,management of files in secondry memory , static vs dynamic a...
NoorMustafaSoomro
Unit-1-Lecture-9.pptx file structure semester
Unit-1-Lecture-9.pptx file structure semester
NevilDesai8
Unit 6 OSY.pptx aaaaaaaaaaaaaaaaaaaaaaaa
Unit 6 OSY.pptx aaaaaaaaaaaaaaaaaaaaaaaa
harshlad847
File Management in Operating System
File Management in Operating System
Janki Shah
Introduction to File System
Introduction to File System
SanthiNivas
The Operating System concepts.. -os.pptx
The Operating System concepts.. -os.pptx
Stella526835
Operating System Unit 4(RTU Syllabus).pptx
Operating System Unit 4(RTU Syllabus).pptx
skultdedsec
File Management.ppt
File Management.ppt
JeelBhanderi4
Chapter 3 part 1
Chapter 3 part 1
rohassanie
Chapter 12.pptx
Chapter 12.pptx
AsmaaFaried1
(file systems)12312321321321312312312.pptx
(file systems)12312321321321312312312.pptx
ronniemayang
distributed SYSTEMS FSnewBBIT305KCAU.ppt
distributed SYSTEMS FSnewBBIT305KCAU.ppt
mrluvaha
File concept and access method
File concept and access method
rajshreemuthiah
Report blocking ,management of files in secondry memory , static vs dynamic a...
Report blocking ,management of files in secondry memory , static vs dynamic a...
NoorMustafaSoomro
Unit-1-Lecture-9.pptx file structure semester
Unit-1-Lecture-9.pptx file structure semester
NevilDesai8

More from cscprabh (8)

Operating Systems - Device management concept
Operating Systems - Device management concept
cscprabh
Operating System - Virtual Device Technology
Operating System - Virtual Device Technology
cscprabh
Operating System-Thread concept in Operating System
Operating System-Thread concept in Operating System
cscprabh
Compiler Design - General Idea of Input Buffering
Compiler Design - General Idea of Input Buffering
cscprabh
Compiler deisgn-Various analysis of Compiler Design
Compiler deisgn-Various analysis of Compiler Design
cscprabh
Syntax analysis and Run time Environment
Syntax analysis and Run time Environment
cscprabh
Compiler Deisgn-semantic analysis of Compiler Design
Compiler Deisgn-semantic analysis of Compiler Design
cscprabh
Compiler Deisgn-Varrious parsing methods
Compiler Deisgn-Varrious parsing methods
cscprabh
Operating Systems - Device management concept
Operating Systems - Device management concept
cscprabh
Operating System - Virtual Device Technology
Operating System - Virtual Device Technology
cscprabh
Operating System-Thread concept in Operating System
Operating System-Thread concept in Operating System
cscprabh
Compiler Design - General Idea of Input Buffering
Compiler Design - General Idea of Input Buffering
cscprabh
Compiler deisgn-Various analysis of Compiler Design
Compiler deisgn-Various analysis of Compiler Design
cscprabh
Syntax analysis and Run time Environment
Syntax analysis and Run time Environment
cscprabh
Compiler Deisgn-semantic analysis of Compiler Design
Compiler Deisgn-semantic analysis of Compiler Design
cscprabh
Compiler Deisgn-Varrious parsing methods
Compiler Deisgn-Varrious parsing methods
cscprabh
Ad

Recently uploaded (20)

ICT-8-Module-REVISED-K-10-CURRICULUM.pdf
ICT-8-Module-REVISED-K-10-CURRICULUM.pdf
penafloridaarlyn
BUSINESS QUIZ PRELIMS | QUIZ CLUB OF PSGCAS | 9 SEPTEMBER 2024
BUSINESS QUIZ PRELIMS | QUIZ CLUB OF PSGCAS | 9 SEPTEMBER 2024
Quiz Club of PSG College of Arts & Science
ABCs of Bookkeeping for Nonprofits TechSoup.pdf
ABCs of Bookkeeping for Nonprofits TechSoup.pdf
TechSoup
BINARY files CSV files JSON files with example.pptx
BINARY files CSV files JSON files with example.pptx
Ramakrishna Reddy Bijjam
How to Manage Upselling of Subscriptions in Odoo 18
How to Manage Upselling of Subscriptions in Odoo 18
Celine George
Paper 108 | Thoreaus Influence on Gandhi: The Evolution of Civil Disobedience
Paper 108 | Thoreaus Influence on Gandhi: The Evolution of Civil Disobedience
Rajdeep Bavaliya
How to Manage Inventory Movement in Odoo 18 POS
How to Manage Inventory Movement in Odoo 18 POS
Celine George
Revista digital preescolar en transformaci坦n
Revista digital preescolar en transformaci坦n
guerragallardo26
Introduction to Generative AI and Copilot.pdf
Introduction to Generative AI and Copilot.pdf
TechSoup
Introduction to problem solving Techniques
Introduction to problem solving Techniques
merlinjohnsy
ROLE PLAY: FIRST AID -CPR & RECOVERY POSITION.pptx
ROLE PLAY: FIRST AID -CPR & RECOVERY POSITION.pptx
Belicia R.S
Paper 107 | From Watchdog to Lapdog: Ishiguros Fiction and the Rise of Godi...
Paper 107 | From Watchdog to Lapdog: Ishiguros Fiction and the Rise of Godi...
Rajdeep Bavaliya
How to Configure Vendor Management in Lunch App of Odoo 18
How to Configure Vendor Management in Lunch App of Odoo 18
Celine George
Capitol Doctoral Presentation -June 2025.pptx
Capitol Doctoral Presentation -June 2025.pptx
CapitolTechU
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
parmarjuli1412
Battle of Bookworms 2025 - U25 Literature Quiz by Pragya
Battle of Bookworms 2025 - U25 Literature Quiz by Pragya
Pragya - UEM Kolkata Quiz Club
FIRST DAY HIGH orientation for mapeh subject in grade 10.pptx
FIRST DAY HIGH orientation for mapeh subject in grade 10.pptx
GlysdiEelesor1
Measuring, learning and applying multiplication facts.
Measuring, learning and applying multiplication facts.
cgilmore6
How to Manage Multi Language for Invoice in Odoo 18
How to Manage Multi Language for Invoice in Odoo 18
Celine George
The Man In The Back Exceptional Delaware.pdf
The Man In The Back Exceptional Delaware.pdf
dennisongomezk
ICT-8-Module-REVISED-K-10-CURRICULUM.pdf
ICT-8-Module-REVISED-K-10-CURRICULUM.pdf
penafloridaarlyn
ABCs of Bookkeeping for Nonprofits TechSoup.pdf
ABCs of Bookkeeping for Nonprofits TechSoup.pdf
TechSoup
BINARY files CSV files JSON files with example.pptx
BINARY files CSV files JSON files with example.pptx
Ramakrishna Reddy Bijjam
How to Manage Upselling of Subscriptions in Odoo 18
How to Manage Upselling of Subscriptions in Odoo 18
Celine George
Paper 108 | Thoreaus Influence on Gandhi: The Evolution of Civil Disobedience
Paper 108 | Thoreaus Influence on Gandhi: The Evolution of Civil Disobedience
Rajdeep Bavaliya
How to Manage Inventory Movement in Odoo 18 POS
How to Manage Inventory Movement in Odoo 18 POS
Celine George
Revista digital preescolar en transformaci坦n
Revista digital preescolar en transformaci坦n
guerragallardo26
Introduction to Generative AI and Copilot.pdf
Introduction to Generative AI and Copilot.pdf
TechSoup
Introduction to problem solving Techniques
Introduction to problem solving Techniques
merlinjohnsy
ROLE PLAY: FIRST AID -CPR & RECOVERY POSITION.pptx
ROLE PLAY: FIRST AID -CPR & RECOVERY POSITION.pptx
Belicia R.S
Paper 107 | From Watchdog to Lapdog: Ishiguros Fiction and the Rise of Godi...
Paper 107 | From Watchdog to Lapdog: Ishiguros Fiction and the Rise of Godi...
Rajdeep Bavaliya
How to Configure Vendor Management in Lunch App of Odoo 18
How to Configure Vendor Management in Lunch App of Odoo 18
Celine George
Capitol Doctoral Presentation -June 2025.pptx
Capitol Doctoral Presentation -June 2025.pptx
CapitolTechU
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
parmarjuli1412
Battle of Bookworms 2025 - U25 Literature Quiz by Pragya
Battle of Bookworms 2025 - U25 Literature Quiz by Pragya
Pragya - UEM Kolkata Quiz Club
FIRST DAY HIGH orientation for mapeh subject in grade 10.pptx
FIRST DAY HIGH orientation for mapeh subject in grade 10.pptx
GlysdiEelesor1
Measuring, learning and applying multiplication facts.
Measuring, learning and applying multiplication facts.
cgilmore6
How to Manage Multi Language for Invoice in Odoo 18
How to Manage Multi Language for Invoice in Odoo 18
Celine George
The Man In The Back Exceptional Delaware.pdf
The Man In The Back Exceptional Delaware.pdf
dennisongomezk
Ad

Operating Systems - File Space Allocation

  • 1. Operating System Handout Unit VI File management 1.Files Concepts: A file is a named collection of related information that is recorded on secondary storage such as magnetic disks, magnetic tapes and optical disks. In general, a file is a sequence of bits, bytes, lines or records whose meaning is defined by the files creator and user. Attributes of a File Following are some of the attributes of a file: Name . It is the only information which is in human-readable form. Identifier. The file is identified by a unique tag(number) within file system. Type. It is needed for systems that support different types of files. Location. Pointer to file location on device. Size. The current size of the file. Protection. This controls and assigns the power of reading, writing, executing. Time, date, and user identification. This is the data for protection, security, and usage monitoring File Operation The operating system must do to perform basic file operations given below. Creating a file: Two steps are necessary to create a file. First, space in the file system must be found for the file. Second, an entry for the new file must be made in the directory. Writing a file: To write a file, we make a system call specifying both the name of the file and the information to be written to the file. Given the name of the file, the system searches the directory to find the file's location. The system must keep a write pointer to the location in the file where the next write is to take place. The write pointer must be updated whenever a write occurs. Reading a file: To read from a file, we use a system call that specifies the name of the file and where (in memory) the next block of the file should be put. Again, the directory is searched for the associated entry, and the system needs to keep a read pointer to the location in the file where the next read is to take place. Once the read has taken place, the read pointer is updated. Repositioning within a file: The directory is searched for the appropriate entry, and the current-file-position pointer is repositioned to a given value. Repositioning within a file need not involve any actual I/O. This file operation is also known as a file seek. Deleting a file. To delete a file, we search the directory for the named file. Having found the associated directory entry, we release all file space, so that it can be reused bv other files, and erase the directory entry. Mr. V.N.Kukre Page 1 of 17
  • 2. Operating System Handout Protection: Access-control information determines who can do reading, writing, executing, and so on. Truncating a file: The user may want to erase the contents of a file but keep its attributes. Rather than forcing the user to delete the file and then recreate it, this function allows all attributes to remain unchangedexcept for file lengthbut lets the tile be reset to length zero and its file space released. In brief File Types Mr. V.N.Kukre Page 2 of 17
  • 3. Operating System Handout File System Structure A File Structure should be according to a required format that the operating system can understand. A file has a certain defined structure according to its type. A text file is a sequence of characters organized into lines. A source file is a sequence of procedures and functions. An object file is a sequence of bytes organized into blocks that are understandable by the machine. When operating system defines different file structures, it also contains the code to support these file structure. Unix, MS-DOS support minimum number of file structure. Files can be structured in several ways in which three common structures are given in this tutorial with their short description one by one. File Structure 1 Here, as you can see from the figure 1, the file is an unstructured sequence of bytes. Therefore, the OS doesn't care about what is in the file, as all it sees are bytes. File Structure 2 Now, as you can see from the figure 2 that shows the second structure of a file, where a file is a sequence of fixed-length records where each with some internal structure. Central to the idea about a file being a sequence of records is the idea that read operation returns a record and write operation just appends a record. File Structure 3 Now in the last structure of a file that you can see in the figure 3, a file basically consists of a tree of records, not necessarily all the same length, each containing a key field in a fixed position in the record. The tree is stored on the field, just to allow the rapid searching for a specific key. Fig.1 Fig.2 Fig.3 Mr. V.N.Kukre Page 3 of 17
  • 4. Mr. V.N.Kukre Page 4 of 17 Operating System Handout 2. File Access method File access mechanism refers to the manner in which the records of a file may be accessed. There are several ways to access files Sequential access Direct/Random access Indexed sequential access 1.Sequential Access A sequential access is that in which the records are accessed in some sequence, i.e., the information in the file is processed in order, one record after the other. This access method is the most primitive one. The idea of Sequential access is based on the tape model which is a sequential access device. The Sequential access method is best because most of the records in a file are to be processed. For example, transaction files. Example: Compilers usually access files in this fashion. In Brief: Data is accessed one record right after another is an order. Read command cause a pointer to be moved ahead by one. Write command allocate space for the record and move the pointer to the new End of File. Such a method is reasonable for tape. Advantages of sequential access It is simple to program and easy to design. Sequential file is best use if storage space. Disadvantages of sequential access Sequential file is time consuming process. It has high data redundancy. Random searching is not possible. 2.Direct Access Sometimes it is not necessary to process every record in a file. It is not necessary to process all the records in the order in which they are present in the memory. In all such cases, direct access is used. The disk is a direct access device which gives us the reliability to random access of any file block. In the file, there is a collection of physical blocks and the records of that blocks. Example: Databases are often of this type since they allow query processing that involves immediate access to large amounts of information. All reservation systems fall into this category. In brief: This method is useful for disks. The file is viewed as a numbered sequence of blocks or records.
  • 5. Mr. V.N.Kukre Page 5 of 17 Operating System Handout There are no restrictions on which blocks are read/written, it can be dobe in any order. User now says "read n" rather than "read next". "n" is a number relative to the beginning of file, not relative to an absolute physical disk location. Advantages: Direct access file helps in online transaction processing system (OLTP) like online railway reservation system. In direct access file, sorting of the records are not required. It accesses the desired records immediately. It updates several files quickly. It has better control over record allocation. Disadvantages: Direct access file does not provide backup facility. It is expensive. It has less storage space as compared to sequential file. 3. Indexed Sequential Access The index sequential access method is a modification of the direct access method. Basically, it is kind of combination of both the sequential access as well as direct access. The main idea of this method is to first access the file directly and then it accesses sequentially. In this access method, it is necessary for maintaining an index. The index is nothing but a pointer to a block. The direct access of the index is made to access a record in a file. The information which is obtained from this access is used to access the file. Sometimes the indexes are very big. So to maintain all these hierarchies of indexes are built in which one direct access of an index leads to information of another index access. It is built on top of Sequential access. It uses an Index to control the pointer while accessing files. Advantages: In indexed sequential access file, sequential file and random file access is possible. It accesses the records very fast if the index table is properly organized. The records can be inserted in the middle of the file. It provides quick access for sequential and direct processing. It reduces the degree of the sequential search. Disadvantages: Indexed sequential access file requires unique keys and periodic reorganization. Indexed sequential access file takes longer time to search the index for the data access or retrieval.
  • 6. Operating System Handout It requires more storage space. It is expensive because it requires special software. It is less efficient in the use of storage space as compared to other file organizations. Swapping: Swapping is a mechanism in which a process can be swapped temporarily out of main memory (or move) to secondary storage (disk) and make that memory available to other processes. At some later time, the system swaps back the process from the secondary storage to main memory. Though performance is usually affected by swapping process but it helps in running multiple and big processes in parallel and that's the reason Swapping is also known as a technique for memory compaction. Swap space is a space on hard disk which is a substitute of physical memory. It is used as virtual memory which contains process memory image. Whenever our computer run short of physical memory it uses its virtual memory and stores information in memory on disk. File Space Allocation: Files are allocated disk spaces by operating system. Operating systems deploy following three main ways to allocate disk space to files. Contiguous Allocation Linked Allocation Indexed Allocation 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. Mr. V.N.Kukre Page 6 of 17
  • 7. Operating System Handout 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 1. Address of starting block 2. 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. Each file occupies a contiguous address space on disk. Assigned disk address is in linear order. Easy to implement. External fragmentation is a major issue with this type of allocation technique. 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 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 a null pointer and does not point to any other block. Mr. V.N.Kukre Page 7 of 17
  • 8. Operating System Handout Each file carries a list of links to disk blocks. Directory contains link / pointer to first block of a file. No external fragmentation Effectively used in sequential access file. Inefficient in case of direct access file. Advantages: 1. File size does not have to be specified. 2. No external fragmentation. Disadvantages: 1. It does sequential access efficiently and is not for direct access 2. Each block contains a pointer, wasting space 3. Blocks scatter everywhere and a large number of disk seeks may be necessary 4. Reliability: what if a pointer is lost or damaged? 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 the index block as shown in the image: Provides solutions to problems of contiguous and linked allocation. A index block is created having all pointers to files. Mr. V.N.Kukre Page 8 of 17