Inode program in c

On-campus and online computer science courses to Learn the basic concepts of Computer Science.This tutorial will cover c ,c++, java, data structure and algorithm,computer graphics,microprocessor,analysis of algorithms,Digital Logic Design and Analysis,computer architecture,computer networks,operating system.
code in C:
#include <stdio.h>
int main()
{
 long addr,bsize,singlesize,doublesize,triplesize,directsize,singleend,doubleend,tripleend,blockno,byteno,tempaddr;
 printf("Enter block size(kb)\n");
 scanf("%ld",&bsize);
 bsize*=1024;
 printf("Enter the address:\n");
 scanf("%ld",&addr);
   
 singlesize=256*bsize;
 doublesize=256*singlesize;
 triplesize=256*doublesize;
 
 directsize=10*bsize;
 
 singleend=singlesize+directsize;
 doubleend=doublesize+singleend;
 tripleend=triplesize+doubleend;
   
 if(addr<directsize)
 {
 blockno=addr/bsize;
 byteno=addr-blockno*bsize;
 printf("Direct Block number: %ld\n",blockno);
 printf("Byte number: %ld\n",byteno); 
 }
 else
 {
  if(addr<singleend)
  {
   tempaddr=addr-directsize;
   blockno=tempaddr/bsize;
   byteno=tempaddr-blockno*bsize;
   printf("Direct Block number: %ld\n",blockno);
   printf("Byte number: %ld\n",byteno);  
  }
  else
  {
   if(addr<doubleend)
   {
    tempaddr=addr-singleend;
    blockno=tempaddr/(singlesize);
    printf("Single Indirect Block number: %ld\n",blockno);
    blockno=tempaddr/(bsize);
    printf("Direct Block number: %ld\n",blockno);
    byteno= tempaddr-blockno*bsize;
    printf("Byte number: %ld\n",byteno); 
   }
   else
   {
    if(addr<tripleend)
    {
     tempaddr=addr-doubleend;
     blockno=tempaddr/(doublesize);
     printf("Double Indirect Block number: %ld\n",blockno);
     tempaddr= tempaddr-blockno*doublesize;
     blockno=tempaddr/(singlesize);
     printf("Single Indirect Block number: %ld\n",blockno);
     blockno=tempaddr/bsize;
     printf("Direct Block number: %ld\n",blockno);
     byteno=tempaddr-blockno*bsize;
     printf("Byte number: %ld\n",byteno);
    }
   }
  }
 }
 return 0;  
}
output:-
Enter block size(kb)
1
Enter the address:
350000
Single Indirect Block number: 0
Direct Block number: 75
Byte number: 816

--------------------------------

0 comments: