数据交换的概念
计算机网络的根本目的是在网络边缘的主机之间实现相互的数据传输、信息交换。一个主机为了同时与其他主机通信,可以选择通过通信链路直接连接所有主机,构成完全网状网络,如图1.4a所示。在这种网络中,如果主机数为N,则每个主机需要同时建立(N-1)条链路,整个网络共需要N(N-1)/2条链路。显然,当N较大时,网络需要的链路数量很大,每个主机需要维护的链路数量也很大。这不仅会带来网络建设成本问题,也会带来许多技术问题,例如,主机如何同时维护众多通信链路以及如何灵活扩展网络等。因此,当网络规模较大(即N较大)时,通过通信链路直接连接所有通信终端是不可行的。于是,人们发明了交换设备。
交换设备具有多通信端口,可以同时连接多个通信结点(即主机或交换设备),实现通信端口间物理或逻辑上的动态、并行通信。通过交换设备,每个主机只需一个通信链路与交换设备相连,即可实现与其他主机的通信。
个交换设备的端口数量是有限的,并且也无法通过一条通信链路直接连接距离遥远的主机或通信设备,因此,只有在特殊情况下,如小规模局域网,才有可能利用一个交换设备直接连接所有主机。为了连接更大范围、更多数量的主机,可 ...
计算机网络规模不同,其结构复杂程度也有所不同。大规模现代计算机网络的结构包括网络边缘(network
edge)、接入网络(access network)与网络核心(network core)3部分。
网络边缘
回顾前文的概念,连接到网络上的计算机、服务器、智能手机、智能传感器、智能家电等称为主机或端系统。这些端系统位于网络的最边缘,因此,连接到网络上的所有端系统构成了网络边缘。网络边缘上的端系统运行分布式网络应用,在端系统之间进行数据交换,实现应用目的。例如,常用的Web应用,用户主机上运行浏览器软件,服务器主机上运行Web服务器软件。浏览器根据用户的输入或操作向Web服务器发送请求消息,Web服务器根据请求,向浏览器发送响应消息,浏览器解释并显示收到的消息,如web页面等。
普通网络用户在使用网络时,就是在网络边缘中通过使用某网络应用,实现在网络边缘的端系统之间的信息交换。因此,可以说网络边缘为网络用户提供了网络应用服务。
接入网络
简单网络中,如简单的局域网或个域网,网络边缘中的端系统可以通过通信链路直接连接,此时的网络可以认为没有图13中的网络核心和接入网络。对于大规模、复杂 ...
为了从操作系统中获得服务,用户程序必须使用系统调用( System
Call),系统调用陷入内核并调用操作系统。访管指令把目态切换成管态,并启用操作系统。当有关工作完成之后,在系统调用后面的指令把控制权返回给用户程序。本节介绍系统调用的概念,系统调用的分类,以及系统调用的执行过程。
所谓系统调用,就是用户在程序中调用操作系统所提供的一些子功能。这是一种特殊的过程调用,这种调用通常是由特殊的机器指令实现的。除了提供对操作系统子程序的调用外,这条指令还将系统转入特权方式(管态)。因此,系统调用程序被看成是一个低级的过程,只能由汇编语言直接访问。系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,动态请求和释放系统资源,调用系统中已有的系统功能来完成与计算机硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。
系统调用与函数调用的区别
由于操作系统的特殊性,应用程序不能采用一般的函数调用方式来调用这些功能过程,而是利用一种系统调用命令去调用所需的操作系统过程。因此,系统调用在本质上是应用程序请求操作系统核 ...
多级中断与中断优先级
现代的微处理器都提供有多级中断系统,从硬件上看,多级中断系统表现为有多根中断请求线从不同设备连接到中断逻辑线路上。连接在不同中断请求线上的中断信号,表示它们有不同的中断级别。中断信号的级别代表了该中断信号是否具有被优先处理的特权,以及这个特权的大小。可见,在多级中断系统中,硬件决定了各个中断的优先级别。
多级中断的第一个作用是,对各类中断信号依据其紧急程度和重要性划分级别。在需要处理的各类中断信号中,它们的紧急程度和重要性是不同的。系统当然应该优先处理最紧急的或者最重要的中断信号。而中断信号本身的紧急或重要性,则由该中断的级别的高低来标识。在多级中断系统中,在同时有多个中断请求时,处理器接收中断优先级为最高的中断(如果其中断优先级高于当前运行程序的中断优先级时),而忽略其中断优先级较低的中断。比如,计算机的电池即将没有电了,这种掉电中断显然应该有非常高的优先级别。
多级中断的第二个作用是,解决如果有重要程度相当的多个中断信号同时到达时,如何选择首个被处理的中断信号的问题。比如,在一套计算机系统上接有一台打印机和一台扫描仪,在打印机发出了打印完毕的信号的同时,扫描仪 ...
我们这里讨论在中断信号已经被中断系统的硬件中断装置接收和响应之后,对应的软件中断处理程序进行中断处理的具体过程。
在处理器的控制权转移到中断处理程序之后,中断处理程序开始工作,其中包括检查I/O相关的状态信息,操纵I/0设备或者在设备和内存之间传送数据等。具体的中断处理程序的内容,完全是依据中断请求的类别和要求的不同,而分别设计的。
在中断处理程序结束工作之后,处理器会检测到一条中断返回指令。在执行中断返回指令时,处理器会把原先被中断的程序的上下文环境从系统堆栈中恢复。处理器状态也从管态恢复成被中断时的目态。整个中断处理结束。
处理器开始一个新的指令周期,继续执行原来被中断的程序。
上述整个中断信号的接收、响应和处理过程,可以简要地归纳为:接收和响应中断,保护中断断点现场,分析中断向量,调用中断处理程序,中断处理结束恢复现场,原有程序继续执行。
几种典型中断的处理
这里介绍几种计算机系统中比较典型的中断处理,包括L0中断、时钟中断、硬件故障中断、程序性中断和系统服务请求(自愿性中断)等。
I/O中断
I/O中断一般由O设备的控制器或者通道发出。I/O中断通常可分成两大类:I/O操作正常 ...
中断系统是现代计算机系统的核心机制之一,它不是单纯的硬件或者软件的概念,而是硬件和软件相互配合、相互渗透而使得计算机系统得以充分发挥能力的计算模式。
中断的发生会激活很多事件,这包括硬件和软件的方面的事件,所以对于整个中断事件的接收、响应和处理需要有计算机的硬件和软件两方面的配合,共同完成。
可以把中断系统分为两大组成部分:中断系统的硬件中断装置和软件中断处理程序。硬件中断装置负责捕获中断源发出的中断请求,并以一定的方式响应中断源,然后将处理器的控制权移交给特定的中断处理程序。中断处理程序则针对对中断事件的性质而执行相应的系列操作。
中断请求的接收
中断系统如何接收中断源的中断请求,这往往因机器而异。不过从原理上讲,它们是通过在计算机硬件的中断逻辑线路和中断寄存器实现的。
中断逻辑线路用于接收中断信号,并把收到的中断信号寄存在线路中的硬件触发器中。在中断逻辑线路中有若干个专门接受中断信号的触发器,每个触发器称为一个中断位。通常规定,一个触发器的值为1时,表示该触发器收到中断信号,为0时表示无中断信号。这些触发器的全体称为中断寄存器,所以中断寄存器是由若千个中断位组成的。
在有的计算机中 ...
中断异常其实是两个概念。
中断机制是操作系统中极为重要的一个部分。操作系统在管理输入输出设备时,在处理外部的各种事件时,都需要通过中断机制进行处理。所以也有人把操作系统称为是由“中断驱动”或者“(中断)事件驱动”的。
由于中断机制的实现必须依靠相关的硬件支持,所以硬件中断装置是操作系统运行环境中的一个极为重要的组成部分。中断的实现是硬件中断装置和相应的中断处理软件共同完成的。
中断与异常的概念
中断与异常
中断的概念
所谓中断是指处理器对系统中或系统外发生的异步事件的响应。异步事件是指无一定时序关系的随机发生的事件,如外部设备完成了数据传输任务,某一实时控制设备出现异常情况等。
“中断”这个名称来源于:当发生某个异步事件后,中断了处理器对当前程序的执行而转去处理该异步事件(称作执行该事件的中断处理程序)。在该异步事件处理完了之后,处理器再转回原程序的中断点继续执行。这种情况很像我们日常生活中的一些情况。例如,某人正在看书,此时电话响了(异步事件),于是用书签记住正在看的那一页(中断点),再去接电话(响应异步事件并进行处理),接完电话后再从被打断那页继续向下看(返回原程序的中断点执行)。 ...
在计算机系统中,设置时钟是十分必要的。这是由于时钟可以为计算机完成以下的必不可少的工作。
1)在多道程序运行的环境中,时钟可以为系统发现一个陷入死循环(由编程错误引起)的作业,从而防止机时的浪费。
2)在分时系统中,用时钟间隔来实现各个作业按时间片轮转运行。
3)在实时系统中,按要求的时间间隔输出正确的时间信号给相关的实时控制设备。
4)定时唤醒要求按照事先给定的时间执行的各个外部事件(如定时为各进程计算优先数,银行系统中定时运行某类结账程序等)。
5)记录用户使用各种设备时间和记录某外部事件发生的时间间隔。
6)记录用户和系统所需要的绝对时间,即年、月、日。
由上述时钟的这些作用可以看到,时钟是操作系统运行的必不可少的设施。时钟一般分成硬件时钟和软件时钟。
硬件时钟的工作原理是,在电路中的晶体振荡器,每隔一定间隔产生固定的脉冲频率,时钟电路中的时钟寄存器依据时钟电路所产生的脉冲数,对时钟寄存器进行加1的工作。
软件时钟,常用作相对时钟,它的工作原理主要是利用内存单元模拟时钟寄存器,并采用一段程序来计算相应的脉冲数,对内存时钟寄存器进行加1或减1的工作,从而模拟了时钟的功能。由于 ...
I/O结构
在一台计算机系统中,可能有大量的外部设备,为了满足对这些I/O设备的控制,提高处理器和外部设备的运行效率,出现了各种不同的I/O硬件结构。
在每台外部设备中都配有各自的I/O设备控制器,由I/O设备控制器分别控制各台外部设备的运行。在Ⅳ0设备控制器与处理器之间的0硬件结构,则有不同的设计方案。
在早期的计算机系统中,外部设备的控制器通过L0硬件结构与中央处理器连接。对设备控制器的操作是由处理器直接发出的I/O指令来实现的。在这种方法中,中央处理器定期轮询各个I/O设备控制器的状态。如果有I/O处理请求,中央处理器就处理I/O操作,直到该I/O处理完毕。这种程序直接控制I/O的主要缺陷是,处理器为了关注I/O设备控制器的状态,必须耗费大量的时间轮询各个外部设备以获得这些信息,这就严重地降低了整个系统的性能。这种早期I/O结构,由于效率太低,已经淘汰。
2.通道
通道是独立于中央处理器的,专门负责数据I/O传输工作的处理单元。从现代计算机系统的结构上看,各种外部设备均配有相应的设备控制器,这些设备控制器再通过通道连接在计算机系统的公共系统总线上。
通道对外部设备实行统一的管理, ...
在计算机系统中,中央处理器能直接访问的唯一的存储空间是内存储器。任何程序和数据必须被装入内存储器之后,中央处理器才能对它们进行操作,因而一个作业必须把它的程序和数据存储在内存储器中才能运行,而且操作系统本身也要存储在内存储器中并运行。
如果是多道程序系统,就会有若干个程序和相关的数据要存储在内存储器中。操作系统要管理、保护这些程序和数据,使它们不至于受到破坏,不会互相影响和出现冲突。内存储器以及与存储器管理有关的硬件机构是支持操作系统运行的硬件环境的一个重要方面。
此外,I/O系统和时钟部件也是计算机硬件的重要组成部分,为计算机用户交互及计算机时间系统提供基础。
存储器的类型
(1)类型
在微型计算机中使用的半导体存储器有若干种不同的类型,但基本上可划分为两类:一种是读写型的存储器,另一种是只读型的存储器。
所谓读写型的存储器,是指可以把数据存入其中任一地址单元,并且可在以后的任何时候把数据读出来,或者重新存入新的数据的一种存储器。这种类型的存储器常被称为随机访问存储器(
Random Access Memory,RAM)。RAM主要用作存储随机存取的程序的数据。
另一种是只读型的存储 ...
