进程争夺范围

在操作系统中,线程库被称为内核线程,由线程库管理的用户级线程从一个可用的轻量级进程中运行。这通常被称为进程争夺范围。进程争夺范围是根据优先级来执行的,也就是说,调度器首先选择或检查具有最高优先级的线程来运行。

程序员设置用户级别的线程优先级,而线程库则不对其进行调整。也有一些线程库允许程序员改变线程的优先级。

系统争夺范围

在操作系统中,系统争夺范围是操作系统中使用的两种线程调度方案之一。这个方案被内核用来决定哪个内核级的线程被安排到CPU中,这个方案使用系统争夺范围,其中系统中的所有线程都在竞争CPU。这通常被称为系统争用范围。

使用一对一模式的系统,如windows、Linux,只使用系统竞争范围来安排线程。

进程争夺范围和系统争夺范围的区别:

编号 进程争用范围 系统争用范围
1 进程争用范围通常是指非绑定线程上的本地调度。 系统争夺范围通常被称为绑定线程上的全局调度。
2 进程争用范围中使用多对多和多对一的模型。 系统争用范围则使用一对一的模式。
3 在进程争用范围中,在相当于进程的线程之间存在着对CPU使用的竞争。 在系统争用范围中,操作系统中的所有线程都在争用CPU。
4 进程争夺范围使用N:1或N:M的线程模型关系。 系统争夺范围线程与内核线程使用1:1的线程模型关系。
5 它主要用于windows、Linux和Solaris线程。 它主要用于Linux线程。
6 进程争用范围或本地争用范围是一个用户级线程,它与进程中的其他用户线程共享一个内核线程。 系统争用范围或全局争用范围是一个用户线程,它直接映射到一个内核线程。
7 在进程争用范围中,线程库可以真正控制哪个用户级线程被安排在一个轻量级进程上。 在系统争用范围中,操作系统提供了内核级线程,即内核决定哪个线程将被安排到一个CPU上。
8 在进程争夺范围内,所有线程的调度机制都是在进程中进行的。 在系统竞争范围内,线程的所有调度机制对进程来说是全局的。
9 进程争用范围比系统争用范围便宜 系统争用范围是非常可预测的,因为它的处理成本高。
10 进程争用范围,线程共享一个或多个可用的轻量级进程。 系统争用范围线程,共享单独的轻量级进程。