408操作系统-4.1文件系统基础 习题总结

考点:文件的打开和读取

image
打开文件的过程:
打开操作本质上是使用了open这个系统调用,参数如下图所示。
image
操作系统通过文件的路径在外存中找到了这个test.txt文件所在的目录,继续找该文件的目录项(FCB),一个文件只有一个目录项。然后将这个目录项调到内存中,系统中有一个系统打开文件表,里面存放的是系统中所有打开文件的目录项,新调到内存中的目录项就会被复制到这个表中,同时系统调用会返回一个文件描述符fd,通过fd在用户进程的打开文件表中找到对应的表项,将这个表项指向系统打开文件表中对应的表项即可。
总结:
打开操作主要是将文件的FCB放入内存,并没有将文件中的数据调入内存,那是读取文件时要做的事。
选A

下面这个题考点也一样
image


考点:文件的访问控制

image
其实AD选项都没有问题,但是出题人想考的是文件保护方式中的访问控制,而不是问你文件保护有哪些。
再说一下文件属性,它是文件固有的特性,比如说某文件只支持读操作,那么不管你是管理员还是普通用户都只能读而不能写文件。选A


考点:文件的保护

image
选D,首先加密安全性比访问控制要高,比如说你给某个文件设置了访问权限,但访问权限依赖系统实现,只要我拆下硬盘,装到另一台电脑你的文件就可以随意访问。一般情况下访问控制更加灵活,只要几个不同权限的账户就能实现,文件主人不用设密码也可以让其他访客无法访问敏感文件。
密码学早在公元前400多年就已经产生,加密与解密的过程是靠人的思维转换实现的,其实和计算机关系不大,计算机仅仅是一个高效的辅助工具而已。选D


image


考点:文件的逻辑结构和物理结构辨析

  1. 在文件的逻辑结构中,一个文件对应一个索引项,这个索引项其实就是FCB,存放着该文件的描述信息和物理位置。
  2. 在文件的物理结构中,一个文件对应一个索引块,一个索引块对应多个索引项。如果是多级索引,一个索引项又可以对应多个索引项,以此类推。前几级索引项存放的是下一级索引项的物理地址,最后一级索引项存放的是存放文件数据的物理块的地址。

image
10000开根号以求出顺序目录项的数目为100,1个顺序项对应100个索引项。
实际上就是分了二级目录,100×100的关系。一级目录平均查50次,找到一级目录项后再查对应的二级目录项平均查找50次,一共100次。选c


磁带做存储介质时,文件只能用顺序存储,因为磁头不能移动。如果磁带支持倒转的话,就可以使用其他物理结构。


image
image
虽然显式链接方式也支持随机存取,但如果题目没有细分的话就认为链式存储结构不能随机存取。选B


image
连续结构在物理上是连续的,当文件长度增长时,需要连续的物理块,有时会碰到连续的物理块被其他文件占用的情况,这时需要找到一个符合其大小的新的连续物理块,将数据从旧块复制到新块,并释放旧块。可以看出,这个过程系统开销较大,不利于文件大小的增长,选A。

PS:因为上述原因,顺序分配还会产生内部碎片。


image


  1. 逻辑文件的组织方式是由程序员决定的。
  2. 物理文件的组织方式是由操作系统决定的。

考点:磁盘访问次数题

对于一个具有三级索引的文件,存取一条记录需要访问()次磁盘。

首先在磁盘找一级索引,然后二级索引、三级索引,最后找三级索引指向的文件数据,一共四次。
磁盘访问次数=索引级数+1


当文件较大时,无论是随机存取还是顺序存取,顺序结构文件都要比索引结构文件速度更快。
因为顺序存储分配在物理上是连续的,而索引分配是离散的,所以查找速度就慢了。


在一个用户进程首次打开一个文件时,操作系统要做的是:将文件控制块读入内存中。
ps:一个文件只有一个FCB/索引节点


原文链接:https://www.cnblogs.com/liyaaixuexi/p/17326417.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:408操作系统-4.1文件系统基础 习题总结 - Python技术站

