<style type="text/css">
<!--
@page
{margin:2cm}
p
{margin-bottom:0.21cm}
-->
</style>
一、I/O系统
I/O设备的分类
-
按传输速率分类:低速设备(键盘,鼠标)、中速设备(激光打印机)、高速设备(磁带机、磁盘机)
-
按信息交换的单位分类:字符设备、块设备
-
按设备的共享属性分类:独占设备、共享设备、虚拟设备
2、设备控制器
主要职责是控制一个或多个I/O的设备。
-
设备控制器的基本功能:
(1)接收和识别命令(CPU->设备)
(2)标识和报告设备状态(设备->CPU)
(3)数据交换
(4)地址识别
(5)数据缓冲
(6)差错控制
-
设备控制器的组成:
设备控制器与处理机的接口
设备控制器与设备的接口
I/O逻辑
3、I/O通道
I/O通道是一种特殊的处理机,具有执行I/O指令的能力。其目的就是为了独立的I/O操作,它不仅数据的传送能够独立于CPU,对于I/O操作的组织、管理及其结束处理也能够独立。
通道类型有:
-
字节多路通道(控制器->通道轮流交叉传输一个字节)
-
数组选择通道(控制器->通道按顺序一个控制器传输完所有字节再到下一个)
-
数组多路通到(控制器->通道轮流交叉传输一组字节)
4、总线系统
ISA-->EISA-->VESA-->PCI(目前最流行的)
二、I/O控制方式
1、程序I/O方式
CPU定时查询设备的状态,若有数据需要输入或需要输出,即开始数据传输,否则下个时刻继续查询
2、中断驱动I/O控制方式
如:CPU向设备控制器发送读命令,设备控制器收到命令后便去控制相应的输入设备读数据,当数据进入数据寄存器后,控制器便通过控制线向CPU发送中断信号,由CPU检查输入过程是否差错,若无错即通过控制器以及数据线,将数据写入内存指定单元。每个数据从设备到控制器的输入过程中,无须CPU干预,可使CPU与I/O设备并行工作。
3、直接存储器访问DMAI/O控制方式
中断驱动I/O控制方式时的CPU是以字节为单位进行干预的,如果将其用于块设备,显然极其低效。
该方式的特点:
(1)数据传输的基本单位是数据块;
(2)所传送的数据是从设备直接读入内存的,或者相反;
(3)仅在传送一个或多个数据块的开始或结束时,才需要CPU干预,数据块的传输是在控制器的控制下完成的。
4、I/O通道控制方式
I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读写为单位的干预,减少为对一组数据块的读写以及有关的控制和管理为单位的干预。
三、缓冲管理
设备管理中,引入缓冲区的主要原因,可归纳为以下几点:
-
缓和CPU与I/O设备间速度不匹配的矛盾;
-
减少对CPU的中断频率,放宽对CPU中断响应时间的限制;
-
提高CPU和I/O设备之间的并行性。
缓冲类型有三种:
-
单缓冲
-
双缓冲
-
循环缓冲
三种缓冲区:无数据的空缓冲区R、有数据的满缓冲区G、计算进程正用的缓冲区C
三个指针:
计算进程下一可用缓冲Nextg(对应G)
输入进程下一可用缓冲Nexti(对应R)
计算进程正在使用缓冲Current(对应C)
两个过程:Getbuf和Releasebuf
-
缓冲池
三种队列:空缓冲队列(emq)、输入队列(inq)、输出队列(outq)三个队列;
四种缓冲:
用于收容输入数据的工作缓冲区的工作缓冲区(hin)
用于提取输入数据的工作缓冲区(sin)
用于收容输出数据的工作缓冲区(hout)
用于提取输出数据的缓冲区(sout)四个工作缓冲区
两个过程:Getbuf和Putbuf
四、设备分配
设备分配中的数据结构
-
设备控制表DCT
-
控制器控制表COCT
-
通道控制表CHCT
-
系统设备表SDT
设备分配中的考虑因素
-
设备固有属性:独占设备,共享设备(容易造成死锁),虚拟设备
-
设备分配算法:先来先服务,优先级高者优先
-
设备分配安全性
-
设备独立性:设立一层独立性软件,(1)执行所有设备的公共操作(面向设备),(2)向用户层软件提供统一接口(面向用户)
SPOOLing技术(伪脱机操作)
与脱机操作差不多,只是有两点不一样:
-
输入进程与输出进程模拟外围机
-
脱机操作是使用整个磁盘来缓存作业,而SPOOLing技术只是从磁盘中划分出“输出井”和“输出井”来缓存作业
六、设备处理
设备驱动程序的特点:
驱动程序主要是指在请求I/O的进程与设备控制器之间的一个通信和转换程序。它将进程的I/O请求经过转换后,传送给控制器;又把控制器中的记录的设备状态和I/O操作完成情况及时地反映给请求I/O的进程。
设备驱动的特点:
-
驱动程序与设备控制器和I/O设备的硬件特性紧密相关,对不同类型的设备应该配置不同的驱动程序。
-
驱动程序与I/O设备所采用的I/O控制方式紧密相关。
-
由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言写。
驱动程序分两部分:
-
设备驱动程序(驱动设备进行I/O)
-
设备中断处理程序(设备I/O后处理相关)
七、磁盘存储器管理
磁盘访问
访问时间=寻到时间+旋转延迟时间+传输时间
磁盘调度
-
先来先服务FCFS
-
最短寻道时间优先SSTF
-
扫描算法(电梯调度算法)SCAN
-
循环扫描算法CSCAN
-
N-Step-SCAN调度算法(FCFS与SCAN的结合体)
廉价磁盘冗余阵列
RAID0级:仅提供并行交叉存取
RAID1级:具有磁盘镜像功能,备份用
RAID3级:具有并行传输功能,有一专门的校验盘
RAID5级:具有并行传输功能,没有专门的校验盘,校验信息螺旋方式散布在所有数据盘
分享到:
相关推荐
《计算机操作系统》课程适用于计算机科学、软件工程、电子工程、通信工程、自动控制等信息技术相关专业,教学单元组织为六个部分:计算机操作系统概述、处理器管理、存储管理、设备管理、文件管理、并发程序设计。...
计算机基础学习笔记,包含计算机组成原理+操作系统+计算机网络。 一、计算机组成原理 todo 二、操作系统 1. 进程管理 作业管理 储存管理 文件管理 Linux 文件系统 设备管理 2. - 线程同步 -- 互斥量 - 线程同步 -- ...
《计算机操作系统》可作为计算机硬件和软件以及计算机通信专业的本科生教材,也可作为从事计算机及通信工作的相关科技人员的参考书。 目录 第一章 操作系统引论 1.1 操作系统的目标和作用 1 1.1.1 操作系统的...
读书笔记 类型: 课程学习 名称: 计算机应用基础 时间:2006.7.7 体裁:说明文 " 知识内容与结构 "备 注 " "一.知识整体结构层次1说明: " " "计算机基础知识 " " "计算机软件 (系统软件-—操作系统) " " "计算机...
微型计算机或者个人计算机(PC)是我们日常接触最多的计算机,又可以分为台式机、笔记本计算机、平板计算机、智能移动终端设备。本书中提到的计算机概念如不特别注明,均指的是微型计算机。 2.4未来计算机发展趋势 ...
简称Sc,由系统总裁网站(http://www.sysceo.com/)开发研制,是一款面对Windows操作系统封装的一款辅助工具,界面友好、简单易用、智能高效、自定义强,是学习研究系统封装爱好者的首选。 我的效果图: ...
Java程序可以在任何计算机、操作系统和支持Java的硬件设备上运行。这意味着开发人员只需编写一次代码,就可以在多个平台上运行,大大提高了开发效率和应用程序的可移植性。 Java的应用领域非常广泛。它被广泛用于...
Woodhull的《操作系统:设计与实现》来学习操作系统的读者,本书尤其适合作为你的引路书籍,因为它翔实地介绍了初学者入门时所必需的知识积累,而这些知识在《操作系统:设计与实现》一书中是没有涉及的,笔者本人...
Woodhull的《操作系统:设计与实现》来学习操作系统的读者,本书尤其适合作为你的引路书籍,因为它翔实地介绍了初学者入门时所必需的知识积累,而这些知识在《操作系统:设计与实现》一书中是没有涉及的,笔者本人...
2012-06-11 21:16 264,555 内存管理和设备调试中文.pdf 2012-06-11 21:30 267,989 冈萨雷斯数字图像处理matlab版源码V1.1.3(1).rar 2012-06-11 21:30 267,989 冈萨雷斯数字图像处理matlab版源码V1.1.3.rar 2012-06-...
数据库管理系统 编译系统 网络系统 标准程序库 服务性程序 4、硬件系统组成及各部件主要功能 硬件 计算机系统所使用电子线路和物理设备看得见、摸得着实体央处理器( CPU )、存储器、外部设备(输入输出设备、I/O...
C语言 课程设计+大作业+小程序集,纯字符画逻辑实现【笔记本电脑,哔哩哔哩移动端,超级玛丽,QQ,绝地求生等】让C语言课设不仅仅局限于图书馆管理系统!配套视频演示,代码均通过自己思考无任何参考实现,规范性...
5.CAM(全称ComputerAidedManufacturing)指计算机辅助制造,即利用计算机进行生产设备的管理、控制和操作。CAD(全称ComputerAidedDesign)指计算机辅助设计,即利用计算机作为工具,帮助工程师进行设计。CAI...
设备管理 文件系统 linux指令 数据库系统 MySQL 新兴领域概念复述 高级数据库+hivehttps:// 数据挖掘笔记 机器学习 深度学习 云计算 产品经理 B站课程 微博分析 牛客上的题 自我介绍 参考资料 CS技术面试基础知识 ...
Java程序可以在任何计算机、操作系统和支持Java的硬件设备上运行。这意味着开发人员只需编写一次代码,就可以在多个平台上运行,大大提高了开发效率和应用程序的可移植性。 Java的应用领域非常广泛。它被广泛用于...
Java程序可以在任何计算机、操作系统和支持Java的硬件设备上运行。这意味着开发人员只需编写一次代码,就可以在多个平台上运行,大大提高了开发效率和应用程序的可移植性。 Java的应用领域非常广泛。它被广泛用于...
- **教学与理解计算机原理**:学习汇编语言有助于深入理解计算机体系结构、指令集、内存管理和硬件接口等基础概念。 ### 编程特点与挑战 - **手动管理内存**:程序员需要手动分配和释放内存,跟踪数据在内存中的...
计算机应用基础(全国) 1 第一章 计算机基础知识 1.1 认识计算机 1.1.1 计算机的起源及发展 1、计算机体系结构和元器件的进步决定计算机向前发展的程度。 2、1822 年英国人巴贝奇首先提出来整个计算过程自动化,...
懂得常用的INTERNET互连设备 懂得操作系统的简单配置 懂得几种常用的INTERNET互连方法 任务一 Internet互连设备(路由器,ADSL,无线网卡)的认识与选购 任务二 DNS、操作系统的配置,网址的格式 任务三 通过拔号...
( C ) A、网上邻居 B、剪贴板C、回收D、控制面板 11、下面不属于计算机的用途( D ) A、用计算机学习、娱乐 B、用计算机算数 C、用计算机设计楼房 D、安装计算机 1、下面不是信息传递的( C ) A、打手势 B、打...