OS选择题练习
一、死锁
1、设系统中有n个进程并发,共同竞争资源X,且每个进程都需要m个X资源,为使该系统不会发生死锁,资源X的数量至少为()
A、n*m+1 B、n*m+n
C、n*m+1-n D、无法预计
2、设系统中有9个并发进程,共同竞争的同类资源有79个,为使系统有可能会发生死锁,每个进程申请该类资源最少为()
A、9 B、10 C、11 D、12
3、设系统中共有并发进程8个,每个进程申请R1类资源最多为8个,为使系统有可能发生死锁,问R1类资源最多为()
A、63 B、56 C、7 D、57
4、设系统共同竞争的同类资源有46个,参与竞争的并发进程为5个,为使系统一定不会发生死锁,每个进程最多需要该类资源()
A、9 B、10 C、11 D、8
解析:
1、C
系统不会发生死锁,求资源X的最少数量。
首先为n个进程中的每个进程分配m-1个资源;这样的情况下,只要再有一个资源X,那么肯定有一个进程可以正常进行,最后顺利释放自己占有的资源,从而使其他进程正常进行。
所以,资源X的最少值为:n(m-1)+1 = X_num
2、B
系统有可能发生死锁,已知n和X_num,求m:n(m-1)+1 > X_num
3、B
系统有可能发生死锁,已知n和m,求X_num:n(m-1)+1 > X_num
4、B
系统一定不会发生死锁,求每个进程最需要该类资源的最大数量。
已知n和X_num,求m:n(m-1)+1 ≤ X_num
二、EAT
1、一具有快表的分页系统中,逻辑地址访问内存的时间是100ms,访问快表的时间是20ms。问:设从快表中找到所需页表项的概率为85%,计算CPU存取一个数据时的有效访问时间。
解析:135ms
在引入快表的分页存储管理方式中:

