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

進(jìn)程切換和是Linux2.6內(nèi)核中進(jìn)程調(diào)度的算法

這篇具有很好參考價(jià)值的文章主要介紹了進(jìn)程切換和是Linux2.6內(nèi)核中進(jìn)程調(diào)度的算法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

正文開始前給大家推薦個(gè)網(wǎng)站,前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站。

進(jìn)程切換

進(jìn)程并發(fā)就需要做到進(jìn)程切換,一個(gè)CPU一套寄存器但是需要運(yùn)行的進(jìn)程有很多,CPU內(nèi)是內(nèi)置的有時(shí)間片的,當(dāng)時(shí)間片到之后,上面的進(jìn)程就會(huì)被從CPU上剝離下來(lái),開始調(diào)度下一個(gè)進(jìn)程,所以被剝離下來(lái)的進(jìn)程就需要保存CPU中寄存器的內(nèi)容,然后等到下一次被調(diào)度的時(shí)候再把內(nèi)容放上去,接著執(zhí)行,寄存器上的內(nèi)容不需要清零,直接進(jìn)行覆蓋就行,因?yàn)橄乱粋€(gè)進(jìn)程來(lái)的時(shí)候,這時(shí)寄存器的內(nèi)容是上一個(gè)進(jìn)程的并且已經(jīng)保存帶走了。所以進(jìn)程在被調(diào)度的時(shí)候是會(huì)進(jìn)行上下文保護(hù)的,不然下一次調(diào)度就會(huì)不知道從哪里開始。這就是進(jìn)程切換。

O(1)調(diào)度算法

進(jìn)程切換和是Linux2.6內(nèi)核中進(jìn)程調(diào)度的算法,Linux,linux
我們可以看到運(yùn)行隊(duì)列有140個(gè)位置,每個(gè)位置就表示一個(gè)優(yōu)先級(jí),0 ~ 99我們不用考慮,而100 ~ 139是普通優(yōu)先級(jí),正好對(duì)用我們普通用戶可以修改的40個(gè)優(yōu)先級(jí)。每一個(gè)需要運(yùn)行的進(jìn)程都會(huì)被放在運(yùn)行隊(duì)列中,我們會(huì)發(fā)現(xiàn)其中有兩個(gè)運(yùn)行隊(duì)列,這是怎么回事?
兩個(gè)運(yùn)行隊(duì)列我們分為活躍隊(duì)列和過(guò)期隊(duì)列,其中void* active 指向的是活躍隊(duì)列,void* expired指向的是過(guò)期隊(duì)列,CPU只調(diào)度活躍隊(duì)列,這樣做有什么好處,因?yàn)镃PU要保證每個(gè)進(jìn)程較為公平的都能夠得到調(diào)度,如果只有一個(gè)隊(duì)列的話,如果已經(jīng)在調(diào)度100位置的優(yōu)先級(jí)了,此時(shí)如果前面插入了一個(gè)優(yōu)先級(jí)高的進(jìn)程,那CPU就得拐回去調(diào)度它,如果加入的優(yōu)先級(jí)高的進(jìn)程很多的話,會(huì)導(dǎo)致優(yōu)先級(jí)低的一直無(wú)法導(dǎo)致調(diào)度,從而導(dǎo)致進(jìn)程饑餓問(wèn)題,所以當(dāng)一個(gè)進(jìn)程沒(méi)有別調(diào)度完,就去過(guò)期隊(duì)列排隊(duì),所以活躍隊(duì)列的進(jìn)程一定會(huì)越來(lái)越少,如果CPU把活躍隊(duì)列中的所有優(yōu)先級(jí)的進(jìn)程都調(diào)度完了,就進(jìn)行swap(active,expired)操作,然后持續(xù)進(jìn)行這樣的操作,來(lái)保證每個(gè)進(jìn)程進(jìn)行較為公平的調(diào)度。

我們看到還有一個(gè)bitmap的東西,它其實(shí)是一個(gè)int的數(shù)組,可以表示160個(gè)比特位,所以就可以映射每個(gè)優(yōu)先級(jí)是否有進(jìn)程,利用這樣的位圖可以大大的提高查找非空隊(duì)列的效率。

nr_active就表示這個(gè)整個(gè)隊(duì)列queue總共有多少個(gè)運(yùn)行狀態(tài)的進(jìn)程。

