gpt4 book ai didi

operating-system - 启动期间是否使用了所有 CPU 内核?

转载 作者:行者123 更新时间:2023-12-02 17:22:35 24 4
gpt4 key购买 nike

打开 PC 时多核处理器会发生什么情况?

也就是说,我猜引导加载程序是从磁盘读取并运行的——但它是由单核运行的吗?哪一个?还是引导加载程序已经在使用所有内核?

然后在操作系统准备就绪后,是否有责任将其所有进程拆分到所有可用内核?这些关键进程在多核上如何协作?那么锁定(多核互斥锁?)更昂贵吗? (或者操作系统是在单核上运行的)

最后,当您拥有多 CPU 主板(例如那些带有 2 个或 4 个 CPU 插槽的服务器 MoBos)时,上述所有功能如何工作?

最佳答案

当PC开机时,首先,BIOS会搜索bootloader程序,然后运行它。名为 BSP(引导处理器)的单个内核将运行引导加载程序。

Bootloader 引导您的系统运行操作系统的内核。BSP是硬件和物理层指定的CPU核心之一。该核心用于初始化和关闭过程。实际上,BSP 负责初始化系统和引导操作系统。其他内核只有在操作系统启动并运行后才会被激活。操作系统的内核(它的主线程)通常运行在BSP内核上,它管理其他内核运行当前进程的线程或者同时运行一些进程。此外,核心能够执行一些原子指令。对于每个核心,这些指令确保共享内存总线(高级缓存)已经拥有独占所有权。这些指令帮助操作系统通过软件互斥实现来管理所有进程和线程(根据它们的优先级)。

例如:

Intel CPU 支持名为“lock”的前缀指令。

lock inc [ebx]

正在运行该指令的内核立即获得总线,其他内核的工作将被暂停(直到它正在执行)。

我对多 CPU 系统一无所知。但是,在多 CPU 系统中,每个 CPU 都有独占的 RAM,所有 CPU 通过 QPI channel (对于 Intel)连接在一起。可能因为分离的 RAM,并发问题较少。

关于operating-system - 启动期间是否使用了所有 CPU 内核?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41598645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com