操作系统03-IO设备管理

  1. 中断源指的就是中断请求,所谓中断字是指中断请求的编号。

  2. 内存不足时候,OS可以采取“内存紧缩”进行改善。
  3. 进程控制块PCB组织管理一般采用线性方式

  4. 7个状态模型增加就绪挂起和阻塞挂起的状态:1提高效率 2 提供足够的内存 3有利于调试

  5. 生产者和消费者模型包含:生-消费必须同步,生-消费必须互斥,生-生必须互斥,消费-消费必须互斥。

  6. 周转时间计算,是各个进程的周转时间/进程数量。

  7. Fork 是复制函数,调用一次但是返回两次

  8. 作业响应比=(等待+执行时间)/执行时间

  9. 进程的TS指令是公共布尔变量TR UR表示在占用,false 是闲置。

    SAVE是临资源访问过程中的临界区,

    lock=FALSE语向是临界资源访间过程中的退出区

    Leave语句是临界资源访问过程中的剩余区。

  10. 按信息交换单位来进行分类:设备(例如磁盘)+字符设备(例如键盘)

  11. 磁盘读写是以块未单位,通常磁盘的I/O控制主要采用DMA方式。DMA成为成组数据传送方式。键盘的读写是字符为范围,通常键盘的IO采用中断方式

  12. 操作系统设置设备管理功能的主要目的是方便用户管理设备

  13. 设备管理的主要任务
    缓冲区管理

    通过缓冲技术匹配高、低速设备交换数据

    匹配不同速度的外部设备

    设备分配协调技术避免设备冲突
    设备处理
    虚拟设备通过虚拟技术将一台独占设备虚拟成多台逻辑设备,提高设备并发度
    独立性
    保证用户安全正确的使用设备
  14. 【与设备无关的系统软件】的工作是:提供一致的系统调用。(为用户进程提供一个管理IO功能的接口,这个接口对所有的设备都是相同)

  15. 采用中断技术进行设备控制管理,可以让CPU和外设大部分时间并行工作,提高了系统的效率

  16. 设备独立层实现用户程序和设备驱动器统一的接口、设备命令、设备保护、设备分配等。

  17. IO设备管理中,引入缓冲技术的主要是因为 匹配不同外部设备的传输速度

  18. 设备分配的主要数据接口及分配顺序是:系统设备表→设备控制表→控制器控制表。

  19. 程序直接控制方式:利用输入或输出指令询问一台设备的忙或闲标志位。

  20. CPU和外设在带部分时间内并行工作,当CPU启动外设后,不需要去查询工作状态,可以继续执行程序,是程序中断方式

  21. 一个独立CPU的专门IO控制处理机,控制设备和内存直接进行数据交换。他有自己的指令和程序是指通道控制方式。

  22. 信息交换方式设置为三种通道:选择通道、字节多路通道、数组多路通道。

  23. 设备保护

    软件层

    提供与设备无关的逻辑块

    独占设备的分配和释放
    统一命名硬件层
    缓冲
    存储设备的块分配
    出错处理
  24. 设立设备独立层的主要目的是:屏蔽IO设备驱动的多样性,便于用户使用。

  25. 用户使用外部设备,控制设备的命令传递途径未:用户应用层→设备独立层→设备驱动层→设备硬件。

  26. I/O软件系统分为如下4个层次:①中断处理程序;②设备驱动程序;③与设备无关的操作系统I/O软件;④用户级I/O软件。

  27. 程序直接控制方式的构成

    状态寄存器

    数据寄存器

    控制寄存器

    中断控制方式的构成

    数据寄存器、地址寄存器、中断请求寄存器

    控制寄存器

    触发寄存器

    DMA控制方式

    源地址寄存器

    目标地址寄存器

    传输计算器

    通道方式通道、数据、地址译码器

    通道控制方式的传送结构的构件:字节多路+数据多路+设备选择通道

  28. 设备触发器是中断控制方式的构件。

  29. 内存是可重用资源;时钟是不可重用。

  30. 饥饿是:相关进程没有阻塞,但是调度被无限退后。

  31. 设备分配需要考虑:设备固有属性、设备分配算法、设备分配的安全性、设备的独立性。

  32. 通道类型:字节多路通道,数据选择通道,数组多路通道。

  33. OS在进行设备分配时需要根据算法进行查找相应的数据结构,包含:系统上设备表,设备控制表,控制器控制表,通道控制表。

  34. 设备分配通常采用先来先服务和高优先级优先

  35. 独占设备为独享设备,一段时间只允许一个进程使用的设备:打印机、扫描仪、时钟发生器。

  36. 中断控制方式的关键部件

    中断控制器

    地址总线和数据总线

    设备控制器

    当I/O设备就绪时,向CPU发出中断请求信号,使CPU暂停当前任务并处理中断请求。在此期间,设备能够自主进行数据传输,并且可以与CPU并行运行,提高了系统效率。
    程序直接控制方式的的关键部件

    设备状态寄存器

    地址总线和数据总线

    设备控制寄存器

    设备数据缓冲区

    地址译码器

    关键词是轮询,cpu向控制器发出指令后,会一直轮询检查数据是否准备好(通过状态寄存器)

    通道通道是一个特殊功能的处理器,它有自己的指令和程序,可以实现对外围设备的统一管理和外围设备与内存之间的数据传送。减少数据输入输出对整个系统运行效率的影响。
  37. SPOOLing系统含义为同时的外部设备联机操作,也称假脱机技术。三大组成部分:输入和输出井;输入缓冲和输出缓冲,输入进程和输出进程。
  38. 计算机IO系统系统硬件结构包含:适配器和接口部件、设备控制器、设备硬件。

  39.  通道控制表(CHCT)中包含通道标识、通道忙闲标记、控制器控制表COCT指针、通道等待队列指针和通道等待队列指针。

  40.  系统设备表 (SDT)包括设备类型、设备标识、获得设备的进程号和设备控制表(DCT)指针。故选择ABCD选项。设备等待队列指针属于设备控制表的内容。

  41.  设备控制表(DCT)中包含设备类型、设备标识、设备忙/闲标记、COCT(控制器控制表)指针备等待队列手指针和设备等待队列尾指针。获得设备的进程号属于系统设备表的内容。
  42. 提高文件系统的性能的有:块高速缓存、磁盘驱动调度和目录项分解法
  43. 实现DMA控制方式需要DMA控制器、地址总线和数据总线
  44. 实现通道控制方式需要关键的软硬件部件有通道控制器、设备控制器、通道程序代码与地址总线和数据总线。
  45. 外存设备控制器:光盘、磁带、磁盘;
  46.  通道是一个特殊功能的处理器,它有自己的指令和程序,可以实现对外围设备的统一管理和外围设备与内存之间的数据传送。通道具有以下功能:(1)接受CPU的指令,按指令要求与指定的外围设备进行通信;(2)从内存读取属于该通道的指令,并执行通道程序,向设备控制器和设备发送各种命令。(3)组织外围设备和内存之间进行数据传送、并根据需要提供数据缓存的空间,以及提供数据存入内存的地址和传送的数据邮(4)从外围设备得到设备的状态信息,形成并保存通道本身的状态信息,根据要求将这些状态信息送到内存的指定单元,供CPU使用。(5)将外围设备的中断请求和通道本身的中断请求,按序及时报告CPU
  47.  在程序控制IO方式中,输出设备的主要作用是通过输出设备输出数据,若输出设备向处理机返回“准备就绪”信亏,则表示输出缓冲区已空或者可以问输出缓冲以写数据,CPU以向输出设备再次提供输出的数据。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux入门】---Linux权限管理详解

