题目

某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件主、文件主的伙伴、其他用户;访问权限分为5种:完全控制、执行、修改、读取、写入。若文件控制块中用二进制位串表示文件权限,为表示不同类别用户对一个文件的访问权限,则描述文件权限的位数至少应为______。(2017统考真题)

A. 5

B. 9

C. 12

D. 20


答案

本题答案为:D


分析

可以把用户访问权限抽象为一个矩阵,行代表用户,列代表访问权限。这个矩阵有 4 行 5 列,1 代表 true,0 代表 false,所以需要 20 位,选 D。

可能有人会问,一共 20 种状态,2^5 可以表示 32 种状态,不是 5 位就够了吗?

这里我提供几个思考角度,帮助理解。

  1. 我们所说的 5 位,表示的是 32 种状态,每种状态只能表示其中 1 类用户的权限。而题目要求是表示不同类别用户对一个文件的访问权限,即 四类用户的权限都要同时控制

  2. 32 种状态的确不能共存,但这里问的不是状态,是共存的。

  3. 在本题中,每种用户拥有的权限都 是独立的而不是互斥的,比如可能同时有修改和读取两种,必须用一位表示一个权限。每个用户最多可以同时拥有 5 种权限,一共有 4 种用户,四类用户的权限都要同时控制,所以最少需要 5×4=20 位。

还不理解的话,可以参考 linux 中是怎么表示文件权限的:

在 linux 系统中,

  • 有(用户user,用户组group,其他other)三类用户
  • 有(可读r,可写w,可执行x)三种权限

所以对于一个文件权限,可以表示为 rwxrw_r__ ,前三个字符表示用户对该文件可读可写可执行,中间三个字符表示用户组对该文件可读可写但不可执行,最后三个字符表示其他对该文件只读,总共需要 3×3=9 位,这题同理。

操作系统例题:某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件主、文件主的伙伴、其他用户;访问权限分为5种:完全控制、执行、修改、读取、写入。若文件控制块中用二进制位串表示文件权限,为表相关推荐

  1. tinyxml 读取文本节点_c++中用TINYXML解析XML文件

    TinyXML介绍 最近做一个负载均衡的小项目,需要解析xml配置文件,用到了TinyXML,感觉使用起来很容易,给出一个使用TinyXML进行XML解析的简单例子,很多复杂的应用都可以基于本例子的方 ...

  2. pythonocc基础使用:1.读取/写入brep,iges,step,stl文件

    总目录 >> PythonOCC入门进阶到实战(目前已更新入门篇.基础篇和进阶篇) 由作者实现的国产云端CAD www.yuntucad.com 对于cad系统的开发,读入外界的文件很重要 ...

  3. MT管理器修改、添加、删除system分区里面的文件提示Read-only file system

    MT管理器修改.添加.删除system分区里面的文件提示Read-only file system错误 root完手机以后打开MT想修改.写入.删除system分区里面的文件,提示没有写权限,为只读文 ...

  4. linux用户读取文件过程,Python中读取写入文件并进行文件与用户交互的操作

    一.提前知识点 在Python中是同样和其他语言一样可以进行文件的读取写入操作,值得注意的是,Python中打开文件读取的方式有几种,分别是以下几种: f = open('username.txt') ...

  5. node.js文件系统中同步文件、异步文件、简单文件、流式文件如何写入

    文件系统(File System) -文件系统简单来说就是通过Node来操作系统中的文件 -使用文件系统,需要先引入fs模块,fs是核心模块,直接引入不需要下载 一.同步文件的写入 -手动操作的步骤 ...

  6. php怎么从文件中读取数据库连接,PHP连接 读取 写入mysql数据库的方法 附常用代码...

    MYSQL一般都是和PHP配套使用用来建设网站,这里提供PHP连接MySQL数据库以及读取写入数据库的方法,供大家参考使用: 1.为了更好地设置数据连接,一般会将数据连接所涉及的值定义成变量. $my ...

  7. 如何从文件系统中读取文件内容

    [0]写在前面 0.0) text description from orange's implemention of a os ,文末总结系个人臆测出的干货 [1]intro to FAT12(fi ...

  8. 使用Java中的FileChannel和ByteBuffer在文件中读取/写入文件

    过去,我讨论过RandomAccessFile以及如何将其用于在Java中进行更快的IO,在本Java NIO教程中,我们将了解如何通过使用FileChannel和ByteBuffer来使用读/写数据 ...

  9. C#中File类中文件的读取写入

    C#中File类中文件的读取写入 注意:使用File读取写入文件非常简单,但FIle的操作方式决定只能读取小文件,读写时全部加载进行读取.读写大文件时建议使用文件流. 常用方法 //获取所有编码方式 ...

最新文章

  1. 学计算机出来的大佬,学计算机专业的大佬能否解答一下
  2. 在线文档预览方案-office web apps
  3. 数据集与JSON对象互相转换
  4. Windows PE 第十二章 PE变形技术
  5. 使用vb6绿色版做一个简易图片浏览器
  6. jdk8中java.util.concurrent包分析
  7. PHP通过__call实现简单的AOP(主事务后的其他操作)比如前置通知,后置通知
  8. c#写图像tif gdal_Gdal系列 (二)读取图像基本操作b + 简单波段合成
  9. javascript 请求web service
  10. 冒泡排序(C语言代码介绍)
  11. Java常用设计模式总结及应用场景分析
  12. CSS背景图片自适应大小
  13. 解决microsoft store需要联网 你似乎没有联网
  14. PHP利用百度语音接口,实现文字图文转语音播放
  15. 中国地质大学英语语音学习笔记(一):元音(单元音,双元音,三元音)
  16. Heaters 供暖器
  17. J2ME开发小技巧——模拟器上的快捷键
  18. 纯JS省市区三级联动
  19. 如何关闭135、137、138、139、445端口
  20. c#Socket通信实例

热门文章

  1. CodeForces - 617E XOR and Favorite Number(莫队)
  2. POJ - 3279 Fliptile(状态压缩+位运算+暴力)
  3. 洛谷 - P1028 数的计算(线性dp)
  4. CodeForces - 603C Lieges of Legendre(博弈+找规律)
  5. linux控制编译so 位数,Linux下解决64位下Apache编译模块时/usr/lib/libexpat.so问题
  6. 04-树7 二叉搜索树的操作集(c语言实现)
  7. [luogu2042] [NOI2005]维护数列
  8. 查看UNIX/Linux资源占用的top命令
  9. GetLongPathName和GetShortPathName函数
  10. Comparable与Comparator浅析