免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1109 | 回复: 0
打印 上一主题 下一主题

Solaris 系统核心功能初探 [复制链接]

论坛徽章:
1
15-16赛季CBA联赛之北控
日期:2022-03-04 22:35:50
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-22 13:16 |只看该作者 |倒序浏览

作者: chiver 出自: http://www.linuxdiyf.com
  Solaris 10 中的 FireEngine 方法将所有协议层合并为一个完全多线程的 STREAMS 模块。在合并的模块内,没有使用针对每个数据结构的锁,而是使用针对每个 CPU 的同步机制,即垂直边界。垂直边界是使用名为 squeue 的序列化队列抽象实现的。每个 squeue 绑定到 CPU,而每个连接又绑定到提供特定于连接的数据结构所需的任何同步和互斥的 squeue。
  由于栈是完全多线程的(除非垂直边界强制实现针对每个 CPU 的串行化),因此它使用基于引用的方案来确保连接实例在需要时可用。对于建立的 TCP 连接,可确保对其进行三种引用。每个协议层具有对实例的引用(TCP 和 IP 各有一个引用),分类器本身也具有引用,因为它是建立的连接。每次数据包到达连接并且分类器查找连接实例时,都会设置一个额外的引用;当协议层处理完该数据包后,将会删除此引用。
  Solaris 10 提供了与以前发行版相同的 TCP 视图,即 TCP 显示为克隆设备,但它实际上是一个复合设备,将 TCP 和 IP 代码合并为单个 D_MP STREAMS 模块。TCP 的操作部分由通过 squeue 原语输入的垂直边界充分保护。在控制和数据路径上,FireEngine 将 TCP 和 IP 之间的接口由基于 STREAMS 的现有消息传送接口更改为基于函数调用的接口。
  Solaris 10 引入了名为 GLDv3 的新设备驱动程序框架以及新栈。大多数主要设备驱动程序都移植到此框架上,所有将来的设备驱动程序和 10Gb 设备驱动程序均基于此框架。此框架还提供了一个基于 STREAMS 的 DLPI 层以保持向后兼容性(以允许外部非 IP 模块能够继续正常使用)。GLDv3 体系结构虚拟化网络栈的第二层。网络接口和设备之间的一一对应关系不复存在。
  Crossbow 通过任何服务(HTTP、HTTPS、FTP、NFS等)、协议(TCP、UDP、SCTP等)或 Solaris 容器技术创建虚拟栈。虚拟栈通过 H/W 分类引擎进行分隔,以便一个栈的通信不会影响其他虚拟栈。可以在共享 NIC 上为每个虚拟栈分配它自己的优先级和带宽,而不会导致系统或服务/容器的性能下降。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31/showart_572546.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP