OS什么的最稀飯了

1. 進(jìn)程和線程的區(qū)別

進(jìn)程和線程都是一個(gè)時(shí)間段的描述馍佑,是CPU工作時(shí)間段的描述酒甸,不過是顆粒大小不同堆巧。
在CPU看來所有的任務(wù)都是一個(gè)一個(gè)的輪流執(zhí)行的礁叔,具體的輪流方法就是:先加載程序A的上下文牍颈,然后開始執(zhí)行A,保存程序A的上下文琅关,調(diào)入下一個(gè)要執(zhí)行的程序B的程序上下文颂砸,然后開始執(zhí)行B,保存程序B的上下文。。人乓。勤篮。
進(jìn)程就是包換上下文切換的程序執(zhí)行時(shí)間總和 = CPU加載上下文+CPU執(zhí)行+CPU保存上下文(敲黑板??)
程序A得到CPU =》CPU加載上下文,開始執(zhí)行程序A的a小段色罚,然后執(zhí)行A的b小段碰缔,然后再執(zhí)行A的c小段,最后CPU保存A的上下文戳护。
這里的a金抡,b,c就是線程腌且,也就是說線程是共享了進(jìn)程的上下文環(huán)境梗肝,的更為細(xì)小的CPU時(shí)間段。(敲黑板??)

2. 死鎖的必要條件铺董,怎么處理死鎖

死鎖的必要條件:
(1) 互斥條件巫击。即某個(gè)資源在一段時(shí)間內(nèi)只能由一個(gè)進(jìn)程占有,不能同時(shí)被兩個(gè)或兩個(gè)以上的進(jìn)程占有精续。這種獨(dú)占資源如CD-ROM驅(qū)動(dòng)器坝锰,打印機(jī)等等,必須在占有該資源的進(jìn)程主動(dòng)釋放它之后重付,其它進(jìn)程才能占有該資源顷级。這是由資源本身的屬性所決定的。如獨(dú)木橋就是一種獨(dú)占資源确垫,兩方的人不能同時(shí)過橋弓颈。
(2) 不可搶占條件。進(jìn)程所獲得的資源在未使用完畢之前删掀,資源申請(qǐng)者不能強(qiáng)行地從資源占有者手中奪取資源翔冀,而只能由該資源的占有者進(jìn)程自行釋放。如過獨(dú)木橋的人不能強(qiáng)迫對(duì)方后退爬迟,也不能非法地將對(duì)方推下橋橘蜜,必須是橋上的人自己過橋后空出橋面(即主動(dòng)釋放占有資源),對(duì)方的人才能過橋付呕。
(3) 占有且申請(qǐng)條件计福。進(jìn)程至少已經(jīng)占有一個(gè)資源,但又申請(qǐng)新的資源徽职;由于該資源已被另外進(jìn)程占有象颖,此時(shí)該進(jìn)程阻塞;但是姆钉,它在等待新資源之時(shí)说订,仍繼續(xù)占用已占有的資源抄瓦。還以過獨(dú)木橋?yàn)槔滓覂扇嗽跇蛏舷嘤鎏绽洹<鬃哌^一段橋面(即占有了一些資源)钙姊,還需要走其余的橋面(申請(qǐng)新的資源),但那部分橋面被乙占有(乙走過一段橋面)埂伦。甲過不去煞额,前進(jìn)不能,又不后退沾谜;乙也處于同樣的狀況膊毁。
(4) 循環(huán)等待條件。存在一個(gè)進(jìn)程等待序列{P1基跑,P2婚温,...,Pn}媳否,其中P1等待P2所占有的某一資源栅螟,P2等待P3所占有的某一源,......逆日,而Pn等待P1所占有的的某一資源嵌巷,形成一個(gè)進(jìn)程循環(huán)等待環(huán)萄凤。就像前面的過獨(dú)木橋問題室抽,甲等待乙占有的橋面,而乙又等待甲占有的橋面靡努,從而彼此循環(huán)等待坪圾。

