国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列

這篇具有很好參考價值的文章主要介紹了Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、進程的優(yōu)先級

  • 什么是優(yōu)先級?

    • 指定一個進程獲取某種資源的先后順序
    • 本質(zhì)是進程獲取cpu資源的優(yōu)先順序
  • 為什么要有優(yōu)先級

    • 進程訪問的資源(CPU)是有限的

操作系統(tǒng)關(guān)于調(diào)度和優(yōu)先級的原則:分時操作系統(tǒng),基本的公平,如果進程因為長時間不被調(diào)整,就造成了饑餓問題

  • Linux的優(yōu)先級特點以及查看方式

  • 查看進程的優(yōu)先級
ps -lA

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • PRI:進程優(yōu)先級
  • NI:進程優(yōu)先級的修正數(shù)據(jù)

  • 其中PRI值越低優(yōu)先級越高

  • 因為PRI值是由操作系統(tǒng)內(nèi)核動態(tài)調(diào)整的,我們無法直接去調(diào)整這個值,所以我們必須通過nice值去調(diào)整它。nice值就是上圖PRI后面NI。

  • 因為PRI是系統(tǒng)內(nèi)核去動態(tài)調(diào)整的,我們修改后需要經(jīng)過內(nèi)核的允許,如果這個PRI值超過了內(nèi)核的最大限度,那么這個值就會保留在臨界值

  • 我們的計算公式為:新的PRI = 進程默認(rèn)PRI + nice值,這個nice值有正負(fù)數(shù),我們可以舉一個例子:一個進程的PRI為80,我們給NI值為-10,再根據(jù)上面的公式得出新的PRI為70


  • 那么如何修改呢?我們可以寫一個代碼來看一下:
#include<stdio.h>
int main()
{
  while(1){
  }
  return 0;
}

  • 我們可以查看它的PRI和NI值

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 我們可以通過下面的命令進行修改

  • number為想要的nice值,PID為要操作的進程

renice [number] [PID]               
  • 首先查看一下該進程的id

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 然后進行修改~

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 修改后就變成了PRI是70,NI是-10

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

二、進程的四個重要概念

  • 競爭性:因為cpu資源優(yōu)先,所以進程難免會存在競爭行為,具體體現(xiàn)在優(yōu)先級上。
  • 獨立性:進程運行期間,各個進程是不會相互干擾的,即使是父子進程。
  • 并行:當(dāng)有多個cpu時,這些cpu同時處理多個進程的行為叫做并行。
  • 并發(fā):在一段時間內(nèi),每個進程都可以被cpu處理一部分指令,這種行為稱為并發(fā)。

假設(shè)cpu處理一個進程的時間為1秒,那么1個cpu處理99個進程的時間就是99秒。但是當(dāng)有一臺擁有3個cpu的計算機處理這99個進程時,只需要33秒。這就是并行,多個cpu同時處理多個進程。

三、上下文切換

  • 每個任務(wù)運行前,CPU 都需要知道任務(wù)從哪里加載、又從哪里開始運行,這就涉及到 CPU 寄存器 和 程序計數(shù)器(PC):

如何切換?

  • 將前一個 CPU 的上下文(也就是 CPU 寄存器和程序計數(shù)器里邊的內(nèi)容)保存起來;
  • 然后加載新任務(wù)的上下文到寄存器和程序計數(shù)器;
  • 最后跳轉(zhuǎn)到程序計數(shù)器所指的新位置,運行新任務(wù)。

被保存起來的上下文會存儲到系統(tǒng)內(nèi)核中,等待任務(wù)重新調(diào)度執(zhí)行時再次加載進來。

CPU 的上下文切換分三種:進程上下文切換、線程上下文切換、中斷上下文切換。

  • 把臨時數(shù)據(jù)轉(zhuǎn)存到操作系統(tǒng)的行為叫做上下文保護,把臨時數(shù)據(jù)寫回寄存器內(nèi)的行為叫做上下文恢復(fù)。

四、環(huán)境變量

  • 我們對于Linux的理解,指令就是程序,我們寫的C語言代碼也是一個程序,那么有一個問題,為什么Linux的指令他直接就可以在bash(終端)上運行,為什么我們寫的代碼生成的可執(zhí)行文件

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 在我們運行程序的時候,需要知道此程序在哪個位置

  • 在Linux的中的命令,它為什么不需要指定路徑來執(zhí)行呢?是因為有個叫【PATH】的環(huán)境變量,在我們輸入指令后,會在指定路徑下查找,如果找不到要執(zhí)行的指令就會返回錯誤【command not found】

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 因為【PATH】變量沒有記錄我們輸入的指令的位置信息,所以我們必須手動指定指令的位置。那么我們可以總結(jié)出指令(程序)是如何執(zhí)行的

  • 我們可以查看一下PATH下有哪些路徑
