成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院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號
夜夜爽8888免费视频| 影音先锋亚洲亚洲色图| 亚洲人成无码网站久久99热国产| 亚洲伊人五月丁香激情| 久久人人爽人人爽人人片AV高请| 精品一区二区三区东京热| 国产办公室沙发系列高清| 国产精品久久久久乳精品爆| 韩国三级HD中文字幕| 久久精品国产亚洲AV忘忧草18| 免费观看人成影片| 日本人妻和黑人又粗又长又黄 | 粗大黑人巨精大战欧美成人| 国产精品久久久久永久免费看 | 亚洲国产精品无码久久电影| 在线|国产精品女主播阳台| ZLJZLJZLJ日本人水多多| 又爽又黄又无遮挡的视频在线观看 | 中国老太卖婬HD播放| 八戒八戒在线高清观看视频4| 国产精品久久国产精品99盘| 禁止18点击进入在线看片尤物| 麻花豆传媒剧国产MV在线观看| 精品国产熟女成人AV| 狼人香蕉毛片AV高潮视频| 人妻波多野结衣爽到喷水| 欧美黑大粗无码免费视频| 免费看奶头视频的网站| 日产精品一二三区| 亚洲AⅤ爽爽香蕉久久影片| 亚洲AⅤ无码成人网站国产APP| 一本久久伊人热热精品中文| 超级YIN荡的公司聚会| 国产又爽又黄又刺激的视频| 免费啪啪全程无遮挡60分钟| 私人影院无在线码免费| 亚洲熟妇无码乱码AV电影| 办公室被吃奶好爽在线观看视频 | 久久久久 亚洲 无码 AV 专| 人妻少妇aB又紧又爽精品视频| 性欧美丰满熟妇XXXX性久久久| 中年人妻丰满AV无码久久不卡| 大香煮伊区一二三四区2021| 精品浪潮av一区二区三区| 漂亮人妻沦陷精油按摩| 亚洲AV无码一区二区三区性色 | 你看桌子上都是你流的| 无码熟妇人妻AV影音先锋| 中文无码久久精品| 国产精品福利一区二区| 麻花传媒剧国产MV入口在线观看| 天天躁日日躁狠狠躁AV| 无码一区二区三区中文字幕 | 亚洲AV六月丁香七月婷婷| 99久久99久久精品免费看蜜桃| 2021韩剧在线观看韩剧网| 国产成人一区二区三区视频免费| 老熟仑妇乱一区二区AV| 欧美黑人又大又粗XXXⅩ| 亚洲AV成人无码天堂| JAVAPARSER少妇高潮| 父母全家儿女大联欢第14集| 久久精品国产只有精品2020| 少妇人妻偷人精系列| 中文字幕被公侵犯的漂亮人妻| 国产精品日本一区二区在线播放 | 免费A级毛片无码无遮挡内射| 无码AV中文字幕久久AV| AV一本久道久久波多野结衣| 成人AV无码乱码在线观看无码| 国产高潮刺激叫喊视频| 女儿国免费观看完整版在线| 亚洲AV永久无码精品漫画| 从后面糟蹋成功视频| 美女与野兽在线观看| 日本少妇春药特殊按摩3| 亚洲自偷自拍另类小说| 国产精品色内内在线播放| 人妻AⅤ无码一区二区三区| 亚洲综合无码一区二区| 国产全肉乱妇杂乱视频| 日本三级欧美三级人妇视频| 中国熟妇色XXXXⅩ老妇| 国产在线孕妇孕交| 少妇被三个黑人调教| FREE性台湾娇小VIDEOS| 久久婷婷人人澡人人爽人人喊 | 人妻系列无码专区免费视频| 真实的国产乱XXXX在线| 娇妻借朋友高H繁交H| 无码国产孕妇一区二区免费AV| www.五月丁香| 免费看含羞草AV片成人网址| 亚洲精品自偷自拍无码| 国产沙发午睡系列999| 色欲丰满熟妇人妻AV无码| www.XXXXx.com日本| 蜜臀AV福利无码一二三| 亚洲色AV天天天天天天| 国精产品一区二区三区四区糖心| 他把胸罩撕了捏胸吃奶 | 日本人妻JAPANESEXXX| 9L国产精品久久久久麻豆| 林静公交车被做到高C| 亚洲日韩成人无码不卡| 黑人巨茎大战俄罗斯美女| 欧美老妇BBBWWBBBWW| 又大又粗的久久久精品少妇AV| 精产国品一二三产区别手机| 无码精品人妻一区二区三区免费看| 成熟丰满熟妇AV无码区| 人人爽人人爽人人片AV| W永久939W乳液78| 欧美日韩亚洲中文字幕二区| 696969C大但人文艺术作品| 成人午夜福利免费体验区| 双人床上做剧烈运动可以吗| JAPAN色系VIDEOS护士| 蜜臀亚洲AV无码精品国产午夜. | 儿子耕了母亲荒废的田清朝| 日本国产一区二区三区在线观看| AV潮喷大喷水系列无码| 欧美成人精品一区二区三区色欲 | 另类老妇性BBWBBW| 一面亲上边一面膜下边的免费| 久久久久久久精品无码AV少妇| 亚洲日韩精品无码专区网站 | 跪下吃他胯下的体育生H| 肉丝超薄丝袜交一区二区| 成人亚洲AV网站在线看AAAA| 日韩人妻无码精品无码中文字幕 | 日韩和的一区二区区别是什么| 波多野结衣的电影| 国产精品美女一区二区三区| 熟妇人妻中文字幕| 国产精品V欧美精品∨日韩| 无码人妻熟妇AV又粗又大| 啊灬啊灬啊灬快灬高潮了视频网站 | 男女啪啪高潮无遮挡免费| 99久久无码一区人妻| 欧美VIDEOSGRATIS杂| YEEZY380蜜桃粉和白色| 日韩成人无码AV| 国产AⅤ无码一区二区三区| 久久亚洲精品人成综合网 | JAPANESE中国丰满少妇| 人人爽人人澡人人高潮| 国产白丝护士AV在线网站| 小诗的公交车日记免费读| 韩国19禁床震无遮掩免费| 亚洲日韩乱码1区二区| 美女扒开尿口让男人桶| EEUSS影院鲁丝片A无码| 久久国产色AV免费观看| 又嫩又紧欧美12P| 欧美成人一区在线| 成人精品动漫一区二区| 无码高潮喷吹在线播放亚洲 | 亚洲AV无码一区二区乱子仑| 久久精品国产精品久久久| 中文字幕日本乱码仑区在线| 人妻[21p]大胆| 国产精品国产三级国产AV麻豆| 亚洲AV午夜福利精品一区二区| 久久精品A亚洲国产V高清不卡| 最新国产在线拍揄自揄视频| 久久99精品网久久| 18禁免费无码无遮挡不卡网站| 人C交Z〇○Z〇○ⅩⅩ| 国产福利一区二区精品秒拍| 亚洲精品V天堂中文字幕| 免费萌白酱国产一区二区三区 | 中国女人FREE性HD| 日本XXXⅩ色视频免费观看| 国产精品久久一区二区三区蜜桃| 亚洲精品无码久久久久久小说| 男女24式动态图| 国产JIZZJIZZ麻豆全部免| 亚洲精品AAA揭晓| 女神被啪进深处娇喘在线观看 | 熟女亚洲综合精品伊人久久| 黑人性狂欢在线播放| 99精品久久久久中文字幕| 蜜桃色欲AV久久无码精品软件| 波多野结衣高潮AV在线播放| 小雪尝禁果又粗又大的动态视频| 巨胸美乳无码人妻在线| 成人免费无码精品国产电影| 亚洲V欧美V日韩V国产V| 欧美xxxxx视频| 国产乱人伦偷精品视频免下载 | 成人A级毛片免费视频| 亚洲АV天堂手机版在线观看| 女人被爽到高潮视频免费国产| 国产成人无码一区二区三区在线| 亚洲一成人精品无码一区二区三区| 黑人又大又粗又硬XXXXX| AV人摸人人人澡人人超碰手机版| 玩小雪跪趴把腿分到最大影视| 看全色黄大色黄女片爽在线看|