操作系统期末考试必会题库4——设备管理

news2024/11/16 3:38:31

1、DMA方式和中断控制方式的主要区别是什么?

2、面向块设备和面向流设备有何区别?各举一些例子

面向块的设备将信息保存在块中,块的大小通常是固定的,传送过程中一次传送一块。通常可以通过块号访问数据。磁盘和USB智能卡都是面向块的设备。

面向流的设备已字节流的方式输入/输出数据,没有块结构。终端打印机鼠标及其他大多数非辅存设备,都属于面向流的设备。

3、在假设计算机系统采用循环扫描磁盘调度策略C-LOOK,使用2KB的内存空间记录16384个磁盘块的空闲状态。

(1)请说明在上述条件下如何进行磁盘块空闲状态的管理;(4分)

(2)设某单面磁盘的旋转速度为6000r/min,每个磁道有100个扇区,相邻磁道间的平均移动时间为1ms,若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向移动,磁道号请求队列为50,90,30,120,对请求队列中的每个磁道需读取1个随机分布的扇区,则读完这4个扇区点共需要多长时间?(10分)

(3)如果将磁盘替换为司机访问的flash存储器(如固态硬盘),是否有比循环扫描更高效的磁盘调度策略?并说明理由。(6分)

解答:

(1) 2KB=2*1024*8bit=16384bit。

  可用位示图进行磁盘空闲状态的管理,每1bit表示一个磁盘块是否空闲。

(2) 采用C-LOOK调度算法,访问磁道的顺序和移动的磁道数如下:

    访问磁道的顺序  移动的磁道数

    120           20

    30            90

    50            20

    90            40

  移动的磁道数为20+90+20+40=170,总移动磁道时间为70*1ms=170ms。

  由于转速为6000r/min,则平均旋转延迟为5ms,4个的延迟时间为20ms。

 每分钟6000转,转一圈的时间为0.01s,共有100个扇区,则通过一个扇区的时间为0.0001s,即0.1ms,读4个,共需0.4。

   所以,读完这4个扇区点共需要 170ms + 20+0.4ms = 190.4ms。

(3) 采用先来先服务调度策略更高效,应为flash半导体存储器的物理结构不需要考虑寻道时间和旋转延迟,可直接按照I/O请求的先后顺序服务。

 4、某软盘有40个磁道,磁头从一个磁道移至相邻磁道需要6ms,文件在磁盘上非连续存放,逻辑上相邻数据块的平均距离为13磁道,每块的旋转延迟时间及传输时间分别为100ms和25ms,问读取一个100块的文件需要多少时间?若系统对磁盘进行了整理,让同一文件的磁盘块尽可能靠拢,从而使逻辑上相邻数据块的平均距离降为2磁道,此时读取一个100块的文件需要多少时间?

磁盘整理前,逻辑上相邻数据块的平均距离为13磁道,读取一块数据需要的时间为13*6+100+25=203ms

因此,读取一个100块的文件需要时间为     203*100=20300ms。

磁盘整理后,逻辑上相邻的数据块的平均距离为2磁道,读取一块数据需要的时间为  2*6+100+25=137ms

因此,读取一个100块的文件需要的时间为:  137*100=13700ms

5、假定一个盘组共有100个柱面,每个柱面上有16个磁道,每个磁道分为四个扇区。

1)整个磁盘空间共有多少个存储块。

2)若用字长32位的单元来构造位示图,共需要多少个字?

3)位示图中第18个字的第16位对应的块号是多少?

1)整个磁盘空间的存储块数目为4*16*1000=6400个。

2)位示图应为6400个位,如果字长为32位的单元来构造位示图,那么需要6400/32=200个字。

3)位示图中的第18个字的第16位(即i8,j=16)对应的块号为32*(18-1)+16=560.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/126125.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】Linux权限(一)文件权限和目录权限

Linux权限1.Linux权限的概念2.Linux的用户分类3.Linux的文件类型3.1如何看待Linux下的文件后缀4.Linux的文件权限5.Linux下切换用户指令6.Linux文件访问者的分类(拥有者、所属组、other)6.1root 和普通用户 与 拥有者和所属组和其他人的关系6.2 如何描述…

matlab中ginput函数的用法

仅用来记录自己学习中不会的函数 ginput函数:来自鼠标或光标的图形输入 一、语法 [x,y] ginput(n) [x,y] ginput [x,y,button] ginput(…) 二、说明 ginput 提高当前坐标区中的交叉线以供您标识图窗中的点,从而使用鼠标定位光标。图窗必须具有焦点…

【Linux】 第八部分 Linux常用基本命令

【Linux】 第八部分 Linux常用基本命令 文章目录【Linux】 第八部分 Linux常用基本命令8. Linux常用基本命令8.1 帮助命令8.2 文件目录类命令pwd 显示当前工作目录的绝对路径cd 切换目录ls 列出目录的内容mkdir 创建目录rmdir 删除目录touch 创建文件cp 复制文件或者目录rm 删除…

网络编程 异步选择模型

目录 1.概念 2.代码样例 1.概念 基本概念,在这一个模型中的代码使用到了vs中窗口应用程序,可以看这一片文章https://blog.csdn.net/weixin_62859191/article/details/128415737?spm1001.2014.3001.5501https://blog.csdn.net/weixin_62859191/article/d…