echo $PATH

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 可以看到上面是有各種路徑每個路徑是一下【:】分割,我們可以看到有一個/usr/bin目錄,那么我們寫的這個程序也就可以拷貝到這個目錄下就可以不指定路徑直接執(zhí)行了
  • 第二個方法是將我當(dāng)前這個目錄的路徑添加到這個環(huán)境變量中,這樣也可以

  • 我們可以用下面的這條指令來修改系統(tǒng)變量
export PATH=路徑

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 發(fā)現(xiàn)我們剛剛查看的變量不在了,ls也無法執(zhí)行了

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 這個時候不要慌,我們可以另外再開一個終端再看

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 那么我們?nèi)绾握_的向[PATH]添加一個路徑呢?我們用到下面的指令:
export PATH=$PATH:路徑
  • 這就完成了添加一個環(huán)境變量的操作

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 那么為什么新開了一個終端它就又恢復(fù)了呢?

    • 這是因為在我們默認(rèn)查看的環(huán)境變量是內(nèi)存級
    • 最開始的環(huán)境變量不是在內(nèi)存中,是在對應(yīng)的配置文件中,登錄Linux系統(tǒng)的時候它會首先加載到bash進程中(內(nèi)存)
  • 那么這個配置文件在哪?

.bash_profile # 當(dāng)前登錄用戶環(huán)境變量
.bashrc       # 當(dāng)前登錄用戶環(huán)境變量
/etc/bashrc   # 全局環(huán)境變量

查看當(dāng)前shell環(huán)境下的環(huán)境變量與內(nèi)容

env

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 環(huán)境變量是隨著啟動操作系統(tǒng)時生成的,也就是說,環(huán)境變量是屬于bash的。

  • 指令是一個程序,在bash上執(zhí)行,那么這個程序就是bash的子進程

  • 我們平時所用的pwd命令就是有一個環(huán)境變量叫pwd,這個環(huán)境變量存儲著用戶當(dāng)前的所在位置

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器


  • 我們也可以自己實現(xiàn)一個pwd指令

  • 在實現(xiàn)的時候需要了解一個函數(shù)getenv,我們用man手冊查看一下

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

#include<stdio.h>
#include<stdlib.h>
int main()
{
  char* ret = getenv("PWD");
  printf("%s\n",ret);
  return 0;
}
  • 可以看到我們就實現(xiàn)了這個

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 我們在bash上運行的程序,是bash的子進程,而環(huán)境變量是屬于bash的,子進程為什么能用父進程的環(huán)境變量?這是因為,子進程可以繼承父進程的環(huán)境變量!并且,環(huán)境變量一定是全局屬性的!

  • 在子進程是如何繼承環(huán)境變量的?子進程是不是有一個主函數(shù)?這個主函數(shù)我們平時使用時是沒有參數(shù)的,但實際上它是可以帶參數(shù)的!還能帶三個!
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char* argv[], char* environ[])
{
  return 0;
}
  • 第一個參數(shù)代表的意思為:指令參數(shù)的個數(shù)(包括指令);
  • 第二個參數(shù)代表的意思為:指令參數(shù)的指針數(shù)組(因為指令參數(shù)是一個字符串);
  • 第三個參數(shù)代表的意思為:環(huán)境變量的指針數(shù)組(因為環(huán)境變量是一個字符串)。我們一般不使用第三個參數(shù),而是使用操作系統(tǒng)提供的外部的指針數(shù)組指針【char** environ】或者是系統(tǒng)提供的接口函數(shù)getenv()

  • 我們就可以實現(xiàn)一個帶參數(shù)的指令,就像ls類似的
