成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

linux中的上下文是什么

在linux中,上下文又叫CPU上下文,是CPU運行任何任務前,必須依賴的環境,包括CPU寄存器和程序計數器;而上下文切換就是先把前一個任務的CPU上下文(也就是CPU寄存器和程序計數器)保存起來,然后加載新任務的上下文到這些寄存器和程序計數器,最后再跳轉到程序計數器所指的新位置,運行新任務。

linux中的上下文是什么

程序員必備接口測試調試工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api設計、調試、文檔、自動化測試工具
后端、前端、測試,同時在線協作,內容實時同步

本教程操作環境:linux7.3系統、Dell G3電腦。

1.什么是上下文?

Linux是一個多任務的操作系統,它支持遠大于CPU數量的任務同時運行,當然,這些任務實際上并不是真正的在同時運行,而是系統在很短的時間內,將CPU輪流分配給他們,給用戶造成很多任務同時運行的錯覺。

在每個任務運行前, CPU 都需要知道任務從哪里加載,又從哪里開始運行。也就是說,需要系統事先給他設置好 CPU 寄存器和程序計數器(Program Counter,PC)

  • CPU 寄存器:是 CPU 內置的容量小、但速度極快的內存

  • 程序計數器:是用來存儲 CPU 正在執行的指令位置、或者即將執行的下一條指令位置

綜上所述,我們就有答案了

什么是上下文:

我們通常說的上下文又叫CPU上下文,是CPU運行任何任務前,必須依賴的環境,包括CPU 寄存器和程序計數器

上下文切換:就是先把前一個任務的 CPU 上下文(也就是 CPU 寄存器和程序計數器)保存起來,然后加載新任務的上下文到這些寄存器和程序計數器,最后再跳轉到程序計數器所指的新位置,運行新任務。

2.上下文切換詳細介紹

根據CPU切換運行任務的不同,又可以分為進程上下文切換線程上下文切換中斷上下文切換

我們先了解下面2個上下文切換涉及的知識點系統調用、進程運行態

進程的運行態:

Linux 按照特權等級,把進程的運行空間分為內核空間用戶空間 。在這兩種空間中運行的進程狀態分別稱為內核態用戶態

  • 內核空間(Ring 0):具有最高權限,可以直接訪問所有資源(讀取文件,)

    • 分配內存、IO操作、創建子進程……都是內核操作。這也表明,當IO操作頻繁時,System參數會很高。

  • 用戶空間(Ring 3):只能訪問受限資源,不能直接訪問內存等硬件設備,必須通過系統調用進入到內核中,才能訪問這些特權資源

    • 典型的用戶態空間程序有:Shells、數據庫、web服務器、PHP程序、Java程序……

在linux系統使用top命令查看cpu時,能看到user和system兩項,對應的就是用戶態和內核態占用的cpu資源

如上,我們的web服務是運行在用戶態下的,對文件的io沒有權限,當需要讀取文件時,就涉及到系統調用

系統調用:

從用戶態到內核態的轉變,需要通過系統調用來完成。比如查看文件時,需要執行多次系統調用:open、read、write、close等。系統調用的過程如下:

  • 把 CPU 寄存器里原來用戶態的指令位置保存起來;

  • 為了執行內核代碼,CPU 寄存器需要更新為內核態指令的新位置,最后跳轉到內核態運行內核任務;

  • 系統調用結束后,CPU 寄存器需要恢復原來保存的用戶態,然后再切換到用戶空間,繼續運行進程;

所以,一次系統調用的過程,其實是發生了兩次 CPU 上下文切換。

進程上下文切換?

  • 進程執行終止,它之前順頌的CPU就會被釋放出來,這時就從就緒隊列中取出下一個等待時間片的進程;

  • 當某個進程的時間片耗盡,它就會被系統掛起,切換到其他等待CPU的進程運行;

  • 某個進程因為需要的系統資源比較大(比如內存不足),這時候該進程會被掛起,系統會調度其他進程執行;

  • 當有優先級更高的進程(系統操作進程)需要時間片,為了保證優先級更高的進程能夠執行,當前進程會被掛起;

  • 如果當前進程中有sleep函數,他也會被掛起;

線程的上下文切換?

對操作系統來說,線程是最小的執行單元,進程是最小的資源管理單元。說白了,所謂內核中的任務調用,實際上的調度對象是線程;而進程只是給線程提供了虛擬內存、全局變量等資源。所以,對于現場和進程,我們可以這么理解:

  • 當進程只有一個線程時,可以認為進程就等于線程。

  • 當進程擁有多個線程時,這些線程會共享父進程的資源(即共享相同的虛擬內存和全局變量等資源)。這些資源在上下文切換時是不需要修改的。

  • 另外,線程也有自己的私有數據,比如棧和寄存器等,這些在上下文切換時也是需要保存的。

