久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

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

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號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
中文字幕高清在线播放| 精品国产一级| 中文字幕日本一区二区| 性感美女一区二区在线观看| 美国欧美日韩国产在线播放| 日本电影久久久| 久久电影一区| 亚洲一区二区免费看| 卡一卡二国产精品| 91亚洲无吗| 97久久亚洲| 久久国产精品久久w女人spa| 精品1区2区3区4区| а√天堂中文在线资源8| 国产精品v一区二区三区| 日韩欧乱色一区二区三区在线| 丝袜诱惑制服诱惑色一区在线观看| 久久精品二区三区| 免费视频一区二区三区在线观看 | 激情欧美丁香| 99亚洲视频| 99热精品久久| 日韩精品成人在线观看| 女同性一区二区三区人了人一| 日韩精品1区2区3区| 日韩国产欧美| 日韩欧美一区免费| 成人国产精品| 亚洲欧洲一区| 国产主播一区| 精品日韩毛片| 欧美在线观看天堂一区二区三区| 蜜臀91精品一区二区三区| 色婷婷色综合| 国产免费播放一区二区| 成人美女视频| 免费在线观看一区| 久久99久久久精品欧美| 国产丝袜一区| 国产精品蜜月aⅴ在线| 日韩精品第一区| 视频二区不卡| 午夜久久tv| 欧美视频精品全部免费观看| 国产成人精品一区二区三区在线| 精品日韩一区| 色婷婷精品视频| 亚洲一区二区小说| 亚洲伊人影院| 国产欧美69| 日本不卡一区二区三区| 国产日韩精品视频一区二区三区| 国产激情久久| 韩国女主播一区二区三区| 久久久久中文| 樱桃成人精品视频在线播放| 免费视频最近日韩| 国产精品sm| 色在线中文字幕| 日韩一区二区三区精品| 91亚洲一区| 中文字幕日韩高清在线| 国产精品久久久久久模特| 国产综合色产| 美腿丝袜亚洲一区| 丁香婷婷久久| 亚洲狼人精品一区二区三区| 成人免费网站www网站高清| 国产另类在线| 一区二区电影在线观看| 国产精品亚洲四区在线观看| 韩国三级一区| 日本中文字幕不卡| 91精品国产成人观看| 亚洲三级网址| 成人在线视频免费看| 日韩va亚洲va欧美va久久| 日韩精品免费一区二区三区| 久久av一区| 一本大道色婷婷在线| 久久亚洲风情| 婷婷综合亚洲| 91成人精品| 精品一区免费| 欧美日韩国产综合网| 日韩天堂在线| 麻豆91在线播放| 国产精品久久久久久av公交车| 亚洲激情欧美| 精品国产乱码久久久久久樱花 | 亚洲制服一区| 蜜臀久久久久久久| 蜜臀精品一区二区三区在线观看| www在线观看黄色| 国产免费播放一区二区| 精品国产亚洲一区二区在线观看| 欧美激情91| 国产精品亚洲综合久久| 精品国产中文字幕第一页| 久久不见久久见国语| 国产欧美自拍一区| 日本亚洲不卡| 日韩精品五月天| 国产精品国产三级在线观看| 日韩中文字幕| 日韩av三区| 亚洲精品麻豆| 玖玖精品视频| 婷婷色综合网| 老司机精品在线| 亚洲精品小说| 欧美二三四区| 天堂а√在线最新版中文在线| 蜜桃久久久久久| 模特精品在线| 天堂久久av| 精品72久久久久中文字幕| 国产欧美日韩一区二区三区在线| 日韩精品1区2区3区| 国产成人精选| 欧美丰满日韩| 日韩高清不卡| 九九久久电影| 都市激情国产精品| 久久久久久色| 国产精品日韩久久久| 久久国产精品99国产| 日韩视频1区| 久久精品72免费观看| 久久这里只有精品一区二区| 国产成人精品一区二区免费看京| 国产亚洲一区二区手机在线观看| 五月激情久久| 日本午夜免费一区二区| 欧美激情福利| 亚洲香蕉网站| 亚欧成人精品| 国产一区二区三区亚洲| 久久亚洲电影| 日本精品不卡| 蜜臀av亚洲一区中文字幕| 国产三级精品三级在线观看国产| 久久天堂影院| 国产一区二区精品| 国产香蕉精品| 国产一区二区三区亚洲综合| 99久久久久| 国产精品亚洲欧美| 五月天久久777| 婷婷亚洲五月色综合| 日本精品一区二区三区在线观看视频| 久久免费影院| 日韩精品一区二区三区中文| 久久久久欧美精品| 综合一区在线| 99亚洲视频| 日韩国产精品久久久| 私拍精品福利视频在线一区| 婷婷五月色综合香五月| 99久久夜色精品国产亚洲狼 | 日韩精品亚洲aⅴ在线影院| 久久精品国产网站| 日韩国产在线一| 欧美日韩一区二区三区在线电影| 高清日韩中文字幕| 日韩精品一区二区三区av | 国产亚洲综合精品| 午夜久久黄色| 福利一区在线| 蜜桃免费网站一区二区三区| 欧美一级网址| 国内精品99| 夜夜嗨一区二区| 一本大道色婷婷在线| 国产精品一区二区三区www| 久久人人88| 日本va欧美va精品发布| 亚洲婷婷在线| 久色成人在线| 精品一区二区三区中文字幕| 亚洲一区黄色| 亚洲综合另类| 久久精品国产68国产精品亚洲| 日韩国产精品久久久| 日韩激情中文字幕| 国产一区2区| 亚洲伦乱视频| 三级在线观看一区二区| 午夜精品网站| 日韩视频二区| 最新亚洲国产| 美女在线视频一区| 国产精品一区二区精品| 麻豆国产欧美一区二区三区| 久热re这里精品视频在线6| 亚洲激精日韩激精欧美精品| 欧美日韩中出| 亚洲综合激情在线| 国产经典一区| 国产高清不卡|