#include <stdio.h>
#include <string.h>
int main(int argc,char* argv[])
{
    if(argc < 2)
    {
        printf("指令參數(shù)太少!\n");
        return 1;
    }
    if(strcmp(argv[1],"-a")==0)
    {
        printf("執(zhí)行-a\n");
    }
    else if(strcmp(argv[1],"-b")==0)
    {
        printf("執(zhí)行-b\n");
    }
    else
    {
        printf("指令有誤!\n");                                                                                                                                                        
    }
    return 0;
}

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 我們可以再寫一個代碼來驗證一下
#include <stdio.h>
#include <string.h>
int main(int argc,char* argv[])
{
    printf("%d\n",argc);
    int i=0;                                                                                                                                                                           
    for(i=0;i<argc;i++)
    {
        printf("%s\n",argv[i]);
    }
    return 0;
}

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 從上面 可以看出 [argc]是存儲指令參數(shù)的個數(shù)的(包括指令),[char* argv[]]這個指針數(shù)組是存儲指令參數(shù)的(包括指令)

  • 對于第三個參數(shù),是一個指針數(shù)組,存儲的是各個環(huán)境變量的內(nèi)容,因為這些內(nèi)容是字符串常量,而表示字符串常量通常使用其首字符地址

  • 我們是很少使用第三個參數(shù)的,因為這個數(shù)組存儲了所有的環(huán)境變量,想要找到特定的環(huán)境變量還是挺困難的,那么我們使用這段代碼,證明第三個參數(shù)存儲了環(huán)境變量:

#include <stdio.h>
#include <string.h>
int main(int argc,char* argv[],char* environ[])
{
    int i = 0;                                                                                                                                                                         
    for(i = 0; environ[i]; i++)
    {
        printf("[%d]-->%s\n",i, environ[i]);
    }
    return 0;
}

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 或者使用另一種寫法可以完成
#include <stdio.h>
#include <string.h>
int main(int argc,char* argv[])
{
    extern char** environ;
    int i=0;                                                                                                                                                                         
    for( i=0;environ[i];i++)
    {
        printf("[%d]-->%s\n",i,environ[i]);
    }
    return 0;
}

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 環(huán)境變量是具有全局屬性的,也就意味著子進程只能繼承父進程的具有全局屬性的環(huán)境變量。稱作本地變量。如何設(shè)置本地變量呢?我們只需要在bash上面按這個格式敲指令:

  • 變量中間不能有空格

[變量名]=[內(nèi)容]       

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 我們發(fā)現(xiàn)使用env來查看我們設(shè)置的變量,并不能顯示出結(jié)果,證明了我們剛剛設(shè)置的變量是本地變量

  • 但是使用【echo】命令還可以查看到,因為echo是可以操作環(huán)境變量的,所用echo命令是可以操作所有的變量的,不管是本地變量還是環(huán)境變量。

  • 子進程并沒有繼承父進程的本地變量,那我們?nèi)绾问贡镜刈兞孔兂森h(huán)境變量呢?我們輸入下面這個指令:

export [變量名稱]     

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 現(xiàn)在我們學(xué)會了如何設(shè)置本地變量和如何把本地變量轉(zhuǎn)換成環(huán)境變量了。那么如何查看本地變量呢,或者說如何查看所有的變量呢?我們使用下面這條命令:
set

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

  • 取消變量可以使用下面這條命令
unset [變量名]

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

五、Linux2.6內(nèi)核進程調(diào)度隊列

Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列,Linux,linux,運維,服務(wù)器

一個CPU擁有一個runqueue

如果有多個CPU就要考慮進程個數(shù)的父子均衡問題。

優(yōu)先級

queue下標(biāo)說明:

  • 普通優(yōu)先級:100~139。
  • 實時優(yōu)先級:0~99。

我們進程的都是普通的優(yōu)先級,前面說到nice值的取值范圍是-20~19,共40個級別,依次對應(yīng)queue當(dāng)中普通優(yōu)先級的下標(biāo)100~139。

注意: 實時優(yōu)先級對應(yīng)實時進程,實時進程是指先將一個進程執(zhí)行完畢再執(zhí)行下一個進程,現(xiàn)在基本不存在這種機器了,所以對于queue當(dāng)中下標(biāo)為0~99的元素我們不關(guān)心。

活動隊列

時間片還沒有結(jié)束的所有進程都按照優(yōu)先級放在活動隊列當(dāng)中,其中nr_active代表總共有多少個運行狀態(tài)的進程,而queue[140]數(shù)組當(dāng)中的一個元素就是一個進程隊列,相同優(yōu)先級的進程按照FIFO規(guī)則進程排隊調(diào)度。

調(diào)度過程如下:

  1. 從0下標(biāo)開始遍歷queue[140]。
  2. 找到第一個非空隊列,該隊列必定為優(yōu)先級最高的隊列。
  3. 拿到選中隊列的第一個進程,開始運行,調(diào)度完成。
  4. 接著拿到選中隊列的第二個進程進行調(diào)度,直到選中進程隊列當(dāng)中的所有進程都被調(diào)度。
  5. 繼續(xù)向后遍歷queue[140],尋找下一個非空隊列。

