TSSN - 软件架构
在本章中,我们将学习电信交换系统和网络的软件架构。
SPC 系统的软件可以分为两类以便于理解——**系统软件**和**应用软件**。软件架构涉及 SPC 的系统软件环境,包括语言处理器。许多功能以及呼叫处理都是操作系统的一部分,在操作系统下执行操作和管理功能。
呼叫处理是主要的处理功能,它是面向事件的。在用户线路或中继线上发生的事件触发呼叫处理。交换机中呼叫建立不是在一个连续的处理序列中完成的。整个过程由许多持续几十或几百毫秒的基本过程组成,并且许多呼叫同时以这种方式进行处理,每个呼叫由一个单独的**进程**处理。进程是一个活动实体,是一个**正在执行的程序**,有时也被称为**任务**。
多编程环境中的进程
在本节中,我们将了解多编程环境中的进程是什么。多编程环境中的进程可能是以下之一:
- 运行
- 就绪
- 阻塞
进程的状态由其当前活动和它执行的进程以及其状态经历的转换来定义。
如果处理器当前正在执行某条指令,则称该进程处于**运行**状态。
如果运行进程的下一条指令正在等待或有一条指令超时,则称该进程处于**就绪**状态。
如果一个进程正在等待某个事件发生才能继续执行,则称该进程处于**阻塞**状态。
下图显示了进程,展示了运行、就绪和阻塞之间的转换。
当一些进程处于运行状态时,一些进程将处于就绪状态,而另一些进程则被阻塞。就绪列表中的进程将根据优先级排列。阻塞进程是无序的,它们解除阻塞的顺序是它们等待发生的事件的顺序。如果一个进程没有执行并且等待其他指令或资源,则通过将此进程推入就绪列表来节省处理器时间,并在其优先级较高时解除阻塞。
进程控制块
进程控制块在操作系统中表示每个进程。PCB 是一种数据结构,包含有关进程的以下信息。
进程的当前运行状态
处于就绪状态的进程的优先级
CPU 调度参数
保存 CPU 的内容,当进程被中断时
分配给进程的内存
进程的详细信息,如进程号、CPU 使用率等。
与进程关联的事件和 I/O 资源的状态
PCB 包含有关进程的所有信息,以便在获得 CPU 时接下来执行。CPU 寄存器包括一个**程序状态字**(PSW),其中包含要执行的下一条指令的地址、当前启用或禁用的中断类型等。
当 CPU 执行某个进程时,当当前运行的进程被阻塞或发生触发高优先级进程的事件或中断时,需要切换该进程。这种情况称为**进程切换**,也称为**上下文切换**。以下图描述了这种中断优先级机制。
如果进程**A**扫描特定用户线路并发现其空闲,则该进程与该用户建立呼叫。但是,如果另一个进程 B 声明优先级并在同一时间与同一用户建立呼叫,则这两个进程都需要在同一时间与同一用户进行呼叫,这是不可取的。类似的问题也可能发生在其他共享表和文件中。
交换机资源(中继线、寄存器等)及其当前利用率的信息以表格的形式保存。这些表在需要时由不同的进程共享。当两个或多个进程同时选择同一张表时,就会出现问题。可以通过向每个进程授予对共享表的访问权限来解决此问题。
共享资源
每当一个进程使用共享表或任何共享资源时,所有其他需要相同资源的进程都必须保持等待。当运行的进程完成使用资源后,它将分配给第一个优先级更高的就绪进程,该进程一直处于等待状态。这种使用共享资源的过程称为**互斥**。访问共享资源的进程被称为在其**临界区**或**临界区域**内。互斥意味着对于给定的共享资源,在任何时刻只有一个进程可以处于临界区。进程进入临界区的代码编写非常谨慎,以避免出现无限循环。这有助于进程不被阻塞。完成的工作更准确、更高效。这有助于其他正在等待的进程。
如果信号量中的两个进程必须共享一个公共资源,则它们在一定的时间间隔内共享该资源。当一个进程使用该资源时,另一个进程等待。现在,在等待期间,为了与另一个进程保持同步,它读取到目前为止编写的任务。这意味着,该进程的状态应不为零,并且应持续递增,否则将被发送到阻塞列表。阻塞列表中的进程一个接一个地堆叠,并根据优先级允许使用资源。
下图显示了进程的工作方式:
如果信号量中的两个或多个进程无限期地等待资源,并且没有得到零以返回到阻塞状态,而其他进程在阻塞状态下等待使用同一资源,而没有进程可以使用资源但仍在等待,则这种状态称为**死锁状态**。
已经开发了用于死锁预防、避免、检测和恢复的技术。因此,这些涵盖了交换处理器的操作系统的主要功能。
软件生产
SPC 软件生产因其复杂性和软件规模以及其长期的工作寿命、可靠性、可用性和可移植性而显得重要。
软件生产是软件工程的一个分支,它处理在为复杂系统生产和维护大型软件时遇到的问题。软件工程实践分为四个阶段。这些阶段构成了软件系统的生产。
- 功能规范
- 正式描述和详细规范
- 编码和验证
- 测试和调试
交换系统的应用软件可以分为呼叫处理软件、管理软件和维护软件;交换系统的应用软件包采用模块化组织。
随着存储程序控制的引入,可以为用户提供大量新的或改进的服务。许多类型的增强服务,如缩写拨号、录音号码呼叫或无拨号呼叫、空闲时回拨、呼叫转移、人工接听、主叫号码记录、呼叫等待、咨询保持、会议呼叫、自动报警、长途电话限制、恶意呼叫跟踪等,都在这些电话通信的变化中被引入。
多级网络
多级网络是为在比横截式交换系统更有效地提供更多用户之间的连接而构建的网络。
前面讨论的横截式交换网络有一些如下所述的限制:
交叉点的数量将是连接站数量的平方,因此对于大型交换机来说成本很高。
交叉点的故障会阻止与该交叉点连接的两个用户之间的连接。
即使所有连接的设备都处于活动状态,也只会使用少数交叉点。
为了找到解决这些缺点的方案,构建了多级空间分隔交换机。通过将横截式交换机分成更小的单元并将其互连,可以构建具有更少交叉点的多级交换机。下图显示了一个多级交换机的示例。
像上面这样的多级交换机需要的交叉点数比横截式交换机中需要的少。根据上面显示的示例,对于 8 个(输入)和 8 个(输出)不同的用户(被叫用户和主叫用户),普通横截式网络中需要的交叉点数将是它们的平方,即 64。但是,在多级横截式网络中,只需 40 个交叉点就足够了。这如上图所示。在大型多级横截式交换机中,减少幅度更大。
多级网络的优点
多级网络的优点如下:
- 减少了交叉点的数量。
- 连接路径的数量可以更多。
多级网络的缺点
多级网络的缺点如下:
多级交换机可能会导致**阻塞**。
如果增加中间交换机的数量或大小,可以解决这个问题,但成本也会随之增加。
阻塞
阻塞减少了交叉点的数量。下图将帮助您更好地理解阻塞。
在上图中,有4个输入和2个输出,用户1连接到线路3,用户2连接到线路4。红色线条表示连接。但是,还会有更多请求到来;如果用户3和用户4发起呼叫请求,则无法处理,因为无法建立呼叫。
上述块的用户也面临着同样的问题(如上图所示)。一次只能连接两个块;无法连接两个以上或所有输入(因为它取决于输出的数量)。因此,无法同时建立多个连接,这被理解为呼叫被阻塞。