一般地,解決死鎖的方法分為死鎖的預(yù)防惑朦,避免兽泄,檢測(cè)與恢復(fù)三種(注意:死鎖的檢測(cè)與恢復(fù)是一個(gè)方法)。
(1) 死鎖的預(yù)防是保證系統(tǒng)不進(jìn)入死鎖狀態(tài)的一種策略漾月。它的基本思想是要求進(jìn)程申請(qǐng)資源時(shí)遵循某種協(xié)議病梢,從而打破產(chǎn)生死鎖的四個(gè)必要條件中的一個(gè)或幾個(gè),保證系統(tǒng)不會(huì)進(jìn)入死鎖狀態(tài)梁肿。
(2) 在資源分配過程中若預(yù)測(cè)有發(fā)生死鎖的可能性蜓陌,則加以避免。
安全序列吩蔑、銀行家算法
(3) 在實(shí)際的操作系統(tǒng)中往往采用死鎖的檢測(cè)與恢復(fù)方法來排除死鎖钮热。
具體見http://blog.csdn.net/abigale1011/article/details/6450845/??

3. Window內(nèi)存管理方式:段存儲(chǔ),頁存儲(chǔ)烛芬,段頁存儲(chǔ)

頁式存儲(chǔ)地址變換原理及步驟

請(qǐng)看上圖隧期,給出邏輯地址的頁號(hào)和頁內(nèi)地址飒责,開始進(jìn)行地址變換:
(1) 在被調(diào)進(jìn)程的PCB中取出頁表始址和頁表大小,裝入頁表寄存器
(2) 頁號(hào)與頁表寄存器的頁表長(zhǎng)度比較仆潮,若頁號(hào)大于等于頁表長(zhǎng)度宏蛉,發(fā)生地址越界中斷,停止調(diào)用性置,否則繼續(xù)
(3) 由頁號(hào)結(jié)合頁表始址求出塊號(hào)
(4) 塊號(hào)&頁內(nèi)地址檐晕,即得物理地址

段式存儲(chǔ)地址變換原理及步驟

請(qǐng)看上圖,給出邏輯地址的段號(hào)和段內(nèi)地址蚌讼,開始進(jìn)行地址變換:
(1) 在被調(diào)進(jìn)程的PCB中取出段表始址和段表長(zhǎng)度辟灰,裝入控制寄存器
(2) 段號(hào)與控制寄存器的頁表長(zhǎng)度比較,若頁號(hào)大于等于段表長(zhǎng)度篡石,發(fā)生地址越界中斷停止調(diào)用芥喇,否則繼續(xù)
(3) 由段號(hào)結(jié)合段表始址求出基址
(4) 基址+段內(nèi)地址,即得物理地址

分頁和分段的主要區(qū)別
頁式存儲(chǔ)地址變換原理及步驟

請(qǐng)看上圖凰萨,給出邏輯地址的段號(hào)继控、頁號(hào)、頁內(nèi)地址胖眷,開始進(jìn)行地址變換:
(1) 在被調(diào)進(jìn)程的PCB中取出段表始址和段表長(zhǎng)度武通,裝入段表寄存器
(2) 段號(hào)與控制寄存器的頁表長(zhǎng)度比較,若頁號(hào)大于等于段表長(zhǎng)度珊搀,發(fā)生地址越界中斷冶忱,停止調(diào)用,否則繼續(xù)
(3) 由段號(hào)結(jié)合段表始址求出頁表始址和頁表大小
(4) 頁號(hào)與段表的頁表大小比較境析,若頁號(hào)大于等于頁表大小囚枪,發(fā)生地址越界中斷,停止調(diào)用劳淆,否則繼續(xù)
(5) 由頁表始址結(jié)合段內(nèi)頁號(hào)求出存儲(chǔ)塊號(hào)
(6) 存儲(chǔ)塊號(hào)&頁內(nèi)地址链沼,即得物理地址

在頁式、段式存儲(chǔ)管理中沛鸵,為獲得一條指令或數(shù)據(jù)括勺,須兩次訪問內(nèi)存;
而段頁式則須三次訪問內(nèi)存
還有三種方式都是離散分配(即將一個(gè)進(jìn)程直接分散地裝入到許多不相鄰的內(nèi)存分區(qū)中)

4. 進(jìn)程的幾種狀態(tài)