bitmap[5]:queue數(shù)組當(dāng)中一共有140個元素,即140個優(yōu)先級,一共140個進程隊列,為了提高查找非空隊列的效率,就可以用5 × \times× 32個比特位表示隊列是否為空,這樣一來便可以大大提高查找效率。

總結(jié): 在系統(tǒng)當(dāng)中查找一個最合適調(diào)度的進程的時間復(fù)雜度是一個常數(shù),不會隨著進程增多而導(dǎo)致時間成本增加,我們稱之為進程調(diào)度的O(1)算法。

過期隊列

  • 過期隊列和活動隊列的結(jié)構(gòu)相同。
  • 過期隊列上放置的進程都是時間片耗盡的進程。
  • 當(dāng)活動隊列上的進程被處理完畢之后,對過期隊列的進程進行時間片重新計算。

active指針和expired指針

  • active指針永遠(yuǎn)指向活動隊列。
  • expired指針永遠(yuǎn)指向過期隊列。

由于活動隊列上時間片未到期的進程會越來越少,而過期隊列上的進程數(shù)量會越來越多(新創(chuàng)建的進程都會被放到過期隊列上),那么總會出現(xiàn)活動隊列上的全部進程的時間片都到期的情況,這時將active指針和expired指針的內(nèi)容交換,就相當(dāng)于讓過期隊列變成活動隊列,活動隊列變成過期隊列,就相當(dāng)于又具有了一批新的活動進程,如此循環(huán)進行即可。文章來源地址http://www.zghlxwxcb.cn/news/detail-845281.html

