進程

1. 假設(shè)物理機內(nèi)存大小為8GB,我現(xiàn)在系統(tǒng)剩余可用內(nèi)存4GB。申請一個連續(xù)4GB的空間為什么一定能夠申請成功座韵?有沒有可能物理內(nèi)存中根本沒有連續(xù)可用的4GB空間介陶?
有可能堤舒。虛擬內(nèi)存,將物理內(nèi)存中的內(nèi)存碎片映射到一個連續(xù)完整的地址空間哺呜。

2. 兩個進程里有指向同樣地址的指針舌缤,對他們求值會不會得到同樣的值?什么情況下可以得到同樣的值某残,什么情況下不可以国撵?
指針指向的是虛擬地址。不同進程的虛擬地址沒有相關(guān)性玻墅。
頁表由系統(tǒng)生成介牙,決定映射關(guān)系。
公用內(nèi)存的情況:用戶主動申請共享內(nèi)存澳厢,用于進程通信环础;兩個進程使用相同的動態(tài)鏈接庫

3. 兩個進程同時運行在一臺物理機上,一個進程能否訪問另一個進程的變量赏酥?通常情況是能還是不能喳整,為什么?如果能裸扶,通過什么方法框都?
不能,進程之前是相互隔離的。
如果要訪問另一個進程的變量魏保,可以通過進程間的通信實現(xiàn)熬尺。
常用的進程間通信有socket,共享內(nèi)存谓罗,消息隊列等粱哼。

4. 很多程序都共享大量的動態(tài)鏈接庫,比如基礎(chǔ)的數(shù)學(xué)庫檩咱,glibc等揭措,啟動多個進程的時候,這些庫占用系統(tǒng)內(nèi)存嗎刻蚯?是啟動一個進程這些庫也要多使用一份內(nèi)存嗎绊含?為什么?
在編譯的時候炊汹,將動態(tài)鏈接庫編譯進去之后躬充,在elf文件中為留下該動態(tài)鏈接庫的依賴關(guān)系。在程序的啟動的時候讨便,linux也只是為其分配一段線性空間充甚,但不分配具體內(nèi)存,當(dāng)具體使用的時候霸褒,才分配物理內(nèi)存伴找。
如果不同進程使用相同的ddl,操作系統(tǒng)會把dll映射到相同的內(nèi)存傲霸。

5. 當(dāng)使用交換文件的時候疆瑰,進程可用的內(nèi)存也許比物理內(nèi)存更大眉反,因為有些數(shù)據(jù)可以被交換到磁盤上昙啄。那么此時,用戶的程序需要自行讀取物理磁盤嗎寸五?這個技術(shù)是怎么實現(xiàn)的梳凛?
在交換文件的時候,cpu會在頁表上做標(biāo)記已移到磁盤梳杏,在cpu訪問頁表時發(fā)現(xiàn)標(biāo)記韧拒,會請求CPU把數(shù)據(jù)移到內(nèi)存。
分頁:等間隔十性,連續(xù)的

6. 我們知道叛溢,在單核處理器上,多個程序可以并發(fā)(多個進程交替運行)劲适,那么一個程序如何交出對CPU的控制權(quán)楷掉?
時間片用盡時,進程交出CPU的控制權(quán)霞势。
進程自己調(diào)用一個系統(tǒng)調(diào)用烹植。
CPU中斷。

一個進程在運行純數(shù)學(xué)計算的時候,操作系統(tǒng)在做什么创南?
什么都不做

有些操作系統(tǒng)能夠保證一個進程一次至多連續(xù)占用50msCPU赃梧,操作系統(tǒng)是如何做到的?為什么能防止進程持續(xù)運行下去而其他進程無法運行墩虹?
時間片輪轉(zhuǎn)算法嘱巾。
所有就緒進程被放在隊列里,每個進程被分配一個時間片诫钓。如果在時間片用盡時進程還在運行浓冒,則CPU將被剝奪并分配給另一個進程。如果在時間片未用盡但進程已經(jīng)結(jié)束尖坤,則CPU立刻分給下一個進程稳懒。
每個進程用完時間片或者結(jié)束后,被移至隊尾慢味。
時間片太短會導(dǎo)致過多進程切換场梆,降低CPU效率,太長會影響短的交互請求的響應(yīng)速度纯路。一般為50-100ms或油。

7. 一個線程能不能在兩個核心上運行?能不能用計算充分利用(占滿)處理器的兩個核心驰唬?為什么顶岸?
可以交替的用兩個核心。
不可以叫编。因為線程是CPU調(diào)度的基本單位辖佣。多個線程可以分別運行在不同的核心上。