站在2023起跑线,政企数字化如何深入“核心地带”?

今天,各行各业都积极开展数字化变革,以云为底座开展数字化已成为行业共识。而更进一步观察会发现,大型政企作为数字化转型的先行者和主力军,已经从资源上云、应用上云阶段,率先抵达了数字化深水区,迈入了深…

UDS-Data transmission functional unit

11 数据传输功能单元 11.1 概述 表185指定了数据传输功能单元。 注: ReadDataByIdentifier:客户端通过提供的dataIdentifier去请求读取标识记录的当前值。ReadMemoryByAddress:客户端请求读取所提供的内存范围的当前值。ReadScalingData…

机器学习100天(十九):019 分类模型评价指标-混淆矩阵

机器学习100天,今天讲的是:分类模型评价指标-混淆矩阵。 《机器学习100天》完整目录:目录 一、准确率(Accuracy) 逻辑回归是一个分类模型,那么对于分类模型,如何评估它的优劣呢? 好,我们先来认识一个名词:混淆矩阵(confusion matrix)。混淆矩阵是用来衡量一个分…

C语言预处理器

C 预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。我们将把 C 预处理器(C Preprocessor)简写为 …

pybind11学习 | 使用CMake构建系统并生成pyd文件

文章目录一 通过Visual Studio生成二 通过CMake生成一 通过Visual Studio生成 在我之前的一篇文章pybind11学习 | VS2022下安装配置中,描述了如何通过配置VS2022实现pybind11项目构建和编译成Python拓展模块。 二 通过CMake生成 项目结构如下: 其中py…

(二十七)Vue组件的样式

文章目录scoped属性实现原理lang属性样式穿透Vue学习目录 上一篇:(二十六)Vue之插件 scoped属性 scoped 属性是 HTML5 中的新属性。如果使用该属性,则样式仅仅应用到 style 元素的父元素及其子元素。即让样式在局部生效&#x…

kafka多线程消费

Kafka consumer 多线程消费 kafka 消费者对象 - KafkaConsumer是非线程安全的。与KafkaProducer不同,KafkaProducer是线程安全的,因为开发者可以在多个线程中放心地使用同一个KafkaProducer实例。 但是对于消费者而言,由于它是非线程安全的…

FreeFileSync 11.29 发布

导读FreeFileSync 是一款开源软件,适用于 Windows、macOS 和 Linux。FreeFileSync 本质是一个用于文件夹对比和同步的软件,它可以创建和管理所有重要文件的备份副本。FreeFileSync 不是每次都复制每个文件,而是确定源文件夹和目标文件夹之间的…

使用 ClusterResourceSet 为 Cluster API 集群自动安装 CNI 插件

1 什么是 Cluster API Cluster API[1] 是一个 Kubernetes 子项目,它将声明式、Kubernetes 风格的 API 引入到集群的创建、配置和管理中。Cluster API 支持在 AWS, Azure, GCP, vSphere, KubeVirt 等多种环境中创建和管理 Kuberenetes 集群,并负责提供部…

单例(Singleton)设计模式

一、单例(Singleton)设计模式说明 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式免去我们自己再思考和摸索。就像是经典的棋谱,不同的棋局,我们用不同的棋谱,"套路"所谓类…

WebView以及使用HTTP访问访问网络

文章目录使用网络技术WebView的用法使用HTTP访问网络使用HttpURLConnection使用OkHttp使用网络技术 在Android开发当中,我们应该合理的使用网络编写出更加出色的应用程序,下面学习以下如何在手机端使用HTTP和服务器进行网络交互,并对服务器返回的数据进行解析,这也是在Android…

爽啊,这么多有趣好玩强大的 Python 库

Python语言简洁、易读以及可扩展,在国内外用 Python 做研究的非常多。 Python 语言向来以丰富的第三方库而闻名。这么多有趣好玩且强大,靠一个人去寻找太难了。 最近粉丝群小伙伴们又罗列了一些,分享给大家。喜欢记得点个赞,加入…

OpenHarmony#深入浅出学习eTs#(三)UI布局

本项目Gitee仓地址:深入浅出eTs学习: 带大家深入浅出学习eTs (gitee.com) 一、ArkUI介绍 框架介绍 方舟开发框架(简称:ArkUI),是一套UI开发框架,提供开发者进行应用UI开发时所必需的能力。 基本概念 组…

力扣sql入门篇(二)

力扣sql入门篇(二) 1 计算特殊奖金 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 SELECT employee_id, case when employee_id%21 AND name not like "M%" then salary else 0 end bonus FROM Employees ORDER BY employee_id;1.3 运行…

【软件测试】测试人的一份“漂亮“的年终总结报告......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 不管这一年&#xf…

举一反三-自建zabbix监控mysql

之前写过2篇zabbix监控redis的文章。 本篇针对的是mysql。除了描述如何创建mysql监控的步骤,本篇另一个目的是描述创建任意一个监控对象的基本原理,未来面对其它监控对象时,可以举一反三。 zabbix监控的最基本的部件时zabbix server和zabbix agent. zabbix server负责汇总…