到了這里,關(guān)于Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【Linux】進程優(yōu)先級 && 命令行參數(shù) && 環(huán)境變量

    【Linux】進程優(yōu)先級 && 命令行參數(shù) && 環(huán)境變量

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 目錄 文章目錄 前言 一、進程優(yōu)先級 1.1、進程優(yōu)先級的基本概念 1.2、優(yōu)先級 VS 權(quán)限 1.3、為什么要有優(yōu)先級? 1.4、Linux的優(yōu)先級的特點 查看方式 1.5、PRI and NI 1.6、用top命令更改已存在進程的nice 1.7、其

    2024年03月25日
    瀏覽(17)
  • 【Linux】環(huán)境變量與進程優(yōu)先級知識點

    【Linux】環(huán)境變量與進程優(yōu)先級知識點

    環(huán)境變量(environment variables)一般是指在操作系統(tǒng)中用來指定操作系統(tǒng)運行環(huán)境的一些參數(shù)。 PATH : 指定命令的搜索路徑 HOME : 指定用戶的主工作目錄(即用戶登陸到Linux系統(tǒng)中時,默認(rèn)的目錄) SHELL : 當(dāng)前Shell,它的值通常是/bin/bash USER:記錄了當(dāng)前登錄的用戶是誰 主要以PATH進行學(xué)習(xí)

    2023年04月23日
    瀏覽(90)
  • 【Linux】探索Linux進程優(yōu)先級 | 環(huán)境變量 |本地變量 | 內(nèi)建命令

    【Linux】探索Linux進程優(yōu)先級 | 環(huán)境變量 |本地變量 | 內(nèi)建命令

    最近,我發(fā)現(xiàn)了一個超級強大的人工智能學(xué)習(xí)網(wǎng)站。它以通俗易懂的方式呈現(xiàn)復(fù)雜的概念,而且內(nèi)容風(fēng)趣幽默。我覺得它對大家可能會有所幫助,所以我在此分享。點擊這里跳轉(zhuǎn)到網(wǎng)站。 ??博客主頁:小智_x0___0x_ ??歡迎關(guān)注:??點贊??收藏??留言 ??系列專欄:Linux入門

    2024年02月04日
    瀏覽(83)
  • 【Linux進行時】環(huán)境變量and進程優(yōu)先級

    【Linux進行時】環(huán)境變量and進程優(yōu)先級

    ?首先一個問題:我寫的代碼(這個代碼很簡單,不用管)編譯之后運行的時候為什么要帶./ ? 或者說我怎么才可以讓我不用帶./ ? ??.代表當(dāng)前文件下,/是文件分隔符,這是用相對路徑的方式來訪問,所以我們也可以用絕對路徑 myproc和ls都是指令,ls可以直接輸入,但是我

    2024年02月08日
    瀏覽(25)
  • [Linux 進程(三)] 進程優(yōu)先級,進程間切換,main函數(shù)參數(shù),環(huán)境變量

    [Linux 進程(三)] 進程優(yōu)先級,進程間切換,main函數(shù)參數(shù),環(huán)境變量

    排隊的本質(zhì)就是確認(rèn)優(yōu)先級。 優(yōu)先級是什么?它也是PCB中的一個整型字段 , 數(shù)值越小,優(yōu)先級越高 。是得到某種資源的先后順序。 Linux進程的優(yōu)先級數(shù)值范圍:60~99。 Linux中默認(rèn)進程的優(yōu)先級都是80。 為什么要有優(yōu)先級 ?本質(zhì)是資源不足。 談到優(yōu)先級,就不得不說我們以

    2024年01月21日
    瀏覽(17)
  • 【看表情包學(xué)Linux】進程優(yōu)先級 | 查看系統(tǒng)進程 | 優(yōu)先級修改 | 進程的切換 | 競爭性與獨立性 | 并行并發(fā)的概念 | 環(huán)境變量

    【看表情包學(xué)Linux】進程優(yōu)先級 | 查看系統(tǒng)進程 | 優(yōu)先級修改 | 進程的切換 | 競爭性與獨立性 | 并行并發(fā)的概念 | 環(huán)境變量

    ?? ??? 爆笑 教程 ????《看表情包學(xué)Linux》?? ? 猛戳訂閱 ? ? ?? ? ?? 寫在前面: 我們先講解進程的優(yōu)先級,探討為什么會存在優(yōu)先級,以及如何查看系統(tǒng)進程、進程優(yōu)先級的修改。然后講解進程的切換,首次介紹進程的競爭性、獨立性,以及并行和并發(fā)的概念,在通

    2024年01月19日
    瀏覽(21)
  • 【探索Linux】—— 強大的命令行工具 P.8(進程優(yōu)先級、環(huán)境變量)

    【探索Linux】—— 強大的命令行工具 P.8(進程優(yōu)先級、環(huán)境變量)

    前面我們講了C語言的基礎(chǔ)知識,也了解了一些數(shù)據(jù)結(jié)構(gòu),并且講了有關(guān)C++的一些知識,也學(xué)習(xí)了一些Linux的基本操作,也了解并學(xué)習(xí)了有關(guān)Linux開發(fā)工具vim 、gcc/g++ 使用、yum工具以及git 命令行提交代碼也相信大家都掌握的不錯,上一篇文章我們了解了關(guān)于進程的基本概念,今

    2024年02月09日
    瀏覽(26)
  • 2.【Linux】(進程的狀態(tài)||深入理解fork||底層剖析||task_struct||進程優(yōu)先級||并行和并發(fā)||詳解環(huán)境變量)

    2.【Linux】(進程的狀態(tài)||深入理解fork||底層剖析||task_struct||進程優(yōu)先級||并行和并發(fā)||詳解環(huán)境變量)

    Linux把所有進程通過雙向鏈表的方式連接起來組成任務(wù)隊列,操作系統(tǒng)和cpu通過選擇一個task_struct執(zhí)行其代碼來調(diào)度進程。 1.運行態(tài):pcb結(jié)構(gòu)體在運行或在運行隊列中排隊。 2.阻塞態(tài):等待非cpu資源就緒(硬盤,網(wǎng)卡等資源) 3.掛起態(tài):一個進程對應(yīng)的代碼和數(shù)據(jù)被操作系統(tǒng)因

    2024年01月22日
    瀏覽(22)
  • 【Linux進程篇-----進程優(yōu)先級】

    【Linux進程篇-----進程優(yōu)先級】

    1.基本概念 cpu 資源分配的先后順序,就是指進程的優(yōu)先權(quán)(priority) .優(yōu)先權(quán)高的進程有優(yōu)先執(zhí)行權(quán)利。配置進程優(yōu)先權(quán)對多任務(wù)環(huán)境的 Linux 很有用,可以改善系統(tǒng)性能。還可以把進程運行到指定的 CPU 上,這樣一來,把不重要的進程安排到某個 CPU,可以大大改善系統(tǒng)整體性能

    2024年02月08日
    瀏覽(20)
  • 【Linux】進程優(yōu)先級

    【Linux】進程優(yōu)先級

    Hello,大家好。本文我們要來介紹的是有關(guān)Linux下【進程優(yōu)先級】,首先我們要了解的是其基本概念 在 Linux基礎(chǔ)篇之權(quán)限 一文中我們有談到過什么是權(quán)限,在Linux下有權(quán)限和無權(quán)限的區(qū)別在哪里。那現(xiàn)在的話我們就要來對比一下【權(quán)限】和【優(yōu)先級】這兩個概念 權(quán)限 : 表示

    2024年02月11日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包