那么今天的分享就到這里了,有什么不懂得可以私信博主,或者添加博主的微信,歡迎交流。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-794647.html

到了這里,關(guān)于進(jìn)程切換和是Linux2.6內(nèi)核中進(jìn)程調(diào)度的算法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 《深入Linux內(nèi)核架構(gòu)》第2章 進(jìn)程管理和調(diào)度 (2)

    《深入Linux內(nèi)核架構(gòu)》第2章 進(jìn)程管理和調(diào)度 (2)

    目錄 2.4 進(jìn)程管理相關(guān)的系統(tǒng)調(diào)用 2.4.1 進(jìn)程復(fù)制 2.4.2 內(nèi)核線程 2.4.3 啟動(dòng)新程序 2.4.4 退出進(jìn)程 本專欄文章將有70篇左右,歡迎+關(guān)注,訂閱后續(xù)文章。 1. _do_fork函數(shù) ????????fork vfork clone都最終調(diào)用_do_fork ????????????????clone:通過(guò)CLONE_XX標(biāo)志精確控制父子進(jìn)程共享哪

    2024年04月11日
    瀏覽(22)
  • Linux2.6內(nèi)核配置說(shuō)明

    maturity level options 代碼成熟度選項(xiàng) Prompt for development and/or incomplete code/drivers 顯示尚在開發(fā)中或尚未完成的代碼與驅(qū)動(dòng).除非你是測(cè)試人員或者開發(fā)者,否則請(qǐng)勿選擇 setup 常規(guī)設(shè)置 Local version - append to kernel release 在內(nèi)核版本后面加上自定義的版本字符串(小于64字符),可以用\\\"uname

    2024年02月14日
    瀏覽(48)
  • Linux·內(nèi)核的 4 大 IO 調(diào)度算法

    Linux·內(nèi)核的 4 大 IO 調(diào)度算法

    Linux 內(nèi)核包含4個(gè)IO調(diào)度器,分別是 Noop IO scheduler、Anticipatory IO scheduler、Deadline IO scheduler 與 CFQ IO scheduler。 anticipatory, 預(yù)期的;提早發(fā)生的;期待著的 通常磁盤的讀寫影響是由磁頭到柱面移動(dòng)造成了延遲,解決這種延遲內(nèi)核主要采用兩種策略:緩存和IO調(diào)度算法來(lái)進(jìn)行彌補(bǔ). 本

    2023年04月09日
    瀏覽(14)
  • 操作系統(tǒng)理論:Linux進(jìn)程與進(jìn)程狀態(tài)(進(jìn)程調(diào)度的大O(1)算法數(shù)據(jù)結(jié)構(gòu)模型)

    操作系統(tǒng)理論:Linux進(jìn)程與進(jìn)程狀態(tài)(進(jìn)程調(diào)度的大O(1)算法數(shù)據(jù)結(jié)構(gòu)模型)

    馮諾依曼體系的計(jì)算機(jī)在運(yùn)行時(shí),內(nèi)存中會(huì)預(yù)加載許多程序(數(shù)據(jù)+運(yùn)算指令集),然而CPU 同一時(shí)刻只能執(zhí)行一個(gè)程序 (多個(gè)程序競(jìng)爭(zhēng)CPU資源),此時(shí)就需要操作系統(tǒng) 對(duì)內(nèi)存中的諸多程序進(jìn)行管理 ,讓CPU資源得到合理的分配,于是便有了進(jìn)程的概念: 進(jìn)程:描述程序的結(jié)構(gòu)體對(duì)象( PCB結(jié)構(gòu)體

    2024年02月15日
    瀏覽(20)
  • Linux--2.6內(nèi)核調(diào)度和環(huán)境變量

    Linux--2.6內(nèi)核調(diào)度和環(huán)境變量

    ??北塵_ :個(gè)人主頁(yè) ??個(gè)人專欄 :《Linux操作系統(tǒng)》《經(jīng)典算法試題 》《C++》 《數(shù)據(jù)結(jié)構(gòu)與算法》 ??走在路上,不忘來(lái)時(shí)的初心 上圖是Linux2.6內(nèi)核中進(jìn)程隊(duì)列的數(shù)據(jù)結(jié)構(gòu),之間關(guān)系也已經(jīng)給大家畫出來(lái),方便大家理解 如果有多個(gè)CPU就要考慮進(jìn)程個(gè)數(shù)的負(fù)載均衡問(wèn)題 普通

    2024年02月05日
    瀏覽(22)
  • 【Linux】進(jìn)程>環(huán)境變量&&地址空間&&進(jìn)程調(diào)度

    【Linux】進(jìn)程>環(huán)境變量&&地址空間&&進(jìn)程調(diào)度

    主頁(yè): 醋溜馬桶圈-CSDN博客 專欄: Linux_醋溜馬桶圈的博客-CSDN博客 gitee :mnxcc (mnxcc) - Gitee.com 目錄 1.環(huán)境變量 1.1 基本概念 1.2 常見環(huán)境變量? 1.3 查看環(huán)境變量方法? 1.4?和環(huán)境變量相關(guān)的命令 1.5 環(huán)境變量的組織方式 1.6 通過(guò)代碼如何獲取環(huán)境變量 1.6.1 命令行第三個(gè)參數(shù) 1

    2024年04月15日
    瀏覽(28)
  • Linux進(jìn)程調(diào)度

    Linux進(jìn)程調(diào)度

    轉(zhuǎn)自:深入理解Linux進(jìn)程調(diào)度(0.4)_進(jìn)程調(diào)度 城_城中之城的博客-CSDN博客 一、進(jìn)程調(diào)度概覽 進(jìn)程調(diào)度是操作系統(tǒng)最重要的內(nèi)容之一,也是學(xué)習(xí)操作系統(tǒng)的重點(diǎn)和難點(diǎn)。關(guān)于進(jìn)程本身的實(shí)現(xiàn)和管理請(qǐng)參看《深入理解Linux進(jìn)程管理》。關(guān)于進(jìn)程調(diào)度,我們首先就會(huì)問(wèn)出一些問(wèn)題,什

    2024年02月13日
    瀏覽(18)
  • 【Linux】切換內(nèi)核版本(Centos)

    【Linux】切換內(nèi)核版本(Centos)

    0 : CentOS Linux (3.10.0-1160.83.1.el7.x86_64) 7 (Core) 1 : CentOS Linux (3.10.0-1160.80.1.el7.x86_64) 7 (Core) 2 : CentOS Linux (3.10.0-1127.el7.x86_64) 7 (Core) 3 : CentOS Linux (3.10.0-1160.83.1.el7.x86_64.debug) 7 (Core) 4 : CentOS Linux (3.10.0-1160.80.1.el7.x86_64.debug) 7 (Core) 5 : CentOS Linux (0-rescue-0e5781d77781441b97290d7bad5663e2) 7 (Core) 將配

    2024年02月11日
    瀏覽(24)
  • 【Linux】進(jìn)程狀態(tài)、進(jìn)程優(yōu)先級(jí)和進(jìn)程切換

    【Linux】進(jìn)程狀態(tài)、進(jìn)程優(yōu)先級(jí)和進(jìn)程切換

    作者簡(jiǎn)介:?舊言~,目前大二,現(xiàn)在學(xué)習(xí)Java,c,c++,Python等 座右銘:松樹千年終是朽,槿花一日自為榮。 目標(biāo):了解馮諾依曼體系結(jié)構(gòu)與操作系統(tǒng),掌握Linux的進(jìn)程 毒雞湯:一花凋零荒蕪不了整個(gè)春天,一次挫折也荒廢不了整個(gè)人生。 望小伙伴們點(diǎn)贊??收藏?加關(guān)注喲??

    2024年02月04日
    瀏覽(22)
  • 【Linux】進(jìn)程優(yōu)先級(jí) && 進(jìn)程切換 && 環(huán)境變量

    【Linux】進(jìn)程優(yōu)先級(jí) && 進(jìn)程切換 && 環(huán)境變量

    目錄 一、進(jìn)程優(yōu)先級(jí) ?1、優(yōu)先級(jí)概念 ?2、優(yōu)先級(jí)特點(diǎn) ?3、修改Linux下的優(yōu)先級(jí) 二、進(jìn)程切換 ?1、進(jìn)程特性 ?2、進(jìn)程切換 三、環(huán)境變量 ?1、基本概念 ?2、常見環(huán)境變量 ?3、查看環(huán)境變量方法 ?4、PATH環(huán)境變量 ?5、和環(huán)境變量相關(guān)的命令 ?6、環(huán)境變量的組織方式 ?7、通過(guò)

    2024年02月11日
    瀏覽(35)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包