一、死锁

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. [TJOI2013]奖学金 乱搞

    [TJOI2013]奖学金 乱搞 从\(c\)个二元组\((v,w)\)中选出\(n\)个,使其\(v\)的中位数最大的同时使\(w\)和小于等于\(f\),求这个中位数 有点意思.有点像二分答案的思 ...

  2. 【原创】go语言学习(八)切片

    目录: 切片定义 切片基本操作 切片传参 make和new的区别 切片定义 1. 切片是基于数组类型做的一层封装.它非常灵活,可以自动扩容. var a []int //定义一个int类型的空切⽚ 2 ...

  3. Java 单例设计模式之 饿汉式和懒汉式

    public class InstanceSampleTest { public static void main(String[] args) { /** 单例设计模式的 饿汉式和懒汉式 * 单例模 ...

  4. 如何查看Linux cpu核数、版本等信息

    CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数 1.查看CPU信息(型号): [root@iZ2ze1rl2qy ...

  5. 针对于linux初学者的学习(摘自网络端)

    一. 选择适合自己的Linux发行版谈到linux的发行版本,太多了,可能谁也不能给出一个准确的数字,但是有一点是可以肯定的,linux正在变得越来越流行, 面对这么多的Linux 发行版,打算从其他 ...

  6. How To Install P4 Tutorials

    安装一些依赖 sudo apt-get update sudo apt-get upgrade sudo apt-get install automake cmake libjudy-dev libp ...

  7. qt 2D绘图技巧

    2D绘图 Qt4中的2D绘图部分称为Arthur绘图系统.它由3个类支撑整个框架,QPainter,QPainterDevice和QPainterEngine.QPainter用来执行具体的绘图相关操 ...

  8. load ifc

    void setRootNode( osg::Group* root ) { m_main_view->setSceneData( root ); if( m_hud_camera ) { ro ...

  9. Windows7 安装docker工具的方法

    1.参考官方文档 https://docs.docker.com/toolbox/toolbox_install_windows/ 注意:因为我的电脑是windows10 家庭版,所以,无法使用 Do ...

  10. 本地git仓库推送到服务器自建的git仓库实现目录文件同步教程

    首先,先在服务器上安装git,如果有git的话就不用走这一步了 yum安装git [root@iZuf6fazwjb6lb3z82smzoZ ~]# cd src/ [root@iZuf6fazwjb ...