文章目录 1.shell命令以及运行原理2.linux用户分类su指令切换用户 3.Linux权限管理3.1Linux文件访问者3.2文件类型和访问权限3.3文件权限值的表示方法3.4文件访问权限的相关设置方法chmod指令--权限修改方法①chmod指令--权限修改方法②chown指令chgrp指令umask指令file指令 4.…

R语言绘制热图

1、初步绘图 rm(listls())#clear Global Environment setwd(D:/Desktop/0000/code-main/热图)#设置工作路径#加载R包 library (pheatmap) #读取数据 df <- read.table(file"data.txt",sep"\t",row.names 1, headerT,check.namesFALSE) #查看前3行 hea…

idea启动缓慢解决办法

idea启动缓慢解决办法 文章目录 idea启动缓慢解决办法前言一、修改内存大小二、虚拟机运行大小三、插件禁用1、安卓相关2、构建工具3、Code Coverage 代码覆盖率4、数据库5、部署工具6、html和xml7、ide settings8、JavaScript框架和工具9、jvm框架10、Keymap快捷键映射11、kot…

ARM Linux DIY(十三)Qt5 移植

前言 板子带有屏幕&#xff0c;那当然要设计一下 GUI&#xff0c;对 Qt5 比较熟悉&#xff0c;那就移植它吧。 移植 Qt5 buildroot 使能 Qt5&#xff0c;这里我们只开启核心功能 gui module --> widgets module 编译 $ make ODIY_V3S/ qt5base编译报错&#xff1a;找不…

