当前位置: 首页 > news >正文

【软考-架构】1.3、磁盘-输入输出技术-总线

GitHub地址:https://github.com/tyronczt/system_architect
资料&文章更新

文章目录

  • 存储系统
  • 💯考试真题
  • 输入输出技术
  • 💯考试真题
    • 第一题
    • 第二题

存储系统

寻道时间是指磁头移动到磁道所需的时间;

等待时间为等待读写的扇区转到磁头下方所用的时间;

💯考试真题

(1)处理11个记录的最长时间为(C. 366ms)

原因分析:

  1. 单缓冲区的限制
    系统使用单缓冲区时,每次只能读取一个逻辑记录到缓冲区中,处理完该记录后才能读取下一个。当磁盘旋转时,磁头需要等待目标逻辑记录重新转到其起始位置才能读取。
  2. 时间计算逻辑
    • 磁盘旋转周期为33ms,每个物理块读取时间为3ms(33ms / 11块)。
    • 处理第一个记录R0:读取3ms + 处理3ms = 6ms。此时磁头已移动到R2的起始位置。
    • 处理后续记录(R1~R10):
      每个记录需要等待磁盘旋转一周(33ms)才能回到起始位置,再加上读取3ms和处理3ms,共需 33ms + 3ms + 3ms = 39ms/个。
      但实际计算中,需考虑处理完前一个记录后磁头的位置。例如,处理R0后,磁头在R2起始处,此时需等待磁盘旋转至R1起始处(需30ms),再加上读取和处理时间(3ms + 3ms = 6ms),总耗时 36ms/个 136。
    • 总时间:R0的6ms + 后续10个记录的36ms × 10 = 6 + 360 = 366ms。

(2)优化存储后的最少时间为(B. 66ms)

优化策略:

  1. 逻辑记录的间隔分布
    将逻辑记录按间隔排列,例如优化后的顺序为:R0, R6, R1, R7, R2, R8, …, R5。这样处理完一个记录后,磁头恰好位于下一个记录的起始位置,无需等待磁盘旋转一周。
  2. 时间计算逻辑
    • 每个记录的处理周期为 读取3ms + 处理3ms = 6ms。
    • 总时间:11个记录 × 6ms = 66ms 369。

关键结论

  • 最长时间由单缓冲区导致的旋转等待时间决定,优化前总耗时 366ms。
  • 最少时间通过优化存储分布消除旋转等待时间,优化后总耗时 66ms。

关键分析步骤

  1. 初始位置:磁头位于21号柱面。
  2. 距离计算:
    • 23号柱面(②、③、⑧)距离为2(最近)。
    • 17号柱面(①、⑤、⑦)距离为4。
    • 32号柱面(④、⑥)距离为11。
    • 38号柱面(⑨)距离为17(最远)。
  3. 调度顺序:
    • 第一步:处理最近的23号柱面请求(②、③、⑧)。根据题目表格中请求的原始顺序,优先处理②→③→⑧(同一柱面请求按出现顺序处理)。
    • 第二步:磁头移动到23号柱面后,下一个最近的柱面是17号(距离6),处理①、⑤、⑦(同一柱面按出现顺序)。
    • 第三步:磁头移动到17号柱面后,下一个最近的柱面是32号(距离15),处理④→⑥。
    • 第四步:最后处理38号柱面的⑨。
  4. 选项匹配:
    • D选项(②⑧③⑤⑦①④⑥⑨):
      与推导结果一致,符合SSTF逻辑(23→17→32→38),且同一柱面请求按原始顺序排列。

结论

正确答案为选项D:②⑧③⑤⑦①④⑥⑨。
该顺序严格遵循最短移臂调度算法,确保每次磁头移动距离最短,并合理处理同一柱面内的请求顺序。

输入输出技术

【常考】计算机和外设间的数据交互方式:

  • 程序控制(查询)方式
  • 程序中断方式
  • DMA方式(直接主存存取)

在一个总线周期结束后,CPU会响应DMA请求开始读取数据;CPU响应程序中断方式请求是在一条指令执行结束时。

💯考试真题

第一题

根据计算机系统中输入/输出控制方式的特点,正确答案为 D. DMA

解析:

DMA(Direct Memory Access,直接存储器存取) 是一种完全由硬件控制的数据传输方式。其核心特点是:

  1. 无需CPU程序指令介入传输过程
    在DMA方式下,CPU仅在数据传输的开始阶段(初始化DMA控制器)和结束阶段(处理中断)进行干预,而具体的数据传输由DMA控制器直接管理内存与外设之间的数据通路完成。
  2. 硬件接管总线控制权
    DMA控制器通过向CPU申请总线控制权,接管系统总线后直接与内存交互,数据块传输完全由硬件实现,无需CPU逐条执行指令。
  3. 与其他方式的对比
    • 程序查询/无条件传送:CPU需持续轮询或直接控制数据传送。
    • 中断方式:每个数据传输需CPU响应中断并执行服务程序。
    • DMA:仅在数据块传输的起始和结束时需要CPU参与,数据传输过程完全独立。

