X86 操作系统如何在cpu上调度线程和进程

X86 操作系统如何在cpu上调度线程和进程,x86,X86,我想知道linux操作系统是如何填充/proc/cpuinfo特殊文件的。是否有cpu指令给出cpu和内核的数量 是否有x86汇编指令可以在特定cpu上切换线程或进程?BIOS使用有关系统中处理器的信息填充ACPI表(特别是APIC和MADT)。Linux读取这些表以了解有多少处理器 处理器确实有办法切换线程或进程*,但没有现代操作系统使用它们。如果愿意,可以阅读《软件开发人员手册》(第3卷,第7节)中的任务 *具体而言,通过任务门的跳远或调用、嵌套任务的iret或通过任务门的中断。BIOS使用

我想知道linux操作系统是如何填充/proc/cpuinfo特殊文件的。是否有cpu指令给出cpu和内核的数量


是否有x86汇编指令可以在特定cpu上切换线程或进程?

BIOS使用有关系统中处理器的信息填充ACPI表(特别是APIC和MADT)。Linux读取这些表以了解有多少处理器

处理器确实有办法切换线程或进程*,但没有现代操作系统使用它们。如果愿意,可以阅读《软件开发人员手册》(第3卷,第7节)中的任务


*具体而言,通过任务门的跳远或调用、嵌套任务的iret或通过任务门的中断。

BIOS使用系统中处理器的信息填充ACPI表(具体而言,APIC和MADT)。Linux读取这些表以了解有多少处理器

处理器确实有办法切换线程或进程*,但没有现代操作系统使用它们。如果愿意,可以阅读《软件开发人员手册》(第3卷,第7节)中的任务


*具体来说,通过任务门的跳远或呼叫、嵌套任务的iret或通过任务门的中断。

这是两个截然不同的问题。对于第二个问题,答案是否定的。CPU没有线程或进程的概念。操作系统就是与这些一起工作的。我想你是在问CPU亲和力。看一看这个。它包含了你大部分问题的答案。谢谢,但是你能精确地回答吗?这是两个完全不同的问题。对于第二个问题,答案是否定的。CPU没有线程或进程的概念。操作系统就是与这些一起工作的。我想你是在问CPU亲和力。看一看这个。它包含了你大部分问题的答案。谢谢,但你能精确地回答吗?你说没有现代操作系统使用它,但操作系统应该自己调度进程?@Bob,操作系统可以使用iret、sysexit或sysret启动/恢复进程。例如,有没有办法用virtualbox或kvm记录和查看所有cpu指令?我想理解你说没有现代操作系统使用它,但操作系统应该自己调度进程?@Bob,操作系统可以使用iret、sysexit或sysret启动/恢复进程。例如,有没有办法用virtualbox或kvm记录和查看所有cpu指令?我想了解