没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Final project of operating system
Description
!" #$!%&'
#%(!#!!
)!"(''%!
#%!!*+,%
" (#%' !%%(
"#"
- )!%./0%'!('
#
1 )'!%#(!'!
2 3#'(chmod 0666('%!
4 5%#'"!!#""'%
!
6 '!
7 8!#
"" (#%!.!0 !
"%(!'
) !'17-9( !'1:;<!!
'
Installation of FUSE
)#%!!!17-9(!'!
)
=3!!%'!(
!'!%!
(%!%!%
tar xvf fuse-2.7.0.tar
cd fuse-2.7.0
*(!#((!*+,('
!'!!!%'!
./configure
make
)!!'make install('%%(%'%
!!
First FUSE Example
cd fuse-2.7.0/examples
mkdir testmount
ls -al testmount
./hello testmount
ls -al testmount
<!2.(..(!hello&=!!%(!
%(!!hello>?' %"=!
!('%!!"%?!
!%@%!%
#
cat testmount/hello
<!!A"+#!@%(
!>)
""#!!!#"#.0!
!%
hello.c% !(!
"readdir!read=!!!!'
%
)#%!!#%=!
!!8'%
fusermount -u testmount
FUSE High-level Description
)hello"' "#% !!
!!'!)#!!
%!% 3"
*+,#%! #%!3%(
&!(.5%B0%!!!B8$C?5(!%
D! 5E2%(+*+,(
%"
Chello"!"#
%!"!%#"!
!!%'!! !hello"&
!#%(%?!'%
' fusermount -u!3?'
!%'%
What You Need to Do
<='F#%" !
!'!#"
)F#%!'!#(!'%#
%!%F")%#%'
&!! 6-1'%'
'
-'
D'
-19;'
8'
'
Super block
''#'#%+!#%+
'!'
'G
FHIH#%('
#F'I#'!%
'IH'('
J
Directories
8!'!#!%
u_fs_directory_entry)%!
struct u_fs_file_directory {
char fname[MAX_FILENAME + 1]; //filename (plus
space for nul)
char fext[MAX_EXTENSION + 1]; //extension (plus
space for nul)
size_t fsize; //file size
long nStartBlock; //where the first
block is on disk
int flag; //indicate type of file. 0:for unused; 1:for
file; 2:for directory
}
!%%9$!%(!
#!%
#%!%#92&!!
H#(!"#@#'!
Files
'! !!($H!#!
.disk6-1'%'
struct u_fs_disk_block {
size_t size; // how many bytes are being used in this block
long nNextBlock; //The next disk block, if needed. This is
the next pointer in the linked allocation list
char data[MAX_DATA_IN_BLOCK];// And all the rest of the space
in the block can be used for actual data storage.
};
Disk Management
+!%(%!''
!! '' %!)
'''!!!H#%<!
%
)65D!(
dd bs=1K count=5K if=/dev/zero of=disk
)#"H!H(!!<%!!
( %"%%!%!
<!#('!'
'!
Syscalls
)'' "#%(!!
"#!!)"!!+
%
)%!!!'%;!
'%"!(!!"@
FF
Descripon:
)"!path
!!%#+
!%(+
#(
H)H'
!!?!!%
'!
UNIX
Equivalent:
man -s 2 stat
Return
values:
0 (%
-ENOENT#!
FF!!
Descripon:
)"!path(
!%(!
)(%!filler()
"filler(buf, ".",
NULL, 0);!!!%"
!'%ls -a
+(%%!!
'#!%
剩余35页未读,继续阅读
资源评论
- lx5272658292013-06-17很好的代码 算是看懂一些了
strongYoung10
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功