结论:

DMA方式通过硬件控制器实现高效、独立的数据传输,显著减少CPU负担,适用于高速、大批量数据交换场景(如磁盘、网络设备)。

第二题

正确的选项是 C.单总线结构在一个总线上适应不同种类的设备,设计复杂导致性能降低,具体分析如下:

选项解析

  1. 选项A
    错误。串行总线(如USB、SATA)适合长距离数据传输,而非近距离高速传输。串行总线通过差分信号技术(如双绞线)有效抑制线间串扰,抗干扰能力强,更适合远距离通信。而并行总线因多线间信号同步问题,在长距离传输时容易因时序差异和干扰导致速率受限 。
  2. 选项B
    错误。并行总线(如PCI、ISA)适合近距离高速数据传输,而非长距离。并行总线通过多数据通道同时传输数据位,理论速率高,但提升时钟频率会加剧信号时序同步问题和线间干扰,难以适应长距离传输。长距离场景下,串行总线更具优势 。
  3. 选项C
    正确。单总线结构(如早期ISA总线)将所有设备连接到同一总线上,虽然设计简单、易于扩展,但需分时工作(同一时刻只能有一对设备通信),导致系统整体性能受限。此外,适应不同种类设备的协议和控制逻辑会增加设计复杂性,进一步影响效率。
  4. 选项D
    错误。半双工总线(如对讲机通信)支持双向数据传输,但同一时刻只能单向传输,需交替进行。选项D混淆了“半双工”与“单工”的概念(单工总线仅支持单向传输,如广播) 。

总结

  • 串行总线:长距离、抗干扰,通过差分信号提升速率(如USB 3.0可达5Gbps)。
  • 并行总线:近距离、高速但成本高,时钟频率提升受限(如PCI总线频率通常不超过33MHz)。
  • 单总线结构:设计简单但性能瓶颈显著,多设备分时操作导致效率下降 。
  • 半双工与全双工:半双工支持双向交替传输,全双工可同时双向传输(如以太网) 。

相关文章:

【软考-架构】1.3、磁盘-输入输出技术-总线

GitHub地址:https://github.com/tyronczt/system_architect 资料&文章更新 文章目录 存储系统💯考试真题输入输出技术💯考试真题第一题第二题 存储系统 寻道时间是指磁头移动到磁道所需的时间; 等待时间为等待读写的扇区转到…...

Linux软连接与时区日期

软连接 使用ln命令创建软连接。 在系统中创建软连接,可以将文件,文件夹连接到其他为止。 类似于Windows系统的快捷方式。 语法:ln -s 参数1 参数2 -s选项,创建软连接。 参数1,被链接的文件或文件夹。 参数2&#xff0…...

(十)Mapbox GL JS 中点击 Marker 时获取与该 Marker 相关的自定义数据的解决办法

在 Mapbox GL JS 中,如果你想在点击 Marker 时获取与该 Marker 相关的自定义数据,可以通过几种方式将数据绑定到 Marker 上,并在点击时获取这些数据。以下是详细的实现方法,包含代码示例和说明。 方法一:使用 JavaScript 对象属性绑定数据 你可以直接将自定义数据绑定到 …...

PyCharm怎么集成DeepSeek

PyCharm怎么集成DeepSeek 在PyCharm中集成DeepSeek等大语言模型(LLM)可以借助一些插件或通过代码调用API的方式实现,以下为你详细介绍两种方法: 方法一:使用JetBrains AI插件(若支持DeepSeek) JetBrains推出了AI插件来集成大语言模型,不过截至2024年7月,官方插件主要…...

(七)消息队列-Kafka 序列化avro(传递)

(七)消息队列-Kafka 序列化avro(传递) 客从远方来,遗我双鲤鱼。呼儿烹鲤鱼,中有尺素书。 ——佚名《饮马长城窟行》 本文已同步CSDN、掘金平台、知乎等多个平台,图片依然保持最初发布的水印&…...

js基础二

JavaScript基础下 1 事件处理 JS 事件(event)是当用户与网页进行交互时发生的事情,例如单机某个链接或按钮、在文本框中输入文本、按下键盘上的某个按键、移动鼠标等等。当事件发生时,您可以使用 JavaScript 中的事件处理程序&a…...

WSBDF レクチア 定义2 引理3 wsbdf的乘子

