精华内容
下载资源
问答
  • BIOM 一般称为“基本输入输出系统”他是主板上一组固化到计算机主板上的一块ROM芯片中的程序。他保持着计算机最重要的基本输入输出程序、系统设置信息、开机后自检程序和系统自启动程序。 主板上的BIOS芯片一般是一...

    BIOM    一般称为“基本输入输出系统”他是主板上一组固化到计算机主板上的一块ROM芯片中的程序。他保持着计算机最重要的基本输入输出程序、系统设置信息、开机后自检程序和系统自启动程序。

    主板上的BIOS芯片一般是一块32引脚的双列直插式集成电路。早期的BIOS芯片由ROM只读存储器组成,而后被EPROM (可擦除可编程ROM)取代,现在一般都采用EEPROM(电可擦除可编程ROM),用户可以通过跳线开关和系统配置的驱动程序盘对EEPROM进行重写,方便地实现了BIOS升级。

    BIOM与MOS的区别

    BIOS是一组设置硬件的计算机程序,保存在主板上的ROM芯片中,里面装有系统的重要信息和设置系统系统参数的设置程序----BIOS Setup程序。

    而CMOS(互补金属氧化物半导体)是主板上一块可读写的RAM芯片,用来保存当前系统的硬件配置和用户对参数的设置,其内容可通过BIOM设置程序进行读写。

    CMOS芯片由主板上的纽扣电池供电,即使断电,参数也不会丢失

    通过BIOS设置对程序对CMOS参数进行设置

    展开全文
  • 选B.CMOS通常是指主板上一块可读写的存储芯片,它用于存储计算机的时钟信息和硬件配置信息等内容BIOS芯片是主板上一块长方型或正方型芯片,BIOS中主要存放: 自诊断程序/(加电自检程序):通过读取CMOS RAM中的内容识别...

    选B.CMOS通常是指主板上一块可读写的存储芯片,它用于存储计算机的时钟信息和硬件配置信息等内容BIOS芯片是主板上一块长方型或正方型芯片,BIOS中主要存放: 自诊断程序/(加电自检程序):通过读取CMOS RAM中的内容识别硬件配置,并对其进行自检和初始化; CMOS设置程序:引导过程中,用特殊热键启动,进行设置后,存入CMOS RAM中;

    系统自举装载程序:在自检成功后将磁盘相对0道0扇区上的引导程序装入内存,让其运行以装入DOS系统;

    主要I/O设备的驱动程序和中断服务/(基本外围设备的驱动程序): 由于BIOS直接和系统硬件资源打交道,因此总是针对某一类型的硬件系统,而各种硬件系统又各有不同,所以存在各种不同种类的BIOS,随着硬件技术的发展,同一种BIOS也先后出现了不同的版本,新版本的BIOS比起老版本来说,功能更强. BIOS的含义

    BIOS是英文Basic lnput/Output System的缩写,即“基本输入输出系统”.它实际上是固化到计算机主板ROM芯片中的一组程序,为计算机提供最低级,最直接的硬功夫件控制,与何存在磁盘中的普通应用程序不同的是,BIOS储存在主板的BIOS ROM芯片中,计算机的各种原始程序操作都是通过BIOS来完成的,从这个意义上讲,BIOS是硬件与软件之间的一座“桥梁”,专门互责解决对硬功夫件的底层需求,并按软件对硬件的要求执行相应操作.

    BIOS主要同系统自检程序(POST程序),系统启动装入程序,系统设置程序以及中断服务程序等四部分组成.

    计算机接通电源之后,主板将会产生一个复位信号,系统就会从BIOS ROM程序的起始地址开始读取并运行BIOS程序,它首先会对系统内部的各个设备如CPU,内存,主板,各种接口,键盘等进行检查,然后再从软驱.硬盘或光驱中读入操作系统引导程序,并将系统控制权交给引导程序,同引导程序启动操作系统,完成系统的启动.

    除传统的CPU,内存,软驱,硬盘等设备之外,许多"新技术"的软件部分也是通过BIOS来管理的.如果PNP (Plug and play即插即用)技术,也是由系统BIOS接热插拨信息传送给BIOS的配置管理程序,再由BIOS的配置管理程序重新对IRQ中断,DMA通道等系统资源进行配置而形成的.

    CMOS的基本概念

    CMOS通常是指主板上一块可读写的存储芯片,它用于存储计算机的时钟信息和硬件配置信息等内容.CMOS可以由系统电源或后备电池来供电,即便系统掉电,CMOS中存储存的数据也不会丢失.

    由于CMOS芯片本身只是一块存储器,只具有保存数据的功能,所以对CMOS中各项参数的设定要通过专门的程序来进行,早期的CMOS设置程序都是保存在软盘上的,使用很不方便.目前大多厂家都将CMOS设置程序做到了BIOS芯片中,用户呆需在开机时按下某个特定键即可进入CMOS设置程序,因此CMOS设置又通常被叫做BIOS设置.

    CMOS和BIOS的区别和联系

    CMOS是计算机中使用的一种用电池供电的可读写的RAM芯片.BIOS是基本的输入输出系统的缩写,指集成在主板上的一个ROM芯片,其中保存了计算机系统最重要的基本输入输出程序,系统开机自检程序等.它负责在开机时对系统各面硬件进行初始化设置和测试,以保证系统能正常工作.

    CMOS和BIOS到底有什么关系呢?CMOS是存储芯片,属于硬件范畴,它具有数字据保护功能,也只能起到存储的作用,而不能对存储于其中的的数据进行设置,要修改CMOS的各项参数就要通过专门的设置程序.现在多数厂家都将CMOS的参数设置程序做到了BIOS中,用户在打开计算机电源时按下特殊键即可进入BIOS设置程序,然后就可以对系统时设置了.也就是说BIOS中的系统设置程序是完成CMOS参数设置的手段,而CMOS RAM是存放这些设置数据的场所,它们都与计算机的系统设置参数有着密切的关系.正因为如此,便有了"CMOS设置"和"BIOS设置"两种说法!其实,准备的说应该是"通过BIOS设置程序对CMOS参数进行设置"."CMOS设置"和"BIOS设置"只是大家地设置过程简化的两种叫法,在这种意义上它们二者是一回事.

    解析看不懂?求助智能家教解答查看解答

    展开全文
  • 输入输出系统

    2021-06-16 07:59:40
    输入输出系统是计算机系统中的主机与外部进行通信的系统。它由外围设备和输入输出控制系统两部分组成,是计算机系统的重要组成部分。外围设备包括输入设备、输出设备和磁盘存储器、磁带存储器、光盘存储器等。从某种...

    本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!

    输入输出系统是计算机系统中的主机与外部进行通信的系统。它由外围设备和输入输出控制系统两部分组成,是计算机系统的重要组成部分。外围设备包括输入设备、输出设备和磁盘存储器、磁带存储器、光盘存储器等。从某种意义上也可以把磁盘、磁带和光盘等设备看成一种输入输出设备,所以输入输出设备与外围设备这两个名词经常是通用的。在计算机系统中,通常把处理机和主存储器之外的部分称为输入输出系统,输入输出系统的特点是异步性、实时性和设备无关性。

    中文名

    输入输出系统

    外文名

    Input output system拼    音

    shū rù shū chū xì tǒng

    解    释

    计算机主机与外部进行通信系统

    输入输出系统原理

    编辑

    语音

    从信息传输速率来讲,相差也很悬殊。如果把高速工作的主机同不同速度工作的外围设备相连接,保证主机与外围设备在时间上同步要讨论的外围设备的定时问题。

    输入/输出设备同CPU交换数据的过程:

    输入过程:

    (1)CPU把一个地址值放在地址总线上,这一步将选择某一输入设备;

    (2)CPU等候输入设备的数据成为有效;

    (3)CPU从数据总线读入数据,并放在一个相应的寄存器中。

    输出过程:

    (1)CPU把一个地址值放在地址总线上,选择输出设备;

    (2)CPU把数据放在数据总线上;

    (3)输出设备认为数据有效,从而把数据取走。

    输入输出系统定时方式

    编辑

    语音

    由于输入/输出设备本身的速度差异很大,因此,对于不同速度的外围设备,需要有不同的定时方式,总的说来,CPU与外围设备之间的定时,有以下三种情况。

    1.速度极慢或简单的外围设备

    对这类设备,如机械开关、显示二极管等等,CPU总是能足够快地作出响应。换句话说,对机械开关来讲,CPU可以认为输入的数据一直有效,因为机械开关的动作相对CPU的速度来讲是非常慢的,对显示二极管来讲,CPU可以认为输出一定准备就绪,因为只要给出数据,显示二极管就能进行显示,所以,在这种情况下,CPU只要接收或发送数据就可以了。

    2.慢速或中速的外围设备

    由于这类设备的速度和CPU的速度并不在一个数量级,或者由于设备(如键盘)本身是在不规则时间间隔下操作的,因此,CPU与这类设备之间的数据交换通常采用异步定时方式。其定时过程如下:

    如果CPU从外设接收一个字,则它首先询问外设的状态,如果该外设的状态标志表明设备已“准备就绪”,那么CPU就从总线上接收数据。CPU在接收数据以后,发出输入响应信号,告诉外设已经把数据总线上的数据取走。然后,外设把“准备就绪”的状态标志复位,并准备下一个字的交换。如果CPU起先询问外设时,外设没有“准备就绪”,那么它就发出表示外设“忙”的标志。于是,CPU将进入一个循环程序中等待,并在每次循环中询问外设的状态,一直到外设发出“准备就绪”信号以后,才从外设接收数据。

    CPU发送数据的情况也与上述情况相似,外设先发出请求输出信号,而后,CPU询问外设是否准备就绪。如果外设已准备就绪,CPU便发出准备就绪信号,并送出数据。外设接收数据以后,将向CPU发出“数据已经取走”的通知。

    通常,把这种在CPU和外设间用问答信号进行定时的方式叫做应答式数据交换。

    3.高速的外围设备

    由于这类外设是以相等的时间间隔操作的,而CPU也是以等间隔的速率执行输入/输出指令的,因此,这种方式叫做同步定时方式。一旦CPU和外设发生同步,它们之间的数据交换便靠时钟脉冲控制来进行。

    输入输出系统控制方式

    编辑

    语音

    程序查询方式和程序中断方式适用于数据传输率比较低的外围设备,而DMA方式、通道方式和PPU方式适用于数据传输率比较高的设备。在单片机和微型机中多采用程序查询方式、程序中断方式和DMA方式。通道方式和PPU方式大都用在中、大型计算机中。

    在计算机系统中,CPU管理外围设备也有几种类似的方式:

    程序查询方式是早期计算机中使用的一种方式。数据在CPU和外围设备之间的传送完全靠计算机程序控制,查询方式的优点是CPU的操作和外围设备的操作能够同步,而且硬件结构比较简单。但问题是,外围设备动作很慢,程序进入查询循环时将白白浪费掉CPU很多时间。这种情况同上述例子中第一种方法相仿,CPU此时只能等待,不能处理其他业务。即使CPU采用定期地由主程序转向查询设备状态的子程序进行扫描轮询的办法,CPU宝贵资源的浪费也是可观的。因此当前除单片机外,很少使用程序查询方式。

    中断是外围设备用来“主动”通知CPU,准备送出输入数据或接收输出数据的一种方法。通常,当一个中断发生时,CPU暂停它的现行程序,而转向中断处理程序,从而可以输入或输出一个数据。当中断处理完毕后,CPU又返回到它原来的任务,并从它停止的地方开始执行程序。这种方式和我们前述例子的第二种方法相类似。可以看出,它节省了CPU宝贵的时间,是管理I/O操作的一个比较有效的方法。中断方式一般适用于随机出现的服务,并且一旦提出要求,应立即进行。同程序查询方式相比,硬件结构相对复杂一些,服务开销时间较大。

    3直接内存访问(DMA)方式

    用中断方式交换数据时,每处理一次I/O交换,约需几十微秒到几百微秒。对于一些高速的外围设备,以及成组交换数据的情况,仍然显得速度太慢。直接内存访问(DMA)方式是一种完全由硬件执行I/O交换的工作方式。这种方式既考虑到中断响应,同时又要节约中断开销。此时,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和外围设备之间进行,以高速传送数据。这种方式和前述例子的第三种方法相仿,主要优点是数据传送速度很高,传送速率仅受到内存访问时间的限制。与中断方式相比,需要更多的硬件。DMA方式适用于内存和高速外围设备之间大批数据交换的场合。

    DMA方式的出现已经减轻了CPU对I/O操作的控制,使得CPU的效率有显著的提高,而通道的出现则进一步提高了CPU的效率。这是因为,CPU将部分权力下放给通道。通道是一个具有特殊功能的处理器,某些应用中称为输入输出处理器(IOP),它可以实现对外围设备的统一管理和外围设备与内存之间的数据传送。这种方式与前述例子的第四种方法相仿,大大提高了CPU的工作效率。然而这种提高CPU效率的办法是以花费更多硬件为代价的。

    外围处理机(PPU)方式是通道方式的进一步发展。由于PPU基本上独立于主机工作,它的结构更接近一般处理机,甚至就是微小型计算机。在一些系统中,设置了多台PPU,分别承担I/O控制、通信、维护诊断等任务。从某种意义上说,这种系统已变成分布式的多机系统。

    输入输出系统外围设备

    编辑

    语音

    外围设备的种类相当繁多,有机械式和电动式,也有电子式和其他形式。其输入信号,可以是数字式的电压,也可以是模拟式的电压和电流。外围设备包括输入设备、输出设备和磁盘存储器、磁带存储器、光盘存储器等。

    输入设备

    输入设备:向计算机输入数据和信息的设备。是计算机与用户或其他设备通信的桥梁。输入设备是用户和计算机系统之间进行信息交换的主要装置之一。键盘,鼠标,摄像头,扫描仪,光笔,手写输入板,游戏杆,语音输入装置等都属于输入设备。输入设备(InputDevice)是人或外部与计算机进行交互的一种装置,用于把原始数据和处理这些数的程序输入到计算机中。计算机能够接收各种各样的数据,既可以是数值型的数据,也可以是各种非数值型的数据,如图形、图像、声音等都可以通过不同类型的输入设备输入到计算机中,进行存储、处理和输出。

    输出设备

    输出设备(OutputDevice)是人与计算机交互的一种部件,用于数据的输出。它把各种计算结果数据或信息以数字、字符、图像、声音等形式表示出来。常见的有显示器、打印机、绘图仪、影像输出系统、语音输出系统、磁记录设备等。将计算机输出信息的表现形式转换成外界能接受的表现形式的设备。利用各种输出设备可将计算机的输出信息转换成印在纸上的数字、文字、符号、图形和图像等,或记录在磁盘、磁带、纸带和卡片上,或转换成模拟信号直接送给有关控制设备。有的输出设备还能将计算机的输出转换成语声。

    存储器(Memory)是计算机系统中的记忆设备,用来存放程序和数据。计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。存储器是用来存储程序和数据的部件,有了存储器,计算机才有记忆功能,才能保证正常工作。按用途存储器可分为主存储器(内存)和辅助存储器(外存)。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据就会丢失。 [1]参考资料

    1.

    计算机术语

    [引用日期2010-03-03]

    展开全文
  • 输入输出系统 I/O子系统概述: I/O设备种类繁多,功能和传输速率差异巨大,需要多种方法来进行设备控制。这些方法共同组成了操作系统内核的I/O子系统,它讲内核的其他方面从繁重的I/O设备管理中解放出来。I/O核心...

    输入输出系统

    I/O子系统概述:

    I/O设备种类繁多,功能和传输速率差异巨大,需要多种方法来进行设备控制。这些方法共同组成了操作系统内核的I/O子系统,它讲内核的其他方面从繁重的I/O设备管理中解放出来。I/O核心子系统提供的服务主要有I/O调度(完成用户提出的I/O请求,提高I/O速率,改善I/O设备的利用率)(基本任务)、(缓冲与高速缓存、设备分配与回收、假脱机、设备保护)(设备管理的主要功能:还有保证设备的独立性等)和差错处理等。

    CPU和主存通过总线与适配器/接口部件连接,然后连接输入设备控制器、输出设备控制器、外存设备控制器、通信控制器(数据通信设备)、过程控制器(过程控制I/O设备)等多种控制器部件。

    如图:

     

    设备处理:通过相应的设备处理程序实现CPU和设备控制器之间的通信。

    主要功能:

    (1)监视设备状态,记录所有设备、控制器状态,便于有效地管理和调度分配。

    (2)进行设备分配,按照设备类型和分配算法实施分配(大中型计算机还要分配控制器和通道)

    (3)完成I/O操作(由设备驱动程序完成)

    (4)缓冲管理和地址转换。对缓冲区进行管理,减少CPU中断次数,将用户程序中的逻辑设备转换成物理设备的地址。

     

     

     

    I/O系统的功能、模型和接口

    1. I/O系统的基本功能
    2. I/O系统的层次结构和模型

    I/O系统的层次结构:

    用户层软件:产生I/O请求、格式化I/O、Spooling,用户可直接调用在用户层提供的、与I/O操作有关的库函数对设备进行操作。

    设备独立性软件:映射、保护、分块、缓冲、分配,用于实现用户程序与设备驱动器的统一接口、设备命名、设备的保护以及设备的分配与释放等,同时为设备管理和数据传送提供必要的存储空间。

    设备驱动程序:设置设备寄存器;检查状态。与硬件直接相关,用于具体实现系统对设备发出的操作指令,驱动I/O设备工作的驱动程序。

    中断处理程序:用于保存被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完后再恢复被中断进程的现场后,返回到被中断进程。

    硬件:执行I/O操作(设备驱动程序不需要经过中断处理程序,直接到达I/O)

    1. I/O系统接口:

    1.块设备接口:是块设备管理程序与高层之间的接口。

           ⑴块设备:数据的存取和传输都是以数据块为单位的设备。基本特征是传输速率较高、可寻址。磁盘设备的I/O常采用DMA方式。

           ⑵隐藏了磁盘的二维结构:块设备接口隐藏了磁盘地址是二维结构的情况:每个扇区的地址需要用磁道号和扇区号来表示。

           ⑶将抽象命令映射为低层操作:块设备接口将上层发来的抽象命令,映射为设备能识别的较低层具体操作。        

     2.流设备接口:是流设备管理程序与高层之间的接口,又称字符设备接口。

        ⑴字符设备:数据的存取和传输是以字符为单位的设备。如键盘、打印机等。基本特征是传输速率较低、不可寻址,常采用中断驱动方式。

        ⑵get和put操作:由于字符设备是不可寻址的,因而对它只能采取顺序存取方式。(用户程序)获取或输出字符的方法是采用get和put操作。

        ⑶in-control指令:因字符设备的类型非常多,且差异甚大,系统以统一的方式提供了一种通用的in-control指令来处理它们。 

     

     

    I/O设备和设备管理器

    硬件设备:I/O设备通常包括一个机械部件和一个电子部件。为了达到设计的模块性和通用性,一般将其分开:电子部件称为设备控制器(或适配器),在个人计算机中,通常是一块插入主板扩充槽的印刷电路板;机械部件则是设备本身。

    设备控制器的组成:

    设备控制器通过寄存器与CPU通信,在某些计算机上,这些寄存器占用内存地址的一部分,称为内存映像I/O;另一些计算机则釆用I/O专用地址,寄存器独立编址。操作系统通过向控制器寄存器写命令字来执行I/O功能。控制器收到一条命令后,CPU可以转向进行其他工作,而让设备控制器自行完成具体的I/O操作。当命令执行完毕后,控制器发出一个中断信号,操作系统重新获得CPU的控制权并检查执行结果,此时,CPU仍旧是从控制器寄存器中读取信息来获得执行结果和设备的状态信息。

    补充:

    IO端口: 

    每个连接到I/O总线上的设备都有自己的I/O地址集,即所谓的I/O端口(I/O port)。在IBM PC体系结构中,I/O地址空间一共提供了65,536个8位的I/O端口。可以把两个连续的8位端口看成一个16位端口,但是这必须是从偶数地址开始。同理,也可以把两个连续的16位端口看成一个32位端口,但是这必须是从4的整数倍地址开始。有四条专用的汇编语言指令可以允许CPU对I/O端口进行读写:它们分别是in、ins、out和outs。在执行其中的一条指令时,CPU使用地址总线选择所请求的I/O端口,使用数据总线在CPU寄存器和端口之间传送数据。

    I/O端口还可以被映射到物理地址空间:因此,处理器和I/O设备之间的通信就可以直接使用对内存进行操作的汇编语言指令(例如,mov、and、or等等)。现代的硬件设备更倾向于映射I/O,因为这样处理的速度较快,并可以和DMA结合起来使用。也就解释了为什么32位系统名义上支持4G内存,实际上你装上4G内存条在机器上是不行了。因为访问不到4G,还需要为显卡声卡等设备提供物理地址的映射。

    系统设计者的主要目的是提供对I/O编程的统一方法,但又不牺牲性能。为了达到这个目的,每个设备的I/O 端口都被组织成一组专用寄存器。CPU把要发给设备的命令写入控制寄存器(control register),并从状态寄存器(status register)中读出表示设备内部状态的值。CPU还可以通过读取输入寄存器(input register)的内容从设备取得数据,也可以通过向输出寄存器(output register)中写入字节而把数据输出到设备。

    在采用中断I/O 方式控制打印输出的情况下,CPU 和打印控制接口中的I/O 端口之间交换的信息不可能是(B )

    A.打印字符     B.主存地址

    C.设备状态     D.控制命令

     

    I/O端口编址方式:

    独立编址:利用特定的I/O指令访问I/O端口;

    统一编址:内存映像I/O,对内存和控制器统一访问方法,简化了I/O的编程。

     

    状态端口和控制端口可以合用同一个寄存器 (T)

    I/O接口中CPU可访问的寄存器称为I/O端口(T)

    I/O端口地址是指设备接口寄存器的地址(T)

    I/O通道:

    字节多路通道,数组选择通道,数组多路通道:

     

     

     

     

     

     

    中断机构和中断处理程序

    为什么采用中断处理:

    重要事件的及时处理;

    异常事件的及时处理;

    实现CPU与低速外部设备的速度匹配与并行工作。

     

    按中断源的不同,中断分为内中断(软中断)和外中断(硬中断)。

    硬中断(外中断)指来自CPU执行指令以外的事件的发生;

    软中断(内中断、异常、陷入)指源自CPU执行指令内部的事件。

    中断优先级是由硬件规定的,若要调整中断响应次序可通过中断屏蔽实现。

    ①中断:中断是来自处理器外部的请求事件。

    ②异常:异常是指令执行过程中在处理器内部发生的特殊事件。

    ③陷入:由处理器内部事件所引起的特殊中断(trap)。

    中断和异常、陷入的主要区别:是信号的来源不同。

    中断(外中断),异常与陷入(内中断)

    (内部异常(内中断)可分为故障(fault)、陷阱(trap)和终止(abort)三类。)

        

    中断向量表:为每种设备配以相应的中断处理程序,并把该程序的入口地址,放在中断向量表的一个表项中,并为每一个设备的中断请求,规定一个中断号,它直接对应于中断向量表的一个表项中。

    ①屏蔽(禁止)中断:所有中断都将按顺序依次处理。当处理机正在处理一个中断时,将屏蔽掉所有新到的中断,让它们等待,直到处理机已完成本次中断的处理后,处理机再去检查并处理。优点是简单,但不能用于对实时性要求较高的中断请求。

    ②嵌套中断:在设置了中断优先级的系统中,通常按这样的规则来进行优先级控制:

    当同时有多个不同优先级的中断请求时,CPU优先响应最高优先级的中断请求;

    高优先级的中断请求,可以抢占正在运行低优先级中断的处理机,该方式类似于基于优先级的抢占式进程调度。

     

    中断与程序并发之间的关系是什么?

    答:

    中断是程序并发的前提条件。

    如果没有中断,操作系统不能获得系统控制权,无法按调度算法对处理机进行重新分配,一个程序将一直运行到结束而不会被打断。

     

    中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存而子程序调用不需要保存其内容的是(B) 。

    A.程序计数器       B.程序状态字寄存器

    C.通用数据寄存器   D.通用地址寄存器

    程序状态字寄存器PSW处于核心态,用户态是不能访问的。

    程序状态字主要用于标明处理机的工作状态,而子程序调用无需改变状态,因此无需保存。

    设备驱动程序

    对I/O设备控制方式的转变:

    1. 轮询方式
    2. 中断控制
    3. DMA直接访存
    4. 通道控制方式:通道是通过执行通道程序,并与设备控制器共同实现对I/O设备的控制的。CPU只需给出通道程序首址和要访问I/O设备即可。

     

    中断控制方式与DMA直接访存方式对比:

    DMA方式较之中断驱动方式,又进一步提高了CPU与I/O设备的并行操作程度。

     

        为了实现在主机与控制器之间,成块数据的直接交换,必须在DMA控制器中,设置如下四类寄存器:

        ①命令/状态寄存器CR;

        ②内存地址寄存器MAR;

        ③数据寄存器DR;

    ④数据计数器DC。

    系统将数据从磁盘读到内存的过程包括以下操作:

    ①DMA控制器发出中断请求

    ②初始化DMA控制器并启动磁盘

    ③从磁盘传输一块数据到内存缓冲区

    ④执行”DMA结束”中断服务程序

    正确的执行顺序是:(B)

    A.③à①à②à④                B. ②à③à①à④

    C.②à①à③à④                D. ①à②à④à③

    对比上图,DMA控制器共发出过一次中断请求即在数据传送完毕,字计数寄存器=0的时候,然后执行DMA结束中断该服务程序(该服务程序执行完毕)

     

    DMA方式:对需多个离散块的读取仍需要多次中断。 

     

    通道地址字  CAW:记录通道程序在内存中的地址

    通道命令字  CCW:保存正在执行的通道指令

    通道状态字  CSW:存放通道执行后的返回结果

    通道数据字  CDW:存放传输数据

     

    通道和CPU共用内存,通过周期窃取方式取得

     

    通常把通道程序的执行情况记录在(D )

      A.  PSW                    B.  PCB  

      C.  CAW                   D.  CSW

     

    与设备无关的I/O软件

    设备独立性是指用户程序独立于具体使用的物理设备的一种特性。

    用户程序发出磁盘 I/O 请求后,系统的处理流程是:用户程序→系统调用处理程序→设备驱动程序→中断处理程序。其中,计算数据所在磁盘的柱面号、磁头号、扇区号的程序是C)。

    A. 用户程序                        B. 系统调用处理程序

    C. 设备驱动程序                 D. 中断处理程序

    为磁盘读操作计算磁道、扇区和磁头应该在驱动程序中完成

    向设备寄存器写命令应该在设备驱动程序中完成

    检查用户是否可以使用设备应该在无关软件层完成(检查用户是否可以使用设备属于设备保护,因此在设备独立性软件中完成,设备驱动程序只检查I/O请求的合法性,而设备独立性软件禁止用户直接访问设备,用户只能通过驱动程序访问设备。)

    将二进制整数转换为可打印的ASCII字符应该由用户层I/O完成

     

    设备分配:

    系统设备表SDT:系统范围的数据结构,记录系统中全部设备的情况,每个设备占一个表目。

    设备控制表DCT:为每一个设备配置一张,记录设备的情况。

    控制器控制表COCT:为每一个控制器都设置一张,记录控制器的使用情况。

    通道控制表CHCT:为每一个通道都设置一张,记录通道的使用情况。

    设备的固有属性:独占设备、共享设备、虚拟设备的分配策略。

    设备分配算法:先来先服务、优先级高者优先。

    设备分配中的安全性:安全、不安全分配方式。

     

    设备分配:

    1)基本的设备分配程序:

       当某进程提出I/O请求后,系统的设备分配程序,可按下述步骤进行设备分配:

    ⑴分配设备:首先根据I/O请求中的物理设备名,查找系统设备表SDT,从中找出该设备的DCT,再根据DCT中的设备状态字段,可知该设备是否正忙。若忙,便将请求I/O的进程的PCB,挂在设备队列上。否则,便按照一定的算法,计算本次设备分配的安全性。如果不会导致系统进入不安全状态,便将设备分配给请求进程。否则,仍将其PCB插入设备等待队列。

    ⑵分配控制器:在系统把设备分配给请求I/O的进程后,再到其DCT中找出与该设备连接的控制器的COCT,从COCT的状态字段中可知该控制器是否忙碌。若忙,便将请求I/O进程的PCB,挂在该控制器的等待队列上。否则,便将该控制器分配给进程。

     2)设备分配程序的改进:

    上述分配过程,进程是以物理设备名提出I/O请求的。

    如果所指定的设备已分配给其它进程,则分配失败,不具有与设备无关性。

    为此,进程应使用逻辑设备名请求I/O。

    首先从SDT中,找出第一个该类设备的DCT。若该设备忙,又查找第二个该类设备的DCT,仅当所有该类设备都忙时,才把进程挂在该类设备的等待队列上。而只要有一个该类设备可用,系统便进一步计算分配该设备的安全性。如安全,便可把设备分配给它

     

    逻辑设备表(LUT)(Logical Unit Table):

    1.逻辑设备表LUT(Logical Unit Table)

    为了实现与设备的无关性,当应用程序请求使用I/O设备时,应当用逻辑设备名。

    但系统只识别物理设备名,因此在系统中需要配置一张逻辑设备表,用于将逻辑设备名映射为物理设备名。

    2.逻辑设备表的设置问题

        ⑴在整个系统中只设置一张LUT,这种方式主要用于单用户系统中。

        ⑵为每个用户设置一张LUT:每当用户登录时,系统便为该用户建立一个进程,同时也为之建立一张LUT,并将该表放入进程的PCB中。由于通常在多用户系统中,都配置了系统设备表,图 (b)中所示。

     

    用户层的I/O软件:

    实现与用户交互的接口,用户可直接调用在用户层提供的、与I/O操作有关的库函数,对设备进行操作。

    系统调用与库函数:

    系统调用是操作系统为了扩充机器功能、增强系统能力、方便用户使用而在内核中建立的系统程序(过程),通常运行在系统态。用户程序或其他系统程序通过系统调用就可以访问系统资源,调用操作系统功能,它是用户程序或其他系统程序获得操作系统服务的唯一途径。

    库函数是程序设计语言中,把常用的功能编写成函数。放在函数库中供用户编程时使用。库函数仍属用户程序而非系统程序,运行时仍在用户态而非系统态。

    许多库函数都使用系统调用来实现功能;

    没有使用系统调用的库函数,执行效率通常比使用的高,因为使用系统调用时,需要上下文的切换及处理机状态的转换。

     

    SPOOLing技术(假脱机技术):

    当系统中引入了多道程序技术后,完全可以利用其中的一道程序,来模拟脱机输入时的外围控制机功能,把低速I/O设备上的数据传送到高速磁盘上。

    再用另一道程序,模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。

    这样,便可在主机的直接控制下,实现以前的脱机输入、输出功能。

    此时的外围操作与CPU对数据的处理同时进行,我们把这种在联机情况下实现的同时外围操作的技术,称为假脱机技术。

    (1)提高了I/O的速度。

    (2)将独占设备改造为共享设备。

    (3)实现了虚拟设备功能。

     

    共享性:

    打印机属于独占设备。利用假脱机技术,可将它改造为一台可供多个用户共享的打印设备,从而提高设备的利用率,也方便了用户。

    假脱机打印系统的构成:

        (1)磁盘缓冲区:在磁盘上开辟的一个存储空间,用于暂存用户程序的输出数据;

    (2)打印缓冲区:为了缓和CPU和磁盘之间速度不匹配的矛盾,在内存中要有一个打印输出缓冲区,用于暂存从磁盘缓冲区送来的数据;

        (3)假脱机管理进程和假脱机打印进程:由假脱机管理进程为每个要求打印的用户数据,建立一个假脱机文件,并把它放入假脱机文件队列中,由假脱机打印进程,依次对队列中的文件进行打印。

     

    (在上述的设备分配程序中(改进后):进程使用逻辑设备名请求I/O,从SDT中,找出第一个该类设备的DCT。若该设备忙,又查找第二个该类设备的DCT,仅当所有该类设备都忙时,才把进程挂在该类设备的等待队列上。而只要有一个该类设备可用,系统便进一步计算分配该设备的安全性。如安全,便可把设备分配给它。我们可以看出若所有设备均忙(单打印机且在工作就会把进程挂在该类设备的等待队列上),而假脱机技术则将打印机这个独占设备改造成共享设备,建立打印缓存区并由假脱机管理进程建立假脱机文件队列使进程等待进行打印。)

     

     SPOOLing技术解决了独占设备利用率低的问题(√)

     SPOOLing技术需要利用磁盘空间作为缓冲(√)

     SPOOLing技术可用于打印机的管理(√)

    虚设备技术是指在一类设备上模拟另一类设备的技术(√)

    SPOOLing技术是一类典型的虚设备技术(√)

    虚拟设备是把一个物理设备变换成多个对应的逻辑设备。(√)

    虚拟设备是指允许用户以标准化方式来使用物理设备。(×)

    SPOOLing技术需要外存的支持,需要多道程序设计的支持,可以让多个作业共享一台独占设备。(√)(当系统中引入了多道程序技术后,完全可以利用其中的一道程序,来模拟脱机输入时的外围控制机功能,把低速I/O设备上的数据传送到高速磁盘上。再用另一道程序,模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。)

     

    缓冲区管理:

    缓冲的引入:

    1.缓和CPU与I/O设备间速度不匹配的矛盾

    2.减少对CPU的中断频率,放宽对CPU中断响应时间的限制

    3.解决数据粒度不匹配的问题

    4.提高CPU和I/O设备之间的并行性

     

    缓冲池的引入:

    上述的缓冲区是专门为特定的生产者和消费者设置的,它们属于专用缓冲。当系统较大时,应该有许多这样的循环缓冲,这不仅要消耗大量的内存空间,而且其利用率不高。

    为了提高缓冲区的利用率,目前广泛流行既可用于输入又可用于输出的公用缓冲池,在池中设置了多个可供若干个进程共享的缓冲区。

     

    缓冲池的组成:

    空缓冲队列emq、输入队列inq、输出队列outq

    用于收容输入数据的工作缓冲区:hin

    用于提取输入数据的工作缓冲区:sin

    用于收容输出数据的工作缓冲区:hout

    用于提取输出数据的工作缓冲区:sout

    缓冲区可以工作在下列四种方式下:

    收容输入:输入进程需要输入时,取得空缓冲区,装满后放入输入队列。

    提取输入:计算进程需要输入时,在输入队列取缓冲区,提取数据后挂在空缓冲区队列上。

    收容输出:计算进程需要输出时,取空缓冲区,装满数据后挂在输出缓冲队列上。

    提取输出:输出进程从输出队列取缓冲区,提取完数据后挂在空缓冲区上。

     

     

    磁盘存储器的性能和调度:

    普通机械硬盘(HDD):

    磁盘数据的组织和格式:

    磁盘设备可包括一个或多个物理盘片;

    每个磁盘片有一个或两个存储面;

    每个盘面上有若干个磁道;

    每条磁道又被从逻辑上划分成若干个扇区(sectors);

    一个(或多个)扇区称为一个物理块(块block、簇cluster);

    磁盘以块为单位统一编号;

    块是信息存储、传输、分配的基本单位;

    磁盘总块数由扇区数、磁道数以及柱面数决定。

     

     

    使用旋转托盘上的表面磁颗粒来存储数据

    可移动的读/写头来访问磁盘

    当对磁盘上的一物理块进行访问时,要经过哪些操作?
        【解析】
        磁盘上一块的位置是由三个参数确定的,即:柱面号、磁头号、扇区号。存取信息时首先根据柱面号控制移动臂作机械的横向运动,带动读/写磁头到达指定柱面(移臂操作);再按磁头号确定信息所在的盘面,然后等待访问的扇区旋转到读写头下(旋转延迟);由指定的磁头进行存取(数据传输)。对一物理块访问的三部分时间中,移臂操作所占时间最长,为了减少移动臂移动花费的时间,存放信息时是按柱面存放,同一柱面上的磁道放满后,再放到下一个柱面上。

     

    根据上述步骤我们可以获得磁盘访问时间:

    其中(1)中s为磁臂(磁头)启动时间(约为2ms),m为常数,与磁盘驱动器的速度有关,对于一般磁盘m=0.2,对于高速磁盘,m=0.1,n为磁头移动的磁道数。(大体上寻道时间Ts在5~30ms)

    1. 中旋转延迟时间即等待访问的扇区旋转到读写头下,按平均延迟计算。(对于旋转速度为15000r/min的硬盘,平均旋转延迟时间为T=2ms,对于软盘,其旋转速度为300r/min或600r/min,平均旋转时间T=50-100ms)

    计算:15000(r/min) -> 15000/60(r/s) -> 1000(1s=1000ms)/[2*(15000/60)] (ms) ->2ms

    (3)传输时间Tt与每次所读写字节数b和旋转速度有关:Tt=b/(r*N),其中r为磁盘每秒钟的转数,N为一条磁道上的字节数,当一次读/写的字节数相当于半条磁道上的字节数时Tt=传输时间T

    总时间Ta=Ts+1/2r+b/(r*N)

     

    磁盘的格式化:

    ★磁盘分区

    在磁盘低级格式化完成后,一般要对磁盘进行分区。

    在逻辑上,每个分区就是一个独立的逻辑磁盘。

    每个分区的起始扇区和大小都记录在磁盘0扇区的主引导记录分区表所包含的分区表中。

    分区表中必须有一个分区被标记成活动的,以保证能够从硬盘引导系统。

    ★磁盘高级格式化

    在真正可以使用磁盘前,还需要对磁盘进行一次高级格式化;

    设置一个引导块、空闲存储管理、根目录和一个空文件系统;

    同时在分区表中标记该分区所使用的文件系统。

     

    【2017考研真题】

    下列选项中,磁盘逻辑格式化程序所做的工作是:(B)

    Ⅰ.对磁盘进行分区        

    Ⅱ.建立文件系统的根目录

    Ⅲ.确定磁盘扇区校验码所占位数       

    Ⅳ.对保存空闲磁盘块信息的数据结构进行初始化

    A.仅 Ⅱ            B.仅 Ⅱ、Ⅳ    

    C.仅 Ⅲ、Ⅳ        D.仅 Ⅰ、Ⅱ 、Ⅳ

     

    磁盘调度:

    当有多个访盘请求等待时,采用一定的策略,对这些请求的服务顺序调整安排

    降低平均磁盘服务时间,达到公平、高效。

    公平:一个I/O请求在有限时间内满足。

    高效:减少设备机械运动带来的时间开销。

     减少寻找时间是提高磁盘传输效率的关键。因为“寻找时间”在几十毫秒时间量级。

     驱动调度  作为操作系统的辅助存储器,用来存放文件的磁盘一类高速大容量旋转型存储设备,在繁重的输入输出负载之下,同时会有若干个输入输出请求来到并等待处理。系统必须采用一种调度策略,使能按最佳次序执行要求访问的诸请求,这就叫驱动调度,使用的算法叫驱动调度算法。驱动调度能减少为若干个输入输出请求服务所需的总时间,从而,提高系统效率。

     

    磁盘移臂调度的目的是尽可能地减少输入输出操作中的寻道时间。
    常用的移臂调度算法有:

    早期的磁盘调度算法:
    ① 先来先服务算法FCFS(first come first served)
    ② 最短寻找时间优先算法(SSTF)

    基于扫描的磁盘调度算法:
    ③ 电梯调度算法(扫描算法)(SCAN算法)
    ④ 单向扫描算法(循环扫描算法)(CSCAN)

    例:

     

     

     

     

    磁盘调度算法(续):

    NStepSCAN算法(该算法的目标是改进前几种算法可能在多磁头系统中出现磁头静止在一个磁道上,导致其它进程无法及时进行磁盘I/O。) :

    N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列;

    磁盘调度将按FCFS算法依次处理这些子队列;

    而每处理一个队列时又是按SCAN算法,对一个队列处理完后,再处理其他队列;

    当正在处理某子队列时,如果又出现新的磁盘I/O请求,便将新请求进程放入其他队列,这样就可避免出现粘着现象。

     

    FSCAN算法: 

    FSCAN算法实质上是N步SCAN算法的简化,即FSCAN只将磁盘请求队列分成两个子队列;

    一个是由当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理;

    在扫描期间,将新出现的所有请求磁盘I/O的进程,放入另一个等待处理的请求队列;

    这样,所有的新请求都将被推迟到下一次扫描时处理。

     

    小结:

     

    文件管理

    文件和文件系统

    文件的逻辑结构

    文件目录

    文件共享

    文件保护

     

    磁盘存储器管理

    外存的组织方式

    文件存储空间的管理

    提高磁盘I/O速度的途径

    提高磁盘可靠性的技术

    数据一致性的控制

     

     

    展开全文
  • 6.1.1 I/O系统基本功能 隐藏物理设备的细节 与设备的无关性 提高处理机和I/O设备的利用率 对I/O设备进行控制 确保对设备的正确共享 错误处理 6.1.2 I/O系统的层次机构和模型 1. I/O软件的层次结构 用户层软件 ...
  • C语言详解 - 输入输出

    2021-05-20 12:28:34
    1. 输入输出一览以下输入输出库函数的操作主要在标准输入输出设备(键盘和屏幕)与数据缓冲区之间进行。1.1 printf()与scanf()printf():将指定的文字/字符串输出到标准输出设备(屏幕)。注意宽度输出和精度输出控制...
  • 地址总线中的条线可用于I/O寻址,形成的输入输出地址空间,地址范围为;PC机中用了条地址线进行I/O操作,其地址空间为,可寻址范围为。2.实现主机与外设之间同步需要解决的基本问题有二,一为,另一为。3.对于微机而言...
  • 学习目标:重点分析I/O设备与主机交换信息的三种控制方式(程序查询、中断和DMA)及其相应的接口功能和组成,对输入输出系统有一个较清晰的认识,加深对整机工作的理解。 5.1.1 输入输出系统的发展概况 输入输出系统的...
  • 计算机操作系统第六章第六章输入输出系统6.2 I/O设备和设备控制器6.2.1 I/O设备6.2.2 设备控制器6.2.4 I/O通道6.3 中断机构和中断处理程序 第六章输入输出系统 操作系统中最繁杂且与硬件紧密相关的部分。 I/O性能...
  • 输入输出(I/O系统)总结——基本知识要点汇总,主要针对I/O接口相关知识概念,I/O设备与主机的联系方式与信息传送的控制方式进行了详细归纳,重点对常见的程序查询方式、程序中断方式、DMA方式进行了总结,并对中断...
  • 六、输入输出系统 前言 I/O系统是OS的重要组成部分,用于管理诸如打印机和扫描仪等I/O设备,以及用于存储数据,如磁盘驱动器和磁带机等各种存储设备。由于I/O系统所含设备类型繁多,差异又非常大,致使I/O系统成为...
  • 课后习题---输入输出系统

    千次阅读 2021-02-01 22:53:13
    试着说明I/O系统基本功能 隐藏物理设备的细节,与设备的无关性, 提高处理机和I/O设备的利用率 对I/O设备进行控制,确保对设备的正确共享,错误处理 简要说明I/O软件的四个层次的基本功能 用户层:实现与用户交互...
  • java输入输出

    2021-03-13 07:19:03
    java输入输出流java IO综述在整个Java.io包中最重要的就是5个类和一个接口。5个类指的是File、OutputStream、InputStream、Writer、Reader;一个接口指的是Serializable。Java I/O主要包括如下几个层次,包含三个...
  • 目录接口1、接口的概念2、接口的作用3、接口的基本组成IO端口地址的编址方式输入输出数据传送的控制方式(优缺点+应用场合)向量中断和非向量中断中断响应的条件中断隐指令概念中断隐指令的功能中断屏蔽中断升级中断...
  • 查看磁盘属性 要求:查看 X 盘文件系统与容量、可用空间、已用空间的大小,将查看结果输入在一个文本文件中,并保存于图1 中的“其他文件”文件夹中,文件名为:diskinfo.txt。 例如: 对于如图2的磁盘信息文件内容应为: ...
  • 输入/输出接口的基本组成、功能和类型1.接口的类型在实际应用中,按照外部设备的工作原理和应用方式的不同,开发出了多种多样的输入/输出接口,可以按照不同标准对其进行分类。(1)按通用性分类,有通用接口和专用...
  • 文章目录I/O系统概述I/O系统组成I/O 设备分类常见IO设备输入设备输出设备外存储器(辅助存储器)I/O接口设备控制器(I/O控制器)I/O 接口的类型I/O端口中断基本概念中断请求/响应过程中断处理过程I/O 控制方式程序...
  • Java输入输出

    千次阅读 2021-03-11 11:58:19
    1.什么是IOJava中I/O操作主要是指使用Java进行输入,输出操作.Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示...
  • Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。Java.io是大多数面向数据流的输入/输出类的...
  • 7.1输入/输出系统综述 7.1.1输入/输出接口 1、接口电路 输入/输出接口电路(I/O接口,也称适配器):主机对性能各异的外设进行控制,与它们交换信息,在主机与外设间设置一组电路界面,将CPU系统总线发出的控制...
  • 设备处理程序通常又称为设备驱动程序,它是I/O系统的高层与设备控制器之间的通信程序,其主要任务是接收上层软件发来的抽象I/O要求,如read或write命令,再把它转换为具体的要求后,发送给设备控制器,启动设备去...
  • 第5章-输入输出系统 5.1-概述 5.1.1-输入输出系统的发展概况 1-早期阶段 2-接口模块和DMA阶段 3-具有通道结构的阶段 通道有专用的通道指令,能独立地执行用通道指令编写的IO程序 4-具有IO处理机的阶段 IO处理机又...
  • SPOOLing 技术 为了缓和 CPU 的高速性与 I/O 设备低速性间的矛盾而引入了脱机输入、 脱机输出技术 SPOOLing 技术是来模拟脱机输入输出的一种技术,能够提高设备的整体利用率 SPOOLing 系统的组成 SPOOLing技术如何...
  • BIOS是英文"Basic Input Output System"的缩略语,直译过来后中文名称就是"基本输入输出系统"。它的全称应该是ROM-BIOS,意思是只读存储器基本输入输出系统。其实,它是一组固化到计算机内主板上一个ROM芯片上的...
  • 五、输入输出管理

    2021-03-07 09:46:41
    概述 I/O设备分类 I/O控制方式 I/O层次结构 缓冲区 单缓冲 双缓冲 循环缓冲 缓冲池 缓冲区与高速缓存的对比 设备分配 概述 数据结构 策略 逻辑设备名到物理设备名的映射 SPOOLing系统
  • 什么是操作系统,操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和它软件方便的接口和环境,是计算机系统中最基本系统软件,总结一下就是: ...
  • C语言输入输出总结

    2021-03-13 00:55:59
    C语言中基本输入输出函数有:putchar ():把变量中的一个字符常量输出到显示器屏幕上;getchar ();从键盘上输入一个字符常量,此常量就是该函数的值;printf ();把键盘中的各类数据,加以格式控制输出到显示器屏幕上;...
  • SPOOLing技术(假脱机技术) 输入井和输出输入缓冲区和输出缓冲区 输入进程和输出进程 共享打印机原理分析 虽然系统中只有一个台打印机,但每个进程提出打印请求时,系统都会为在输出井中为其分配一个存储区...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 179,480
精华内容 71,792
关键字:

存放基本输入输出系统程序