【项目经验】:elementui表格中数字汉字排序问题及字符串方法localeCompare()

一.需求 表格中数字汉字排序&#xff0c;数字按大小排列&#xff0c;汉字按拼音首字母&#xff08;A-Z&#xff09;排序。 二.用到的方法 第一步&#xff1a;把el-table-column上加上sortable"custom" <el-table-column prop"date" label"序号…

Ubuntu下高效Vim的搭建(离线版)

软件界面 可以看到界面下方有一些常用提示信息&#xff1a;文件路径、format、文件类型、光标所在的坐标(x,y)、进度条(百分比)、日期时间 会提示已定义的变量名词(快速补全) 搭建方法 下载资源文件 把Vim 和 .vimrc 拷贝到家目录下&#xff0c;并执行tar -xvf Vim 即可。 …

外星人入侵游戏-(创新版)

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…

『PyQt5-Qt Designer篇』| 09 Qt Designer中分割线和间隔如何使用?

09 Qt Designer中分割线和间隔如何使用? 1 间隔1.1 水平间隔1.2 垂直间隔2 分割线2.1 水平线2.2 垂直线3 保存并执行1 间隔 间隔有水平间隔和垂直间隔: 1.1 水平间隔 拖动4个按钮,并设置为水平布局: 在第一个按钮的右边添加一个水平间隔: 设置其sizeType为Fixed,宽度为20…

ipv6笔记及总结

1、路由器请求消息Router Solicitation和路由器通告Router Advertisement消息主要用于无状态地址的情况下&#xff0c;有状态的情况使用的是dhcpv6 server分配&#xff08;例如&#xff1a;IPv6地址以及其他信息&#xff08;DNS、域名等&#xff09;&#xff09;。 2、关于IPv…

Learn Prompt-Midjourney 图片生成

简介 随着 ChatGPT 的爆火&#xff0c;越来越多的人开始关注并尝试 AI 相关的应用。而图片生成就是其中一个备受瞩目的领域。目前已经有许多图像生成工具&#xff0c;如 Midjourney&#xff0c;Stable Diffusion&#xff0c;DALL-E&#xff0c;Firefly等。本课程主要是以 Midj…

Multitor:一款带有负载均衡功能的多Tor实例创建工具

关于Multitor Multitor是一款带有负载均衡功能的多Tor实例创建工具&#xff0c;Multitor的主要目的是以最快的速度完成大量Tor进程的初始化&#xff0c;并将大量实例应用到我们日常使用的程序中&#xff0c;例如Web浏览器和聊天工具等等。除此之外&#xff0c;在该工具的帮助下…

堆内存与栈内存

文章目录 1. 栈内存2. 堆内存3. 区别和联系参考资料 1. 栈内存 栈内存是为线程留出的临时空间 每个线程都有一个固定大小的栈空间&#xff0c;而且栈空间存储的数据只能由当前线程访问&#xff0c;所以它是线程安全的。栈空间的分配和回收是由系统来做的&#xff0c;我们不需…