I/O设备
I/O设备可以分为存储设备或输入输出设备;块设备或字符设备;低速中速高速设备。
I/O设备不是直接和cpu进行通信,而是通过设备控制器和cpu进行间接通信,cpu通过设备控制器去控制一个或多个设备。
设备控制器功能:①接收和识别cpu的命令;②数据交换;③标识和报告设备的状态;④地址识别;⑤数据缓存;⑥差错控制;

如上所示是设备控制器的结构图,主要分为与cpu的接口,与I/O设备的接口和I/O逻辑控制,I/O逻辑控制会对收到的地址进行译码。
I/O通道
I/O通道的引入是为了解决当外设多时,cpu任务负担重的问题,I/O通道设备是建立在cpu和设计控制器之间。I/O通道设备使得cpu从io任务中解放出来。当cpu 发出io指令后,io通道执行通道程序完成io任务,完成后向cpu发出中断信号。

I/O控制方式
I/O控制方法由四种:程序I/O方式(查询方式),中断方式,DMA方式,I/O通道控制方式。
①程序I/O方式:这种方式也可以称为查询方式,cpu不断地去查询设备控制器是否将数据放到了数据存储器中,或者从数据存储器存到设备中,当完成IO时cpu才能去干别的事。
②中断方式:这种方式当cpu发出指令后就可以去干别的事,当设备控制器把数据存在数据存储器后,向cpu发出中断请求,然后cpu再来处理这部分数据。
③DMA方式:虽然中断方式提高了cpu的利用率,但是数据寄存器有限,中断是以字节单位进行中断,也就是说读取或存储一个字节后就需要进行中断,那么其实cpu的利用率还是很低的,所以就诞生了DMA方式,这种方式由DMA控制器直接将设备中的数据以数据块为单位直接传输到内存中,当传输结束后才向cpu发起中断。
④IO通道控制方式:DMA虽然大大地提升了cpu的利用率,但是DMA只能传输一个连续的数据块。所以引入了IO通道的控制方式,IO通道控制方式可以传输不连续的数据块,减少了cpu干预。cpu通过对IO通道发出指令,然后让IO通道自己工作,等数据传输完才向cpu发起中断。

缓冲
缓冲可以缓和cpu和IO设备速度不匹配的问题,减少对cpu的中断频率。
缓冲又分为单缓冲,双缓冲,循环缓冲。缓冲使得设备控制器在搬运数据的同时使得cpu也能同时进行计算工作,大大地提升了cpu的利用率。
不过现在用的比较多的是缓冲池,缓冲池中包含多个缓冲区。缓冲区又分为空缓冲区,装载输出数据的缓冲区和装载输入数据的缓冲区。

IO软件
io软件需要达到以下几个目标:与具体设备无关、统一命名、对错误的处理、缓冲技术、设备的分配与释放、屏蔽io控制方式的差异。
io软件又分为以下几个层次:用户层软件、设备独立性软件、设备驱动程序、中断处理程序。
用户层软件负责向上层用户提供接口。
设备独立性软件负责逻辑设备和物理设备的映射、缓冲、设备保护、设备分配及释放。
设备驱动程序负责驱动io设备工作。
spooling技术
spooling技术是缓和高速cpu和低速io设备速度不匹配的问题。通过外围控制机,以高速磁盘为介质来做脱机操作。也就是说把高速磁盘作为了一个中间介质来提升低速io设备的速度问题。同时spooling系统将独占设备变成了虚拟的逻辑共享设备。

磁盘存储器管理
①物理构成:
磁盘包括多个物理盘片,每个盘片有一个或两个存储面。每个磁盘被组织成多个同心环,称为磁道,每个磁道可存储相同位数的二进制位。每个磁道又被分为若干个扇区,每个扇区包含数据字段和控制字段。
②磁盘调度:
在磁盘中读取数据时,磁盘的寻道时间远远超过了数据传输时间。
那么磁盘调度就是要减少磁盘的平均寻道时间。
先来先服务:该调度算法未对磁盘寻道进行优化,只适合磁盘io请求少的情况。
最短寻道时间优先:该寻道方式是先访问近的磁道。
扫描算法:虽然最短寻道时间保证了每次寻道时间最短,但是可能会造成某些进程需要的数据一直距离磁头的位置比较远,造成长时间获取不到数据。这种算法又可以称为电梯算法,沿一个方向寻找最近的数据,直到该方向的磁道上没有请求。
循环扫描算法:循环扫描算法规定了磁盘的单向移动,例如只能从最里扫到最外,这样防止了刚被扫描过的磁盘又要被访问,而等待很长时间。
NStepSCAN算法和FSCAN算法:在前几种算法中会出现磁臂粘着的情况,如果在处理该磁道的时候,又有该磁道的请求,那么就会一直处理下去,使得无法处理别的请求。
NStepSCAN算法是将SCAN算法分成了N个队列,对一个队列采用SCAN算法,按FCFS算法处理这些队列。
FSCAN算法是对N步SCAN算法的化简,只分成了两个队列。
③磁盘缓存
磁盘缓存其实是内存中的一个空间。
④提高磁盘io的方法
提前读、延迟写、优化物理块的分布、虚拟盘









