Solved

i-node and UNIX file system

Posted on 2009-04-09
16
541 Views
Last Modified: 2013-12-26
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
Comment
Question by:kuntilanak
  • 8
  • 7
16 Comments
 
LVL 77

Expert Comment

by:arnold
ID: 24109317
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
 

Author Comment

by:kuntilanak
ID: 24109367
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
 

Author Comment

by:kuntilanak
ID: 24109371
what I mean by rectangle here is the gray rectangle with index 1.. is that a data block?
0
Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

 
LVL 40

Accepted Solution

by:
omarfarid earned 500 total points
ID: 24112133
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
 

Author Comment

by:kuntilanak
ID: 24112483
what do you mean by 12 + 48K?
0
 
LVL 40

Expert Comment

by:omarfarid
ID: 24112559
these are the figures show on top of each column in the diagram
0
 

Author Comment

by:kuntilanak
ID: 24112946
I am just confused how can the index 13 can have 1024
0
 
LVL 40

Expert Comment

by:omarfarid
ID: 24112984
it is indirectly pointing to file. it points to other blocks which have indexes for the file blocks
0
 

Author Comment

by:kuntilanak
ID: 24113175
I know that it points to another blocks.. but how did you get 1024 from.. is it from 4KB/4 byte
0
 
LVL 40

Expert Comment

by:omarfarid
ID: 24113680
please my previous comment: http://#24112133
0
 

Author Comment

by:kuntilanak
ID: 24113693
why did you divide it by 4*1024?
0
 
LVL 40

Expert Comment

by:omarfarid
ID: 24113719
because the block size where the file data will be stored is 4k (4*1024)
0
 

Author Comment

by:kuntilanak
ID: 24116051
you're just converting k to bytes??
0
 
LVL 40

Expert Comment

by:omarfarid
ID: 24116285
I did not understand your last comment
0
 

Author Comment

by:kuntilanak
ID: 24116561
when you do 4 * 1024,  4here is in KB and are you just multiplying it by 1024 to convert it to bytes?
0
 
LVL 40

Expert Comment

by:omarfarid
ID: 24117227
yes
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Sometimes a user will call me frantically, explaining that something has gone wrong and they have tried everything (read - they have messed it up more and now need someone to clean up) and it still does no good, can I help them?!  Usually the standa…
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Hi friends,  in this video  I'll show you how new windows 10 user can learn the using of windows 10. Thank you.

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question