綜上,線程上下文切換有兩種情況:

  • 前后兩個線程屬于不同進程,因為資源不共享,所以切換過程就跟進程上下文切換是一樣的;

  • 前后兩個線程屬于同一個進程,因為虛擬內存是共享的,所以在切換時,虛擬內存這些資源就保持不動,只需要切換線程的私有數據、寄存器等不共享的數據。

中斷上下文切換?

中斷處理會打斷進程的正常調度和執行。在打斷其他進程時,需要將進程當前的狀態保存下來,中斷結束后,進程仍然可以從原來的狀態恢復運行。

中斷上下文切換并不涉及到進程的用戶態。所以,即便中斷過程打斷了一個正處在用戶態的進程,也不需要保存和恢復這個進程的虛擬內存、全局變量等用戶態資源。中斷上下文,其實只包括內核態中斷服務程序執行所必須的狀態,包括 CPU 寄存器、內核堆棧、硬件中斷參數等。

小結

根據Tsuna的測試報告,每次上下文切換都需要幾十納秒到數微妙的CPU時間,這個時間還是相當可觀的。

不管是哪種場景導致的上下文切換,你都應該知道:

  • CPU上下文切換,是保證Linux系統正常工作的核心功能之一,一般情況下不需要我們特別關注。

  • 但過多的上下文切換,會把CPU時間消耗在寄存器、內核棧以及虛擬內存等數據的保存和恢復上,從而縮短進程真正運行的時間,導致系統的整體性能大幅下降。

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
玩弄美艳馊子高潮秀色可贪| 亚洲AV成人精品一区二区三区| 偷偷鲁2019丫丫久久| 小宝贝荡货啊用力水湿AⅤ视频| 亚洲AV午夜国产精品无码中文字 | 女人两腿扒开图片大全| 人妻无码一区二区在线影院| 完整版免费AV片| 亚洲欧美日韩国产成人| 40岁的寡妇下面紧不紧| 宝贝对着镜子CAO好不好| 国产成人啪精品视频免费APP| 国内精品视频一区二区三区八戒| 久久天天躁夜夜躁狠狠I女人 | MM131极品尤物美女| 国产AV无码专区亚洲AV人妖| 加勒比色综合久久久久久久久| 蜜桃国产乱码精品一区二区三区| 日本一品和二品区别| 性XXXXX欧美极品少妇| 又白又大的两座峰| 波多野结衣系列18部无码观看A| 国产乱了真实在线观看| 久久综合九色综合欧美98| 日本妇人成熟免费中文字幕| 性色A∨人人爽网站| 在线看AV的网站| 夫では満足できない人妻| 加勒比久久综合久久鬼色88| 欧美肉欲XXⅩOOOHD| 无码任你躁久久久久久| 月光影院在线观看免费直播| 丰满少妇女人A毛片视频| 精品毛片高清一区二区三区| 欧美一区二区三区不卡| 无遮挡粉嫩小泬女视频| 一本色道无码不卡在线观看| 苍井空张开腿实干12次| 好紧好骚好诱人好软| 欧美成人国产精品视频| 性啪啪CHINESE东北女人| 24种男女插秧法| 国产精品美女久久久M| 蜜臀AV一区二区| 无套内谢少妇毛片免费看看 | 强奷漂亮雪白丰满少妇| 亚洲成AV人片在线观看无码不卡 | 精品国产污污免费网站| 日本VA欧美VA欧美VA精品| 亚洲精品中文字幕乱码三区| 成人三级A视频在线观看| 精品国产一区二区三区久久影院| 人妻巨大乳HD免费看| 亚洲人成网77777亚洲色| 成人全部免费的A毛片在线看| 久久久久久精品毛片A级蜜桃| 少妇搡BBBB搡| 18黑白丝水手服自慰喷水网站| 国产男男猛烈无遮挡A片小说| 欧美丰满美乳XXⅩ高潮www| 亚洲AV无码专区色爱天堂老鸭窝| 爱丫爱丫影院在线视频| 久久精品国产2020| 无码H肉动漫在线观看| CHINESE熟妇与小伙子MA| 精品人妻无码区二区三区密桃| 色欲色香天天天综合网WWW| 制服丝袜自拍另类第1页| 国产男男Gay做受×Xx男| 人妻少妇偷人精品无码| 一边做一边喷17P亚洲乱妇| 国产精品永久免费视频| 人妻在夫面前被性爆| 一本一道波多野结衣AV黑人| 国产乱亲BBBB| 日韩人妻无码精品-专区| 主人给我戴上奶牛榨乳器调教 | 日韩欧美精品有码在线| 中文字幕日产无码| 久久99国产乱子伦精品免费| 无码人妻久久久一区二区三区| 被公牛日到了高潮| 免费人成视频X8X8入口| 亚洲欧美日韩精品久久亚洲区| 国产极品粉嫩馒头一线天AV| 人妻系列无码专区无码中出| 中文日产幕无限码一区有限公司| 精东视频影视传媒制作| 无码专区人妻系列日韩精品少妇| 赤裸人妻撅起肥白大屁股| 欧美大片在线观看完整版| 夜夜爽8888免费视频| 狠狠躁夜夜躁人人躁婷婷| 无码日韩精品一区二区三区免费 | 久久精品国产免费播高清无卡| 无码无套少妇毛少18PXX| 国产99久久久国产精品成人小说 | 公交车后车座疯狂的做的细节 | 亚洲AV中文无码字幕色| 国产精东天美AV影业传媒| 日韩人妻精品无码一区二区三区 | 亲孑伦视频一区二区三区视频| 中国国产高清免费AV片| 久久久水蜜桃国产成人网站| 亚洲欧美日韩二三区在线| 极品丰满熟妇人妻无码| 亚洲AV涩涩涩成人网站在线播放| 国产精品无码久久综合| 少妇久久久被弄到高潮| 成熟丰满熟妇强av无码区| 人善交VIDE欧美| 被两个男人按住吃奶好爽| 欧美性猛交XXXX乱大交蜜桃| ASS黑森林PIC| 欧美成人精品三级网站下载| 91人妻人人爽人人狠狠| 女儿的朋友5中汉字晋通话| 中文字幕欧美人妻精品一区| 美美女高清毛片视频免费观看| 在线永久无码不卡AV| 美女床上喷水在线观看| 13小男生GAY自慰脱裤子| 妺妺窝人体色WWW在线图片 | 拧花蒂尿用力按凸起喷水尿AV| 中文字幕乱偷无码AV先锋蜜桃 | 99精品视频九九精品视频| 欧美成人伊人久久综合网| 99无码精品二区在线视频| 欧美精品一区二区三区在线| XXXXXOK日本护士高潮| 日本公妇在线观看中文版| 成人亚洲性情网站WWW在线观看| 日本乱偷人妻中文字幕久久| 成人免费无码H在线观看不卡| 色哟哟网站在线观看入口| 国产高清自产拍AV在线| 亚洲AV成人无码www在线观看| 狠狠色丁香婷婷久久综合| 亚洲国产制服丝袜先锋| 久久精品无码午夜福利理论片| 伊人久久大香线焦AV色| 女人私密紧致手术视频| 锕锕锕锕锕锕好多水APP网站| 色狠狠久久AV五月综合| 国产精品乱码一区二区三| 亚洲AV无码成H在线观看| 精品无人区麻豆乱码1区2| 在线播放韩国A级无码片| 欧美精产国品一二三类产品| 粗大的内捧猛烈进出无码| 五月综合激情婷婷六月色窝| 精品国产乱码久久久久久蜜桃网站| 夜夜高潮夜夜爽高清完整版1| 妺妺窝人体色WWW看人体| 成人欧美日韩一区二区三区 | 日韩精品免费无码专区| 国产精品久久久久久久久鸭无码| 亚洲国产精品久久久天堂不卡海量| 久久亚洲AV无码精品色午夜麻| CHINESE猛攻打桩大学生| 射精情感曰妓女色视频| 国外B站推广网站| 中文日产幕无限码一区有限公司 | 毛片无码免费无码播放| 被陌生人在地铁揉到高潮| 无码人妻AⅤ一区二区三区| 娇小萝被两个黑人用半米长| 中文字幕,久热精品,视频在线| 日韩精品人妻系列无码专区免费| 国产精品亚洲А∨天堂2018| 亚洲熟妇无码久久精品| 欧美性XXXX极品少妇| 国产精品爽爽ⅤA在线观看| 亚洲一区精品无码色成人| 强行暴力肉体进入HDⅩXXX| 国产精品一国产AV麻豆| 一区二区三区国产精华护肤品 | 亚洲狠狠婷婷综合久久久久图片| 男女性高爱潮免费网站| 国产白浆喷水在线视频| 亚洲日产精品一二三四区| 人妻AV中文字幕久久| 国精产品一区二区三区糖心| 19禁在线观看漫画视频| 天码AV无码一区二区三区四区| 精品亚洲国产成人蜜臀AV| 阿姨呀咿呀啊咿呀咿呀| 亚洲AV激情高潮抽搐乱色| 男女一起差差差差差| 国产精品美女被操| 在线精品亚洲一区二区| 四虎免费影院1515WWW| 久久偷看各类WC女厕嘘嘘| 粉嫩小泬无遮挡久久久久久小说| 亚洲熟妇AV乱码在线观看| 日本无人区码卡3卡4卡区别| 精品人妻一区二区三区四区九九| 菠萝蜜视频网在线WWW| 亚洲精品中文字幕久久久久| 日韩免费无码成人久久久久久片 |