共有四种I/O控制
方式。1、
程序I/O方式 适用于:早期计算机无中断机构,处理机对I/O
设备的控制采用程序I/O方式或称忙等的方式。2、中断驱动I/O控制方式 适用于:适用于有中断机构的计算机系统中。3、直接存储器访间(DMA)I/O控制方式 适用于:具有DMA控制器的计算机系统中。4、I/O通道控制方式 适用于:具有通道程序的计算机系统中。扩展资料:常见的I/O控制方式:1、程序直接访问方式跟循环检测IO方式,是最古老的方式。CPU和IO串行,每读一个字节(或字),CPU都需要不断检测状态寄存器的busy标志,当busy=1时,表示IO还没完成;当busy=0时,表示IO完成。此时读取一个字的过程才结束,接着读取下一个字。2、中断控制方式:循环检测先进些,IO设备和CPU可以并行工作,只有在开始IO和结束IO时,才需要CPU。但每次只能读取一个字。3、DMA方式:Direct Memory Access,直接存储器访问,比中断先进的地方是每次可以读取一个块,而不是一个字。4、通道方式:比DMA先进的地方是,每次可以处理多个块,而不只是一个块。分类依据:现代计算机系统中总是配备有各种外部设备,他们都在CPU控制下进行工作。CPU对外部设备的控制方式主要有以下四种。1、程序I/O方式 程序查询方式也称为程序轮询方式,该方式采用用户程序直接控制主机与外部设备之间输入/输出 *** 作。CPU必须不停地循环测试I/O设备的状态端口,当发现设备处于准备好(Ready)状态时,CPU就可以与I/O设备进行数据存取 *** 作。这种方式下的CPU与I/O设备是串行工作的,输入/输出一般以字节或字为单位进行。这个方式频繁地测试I/O设备,I/O设备的速度相对来说又很慢,极大地降低了CPU的处理效率,并且仅仅依靠测试设备状态位来进行数据传送,不能及时发现传输中的硬件错误。但是这种方式的过程很简单,易理解,并且不需要额外硬件。2、中断驱动I/O控制方式 当I/O设备结束(完成、特殊或异常)时,就会向CPU发出中断请求信号,CPU收到信号就可以采取相应措施。当某个进程要启动某个设备时,CPU就向相应的设备控制器发出一条设备I/O启动指令,然后CPU又返回做原来的工作。CPU与I/O设备可以并行工作,与程序查询方式相比,大大提高了CPU的利用率。但是在中断方式下,同程序查询方式一样,也是以字节棚塌敬或字为单位进行。但是该方法大大降低了CPU的效率,因为当中断发生的非常频繁的时候,系统需要进行频繁的中断源识别、保护现场、中断处理、恢复现场。这种方法对于以“块”为存取单位的块设备,效率是低下的。3、直接存储器访间(DMA)I/O控制方式 DMA方式也称为直接主存存取方式,其思想是:允许主存储器和I/O设备之间通过“DMA控制器(DMAC)”直接进行批量数据交换,除了在数衫羡据传输开始和结束时,整个过程无须CPU的干预。每传输一个“块”数据只需要占用一个主存周期。DMA方式下,一个完整的数据传输过程:1)DMA初始化 当进程需要I/O设备进行数据输入输出时,CPU对DMA控制器初始化,并向I/O端口发出 *** 作命令,提供准备传输的数据起始地址,需要传送的数据长度等信息送入到DMA控制器中的主存地址寄存器和传送字节计数器中。2)DMA传输 DMA控制器获得总线控制权后,进行输出读写命令,直接控制主存与I/O设备之间的传输。在DMA控制器的控制下,数据传输过程中不需要CPU的参与。3)DMA结束 当完成本次数据传输后,DMA控制器释放总线控制权,并向I/O设备端口发出结束信号。4、I/O通道控制方式 通道(Channel)也称为外围设备处理器、输入输出处理机,是相对于CPU而言的。是一个处理器。也能执行指令和由指令的程序,只不过通道执链慎行的指令是与外部设备相关的指令。是一种实现主存与I/O设备进行直接数据交换的控制方式,与DMA控制方式相比,通道所需要的CPU控制更少,一个通道可以控制多个设备,并且能够一次进行多个不连续的数据块的存取交换,从而大大提高了计算机系统效率。参考资料:搜狗百科-I/O 控制方式
C语言中字符串的输入和输出主要有两种方式:
输入使用:拿吵迹scanf("%s",a)对应的输出使用:printf("%s\n",a)
输入使用:gets(b)对应的输出使用:puts(b)
字符串或消并碰手串(String)是由数字、字母、下划线组成的一串字符。一般记为 s="a1a2···an"(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
通常以串的整体作为 *** 作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
很简单的东西,你自己学学就会了。
输入输出是针对你的程序来说的。当你需要数据模铅时,你就构造一个输入流(对应服务器、文件系统或别的数谈早据源就是输出流),将数据“输入到你的程序”。当你需要输出数据时(如保存程序结果),你就旦侍好构造一个输出流。
参考以下程序:
import java.io.*
public class In
{
public static void main(String [] args)throws Exception
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in))
String s=br.readLine()//IOException
if(s.trim().equals("5"))
System.out.println("正确!")
else
System.out.println("错误!")
br.close()
}
}
评论列表(0条)