考点:文件的打开和读取
打开文件的过程:
打开操作本质上是使用了open这个系统调用,参数如下图所示。
操作系统通过文件的路径在外存中找到了这个test.txt文件所在的目录,继续找该文件的目录项(FCB),一个文件只有一个目录项。然后将这个目录项调到内存中,系统中有一个系统打开文件表,里面存放的是系统中所有打开文件的目录项,新调到内存中的目录项就会被复制到这个表中,同时系统调用会返回一个文件描述符fd,通过fd在用户进程的打开文件表中找到对应的表项,将这个表项指向系统打开文件表中对应的表项即可。
总结:
打开操作主要是将文件的FCB放入内存,并没有将文件中的数据调入内存,那是读取文件时要做的事。
选A
下面这个题考点也一样
考点:文件的访问控制
其实AD选项都没有问题,但是出题人想考的是文件保护方式中的访问控制,而不是问你文件保护有哪些。
再说一下文件属性,它是文件固有的特性,比如说某文件只支持读操作,那么不管你是管理员还是普通用户都只能读而不能写文件。选A
考点:文件的保护
选D,首先加密安全性比访问控制要高,比如说你给某个文件设置了访问权限,但访问权限依赖系统实现,只要我拆下硬盘,装到另一台电脑你的文件就可以随意访问。一般情况下访问控制更加灵活,只要几个不同权限的账户就能实现,文件主人不用设密码也可以让其他访客无法访问敏感文件。
密码学早在公元前400多年就已经产生,加密与解密的过程是靠人的思维转换实现的,其实和计算机关系不大,计算机仅仅是一个高效的辅助工具而已。选D
考点:文件的逻辑结构和物理结构辨析
- 在文件的逻辑结构中,一个文件对应一个索引项,这个索引项其实就是FCB,存放着该文件的描述信息和物理位置。
- 在文件的物理结构中,一个文件对应一个索引块,一个索引块对应多个索引项。如果是多级索引,一个索引项又可以对应多个索引项,以此类推。前几级索引项存放的是下一级索引项的物理地址,最后一级索引项存放的是存放文件数据的物理块的地址。
10000开根号以求出顺序目录项的数目为100,1个顺序项对应100个索引项。
实际上就是分了二级目录,100×100的关系。一级目录平均查50次,找到一级目录项后再查对应的二级目录项平均查找50次,一共100次。选c
磁带做存储介质时,文件只能用顺序存储,因为磁头不能移动。如果磁带支持倒转的话,就可以使用其他物理结构。
虽然显式链接方式也支持随机存取,但如果题目没有细分的话就认为链式存储结构不能随机存取。选B
连续结构在物理上是连续的,当文件长度增长时,需要连续的物理块,有时会碰到连续的物理块被其他文件占用的情况,这时需要找到一个符合其大小的新的连续物理块,将数据从旧块复制到新块,并释放旧块。可以看出,这个过程系统开销较大,不利于文件大小的增长,选A。
PS:因为上述原因,顺序分配还会产生内部碎片。
- 逻辑文件的组织方式是由程序员决定的。
- 物理文件的组织方式是由操作系统决定的。
考点:磁盘访问次数题
对于一个具有三级索引的文件,存取一条记录需要访问()次磁盘。
首先在磁盘找一级索引,然后二级索引、三级索引,最后找三级索引指向的文件数据,一共四次。
磁盘访问次数=索引级数+1
当文件较大时,无论是随机存取还是顺序存取,顺序结构文件都要比索引结构文件速度更快。
因为顺序存储分配在物理上是连续的,而索引分配是离散的,所以查找速度就慢了。
在一个用户进程首次打开一个文件时,操作系统要做的是:将文件控制块读入内存中。
ps:一个文件只有一个FCB/索引节点