Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 555
  • Last Modified:

i-node and UNIX file system

Ok I am confused with the way i-nodes and how it works... index 0-12 is used to be a pointer to the direct address... so therefore it can represent 48K, in other words each pointer can represent 4 bytes of data, if it's a 4 byte disk address... however I don't see how a 4 byte of disk address can represent 4 bytes of data... can someone please enlighten me
0
kuntilanak
Asked:
kuntilanak
  • 8
  • 7
1 Solution
 
arnoldCommented:
The disk address can represent as much data as needed.
inode -> disk location where the header of the file is. Each section if the file does not fit in a single contiguous location, has a reference to where the next section of this file is and so on and so forth until the section where the next section pointer is NULL.


Take a 10MB disk.
Divide it into 2 inodes where each inode represents 5MB
The first section will be 0 and the second section will be 1.

Now you create a 4MB file that is pointed to by inode 0 and you have 5MB of storage left.
Now you create a 64k file which is only accessible through inode 1 and you no longer have any storage left.

If you were to create a 6MB file rather than a 4mb, you would use inode 0 and will no longer have any space available.

0
 
kuntilanakAuthor Commented:
lets just take a look at the picture below first:


what is the size of each rectangle? assuming the size of each data block is 4K, does it mean that each rectangle size is 4K
IndirectBlocks.png
0
 
kuntilanakAuthor Commented:
what I mean by rectangle here is the gray rectangle with index 1.. is that a data block?
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
omarfaridCommented:
if you look to the figures in the picture you attached:

12 + 48K

if the file system is 4k data blocks (the green ones) then

(48 * 1024) / (4 * 1024)  = 12 which means that you need 12 blocks references to point to files up to 48k in size

1024 + 4M

(4 * 1024 * 1024) / (4 * 1024) = 1024 which means that you need 1024 blocks references to point to files up to 4M in size

0
 
kuntilanakAuthor Commented:
what do you mean by 12 + 48K?
0
 
omarfaridCommented:
these are the figures show on top of each column in the diagram
0
 
kuntilanakAuthor Commented:
I am just confused how can the index 13 can have 1024
0
 
omarfaridCommented:
it is indirectly pointing to file. it points to other blocks which have indexes for the file blocks
0
 
kuntilanakAuthor Commented:
I know that it points to another blocks.. but how did you get 1024 from.. is it from 4KB/4 byte
0
 
omarfaridCommented:
please my previous comment: http://#24112133
0
 
kuntilanakAuthor Commented:
why did you divide it by 4*1024?
0
 
omarfaridCommented:
because the block size where the file data will be stored is 4k (4*1024)
0
 
kuntilanakAuthor Commented:
you're just converting k to bytes??
0
 
omarfaridCommented:
I did not understand your last comment
0
 
kuntilanakAuthor Commented:
when you do 4 * 1024,  4here is in KB and are you just multiplying it by 1024 to convert it to bytes?
0
 
omarfaridCommented:
yes
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 8
  • 7
Tackle projects and never again get stuck behind a technical roadblock.
Join Now