磁带早在计算机出现以前就被发明,早先的磁带主要用于记录声音,20世纪50年代中期,磁带开始用做计算机的外存。磁带转动的原理是,主动轮转动带动收带盘转动,收带盘转动带动文件盘转动。由于磁带是顺序存储设备,所以存储在磁带上的文件称为顺序文件。图2-15所示的是磁带上数据的组织方式。但是,随着近年来磁带机性能的不断提高,磁带机又开始广泛使用。......
2023-11-18
操作系统在进行外部设备管理时遇到两个非常大的问题,一个问题是外部设备的工作速度远比CPU的工作速度低,另一个问题是各个外部设备之间的工作速度很不相同。有效地解决上述两个问题,是操作系统实现外部设备管理的关键。
操作系统进行外部设备管理的基本方法是采用中断技术。中断技术可以有效地解决外部设备管理时遇到的上述两个问题。
1.中断的概念
早期的计算机在外部设备工作时,CPU处于空闲状态。由于外部设备的工作速度比CPU的工作速度低很多,因此,这种工作方式下,宝贵的计算机CPU资源白白浪费,整个计算机系统的利用效率很低。
从字面意义看,中断就是暂时停止做某件事情而转去做另一件事情(通常是更紧急的事情),当另一件事情完成后,再转回来完成先前正在做的事情。
在计算机运行程序时,既不能确定什么时间要进行外部设备工作(如输入/输出工作),也不能确定每次外部设备工作的完成时间。对于这种不能确定发生和结束时间的事件,我们可以借助中断的思想来进行管理。
各个外部设备的工作是靠相应的外部设备服务程序来指挥的。所谓中断,就是计算机在运行当前程序过程中,当遇到急需处理的事件时,暂停当前正在运行的程序,转去运行处理紧急事件的程序(通常称为中断服务程序),当处理紧急事件的程序运行结束后,再自动返回原先正在运行的程序继续运行。
数据的输入/输出是最简单的一种中断。图5-12给出了计算机处理输入/输出中断的处理流程。我们把当前正在运行的程序称为主程序。CPU在运行主程序时,当需要输入数据或输出数据时,操作系统就向相应的输入/输出设备发出一个启动工作信号。此时,输入/输出设备进行启动的准备工作,与此同时,CPU将继续工作。只是由于当前正在运行的进程(即主程序)需要等待输入数据或输出数据,因此处于阻塞状态,进程调度程序需要重新调度一个新的进程作为CPU当前运行的进程(即主程序)。当输入/输出设备准备就绪时,向CPU发送一个中断请求信号,CPU响应中断后,暂停当前正在运行的主程序,转到相应的中断服务程序首地址(称为中断服务程序入口),运行中断服务程序。当中断服务程序运行结束时,CPU再转回主程序继续运行。
图5-12 输入/输出中断的处理流程
对图5-12要进一步说明的是,在输入/输出设备进行启动的准备工作(一般这个过程需要数秒)时,CPU在继续运行主程序(可能是另外一个进程)。因此,CPU资源没有因输入/输出设备工作而受到影响。
2.中断的处理过程(www.chuimin.cn)
中断处理过程主要包括以下几个步骤:
(1)保护中断现场。把被中断进程的CPU当时环境(如程序计数器的值、通用寄存器的值等等)保存到内存的一个特定区间(通常称为中断保护区)内。
(2)识别中断源。根据中断信号带有的特殊标记,判断出当前发生的是哪一种中断。
(3)转到相应的中断处理程序。不同的中断处理程序有不同的中断程序入口,根据识别出的中断源,转到相应的中断程序入口。
(4)运行中断处理程序。完成相应的中断服务功能。
(5)恢复中断现场。恢复保护中断现场时在中断保护区中保存的所有数值,即恢复中断处理过程(1)时保存的所有数值。
(6)返回主程序继续运行。
3.其他的外部设备管理方法
对外部设备的管理除中断技术外,还有其他一些技术,主要是通道技术和外部处理机技术。简单说,通道技术就是再设计一个独立于CPU的功能简单的CPU,专门处理外部设备和主机的数据交换事情。因外部设备和主机之间的数据交换就像一个数据通道,所以此种技术称为通道技术。外部处理机技术是再用一台计算机(如微机)来管理所有外部设备和主机之间的数据交换事务。
有关计算机导论的文章
磁带早在计算机出现以前就被发明,早先的磁带主要用于记录声音,20世纪50年代中期,磁带开始用做计算机的外存。磁带转动的原理是,主动轮转动带动收带盘转动,收带盘转动带动文件盘转动。由于磁带是顺序存储设备,所以存储在磁带上的文件称为顺序文件。图2-15所示的是磁带上数据的组织方式。但是,随着近年来磁带机性能的不断提高,磁带机又开始广泛使用。......
2023-11-18
对于由n个数据元素构成的线性序列,如果只允许在其头部位置插入数据元素和删除数据元素,则这种逻辑结构的数据结构称为堆栈。很多应用问题的软件设计需要使用堆栈这种数据结构。所以,系统要保证递归结构程序执行过程的正确进行,就必须在调用下一级子程序前,把当前子程序中要保存的数据保存到堆栈中。......
2023-11-18
按计算机承担的任务性质划分,归纳起来,计算机应用主要分以下几个方面。近年来,由于计算机科学技术的迅速发展,特别是网络技术和多媒体技术的迅速发展,计算机不断应用于新的领域。......
2023-11-25
目前操作系统的存储管理中广泛采用虚拟存储技术。虚拟存储技术可以为用户提供比实际物理内存大得多的可随机访问的内存空间。虚拟存储技术有很多种实现方法,各种方法之间的差别,主要是实现虚地址到实地址的转换方法不同。图5-11 页式存储管理示例除页式存储管理外,虚拟存储技术的实现方法还有段式存储管理、段页式存储管理等。......
2023-11-18
大部分高级语言都给出了可以方便表示这两种情况的循环语句。这样循环体的语句组S将总共被执行/c次。用第7章讨论的计算1+2+3++100问题的C语言程序来说明两种方式的循环语句。图7-3 for循环执行流程示例显然,对于循环次数已知的循环问题来说,使用第二种循环语句比使用第一种循环语句更简洁明了。......
2023-11-18
“黑客”最初是用来称呼那些试图测试计算机程序能力极限的计算机用户。但后来当某些人尝试非法访问计算机系统时,新闻媒体就用“黑客”来称呼那些试图未经授权对计算机系统进行访问的人。“黑客”的行为是错误的,一些对计算机知识有着深入了解的人,为了展示自己的才能,实现自我价值,或被利益诱惑而成为“黑客”,并对一些政府部门或企业的内网进行攻击,这些都是违法的行为。......
2023-11-25
我们在7.2节中曾指出,过程是算法的基本元素,过程可以使一个求解大问题的算法分解为若干个求解子问题算法的有机合成。过程的参数是局部变量。如图7-6所示,过程调用时,实参拷贝数值6给虚参,若过程运行时虚参的数值改变为8,则过程结束后主程序中实参的数值还是原来的6,而不是8。......
2023-11-18
相关推荐