知識點總結2-操作系統(tǒng)


?1.死鎖是什么拂酣?什么情況下產(chǎn)生抡蛙?怎么解決茴肥?

死鎖條件

1.互斥:坑(資源)只能一個人蹲

2.請求與保持:申請去隔壁蹲坑肢娘,沒同意之前就先自己占著原來坑不動

3.不剝奪:我蹲著坑芭逝,鎖著門塌碌,沒人敢把我攆出去

4.循環(huán)等待:你等著占我的坑,我等著占別人的坑旬盯,而自己都先占著原來的坑不動

處理方法

1.預防:坡壞條件 請求保持(一次性把所有資源都申請了台妆,要么逐步釋放) 不剝奪(申請失敗就釋放) 循環(huán)等待(排隊優(yōu)先級)

2.避免:避免系統(tǒng)進入不安全狀態(tài)(不能滿足所有蹲坑者對順利蹲坑的要求)

安全序列:是指一個進程序列{P1,…胖翰,Pn}是安全的接剩,即對于每一個進程Pi(1≤i≤n),它以后尚需要的資源量不超過系統(tǒng)當前剩余資源量與所有進程Pj (j < i )當前占有資源量之和泡态。(我將來的需求可以滿足搂漠,要么直接有要么可以搶)

安全狀態(tài):如果存在一個由系統(tǒng)中所有進程構成的安全序列P1,…某弦,Pn桐汤,則系統(tǒng)處于安全狀態(tài)。安全狀態(tài)一定是沒有死鎖發(fā)生靶壮。

不安全狀態(tài):不存在一個安全序列怔毛。不安全狀態(tài)不一定導致死鎖。

銀行家算法涉及的數(shù)據(jù)結構:

可用資源向量Available腾降。Available[j]=k拣度;有j類型妹子k個;

最大需求矩陣Max螃壤。Max[n抗果,j]=k;小n對j類型妹子最多需要k個奸晴;

分配矩陣Allocation冤馏。Allocation[n,j]=k寄啼;小n已經(jīng)泡了j類型妹子k個逮光;

當前需求矩陣Need代箭。Need[n,j]=k涕刚;小n還需要泡j類型妹子幾個嗡综;

銀行家算法的偽算法:

設request是編號為x的進程的請求向量;如果request[j]=k杜漠,表示進程x對編號為j的資源請求量為k极景;

1.如果request[j]<=need[x,j]驾茴,轉(zhuǎn)向2戴陡;否則請求出錯,因為它申請的資源數(shù)量超過當前它需要的數(shù)量沟涨,認為這是一個失敗的請求;

2.如果request[j]<=Available[j]异吻,轉(zhuǎn)向3裹赴;否則表示系統(tǒng)當前沒有足夠的資源可以分配,x進程需要等待诀浪;

3.試著將編號為j的資源分配給進程x棋返,更新相關數(shù)據(jù)結構:

Available[j]=Available[j]-request[j];

Allocation[x,j]=Allocation[x,j]+request[j];

Need[x,j]=Need[x,j]-request[j];

4.進入安全性檢測程序(該程序試圖找到一個安全序列;如果找到雷猪,說明這次分配之后系統(tǒng)仍然是安全的睛竣,否則這次分配無效,因為系統(tǒng)進入了不安全狀態(tài))


3.檢測:通過資源圖求摇,了解資源的使用和請求情況

4.解除:搶占資源射沟,或者選擇代價最小的進行終止

2.線程進程區(qū)別

1.進程:就是運行著的程序,一個有獨立功能的程序段与境,被加載進內(nèi)存并準備執(zhí)行就是一個進程验夯。

2.線程:線程是進程的一個子集,執(zhí)行進程的一個任務摔刁,一個進程多個線程挥转,線程只屬于一個進程。

3.進程通信方式

1. 管道pipe:管道是一種半雙工的通信方式共屈,數(shù)據(jù)只能單向流動绑谣,而且只能在具有親緣關系的進程間使用。進程的親緣關系通常是指父子進程關系拗引。一端寫一端讀?只存在于內(nèi)存

2. 命名管道FIFO:有名管道也是半雙工的通信方式借宵,但是它允許無親緣關系進程間的通信? ?文件系統(tǒng)中

3.消息隊列:存放在內(nèi)核中。一個消息隊列由一個標識符(即隊列ID)來標識??

? ??獨立于發(fā)送與接收進程寺擂。進程終止時暇务,消息隊列及其內(nèi)容并不會被刪除泼掠。

????隨機查詢,消息不一定要以先進先出的次序讀取,也可以按消息的類型讀取

4.信號量(semaphore)與已經(jīng)介紹過的 IPC 結構不同,它是一個計數(shù)器垦细。信號量用于實現(xiàn)進程間的互斥與同步择镇,而不是用于存儲進程間通信數(shù)據(jù)。

