端口属性

更新时间:
2023-12-14
下载文档

端口属性

为了将所需的通信资源提供给分区,需要为每个端口定义一组唯一的属性。这些属性使操作系统能够控制和维护位于核心模块(或远程控制单元)内的端口和部分通道的操作。端口属性在配置表中定义,或者在调用服务来创建端口时由应用程序定义。以下各节描述了所需的端口属性。

  • 分区标识符:分区标识符表示被允许访问端口的分区。

  • 端口名:端口名称属性由一个模式组成,该模式唯一标识分区中可以访问它的端口。该名称旨在由应用软件用来指定端口。

  • 传输方式:传输模式属性表示模式(即采样模式或队列模式),该模式预计用于管理端口中的消息。

  • 方向:方向属性指示端口是否允许发送(将分区视为源)或接收(将分区视为目标)消息。

  • 最大消息大小:最大消息大小属性定义了端口可包含的单个消息的最大字节数。

  • 最大消息数:最大消息数属性仅适用于队列模式下的消息。此属性定义了队列端口必须处理而不丢失的最大消息数。

注: 最大消息大小和最大消息数量属性用于定义分区内存空间中的存储区域,允许在端口中传递的消息被临时缓冲。根据传输模式和传输方向,可能需要不同的消息存储区域:

  1. 采样模式,发送方向:当应用软件发出发送请求时,不需要特定的消息存储。
  2. 采样模式,接收方向:需要一个单消息区域来缓冲分区接收的最后一条正确消息。
  3. 队列模式,发送方向:需要一个基于先进先出管理的消息队列来缓冲要发送的连续消息。当应用软件发出发送请求时,将要发送到消息放入队列,当操作系统将投递消息时,该消息从队列中移出。
  4. 队列模式,接收方向:需要一个基于先进先出管理的消息队列来缓冲分区连续接收的正确消息。当操作系统将投递消息时,将发送方向的消息放入本队列,当应用软件发出接收请求时,从本队列中取出消息。

在所有情况下,应用程序都应该分配足够的内存空间,以确保可以接收配置定义的最大消息大小,而不考虑任何应用程序协议定义的大小假设。

  • 刷新周期:刷新周期属性仅适用于在采样模式下接收的消息。这允许操作系统确定新消息是否在最后一条消息之后的指定时间到达,而不管接收请求速率如何。

  • 端口映射:端口映射属性定义了该端口与物理通信介质(例如,内存、底板总线)之间的连接。端口映射由定义物理地址和/或可用于映射端口的进程的属性组成。

注: 由一个端口接收的消息可以源自同一集成模块的另一个端口,或者经由模块间通信机制。在采样模式下,由端口发送的消息被路由到模块的一个或多个其他端口和/或模块间通信机制,而在队列模式下,它们被路由到集成模块的一个其他端口或模块间通信机制。端口可以映射到物理地址或进程(例如,设备驱动程序),这两者都可以将端口映射到背板或通信设备。当输入/输出处理器无法向或者从外部设备移动数据时,可以使用进程映射。此外,操作系统实现者可以定义任何其他合适的映射机制。任何映射端口的机制都必须确保多个分区对端口所映射到的内存空间没有写访问权限,无论是通过物理地址映射、进程映射还是其他机制来实现。共享内存的概念只有在操作系统控制对内存位置的访问时才能得到支持。

文档内容是否对您有所帮助?
有帮助
没帮助