2013.03-多核操作系统-梁荣晓-多核操作系统发展综述

Time

2020.11.13

Summary

Research Objective

多核操作系统

Problem Statement

  1. 多核处理器发展,操作系统发展滞后。
  2. 传统多核操作系统难以适应多核处理器的发展趋势
    2.1 传统操作系统往往通过锁来保护共享数据,随着 CPU 核数的增加,进入内核的线程也会随之增加,对锁的竞争将更为激烈,影响系统的整体性能。
    2.2 核数增加时,传统多核操作系统一般通过创建更细粒度的锁来增加内核的并发性,而调整锁粒度是一项异常复杂的工作。
  3. 限制可扩展性的根本因素——锁与共享内存

Method(s)

利用分布式设计思想,采用分布式优化处理传统多核操作系统的结构和功能,将多核硬件划分为不同子系统,降低各子系统之间的耦合度,提高多核操作系统可扩展性。

  1. 改进传统宏内核架构
  2. 基于功能分布思想,不同的核划分为不同的功能
  3. 设计数据分布式多核操作系统
  4. Corey操作系统
    在Linux基础上修改操作系统接口实现的,设计目标是针对当前主流的Cache一致性 SMP 多核处理器。
    设计思想是:应用程序控制数据的共享(通过应用程序对内核间共享资源的控制, 减少多核之间不必要的资源传递与更新,以达到更高效利用多内核的目的)
    Corey在Linux中增加了3个新接口:
  • 地址范围,允许应用程序编程时决定私有地址与共享地址的范围;
  • 核心,允许应用程序制定特定的核心执行;
  • 共享对象,允许应用程序决定哪个对象对其它核心可见。
  1. 功能分布式多核操作系统
    不同核心(Core)所使用的内核(Kernel)可以是宏内核或微内核
  2. FOS
    一种面向多核与云计算的操作系统,对待提供单一系统映像(SSI,Single System Image),具有良好的兼容性以及可扩展性。
    设计原则:
  • 空间复用取代时间复用,在命名空间中进行调度,调度的资源是多个核;
  • 操作系统分界成特定的服务,各服务分布在各服务器中,彼此通过消息传递进行通信;
  • 错误自动检测与处理

Evaluation

Conclusion

Notes

  1. 传统多核操作系统采用宏内核(Macro Kernel)又称大内核(Monolithic Kernel)架构,其中以Linux和Windows为代表

Words

  1. Core 核心(指的是硬件层面的CPU)
  2. Kernel内核 (指的是软件层面的操作系统)

Terminology

  1. 宏内核
    解释1:使用单一数据结构,内核本身提供大多数系统服务,此架构的特性是整个内核程序是一个单一二进制可执行文件,在内核态以监管者模式(Supervisor Mode)来运行。
    解释2:宏内核被视作为运行在单一地址空间的单一的进程,内核提供的所有服务,都以特权模式,在这个大型的内核地址空间中运作,这个地址空间被称为内核态(kernel space)。它通常是以单一静态二进制文件的方式被存储在磁盘,或是缓冲存储器上,在引导之后被加载存储器中的内核态,开始运作。
  2. 对称多处理器(SMP)
    在SMP中所有的处理器都是对等的, 它们通过总线连接共享同一块物理内存,这也就导致了系统中所有资源(CPU、内存、I/O等)都是共享的,当我们打开服务器的背板盖,如果发现有多个cpu的槽位,但是却连接到同一个内存插槽的位置,那一般就是SMP架构的服务器。
  3. 非均匀访问存储模型(NUMA Non-uniform memory access)
    非统一内存访问架构(英语:Non-uniform memory access,简称NUMA)是一种为多处理器的电脑设计的内存架构,内存访问时间取决于内存相对于处理器的位置。在NUMA下,处理器访问它自己的本地内存的速度比非本地内存(内存位于另一个处理器,或者是处理器之间共享的内存)快一些。
  4. 异构多核处理器
    由一个或者多个主核以及其他从核组成

Sentence

TimtLine

原文地址:https://www.cnblogs.com/call-me-dasheng/p/13970915.html