一、死锁

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选择题练习的更多相关文章

  1. 牛客网_Go语言相关练习_判断&选择题(5)

    一.判断题 defer应该在if后面,如果文件为空,close会崩溃. package main import ( "os" "fmt" ) func main ...

  2. NodeJs之OS

    OS Node.js提供了一些基本的底层操作系统的模块OS. API var os = require('os'); console.log('[arch] 操作系统CPU架构'+os.arch()) ...

  3. Node.js:OS模块

    os模块,可以用来获取操作系统相关的信息和机器物理信息,例如操作系统平台,内核,cpu架构,内存,cpu,网卡等信息. 使用如下所示: const os = require('os'); var de ...

  4. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  5. Mac OS 使用 Vagrant 管理虚拟机(VirtualBox)

    Vagrant(官网.github)是一款构建虚拟开发环境的工具,支持 Window,Linux,Mac OS,Vagrant 中的 Boxes 概念类似于 Docker(实质是不同的),你可以把它看 ...

  6. Mac OS、Ubuntu 安装及使用 Consul

    Consul 概念(摘录): Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStac ...

  7. java 利用ManagementFactory获取jvm,os的一些信息--转

    原文地址:http://blog.csdn.net/dream_broken/article/details/49759043 想了解下某个Java项目的运行时jvm的情况,可以使用一些监控工具,比如 ...

  8. 让 ASP.NET vNext 在 Mac OS 中飞呀飞。。。

    写在前面 阅读目录: 娓娓道来 Install ASP.NET vNext Command Line Tools 安装 Homebrew 使用 Homebrew,安装 KVM Install Subl ...

  9. Mac OS X 上编写 ASP.NET vNext (二) IDE配置

    上一篇中介绍了如何在OS X上搭建.Net运行时.不过光有运行时还不够,还需要有一个好用的IDE,有了IDE的支持,OS X上的开发才称为可能. 和上篇类似,这里先列举出具体步骤,个人可以根据自己的情 ...

随机推荐

  1. Ubuntu下Django+uWSGI+nginx部署

    本文采用uwsgi+nginx来部署django 这种方式是将nginx作为服务端前端,将接受web所有的请求,统一管理,Nginx把所有的静态请求自己处理,然后把所有非静态请求通过uwsgi传递给D ...

  2. List集合类

    1.1:  List.add方法——向集合列表中添加对象 public static void main(String[] args) { List<String> list=new Ar ...

  3. windows下安装redis、celery,并启动测试

    Windows 环境下基于 Redis 的 Celery 任务调度模块的实现 搭建环境: Windows-x64 10 Celery 3.1.23 Celery-with-redis 3.0 Redi ...

  4. 为http请求追加cookie值

    1.html中引入JQuery Cookie插件. 2.JS var expiresTime = new Date(); expiresTime.setTime(expiresTime.getTime ...

  5. springBoot学习(一):初学Thymeleaf

    这一部分的代码是基于大神的代码,只是原本的代码是有错的,只自己记录一下自己更改之后的代码和自己的理解. 使用Spring Initzal创建项目,最后代码结构如下,我对Spring及其相关之事还是全然 ...

  6. Python3 输入和输出(二)

    接上一节 1.读写文件的模式图 将字符串写入到文件 foo.txt 中: #!/usr/bin/python3 # 打开一个文件f = open("/tmp/foo.txt", & ...

  7. webpack4.0源码分析之Tapable

    1 Tapable简介 webpack本质上是一种事件流的机制,它的工作流程就是将各个插件串联起来,而实现这一切的核心就是Tapable,webpack中最核心的负责编译的Compiler和负责创建b ...

  8. Homebrew 使用国内镜像

    在国内的网络环境下使用 Homebrew 安装软件的过程中,可能会长时间卡在 Updating Homebrew ... 方法一:按command + c 取消本次更新操作,直接安装软件 方法二:设置 ...

  9. 2019 SDN上级第五次作业

    1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解,包括但不限于: 描述官方教程实现了一个什么样的交换机功能? 答:官方教程实现了一个将接收到的数据包发送到所有端口 ...

  10. DBeaver的时区问题

    最近使用DBeaver作为连接MySQL的客户端,发现执行sql返回的datetime类型字段时间不对,比实际时间多了10多个小时, 无论是连接开发服务器或者连本机MySQL都有这个问题. 检查服务器 ...