计算机操作系统感悟随笔--设备管理 IO相关推荐

  1. 计算机操作系统感悟随笔--声明

    声明 此次博客用于学习计算机操作系统一课的感悟随笔. 内容涉及笔记,实例题讨论.

  2. 计算机操作系统感悟随笔--引论

    OS引论笔记 1.操作系统的目标 方便性.有效性.可扩充性和开放性 2. 使用计算机三种方式 图形窗口方式.命令.系统调用 3.操作系统作用 ①OS作为用户与计算机硬件系统之间的接口 ②OS作为计算机 ...

  3. 计算机操作系统感悟随笔--内存空间管理

    1.单一连续分配 内存分为系统区和用户区两部分: 系统区:仅提供给OS使用,通常放在内存低址部分 用户区:除系统区以外的全部内存空间,提供给用户使用. 最简单的一种存储管理方式,只能用于单用户.单任务 ...

  4. 计算机操作系统感悟随笔--进程通信

    一.进程通信是指进程之间的信息交换 1.低级通信--进程之间的互斥和同步 信号量机制是有效的同步工具,但作为通信工具缺点如下: (1)效率低(通信量少) (2)通信对用户不透明(程序员实现,操作系统只 ...

  5. 计算机操作系统感悟随笔--实例思考

    关于C++多线程实例 引用自https://www.cnblogs.com/codingmengmeng/p/5913068.html的C++多线程入门实例 首先是最初实例代码: #include & ...

  6. 计算机操作系统感悟随笔--虚拟存储管理

    一.虚拟存储器的基本概念 分析常规存储器管理不足的原因: 1)常规存储器管理方式的特征 一次性:作业在运行前一次性地全部装入内存 驻留性:作业装入内存后,便一直驻留在内存中,直至作业运行结束. 一次性 ...

  7. 计算机操作系统感悟随笔--进程描述与控制

    进程描述与控制 1.前趋图 指一个有向无循环图,用于描述进程之间执行的先后顺序 2.程序顺序执行时的特征 (1) 顺序性 处理机的操作严格按程序规定顺序执行 (2) 封闭性 程序一旦开始执行,其计算结 ...

  8. 计算机操作系统感悟随笔--程序编译连接

    高速缓存 一种速度比内存快的存储设备,一般同寄存器一样集成在CPU中. 存放内存的部分拷贝,把常用的数据放这里可以提高速度. 将短时间内经常访问的部分数据从内存放到高速缓存中,减少CPU访问内存的时间 ...

  9. 计算机操作系统感悟随笔--文件和文件系统

    一.文件和文件系统 文件管理:把所管理的程序和数据组织成一系列的文件,并能进行合理的存储.使用等操作. 1 )基本概念 数据项:描述对象某种属性的字符集:是数据组织中可以命名的最小逻辑数据单位. 记录 ...

最新文章

  1. php定时执行代码漏洞_【漏洞风险提示】Drupal任意PHP代码执行漏洞通告
  2. CVPR禁令出台:审稿期间禁止主动在社交媒体宣传论文!LeCun:阻碍科学交流,简直疯了...
  3. Linux下目录/文件颜色的含义
  4. Thinkphp小知识点
  5. 【字符串操作之】返回指定长度的字符串→→substr方法
  6. FastReport问题整理(转)
  7. iOS开发篇——OC 协议和代理设计模式介绍
  8. 2019必学的10大顶级Python库!
  9. flask综合整理2
  10. python程序员前景-一个6年Python程序员的工作感悟,送给还在迷茫的你
  11. SecureCRT 中如何配置颜色
  12. 精密光学测量1-概论
  13. TCR+fc型svc无功补偿仿真模型有详细资料
  14. STM32复习笔记(五) —— GPIO锁定机制
  15. (5.1)Typora——Typora 图像保存和上传( 本地 + PicGo + SMMS/Gitee)
  16. 利用python实现蚂蚁森林自动偷能量
  17. 第一章 Caché JSON 简介
  18. 博通语法纠错技术方案入选ACL2022,论文详细解读
  19. 请问汽车CD接线各个的字母代表什么,ACC,ILL,RR,FR,FL,RLANT,B/U,NC,CND,真诚的谢谢了!
  20. 走进雅虎:成功的研发中心靠什么

热门文章

  1. systick(滴答定时器)
  2. 电商ERP接口erp进销存接口
  3. java ps.executeupdate()不执行_求救!在删除数据时不执行executeUpdate();
  4. 服务器维护系列——VNC没有反应了怎么办?
  5. 亚马逊卖家站外引流的方式——TikTok
  6. 【动态规划】友好城市
  7. 2020.7.6比赛总结
  8. 应用程序发生异常,未知的软件异常0x0eedfade,位置为0x0000001355C
  9. Github(Gitee)之 建立 .gitignore 文件 屏蔽一些文件上传,不上传自己不需要的文件或者文件夹
  10. 第一台计算机研制成功的背景,第一台计算机的诞生背景