操作系统课课件3.ppt
习题课(习题课(4)文件管理文件管理计算1l l设文件为链接文件,有设文件为链接文件,有5个逻辑记录组成,个逻辑记录组成,每个逻辑记录的大小与磁盘块大小相等,每个逻辑记录的大小与磁盘块大小相等,均为均为512字节,并依次存放在字节,并依次存放在50、121、75、80、63号盘块上。若要存取文件的号盘块上。若要存取文件的第第1569逻辑字节处的信息,问要访问哪一逻辑字节处的信息,问要访问哪一个磁盘块?个磁盘块?答:答:1569=512*3+33访问字节的逻辑记录号:访问字节的逻辑记录号:3物理盘块号:物理盘块号:80计算计算2l l假定磁盘块的大小为假定磁盘块的大小为1K,540M的硬盘,的硬盘,FAT表表占多少存储空间?占多少存储空间?磁盘块个数:磁盘块个数:540M/1K=540K(个个)512K540K1024K540个盘块号用个盘块号用20位二进制表示位二进制表示FAT表中每个表目:表中每个表目:2.5字节字节FAT表占用:表占用:2.5*540K=1350K 计算计算3l l假设盘块大小为假设盘块大小为4KB,每个盘块号占,每个盘块号占4个个字节,在两级索引结构中,允许的最大文字节,在两级索引结构中,允许的最大文件长度是多少?件长度是多少?答:一个盘块有答:一个盘块有4KB/4=1KB个登记项个登记项二级索引有二级索引有1KB*1KB个登记项个登记项每个登记项对应一个盘块每个登记项对应一个盘块文件的长度:文件的长度:1K*1K*4K=4GB一个一个UNIX/Linux文件系统中,如果一个盘块文件系统中,如果一个盘块的大小为的大小为1KB,每个盘块占每个盘块占4个字节,若进个字节,若进程与访问偏移为程与访问偏移为263168字节处的数据,须字节处的数据,须经过几次间址?经过几次间址?计算计算4答案:答案:UNIX/Linux文件系统中,直接寻址为文件系统中,直接寻址为10块;块;一次间址为一次间址为256块,二次简址为块,二次简址为2562块;三次间址为块;三次间址为2563块块偏移偏移263168字节的逻辑块号:字节的逻辑块号:263168/1024=257,块内偏移为,块内偏移为0。由于由于10257256+10故,一次间址故,一次间址分析5l lUNIX系统中有关外存磁盘空块的分配与回系统中有关外存磁盘空块的分配与回收,是借助超级块中的栈来进行的。假如收,是借助超级块中的栈来进行的。假如某个时刻系统状况如下图所示。若此时某某个时刻系统状况如下图所示。若此时某进程要建立文件进程要建立文件A,申请,申请4个盘块。请说明个盘块。请说明分配过程,并给出分配完毕后有关数据及分配过程,并给出分配完毕后有关数据及表更改情况。表更改情况。超级块栈超级块栈s-free49s-free48s-free1s-free0s-nfree99#2100#99#00000100#50150#103#102#101#150#50200#151#200#50250#201#计算6l l设定一个文件的i节点为128字节,文件的状态信息占用了68个字节;一个盘块指针为4字节长,每块的大小为8K。使用直接指针、一次间接指针、二次间接指针、三次间接指针分别可以表示多大的文件?答案:答案:直接指针项数直接指针项数:(128-68)/4-3=12(个)(个)12*80K=960KB一次间接指针一次间接指针:(8K/4)*8K=16MB二次间接指针二次间接指针:2K*2K*8K=32G三次间接三次间接:2K*2K*2K*8K=16TB分析7l lUNIX文件F的存取权限为:rwxr-x-,该文件的文件主uid=12,gid=1,另一个用户的uid=6,gid=1,是否允许该文件执行文件F?答案:答案:F文件的文件主的权限:读写及执行;文件的文件主的权限:读写及执行;同组用户的权限:读和执行同组用户的权限:读和执行其他用户对该文件无权限其他用户对该文件无权限另一用户为同组用户,有读和执行的权限另一用户为同组用户,有读和执行的权限计算6l l在UNIX系统中,如果当前目录是/usr/wang,那么,相对路径为./ast/vvv文件的绝对路径名是什么?并写出简要分析。答案:答案:绝对路径:绝对路径:/usr/ast/vvv./ast/vvv表示该文件位于当前目录的上一级目表示该文件位于当前目录的上一级目录下的录下的/ast/目录下目录下