[pso] [tema3] citire inode de pe disc - SOLUTIE
omar Chouydary
chouydary at yahoo.com
Thu May 3 00:27:03 EEST 2007
Hello,
Am aflat solutia pentru citirea inode-ului de pe disc, este oarecum banala, dar diferita de cea de la MINIX, unde inca tind sa cred ca se pierd multi bytes degeaba ( m-a ajutat Razvan Deaconescu sa ma dumiresc).
Atunci cand avem ino = numarul inode-ului de citit, in loc sa facem
bloc = ino / nr_inodes_per_bloc
si offset = ino % nr_inodes_per_bloc
folosim ceva de genul urmator:
offset = ino * pitix_inode_size -> offset fiind pozitia de la care incepe inode-ul pe disc
in cadrul zonei IZONE (ino incepe de la 0 NU de la 1)
bloc = offset / sb_blocksize -> nr. blocului
off_bloc = offset % sb_blocksize -> offset-ul in cadrul blocului de unde trebuie citit
inode-ul
Evident, daca inode-ul se continua pe 2 blocuri nu trebuie decat sa se continue de la offset 0, cu bloc = bloc + 1
Sper sa ajute,
Omar
---------------------------------
Ahhh...imagining that irresistible "new car" smell?
Check outnew cars at Yahoo! Autos.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cursuri.cs.pub.ro/pipermail/pso/attachments/20070502/cbb15e80/attachment.htm
More information about the pso
mailing list