(1) 創(chuàng)建狀態(tài):進(jìn)程在創(chuàng)建時(shí)需要申請(qǐng)一個(gè)空白PCB(進(jìn)程管理塊)曲掰,向其中填寫控制和管理進(jìn)程的信息疾捍,完成資源分配。如果創(chuàng)建工作無法完成蜈缤,比如資源無法滿足拾氓,就無法被調(diào)度運(yùn)行,把此時(shí)進(jìn)程所處狀態(tài)稱為創(chuàng)建狀態(tài)
(2) 就緒狀態(tài):進(jìn)程已經(jīng)準(zhǔn)備好底哥,已分配到所需資源咙鞍,只要分配到CPU就能夠立即運(yùn)行房官,如果進(jìn)程運(yùn)行時(shí)間片使用完也會(huì)進(jìn)入就緒狀態(tài)
(3) 執(zhí)行狀態(tài):進(jìn)程處于就緒狀態(tài)被調(diào)度后,進(jìn)程進(jìn)入執(zhí)行狀態(tài)
(4) 阻塞狀態(tài):正在執(zhí)行的進(jìn)程由于某些事件(I/O請(qǐng)求续滋,申請(qǐng)緩存區(qū)失敽彩亍)而暫時(shí)無法運(yùn)行,進(jìn)程受到阻塞疲酌。在滿足請(qǐng)求時(shí)進(jìn)入就緒狀態(tài)等待系統(tǒng)調(diào)用
(5) 終止?fàn)顟B(tài):進(jìn)程結(jié)束蜡峰,或出現(xiàn)錯(cuò)誤,或被系統(tǒng)終止朗恳,進(jìn)入終止?fàn)顟B(tài)湿颅。無法再執(zhí)行

5. IPC(進(jìn)程間的通訊)幾種通信方式

為什么要進(jìn)行進(jìn)程間的通訊
(1) 數(shù)據(jù)傳輸:一個(gè)進(jìn)程需要將它的數(shù)據(jù)發(fā)送給另一個(gè)進(jìn)程,發(fā)送的數(shù)據(jù)量在一個(gè)字節(jié)到幾M字節(jié)之間
(2) 數(shù)據(jù)共享:多個(gè)進(jìn)程想要操作共享數(shù)據(jù)粥诫,一個(gè)進(jìn)程對(duì)共享數(shù)據(jù)的修改油航,別的進(jìn)程應(yīng)該立刻看到。
(3) 事件通知:一個(gè)進(jìn)程需要向另一個(gè)或一組進(jìn)程發(fā)送消息怀浆,通知它(它們)發(fā)生了某種事件(如進(jìn)程終止時(shí)要通知父進(jìn)程)谊囚。
(4) 資源共享:多個(gè)進(jìn)程之間共享同樣的資源。為了作到這一點(diǎn)执赡,需要內(nèi)核提供鎖和同步機(jī)制镰踏。
(5) 進(jìn)程控制:有些進(jìn)程希望完全控制另一個(gè)進(jìn)程的執(zhí)行(如Debug進(jìn)程),此時(shí)控制進(jìn)程希望能夠攔截另一個(gè)進(jìn)程的所有陷入和異常沙合,并能夠及時(shí)知道它的狀態(tài)改變奠伪。

