linux线程调度nice,剖析Android中进程与线程调度之nice

在计算机操作系统中,进程是进行资源分配和调度的基本单位,同时每个进程之内也可以存在多个线程。那么在Android系统(Linux Kernel)中,进程是如何去抢占资源,线程又是如何根据优先级切换呢,本文将尝试剖析这个问题,研究nice在Linux以及Android系统中的应用。

一些概念进程 是计算机系统中,程序运行的实体,也是线程的容器。

线程 是进程中实际执行单位,一个线程是程序执行流的最小单元。在一个进程中可以有多个线程存在。

nice与进程调度

Linux中,使用nice value(以下成为nice值)来设定一个进程的优先级,系统任务调度器根据nice值合理安排调度。nice的取值范围为-20到19。

通常情况下,nice的默认值为0。视具体操作系统而定。

nice的值越大,进程的优先级就越低,获得CPU调用的机会越少,nice值越小,进程的优先级则越高,获得CPU调用的机会越多。

一个nice值为-20的进程优先级最高,nice值为19的进程优先级最低。

父进程fork出来的子进程nice值与父进程相同。父进程renice,子进程nice值不会随之改变。

词源考究

nice这个命令的来源几乎没有资料提到,于是便尝试自己来推断一下。在诸如词霸,沪江等词典给出的意思均为好的;美好的;可爱的;好心的,友好的。而有道词典则稍微给出了一个其他词典没有的和蔼的。个人认为有道给出的这个比较合理。要想做到和蔼,就需要做到谦让,因此或多或少牺牲自己一点,成全他人。所以nice值越高,越和蔼,但是自己的优先级也会越

你可能感兴趣的:(linux线程调度nice)