三、页表
1、在采用二级页表的分页存储管理方式中,按字节编址,若页面大小为1KB,页表项大小为4 Byte;一级页表中页表项个数至少是32。问:逻辑地址空间大小为()K页。
A、16 B、8 C、32 D、4
2、在采用二级页表的分页存储管理方式中,按字节编址,若某作业逻辑地址空间大小为8K页,一级页表中页表项个数为16;页表项大小为4 Byte,则页面大小为()KB。
A、2K B、2 C、8K D、8
3、在采用二级页表的分页存储管理方式中,按字节编址,若页面大小为8KB;某作业的逻辑地址空间大小为256K页,一级页表中页表项个数为64。问:页表项大小为()Byte。
A、2K B、2 C、8K D、8
解析:
1、B
一级页表中页表项个数为32,即有32个二级页表;二级页表中,页面大小为1KB,页表项大小为4 Byte,则一个二级页表可以存放1KB/4 Byte = 28 个页;
所以逻辑地址空间大小(页):一级页表中的页表项个数 = 二级页表的个数;
二级页表中的页面大小/页表项大小 = 每个二级页表中的页数
一级页表中的页表项个数*二级页表中的页面大小/页表项大小=逻辑地址空间大小(页)
计算得出:32 * 28 = 213 页= 8 K页
2、B
3、B
四、单双缓冲区
1、文件占30个磁盘块,把该文件磁盘逐个读入主存缓冲区,并送工作区进行处理;设一个缓冲区与磁盘块大小相同,把一个磁盘块读入缓冲区的时间为200 us,将缓冲区的数据送到用户区的时间是10 us,CPU对一块数据进行处理的时间为50 us;在单缓冲区结构下,读入并处理完该文件的时间为()us。
A、6000 B、6350
C、7800 D、6060
2、在双缓冲区结构下,读入并处理完该文件的时间为()us。
解析:
1、B
C:CPU处理时间,为50
T:I/O 设备与缓冲区的数据传输时间,为200
M:将缓冲区的数据传送到用户区的时间,为10
29 × MAX(C,T) +30 × M + T1 + C30 = 29 × 200+20 × 10 + 200 + 50 = 6350
2、D
因为:T > C+M
所以总的处理时间为:29 × MAX(C+M,T) + T1 + M30+ C30 = 29 × 200 + 200 + 50 +10 = 6060
五、磁盘转速
1、具有一个读写磁头的单面磁盘容量为160 GB,共有368640 条磁道,每条磁道有32个扇区,磁盘传输速率为40 MBps。
问:磁盘转速为()rpm(四舍五入)。
A、7200 B、4800
C、5400 D、6600
解析:
1、C
磁盘的转速,即磁盘每分钟转多少转,一转相当于访问一条磁道;所以,只需求磁盘每分钟可访问多少条磁道
磁盘的数据容量/磁道数 = 每条磁道的数据容量
传输速率意味着每秒的数据访问量,再除以每条磁道的数据容量就可以算出每秒访问的磁道数量,即每秒多少转;再乘以60,即可得到每分钟访问的磁道数。
40 MBps / (160GB/368640) × 60 = 5400
OS选择题练习的更多相关文章
- 牛客网_Go语言相关练习_判断&选择题(5)
一.判断题 defer应该在if后面,如果文件为空,close会崩溃. package main import ( "os" "fmt" ) func main ...
- NodeJs之OS
OS Node.js提供了一些基本的底层操作系统的模块OS. API var os = require('os'); console.log('[arch] 操作系统CPU架构'+os.arch()) ...
- Node.js:OS模块
os模块,可以用来获取操作系统相关的信息和机器物理信息,例如操作系统平台,内核,cpu架构,内存,cpu,网卡等信息. 使用如下所示: const os = require('os'); var de ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- Mac OS 使用 Vagrant 管理虚拟机(VirtualBox)
Vagrant(官网.github)是一款构建虚拟开发环境的工具,支持 Window,Linux,Mac OS,Vagrant 中的 Boxes 概念类似于 Docker(实质是不同的),你可以把它看 ...
- Mac OS、Ubuntu 安装及使用 Consul
Consul 概念(摘录): Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStac ...
- java 利用ManagementFactory获取jvm,os的一些信息--转
原文地址:http://blog.csdn.net/dream_broken/article/details/49759043 想了解下某个Java项目的运行时jvm的情况,可以使用一些监控工具,比如 ...
- 让 ASP.NET vNext 在 Mac OS 中飞呀飞。。。
写在前面 阅读目录: 娓娓道来 Install ASP.NET vNext Command Line Tools 安装 Homebrew 使用 Homebrew,安装 KVM Install Subl ...
- Mac OS X 上编写 ASP.NET vNext (二) IDE配置
上一篇中介绍了如何在OS X上搭建.Net运行时.不过光有运行时还不够,还需要有一个好用的IDE,有了IDE的支持,OS X上的开发才称为可能. 和上篇类似,这里先列举出具体步骤,个人可以根据自己的情 ...
随机推荐
- Ubuntu下Django+uWSGI+nginx部署
本文采用uwsgi+nginx来部署django 这种方式是将nginx作为服务端前端,将接受web所有的请求,统一管理,Nginx把所有的静态请求自己处理,然后把所有非静态请求通过uwsgi传递给D ...
- List集合类
1.1: List.add方法——向集合列表中添加对象 public static void main(String[] args) { List<String> list=new Ar ...
- windows下安装redis、celery,并启动测试
Windows 环境下基于 Redis 的 Celery 任务调度模块的实现 搭建环境: Windows-x64 10 Celery 3.1.23 Celery-with-redis 3.0 Redi ...
- 为http请求追加cookie值
1.html中引入JQuery Cookie插件. 2.JS var expiresTime = new Date(); expiresTime.setTime(expiresTime.getTime ...
- springBoot学习(一):初学Thymeleaf
这一部分的代码是基于大神的代码,只是原本的代码是有错的,只自己记录一下自己更改之后的代码和自己的理解. 使用Spring Initzal创建项目,最后代码结构如下,我对Spring及其相关之事还是全然 ...
- Python3 输入和输出(二)
接上一节 1.读写文件的模式图 将字符串写入到文件 foo.txt 中: #!/usr/bin/python3 # 打开一个文件f = open("/tmp/foo.txt", & ...
- webpack4.0源码分析之Tapable
1 Tapable简介 webpack本质上是一种事件流的机制,它的工作流程就是将各个插件串联起来,而实现这一切的核心就是Tapable,webpack中最核心的负责编译的Compiler和负责创建b ...
- Homebrew 使用国内镜像
在国内的网络环境下使用 Homebrew 安装软件的过程中,可能会长时间卡在 Updating Homebrew ... 方法一:按command + c 取消本次更新操作,直接安装软件 方法二:设置 ...
- 2019 SDN上级第五次作业
1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解,包括但不限于: 描述官方教程实现了一个什么样的交换机功能? 答:官方教程实现了一个将接收到的数据包发送到所有端口 ...
- DBeaver的时区问题
最近使用DBeaver作为连接MySQL的客户端,发现执行sql返回的datetime类型字段时间不对,比实际时间多了10多个小时, 无论是连接开发服务器或者连本机MySQL都有这个问题. 检查服务器 ...