磁盘的结构和参数
磁盘有正反两个盘面,每个盘面有多个同心圆,每个同心圆是一个磁道,每个同心圆又被划分为多个扇区,数据就被存放在一个个扇区中。
磁头首先要寻找到对应的磁道,然后等待磁盘进行周期旋转,旋转到指定的扇区,才能读取到对应的数据,因此,会产生寻道时间和等待时间。公式为:存取时间=寻道时间+等待时间(平均定位时间+转动延迟)。
注意:寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间。
磁盘调度算法
之前已经说过,磁盘数据的读取时间分为寻道时间+旋转时间,也即先找到对应的磁道,而后再旋转到对应的扇区才能读取数据,其中寻道时间耗时最长,需要重点调度,有如下调度算法:
先来先服务FCFS:根据进程请求访问磁盘的先后顺序进行调度。
最短寻道时间优先SSTF:请求访问的磁道与当前磁道最近的进程优先调度,使得每次的寻道时间最短。会产生“饥饿”现象,即远处进程可能永远无法访问。
扫描算法SCAN:又称“电梯算法”,磁头在磁盘上双向移动,其会选择离磁头当前所在磁道最近的请求访问的磁道,并且与磁头移动方向一致,磁头永远都是从里向外或者从外向里一直移动完才掉头,与电梯类似。
单向扫描调度算法CSCAN:与SCAN不同的是,其只做单向移动, 即只能从里向外或者从外向里。
考试真题部分,理解为,如果按照单缓冲区顺序执行的话,计算起来就是读取时间+处理时间。然后再等磁盘旋转回来到下一个,在继续读取+处理。这样也就是读一个+处理一个就必须在转一圈,在处理下一个。但是如果要优化后,那么就可以是处理完第一个,不要等转一圈就可以直接处理第二个。
计算机输入和输出技术
计算机系统中存在多种内存与接口地址的编址方法,常见的是下面两种:
1)内存与接口地址独立编址方法
内存地址和接口地址是完全独立的两个地址空间。访问数据时所使用的指令也完全不同,用于接口的指令只用于接口的读/写,其余的指令全都是用于内存的。因此,在编程序或读程序时很易使用和辨认。这种编址方法的缺点是用于接口的指令太少、功能太弱。
2)内存与接口地址统一编址方法
内存地址和接口地址统一在一个公共的地址空间里,即内存单元和接口共用地址空间。优点是原则上用于内存的指令全都可以用于接口,这就大大地增强了对接口的操作功能,而且在指令上也不再区分内存或接口指令。该编址方法的缺点就在于整个地址空间被分成两部分,其中一部分分配给接口使用,剩余的为内存所用,这经常会导致内存地址不连续。
计算机和外设间的数据交互方式
程序控制(查询)方式:CPU主动查询外设是否完成数据传输,效率极低。
程序中断方式:外设完成数据传输后,向CPU发送中断,等待CPU处理数据,效率相对较高。中断响应时间指的是从发出中断请求到开始进入中断处理程序;中断处理时间指的是从中断处理开始到中断处理结束。中断向量提供中断服务程序的入口地址。多级中断嵌套,使用堆栈来保护断点和现场。
DMA方式(直接主存存取):CPU只需完成必要的初始化等操作,数据传输的整个过程都由DMA控制器来完成,在主存和外设之间建立直接的数据通路,效率很高。
在一个总线周期结束后,CPU会响应DMA请求开始读取数据;CPU响应程序中断方式请求是在一条指令执行结束时。
总线
总线(Bus),是指计算机设备和设备之间传输信息的公共数据通道。总线是连接计算机硬件系统内多种设备的通信线路,它的一个重要特征是由总线上的所有设备共享,因此可以将计算机系统内的多种设备连接到总线上。
从广义上讲,任何连接两个以上电子元器件的导线都可以称为总线,通常分为以下三类:
内部总线:内部芯片级别的总线,芯片与处理器之间通信的总线。
系统总线:是板级总线,用于计算机内各部分之间的连接,具体分为数据总线(并行数据传输位数)、地址总线(系统可管理的内存空间的大小)、控制总线(传送控制命令) 。代表的有ISA总线、EISA总线、PCI总线。注意:如果是考试的时候,书上写的是数据总线,地址总线,控制总线。答这三个就行。
外部总线:设备一级的总线,微机和外部设备的总线。代表的有RS232 (串行总线)、SCSI (并行总线)、USB(通用串行总线, 即插即用, 支持热插拔)。
计算机系统中常用的输入/输出控制方式有无条件传送、中断、程序查询和DMA方式等。当采用DMA方式时,不需要CPU 执行程序指令来传送数据。
串行总线适合近距离高速数据传输,但线间串扰会导致速率受限。错误的,串行适合远距离的
并行总线适合长距离数据传输,易提高通信时钟频率来实现高速数据传输。错误的,并行适合近距离的
单总线结构在一个总线上适应不同种类的设备,设计复杂导致性能降低。这个是对的
半双工总线只能在一个方向上传输信息。单工是一个方向。半双工是同时只能是一个方向。双工则是同时可以两个方向。