(0)
上一篇 2023年4月18日
下一篇 2023年4月18日

相关文章

  • 在linux配置NFS用于RAC的搭建

    rac的共享存储有很多种搭建方式,nfs是其中一种。生产环境一般不采用nfs,多用于测试。 nfs搭建步骤大致分为如下:   1.划盘 给节点1挂载一块磁盘,并将磁盘分区,并格式化,再挂载 [root@news01 softdb]# fdisk -l Disk /dev/vda: 53.6 GB, 53687091200 bytes 255 heads, 6…

    Linux 2023年4月11日
    00
  • centos6超20TB磁盘的分区格式化的示例代码

    下面是“centos6超20TB磁盘的分区格式化的示例代码”的完整攻略: 1. 确认磁盘 在进行分区格式化之前,需要先确认磁盘的设备名。可以通过以下命令查看系统挂载的所有磁盘: fdisk -l 例如,假设我们有一块 30TB 的磁盘,设备名为 /dev/sdb。 2. 分区 接下来,我们需要将磁盘分为多个分区。由于 centos6 版本的 fdisk 工具…

    Linux 2023年5月30日
    00
  • socket 到底是个啥

      哈喽大家好,我是咸鱼   我相信大家在面试过程中或多或少都会被问到这样一个问题:你能解释一下什么是 socket 吗   我记得我当初的回答很是浅显:socket 也叫套接字,用来负责不同主机程序之间的网络通信连接,socket 的表现方式由四元组(ip地址:端口)组成   那么今天,咸鱼将跟大家打开 socket 的神秘大门,不但要搞清楚 socket…

    Linux 2023年4月17日
    00
  • tomcat性能优化之如何搭建Apr模块

    Tomcat性能优化之如何搭建Apr模块 什么是Apr模块 Apr是Apache Portable Runtime的缩写,是一个跨平台的Apache服务器公共库,提供了一系列高性能和稳定的API,可以显著提高Apache服务器的性能。Apr模块可以让Tomcat在处理请求时更快地响应客户端请求。 如何搭建Apr模块 步骤一:安装Apr库 首先下载Apache…

    Linux 2023年5月14日
    00
  • Ubuntu配置软件镜像源

    ​    主机系统:Ubuntu 22.04.1 LTS _Jammy Jellyfish_ – Release amd64   Ubuntu如何配置软件镜像源?   在网速可以的情况下,有时我们在使用 apt-get update 指令时会发现更新软件列表的速度很慢,一般出现这个问题的原因是用来更新软件源的服务器距离太远。    在这里,我们就需要通过添加…

    Linux 2023年5月2日
    00
  • CentOS系统中PHP和MySQL的升级方法

    下面是详细的CentOS系统中PHP和MySQL升级的攻略: 升级PHP 步骤一:检查当前PHP版本 在终端中输入以下命令,查看当前系统中PHP的版本信息: php -v 步骤二:安装PHP升级所需的软件包 使用以下命令安装PHP升级所需的软件包: sudo yum -y install epel-release yum-utils sudo yum -y …

    Linux 2023年5月14日
    00
  • linux–ipmitool 详解 ipmitool命令详解 基础命令学习目录首页

        基础命令学习目录首页   原文链接:https://www.cnblogs.com/EricDing/p/8995263.html   [root@localhost ~]# yum install -y ipmitool #安装这个包 #service ipmi start#ipmitool -I open shell#### 可以直接进入本地BM…

    Linux 2023年4月13日
    00
  • Linux查看各用户硬盘占用大小

    Linux查看各用户硬盘占用大小 在Linux中,如果要统计各用户占用硬盘的大小,可以执行如下的命令du -sh /home/*这条命令会以K、M、G等单位输出 /home 下各用户目录占用硬盘的总大小,例如下面这样: [root@localhost ~]# du -sh /home/* 24K /home/dong 12K /home/tide 12K /…

    Linux 2023年4月27日
    00
合作推广
合作推广
分享本页
返回顶部