5.共享內(nèi)存(Shared Memory)括改,指兩個或多個進程共享一個給定的存儲區(qū)腻豌。

1、特點

共享內(nèi)存是最快的一種 IPC嘱能,因為進程是直接對內(nèi)存進行存取吝梅。

因為多個進程可以同時操作,所以需要進行同步惹骂。

信號量+共享內(nèi)存通常結合在一起使用苏携,信號量用來同步對共享內(nèi)存的訪問。

4.線程通信方式


1.通過線程之間共享變量的方式

這個就有必要說下 wait(),notify(),以及notifyAll() 這三個方法

這三個方法都是屬于Object的方法对粪;所以所有類都可以繼承這三方法右冻;

wait()方法使得當前線程必須要等待,等到另外一個線程調(diào)用notify()或者notifyAll()方法著拭。

notify()方法會喚醒一個等待當前對象的鎖的線程(隨機)纱扭。而notifyAll()顧名思義;就是喚醒所有在等待中的方法儡遮;

wait()和notify()方法要求在調(diào)用時線程已經(jīng)獲得了對象的鎖乳蛾,因此對這兩個方法的調(diào)用需要放在synchronized方法或synchronized塊中。

有朋友可能會有疑問:為何這三個不是Thread類聲明中的方法鄙币,而是Object類中聲明的方法(當然由于Thread類繼承了Object類肃叶,所以Thread也可以調(diào)用者三個方法)?其實這個問題很簡單十嘿,由于每個對象都擁有monitor(即鎖)被环,所以讓當前線程等待某個對象的鎖,鎖是對象的筛欢,只有對象能釋放版姑,當然應該通過這個對象來操作了剥险。而不是用當前線程來操作表制,因為當前線程可能會等待多個線程的鎖娜遵,這么多個鎖设拟,wait釋放哪一個呢纳胧?如果通過線程來操作帘撰,就非常復雜了相赁。

2.同步

3.while輪詢

5.常用linux命令

6.作業(yè)調(diào)度

7.LRU算法

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末唤衫,一起剝皮案震驚了整個濱河市休里,隨后出現(xiàn)的幾起案子妙黍,更是在濱河造成了極大的恐慌拭嫁,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異肉康,居然都是意外死亡吼和,警方通過查閱死者的電腦和手機尤辱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門光督,熙熙樓的掌柜王于貴愁眉苦臉地迎上來结借,“玉大人船老,你說我怎么就攤上這事柳畔⌒胶” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我告私,道長驻粟,這世上最難降的妖魔是什么蜀撑? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己舷暮,他們只是感情好噩茄,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布下面。 她就那樣靜靜地躺著,像睡著了一般绩聘。 火紅的嫁衣襯著肌膚如雪沥割。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天君纫,我揣著相機與錄音,去河邊找鬼芹彬。 笑死蓄髓,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的舒帮。 我是一名探鬼主播会喝,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼玩郊!你這毒婦竟也來了肢执?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤译红,失蹤者是張志新(化名)和其女友劉穎预茄,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡耻陕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年拙徽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诗宣。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡膘怕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出召庞,到底是詐尸還是另有隱情岛心,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布篮灼,位于F島的核電站忘古,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏穿稳。R本人自食惡果不足惜存皂,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望逢艘。 院中可真熱鬧旦袋,春花似錦、人聲如沸它改。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽央拖。三九已至祭阀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鲜戒,已是汗流浹背专控。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留遏餐,地道東北人伦腐。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像失都,于是被迫代替她去往敵國和親柏蘑。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

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

  • 從三月份找實習到現(xiàn)在粹庞,面了一些公司咳焚,掛了不少,但最終還是拿到小米庞溜、百度革半、阿里、京東、新浪督惰、CVTE不傅、樂視家的研發(fā)崗...
    時芥藍閱讀 42,246評論 11 349
  • 在一個方法內(nèi)部定義的變量都存儲在棧中,當這個函數(shù)運行結束后赏胚,其對應的棧就會被回收访娶,此時,在其方法體中定義的變量將不...
    Y了個J閱讀 4,417評論 1 14
  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結構(3).初始化時...
    歐辰_OSR閱讀 29,383評論 8 265
  • 來到簡書觉阅,我想我可以看到更多文章崖疤。希望有一天可以成為一個腹有詩書氣自華的人
    安暖zj閱讀 157評論 0 0
  • 近年來劫哼,印度電影在中國的口碑和票房都不錯,既反應了印度存在的種種問題也給觀眾帶來了不一樣的體驗和感悟割笙。 今天要說的...
    慢慢游電影閱讀 959評論 3 5