Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Project Name:- Customised virtual file system(CVFS):-
File system layout:-
A. Boot Block:- Its a block of 1kb size which contains the information used to start the operating system.
When we press Power on button of laptop or desktop the code from the boot block gets executed.
B. Super Block:- Its a block of 1kb size which contains the information about whole file system.
This bolck contains the information about total number of inodes, used indoes, free inodes, total number of blocks, free blocks, used blocks, etc.
C. Disk Inode List Block(DILB):- It is a linklist of inodes.(Doubly Circular linklist)
Inode is considered as a structure(Data type) which contains information about the file.
For every file there is an saperate inode.
Operating system will access the file by considering the containts stored inside an inode.
Inode contains below things in it:-
1. Inode number
2. Name of file
3. Size of file (Allocated mamory)
4. Actual size of file (Size of data)
5. Permissions of that file
6. Last access and modification time
7. Link count
8. Block number allocatad to the file
D. Data Block:- This is one of the biggest section of file system.
The data block contains the actual data that we stored inside the file.
Each block from the data block is of 1kb size(1024 bytes).
Inside the data block there is no information about the file.
This consept of file system is applicable in any type of operating system.
All the above information is releted to the hard disk only.
(N+1) UAREA N-for processes, +1-for kernel(OS).
Data structures of file susbsystem from RAM:-
UAREA:- It is called as user area.
For every running process saperate uarea gets created.
UFDT:- (User File Descriptor Table).
It is considered as array of pointers which points to the entrys from file table.
In UFDT first three entrys are reserved one for stdin(Keybord), one for stdout(Monitor) and one for stderr(Monitor).
File Table:- This table contains the information about the opened files.
This table contains the offsets from where we can read and write, it contains mode in which file is opened, it contains one field named as count which is associated with new process creation, it contains the pointer which points to the IIT(InCore Inode Table)
InCore Inode Table:- This table holds all such inodes whose files are opened by the running processes.
The actual inodes are stored in DILB but when any process opens the file the inode of that file gets loaded into the RAM and it gets sotred inside IIT.
The inode from IIT contains the information like :-
Name of file, Its inode number, Size of file, Actual size, Reference count, Block number from data block, etc.