定义2 引理3 wsbdf的乘子 ここまで 寝みます❓...

Qt之QStateMachine等待

在项目中经常需要等待,我们模拟0-30的数,假如我们其中5, 25的数需要进行等待,等待用户处理完自己事情后,按下按钮继续,找Qt的项目中有一个 QStateMachineqstatemmachine类提供了一个分层有限状态机。 QSta…...

Wireshark 插件开发实战指南

Wireshark 插件开发实战指南 环境搭建流程图 #mermaid-svg-XpNibno7BIyfzNn5 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-XpNibno7BIyfzNn5 .error-icon{fill:#552222;}#mermaid-svg-XpNibno7BIyfzNn5 .error-t…...

基于SpringBoot的“青少年心理健康教育网站”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“青少年心理健康教育网站”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体结构图 实体属性图 系统首页界…...

23-整数转罗马数字

代码 测试用例 测试结果 测试结果 12. 整数转罗马数字 中等 相关标签 相关企业 七个不同的符号代表罗马数字,其值如下: 符号值I1V5X10L50C100D500M1000 罗马数字是通过添加从最高到最低的小数位值的转换而形成的。将小数位值转换为罗马数字有以…...

SpringBoot+Redis+Mybatis-plus黑马点评

短信登录 基于Session实现登录 流程: 发送短信验证码-->短信验证码注册登录-->校验登录状态(保存用户到ThreadLocal,方便后续使用) 不能每次请求服务都要进行登录状态校验,解决办法:拦截器 在Sp…...

深入剖析 OpenCV:全面掌握基础操作、图像处理算法与特征匹配

深入剖析 OpenCV:全面掌握基础操作、图像处理算法与特征匹配 一、引言二、OpenCV 的安装(一)使用 pip 安装(二)使用 Anaconda 安装 三、OpenCV 基础操作(一)图像的读取、显示与保存(…...

【C语言显示Linux系统参数】

在C语言中&#xff0c;可以通过调用Linux系统提供的API来获取和显示系统参数。以下是一些常见的系统参数及其获取方法&#xff1a; 1. 获取系统名称和版本 可以使用uname函数来获取系统名称、版本等信息。 #include <stdio.h> #include <sys/utsname.h>int main…...

突破Ajax跨域困境,解锁前端通信新姿势

一、引言 在当今的 Web 开发领域&#xff0c;前后端分离的架构模式已经成为主流&#xff0c;它极大地提升了开发效率和项目的可维护性。在这种开发模式下&#xff0c;前端通过 Ajax 技术与后端进行数据交互&#xff0c;然而&#xff0c;跨域问题却如影随形&#xff0c;成为了开…...

Kotlin协变与逆变区别

在Kotlin中&#xff0c;协变和逆变是泛型编程中的两个重要概念&#xff0c;它们允许我们在类型系统中更加灵活地处理类型关系。 1.协变&#xff1a;协变允许我们使用比原始类型更具体的类型。在kotlin中&#xff0c;通过在类型参数上加out关键字来表示协变,生产者&#xff0c;例…...

driver中为什么要使用非阻塞赋值

1. 模拟硬件时序行为 实际硬件行为&#xff1a;DUT的输入信号通常在时钟边沿被采样。Driver需要确保信号的更新与时钟同步&#xff0c;而非阻塞赋值的延迟更新特性&#xff08;在时间步结束时统一生效&#xff09;能够准确模拟寄存器的行为。 示例&#xff1a; always (posedg…...

模板字符串【ES6】

“路漫漫其修远兮&#xff0c;吾将上下而求索。”—— 屈原《离骚》 目录 什么是模板字符串&#xff1f;模板字符串特性及代码举例&#xff1a;详细举例用法&#xff1a; 什么是模板字符串&#xff1f; 模板字符串&#xff08;Template Literals&#xff09;是JavaScript中引入…...

通往 AI 之路:Python 机器学习入门-数据结构

Python 数据结构 Python 提供了多种数据结构来存储和操作数据&#xff0c;其中列表&#xff08;list&#xff09;、字典&#xff08;dict&#xff09;、元组&#xff08;tuple&#xff09;和集合&#xff08;set&#xff09;是最常用的几种。本章将详细介绍这些数据结构的基本…...

我们应该如何优化UI(基于UGUI)

这是一道面试题&#xff0c;下面&#xff0c;我们来详细分析这个问题。 目录 1. 减少 Draw Call 合理设置图集 避免材质和 Shader 的频繁切换 减少 UI 元素的重叠 2. 优化UI布局 3. 优化UI元素的渲染 4.优化UI动画 5. 优化 UI 事件处理 6. 运行时优化 1. 减少 Draw C…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...