關(guān)于進(jìn)程和線程---對比--切換開銷

問題

一 進(jìn)程和線程的對比

二 為什么進(jìn)程切換開銷大,線程切換開銷低呢?

......................................................................................................................................................


一 進(jìn)程和線程的對比

幾個(gè)方面對比:

  • 根本區(qū)別:進(jìn)程是操作系統(tǒng)資源分配的基本單位节榜,而線程是任務(wù)調(diào)度和執(zhí)行的基本單位
  • 開銷方面:每個(gè)進(jìn)程都有獨(dú)立的代碼和數(shù)據(jù)空間(程序上下文),程序之間的切換會(huì)有較大的開銷别智;線程可以看做輕量級的進(jìn)程宗苍,同一類線程共享代碼和數(shù)據(jù)空間,每個(gè)線程都有自己獨(dú)立的運(yùn)行棧和程序計(jì)數(shù)器(PC)薄榛,線程之間切換的開銷小讳窟。

  • 所處環(huán)境:操作系統(tǒng)中能同時(shí)運(yùn)行多個(gè)進(jìn)程(程序);而在同一個(gè)進(jìn)程中有多個(gè)線程同時(shí)執(zhí)行(通過CPU調(diào)度敞恋,在每個(gè)時(shí)間片中只有一個(gè)線程執(zhí)行)

  • 內(nèi)存分配:系統(tǒng)在運(yùn)行的時(shí)候會(huì)為每個(gè)進(jìn)程分配不同的內(nèi)存空間丽啡;而對線程而言,除了CPU外硬猫,系統(tǒng)不會(huì)為線程分配內(nèi)存(線程所使用的資源來自其所屬進(jìn)程的資源)补箍,線程組之間只能共享資源

  • 包含關(guān)系: 操作系統(tǒng)中的每一個(gè)進(jìn)程中都至少存在一個(gè)線程,一個(gè)進(jìn)程可擁有多個(gè)線程,一個(gè)線程只屬于一個(gè)進(jìn)程,線程也被稱為輕權(quán)進(jìn)程或者輕量級進(jìn)程.

二 為什么進(jìn)程切換開銷大,線程切換開銷低呢?

關(guān)鍵點(diǎn): \color{red}{虛擬內(nèi)存}

什么是虛擬內(nèi)存?

虛擬內(nèi)存是操作系統(tǒng)為每個(gè)進(jìn)程提供的一種抽象啸蜜,每個(gè)進(jìn)程都有屬于自己的馏予、私有的、地址連續(xù)的虛擬內(nèi)存盔性,當(dāng)然我們知道最終進(jìn)程的數(shù)據(jù)及代碼必然要放到物理內(nèi)存上霞丧,那么必須有某種機(jī)制能記住虛擬地址空間中的某個(gè)數(shù)據(jù)被放到了哪個(gè)物理內(nèi)存地址上,這就是所謂的地址空間映射冕香,也就是虛擬內(nèi)存地址與物理內(nèi)存地址的映射關(guān)系蛹尝,那么操作系統(tǒng)是如何記住這種映射關(guān)系的呢,答案是\color{red}{頁表,頁表中記錄了虛擬內(nèi)存地址到物理內(nèi)存地址的映射關(guān)系悉尾。}突那,有了頁表就可以將虛擬地址轉(zhuǎn)換為物理內(nèi)存地址了,這種機(jī)制就是虛擬內(nèi)存构眯。

每個(gè)進(jìn)程都有自己的虛擬地址空間愕难,進(jìn)程內(nèi)的所有線程共享進(jìn)程的虛擬地址空間

那么到底為什么進(jìn)程切換開銷大,線程切換開銷低呢

我們已經(jīng)知道了進(jìn)程都有自己的虛擬地址空間,把虛擬地址轉(zhuǎn)換為物理地址需要查找頁表猫缭,頁表查找是一個(gè)很慢的過程葱弟,因此通常使用\color{red}{Cache來緩存常用的地址映射,這樣可以加速頁表查找猜丹,這個(gè)cache就是TLB}芝加,我們不需要關(guān)心這個(gè)名字只需要知道TLB本質(zhì)上就是一個(gè)cache,是用來加速頁表查找的射窒。由于每個(gè)進(jìn)程都有自己的虛擬地址空間藏杖,那么顯然每個(gè)進(jìn)程都有自己的頁表,那么\color{red}{當(dāng)進(jìn)程切換后頁表也要進(jìn)行切換,頁表切換后TLB就失效了}脉顿,\color{red}{cache失效導(dǎo)致命中率降低蝌麸,那么虛擬地址轉(zhuǎn)換為物理地址就會(huì)變慢}表現(xiàn)出來的就是程序運(yùn)行會(huì)變慢艾疟,而線程切換則不會(huì)導(dǎo)致TLB失效祥楣,因?yàn)榫€程線程無需切換地址空間,因此我們通常說線程切換要比較進(jìn)程切換塊汉柒,原因就在這里误褪。

ps:

如果大家需要了解一下進(jìn)程,線程狀態(tài)轉(zhuǎn)換,信息的保存
這里大家要熟悉一下PCB進(jìn)程控制塊以及寄存器和計(jì)數(shù)器

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市碾褂,隨后出現(xiàn)的幾起案子兽间,更是在濱河造成了極大的恐慌,老刑警劉巖正塌,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嘀略,死亡現(xiàn)場離奇詭異,居然都是意外死亡乓诽,警方通過查閱死者的電腦和手機(jī)帜羊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鸠天,“玉大人讼育,你說我怎么就攤上這事〕砑” “怎么了奶段?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長剥纷。 經(jīng)常有香客問我痹籍,道長,這世上最難降的妖魔是什么晦鞋? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任蹲缠,我火速辦了婚禮棺克,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘线定。我一直安慰自己娜谊,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布渔肩。 她就那樣靜靜地躺著因俐,像睡著了一般拇惋。 火紅的嫁衣襯著肌膚如雪周偎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天撑帖,我揣著相機(jī)與錄音蓉坎,去河邊找鬼。 笑死胡嘿,一個(gè)胖子當(dāng)著我的面吹牛蛉艾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播衷敌,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼勿侯,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了缴罗?” 一聲冷哼從身側(cè)響起助琐,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎面氓,沒想到半個(gè)月后兵钮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡舌界,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年掘譬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呻拌。...
    茶點(diǎn)故事閱讀 40,675評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡葱轩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出藐握,到底是詐尸還是另有隱情酿箭,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布趾娃,位于F島的核電站缭嫡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏抬闷。R本人自食惡果不足惜妇蛀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一耕突、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧评架,春花似錦眷茁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至浙芙,卻和暖如春登刺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背嗡呼。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工纸俭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人南窗。 一個(gè)月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓揍很,卻偏偏與公主長得像,于是被迫代替她去往敵國和親万伤。 傳聞我的和親對象是個(gè)殘疾皇子窒悔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容