8. 為什么要使用多線程搓逾?使用多進程和多線程的區(qū)別在于什么卷谈?各有什么優(yōu)點?多線程解決了多進程的什么問題霞篡?
好處:減少IO延遲和利用多核提高效率
多進程涉及到內(nèi)存世蔗、CPU及其他資源的切換,開銷比線程切換大朗兵。
進程間的通信比線程通信復(fù)雜污淋。
但進程的隔離性好,各進程間相互獨立余掖,一個進程出問題不會影響另一個進程寸爆,但線程共享資源,一個線程出問題很可能影響其他線程。并且多線程的設(shè)計更復(fù)雜而昨,錯誤更難復(fù)現(xiàn)救氯。
共用數(shù)據(jù)內(nèi)存。

9. 為什么線程切換有開銷歌憨,這個開銷是什么着憨?
上下文切換。比如A線程切換到B線程务嫡,需要進行的操作有:保存線程A的執(zhí)行現(xiàn)場(寄存器)甲抖,然后再載入B線程的執(zhí)行現(xiàn)場。這個開銷并不小心铃。
上下文切換開銷可以分為:
a. 直接開銷:CPU完成切換所用的時間(保存准谚,恢復(fù)寄存器,切換地址空間)
b. 間接開銷:高速緩存去扣,緩沖區(qū)緩存柱衔,TLB(translation lookup buffer)失效

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市愉棱,隨后出現(xiàn)的幾起案子唆铐,更是在濱河造成了極大的恐慌,老刑警劉巖奔滑,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件艾岂,死亡現(xiàn)場離奇詭異,居然都是意外死亡朋其,警方通過查閱死者的電腦和手機王浴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梅猿,“玉大人氓辣,你說我怎么就攤上這事×C唬” “怎么了筛婉?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵簇爆,是天一觀的道長癞松。 經(jīng)常有香客問我,道長入蛆,這世上最難降的妖魔是什么响蓉? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮哨毁,結(jié)果婚禮上枫甲,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好想幻,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布粱栖。 她就那樣靜靜地躺著,像睡著了一般脏毯。 火紅的嫁衣襯著肌膚如雪闹究。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天食店,我揣著相機與錄音渣淤,去河邊找鬼。 笑死吉嫩,一個胖子當(dāng)著我的面吹牛价认,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播自娩,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼用踩,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了忙迁?” 一聲冷哼從身側(cè)響起捶箱,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎动漾,沒想到半個月后丁屎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡旱眯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年晨川,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片删豺。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡共虑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出呀页,到底是詐尸還是另有隱情妈拌,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布蓬蝶,位于F島的核電站尘分,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏丸氛。R本人自食惡果不足惜培愁,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望缓窜。 院中可真熱鬧定续,春花似錦谍咆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至倡鲸,卻和暖如春港粱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背旦签。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工查坪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宁炫。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓偿曙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親羔巢。 傳聞我的和親對象是個殘疾皇子望忆,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

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

  • 1.內(nèi)存的頁面置換算法 (1)最佳置換算法(OPT)(理想置換算法):從主存中移出永遠(yuǎn)不再需要的頁面幽钢;如無這樣的...
    杰倫哎呦哎呦閱讀 3,227評論 1 9
  • 又來到了一個老生常談的問題歉备,應(yīng)用層軟件開發(fā)的程序員要不要了解和深入學(xué)習(xí)操作系統(tǒng)呢? 今天就這個問題開始匪燕,來談?wù)劜?..
    tangsl閱讀 4,088評論 0 23
  • 操作系統(tǒng)概論 操作系統(tǒng)的概念 操作系統(tǒng)是指控制和管理計算機的軟硬件資源蕾羊,并合理的組織調(diào)度計算機的工作和資源的分配,...
    野狗子嗷嗷嗷閱讀 11,891評論 3 34
  • 一 他是你高中時的兄弟,她是你十幾年的閨蜜尼变。 你們高中畢業(yè)后去了不同的城市利凑,見到了不同的人。 對世界的看法嫌术, 對未...
    閑話晚說閱讀 286評論 7 5
  • 三原則:圖原創(chuàng)哀澈,文原創(chuàng),詩原創(chuàng)蛉威。 是不是在最好的年紀(jì)遇見你 又有什么關(guān)系 愛情就是時光機 會帶我們穿越 到十八歲的...
    秋水飲馬閱讀 393評論 32 31