操作系统例题:某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件主、文件主的伙伴、其他用户;访问权限分为5种:完全控制、执行、修改、读取、写入。若文件控制块中用二进制位串表示文件权限,为表
题目
某文件系统中,针对每个文件,用户类别分为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 位就够了吗?
这里我提供几个思考角度,帮助理解。
我们所说的 5 位,表示的是 32 种状态,每种状态只能表示其中 1 类用户的权限。而题目要求是表示不同类别用户对一个文件的访问权限,即 四类用户的权限都要同时控制。
32 种状态的确不能共存,但这里问的不是状态,是共存的。
在本题中,每种用户拥有的权限都 是独立的而不是互斥的,比如可能同时有修改和读取两种,必须用一位表示一个权限。每个用户最多可以同时拥有 5 种权限,一共有 4 种用户,四类用户的权限都要同时控制,所以最少需要 5×4=20 位。
还不理解的话,可以参考 linux 中是怎么表示文件权限的:
在 linux 系统中,
- 有(用户user,用户组group,其他other)三类用户
- 有(可读r,可写w,可执行x)三种权限
所以对于一个文件权限,可以表示为 rwxrw_r__
,前三个字符表示用户对该文件可读可写可执行,中间三个字符表示用户组对该文件可读可写但不可执行,最后三个字符表示其他对该文件只读,总共需要 3×3=9 位,这题同理。
操作系统例题:某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件主、文件主的伙伴、其他用户;访问权限分为5种:完全控制、执行、修改、读取、写入。若文件控制块中用二进制位串表示文件权限,为表相关推荐
- tinyxml 读取文本节点_c++中用TINYXML解析XML文件
TinyXML介绍 最近做一个负载均衡的小项目,需要解析xml配置文件,用到了TinyXML,感觉使用起来很容易,给出一个使用TinyXML进行XML解析的简单例子,很多复杂的应用都可以基于本例子的方 ...
- pythonocc基础使用:1.读取/写入brep,iges,step,stl文件
总目录 >> PythonOCC入门进阶到实战(目前已更新入门篇.基础篇和进阶篇) 由作者实现的国产云端CAD www.yuntucad.com 对于cad系统的开发,读入外界的文件很重要 ...
- MT管理器修改、添加、删除system分区里面的文件提示Read-only file system
MT管理器修改.添加.删除system分区里面的文件提示Read-only file system错误 root完手机以后打开MT想修改.写入.删除system分区里面的文件,提示没有写权限,为只读文 ...
- linux用户读取文件过程,Python中读取写入文件并进行文件与用户交互的操作
一.提前知识点 在Python中是同样和其他语言一样可以进行文件的读取写入操作,值得注意的是,Python中打开文件读取的方式有几种,分别是以下几种: f = open('username.txt') ...
- node.js文件系统中同步文件、异步文件、简单文件、流式文件如何写入
文件系统(File System) -文件系统简单来说就是通过Node来操作系统中的文件 -使用文件系统,需要先引入fs模块,fs是核心模块,直接引入不需要下载 一.同步文件的写入 -手动操作的步骤 ...
- php怎么从文件中读取数据库连接,PHP连接 读取 写入mysql数据库的方法 附常用代码...
MYSQL一般都是和PHP配套使用用来建设网站,这里提供PHP连接MySQL数据库以及读取写入数据库的方法,供大家参考使用: 1.为了更好地设置数据连接,一般会将数据连接所涉及的值定义成变量. $my ...
- 如何从文件系统中读取文件内容
[0]写在前面 0.0) text description from orange's implemention of a os ,文末总结系个人臆测出的干货 [1]intro to FAT12(fi ...
- 使用Java中的FileChannel和ByteBuffer在文件中读取/写入文件
过去,我讨论过RandomAccessFile以及如何将其用于在Java中进行更快的IO,在本Java NIO教程中,我们将了解如何通过使用FileChannel和ByteBuffer来使用读/写数据 ...
- C#中File类中文件的读取写入
C#中File类中文件的读取写入 注意:使用File读取写入文件非常简单,但FIle的操作方式决定只能读取小文件,读写时全部加载进行读取.读写大文件时建议使用文件流. 常用方法 //获取所有编码方式 ...
最新文章
- 学计算机出来的大佬,学计算机专业的大佬能否解答一下
- 在线文档预览方案-office web apps
- 数据集与JSON对象互相转换
- Windows PE 第十二章 PE变形技术
- 使用vb6绿色版做一个简易图片浏览器
- jdk8中java.util.concurrent包分析
- PHP通过__call实现简单的AOP(主事务后的其他操作)比如前置通知,后置通知
- c#写图像tif gdal_Gdal系列 (二)读取图像基本操作b + 简单波段合成
- javascript 请求web service
- 冒泡排序(C语言代码介绍)
- Java常用设计模式总结及应用场景分析
- CSS背景图片自适应大小
- 解决microsoft store需要联网 你似乎没有联网
- PHP利用百度语音接口,实现文字图文转语音播放
- 中国地质大学英语语音学习笔记(一):元音(单元音,双元音,三元音)
- Heaters 供暖器
- J2ME开发小技巧——模拟器上的快捷键
- 纯JS省市区三级联动
- 如何关闭135、137、138、139、445端口
- c#Socket通信实例
热门文章
- CodeForces - 617E XOR and Favorite Number(莫队)
- POJ - 3279 Fliptile(状态压缩+位运算+暴力)
- 洛谷 - P1028 数的计算(线性dp)
- CodeForces - 603C Lieges of Legendre(博弈+找规律)
- linux控制编译so 位数,Linux下解决64位下Apache编译模块时/usr/lib/libexpat.so问题
- 04-树7 二叉搜索树的操作集(c语言实现)
- [luogu2042] [NOI2005]维护数列
- 查看UNIX/Linux资源占用的top命令
- GetLongPathName和GetShortPathName函数
- Comparable与Comparator浅析