linux常用的進(jìn)程間的通訊方式
(1) 管道(pipe):管道可用于具有親緣關(guān)系的進(jìn)程間的通信,是一種半雙工的方式灌诅,數(shù)據(jù)只能單向流動(dòng)芳来,允許一個(gè)進(jìn)程和另一個(gè)與它有共同祖先的進(jìn)程之間進(jìn)行通信含末。
(2) 命名管道(named pipe):命名管道克服了管道沒有名字的限制猜拾,同時(shí)除了具有管道的功能外(也是半雙工),它還允許無親緣關(guān)系進(jìn)程間的通信佣盒。命名管道在文件系統(tǒng)中有對(duì)應(yīng)的文件名挎袜。命名管道通過命令mkfifo或系統(tǒng)調(diào)用mkfifo來創(chuàng)建。
(3) 信號(hào)(signal):信號(hào)是比較復(fù)雜的通信方式肥惭,用于通知接收進(jìn)程有某種事件發(fā)生了盯仪,除了進(jìn)程間通信外,進(jìn)程還可以發(fā)送信號(hào)給進(jìn)程本身蜜葱;linux除了支持Unix早期信號(hào)語義函數(shù)sigal外全景,還支持語義符合Posix.1標(biāo)準(zhǔn)的信號(hào)函數(shù)sigaction(實(shí)際上,該函數(shù)是基于BSD的牵囤,BSD為了實(shí)現(xiàn)可靠信號(hào)機(jī)制爸黄,又能夠統(tǒng)一對(duì)外接口滞伟,用sigaction函數(shù)重新實(shí)現(xiàn)了signal函數(shù))。
(4) 消息隊(duì)列:消息隊(duì)列是消息的鏈接表炕贵,包括Posix消息隊(duì)列system V消息隊(duì)列梆奈。有足夠權(quán)限的進(jìn)程可以向隊(duì)列中添加消息,被賦予讀權(quán)限的進(jìn)程則可以讀走隊(duì)列中的消息称开。消息隊(duì)列克服了信號(hào)承載信息量少亩钟,管道只能承載無格式字節(jié)流以及緩沖區(qū)大小受限等缺
(5) 共享內(nèi)存:使得多個(gè)進(jìn)程可以訪問同一塊內(nèi)存空間,是最快的可用IPC形式鳖轰。是針對(duì)其他通信機(jī)制運(yùn)行效率較低而設(shè)計(jì)的清酥。往往與其它通信機(jī)制,如信號(hào)量結(jié)合使用蕴侣,來達(dá)到進(jìn)程間的同步及互斥总处。
(6) 內(nèi)存映射:內(nèi)存映射允許任何多個(gè)進(jìn)程間通信,每一個(gè)使用該機(jī)制的進(jìn)程通過把一個(gè)共享的文件映射到自己的進(jìn)程地址空間來實(shí)現(xiàn)它睛蛛。
(7) 信號(hào)量(semaphore):主要作為進(jìn)程間以及同一進(jìn)程不同線程之間的同步手段鹦马。
(8) 套接字(Socket):更為一般的進(jìn)程間通信機(jī)制,可用于不同機(jī)器之間的進(jìn)程間通信忆肾。起初是由Unix系統(tǒng)的BSD分支開發(fā)出來的荸频,但現(xiàn)在一般可以移植到其它類Unix系統(tǒng)上:Linux和System V的變種都支持套接字。

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

虛擬內(nèi)存是計(jì)算機(jī)系統(tǒng)內(nèi)存管理的一種技術(shù)客冈,它使得應(yīng)用程序認(rèn)為它擁有一個(gè)連續(xù)完整的地址空間旭从,虛擬內(nèi)存不只是“用磁盤空間來擴(kuò)展物理內(nèi)存”的意思。
具體見http://blog.csdn.net/guoweimelon/article/details/50849710

7. 虛擬地址场仲、邏輯地址和悦、線性地址、物理地址的區(qū)別

不明覺厲??https://www.zhihu.com/question/29918252/answer/163114415

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末渠缕,一起剝皮案震驚了整個(gè)濱河市鸽素,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌亦鳞,老刑警劉巖馍忽,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異燕差,居然都是意外死亡遭笋,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門徒探,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瓦呼,“玉大人,你說我怎么就攤上這事测暗⊙氪” “怎么了谎替?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)蹋辅。 經(jīng)常有香客問我钱贯,道長(zhǎng),這世上最難降的妖魔是什么侦另? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任秩命,我火速辦了婚禮,結(jié)果婚禮上褒傅,老公的妹妹穿的比我還像新娘弃锐。我一直安慰自己,他們只是感情好殿托,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布霹菊。 她就那樣靜靜地躺著,像睡著了一般支竹。 火紅的嫁衣襯著肌膚如雪旋廷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天礼搁,我揣著相機(jī)與錄音饶碘,去河邊找鬼。 笑死馒吴,一個(gè)胖子當(dāng)著我的面吹牛扎运,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播饮戳,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼豪治,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了扯罐?” 一聲冷哼從身側(cè)響起负拟,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎篮赢,沒想到半個(gè)月后齿椅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡启泣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了示辈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寥茫。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖矾麻,靈堂內(nèi)的尸體忽然破棺而出纱耻,到底是詐尸還是另有隱情芭梯,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布弄喘,位于F島的核電站玖喘,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蘑志。R本人自食惡果不足惜累奈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望急但。 院中可真熱鬧澎媒,春花似錦、人聲如沸波桩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽镐躲。三九已至储玫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間萤皂,已是汗流浹背缘缚。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留敌蚜,地道東北人桥滨。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像弛车,于是被迫代替她去往敵國和親齐媒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

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