操作系統(tǒng)快速入門筆記--2

(通過上次記筆記,我發(fā)現(xiàn)操作系統(tǒng)這門卡了我這么久的課果然還是要多記筆記多思考才能更好地理解呀储狭。
上學(xué)期因?yàn)檎n程太忙互婿,所以操作系統(tǒng)看到一半就終止了,希望這次能夠繼續(xù)堅(jiān)持下去辽狈,畢竟校招前留給我繼續(xù)夯實(shí)內(nèi)功的時(shí)間真的不多了4炔巍!
最近兩天由于各種事情刮萌,學(xué)習(xí)的進(jìn)度有點(diǎn)放緩驮配,代碼敲的有點(diǎn)少,還是希望自己能更好地利用好寒假寶貴的時(shí)間吧着茸,不然下學(xué)期又要在一堆專業(yè)課中無法自拔W扯汀!)
看不見看不見看不見涮阔,你們看不見我的內(nèi)心戲


內(nèi)核級(jí)多線程KLT (Kernel-Level Threads)

線程管理的工作由OS內(nèi)核來做猜绣。
OS提供了一個(gè)API供開發(fā)者使用KLT,OS也可以直接調(diào)度KLT敬特。

內(nèi)核級(jí)線程的特點(diǎn)

  1. 進(jìn)程中的一個(gè)線程被阻塞了掰邢,內(nèi)核能調(diào)度同一個(gè)進(jìn)程的其他線程占有處理器進(jìn)行。
  2. 多處理器環(huán)境中伟阔,內(nèi)核能同時(shí)調(diào)度同一個(gè)進(jìn)程中多個(gè)線程并行執(zhí)行
  3. 內(nèi)核自身也可用多線程技術(shù)實(shí)現(xiàn)辣之,能提高操作系統(tǒng)的執(zhí)行速度和效率
  4. 應(yīng)用程序在用戶態(tài)運(yùn)行,線程調(diào)度和管理在內(nèi)核態(tài)實(shí)現(xiàn)皱炉,同一進(jìn)程中怀估,控制權(quán)從一個(gè)線程傳送到另一個(gè)線程時(shí)需要模式切換,系統(tǒng)開銷大合搅。通信開銷是小的多搀。

用戶級(jí)線程ULT(User-Level Threads)

用戶空間運(yùn)行的線程庫,提供多線程應(yīng)用程序的開發(fā)和運(yùn)行的支撐環(huán)境灾部。
任何應(yīng)用程序均需通過線程庫進(jìn)行程序設(shè)計(jì)酗昼,再與線程庫連接后運(yùn)行。
線程管理的所有工作都由應(yīng)用程序完成梳猪,內(nèi)核沒有意識(shí)到線程的存在麻削。

用戶級(jí)線程的特點(diǎn)

  1. 所有線程管理數(shù)據(jù)結(jié)構(gòu)均在進(jìn)程的用戶空間中蒸痹,線程切換不需要內(nèi)核模式,能節(jié)省模式切換開銷和內(nèi)核資源
  2. 允許進(jìn)程按應(yīng)用特定需要選擇調(diào)度算法呛哟。
  3. 能運(yùn)行在任何OS上叠荠,內(nèi)核在支持ULT方面不需要任何工作
  4. 不能應(yīng)用多處理器的優(yōu)點(diǎn),OS調(diào)度進(jìn)程扫责,僅有一個(gè)ULT能執(zhí)行榛鼎。
  5. 一個(gè)ULT阻塞,將引起整個(gè)進(jìn)程的阻塞

Jacketing技術(shù)

把阻塞式系統(tǒng)調(diào)用改造成非阻塞式的
當(dāng)線程陷入系統(tǒng)調(diào)用時(shí)鳖孤,執(zhí)行Jackting程序者娱。
由jackting程序來檢查資源使用情況,已決定是否執(zhí)行進(jìn)程切換苏揣,或傳遞控制權(quán)給另一個(gè)線程黄鳍。

ULT 用于解決邏輯并行性問題
KLT 用于解決物理并行性問題

多線程實(shí)現(xiàn)的混合式策略

線程創(chuàng)建完全是在用戶空間做的。
單應(yīng)用的多個(gè)ULT可以映射成一些KLT平匈,通過調(diào)整KLT數(shù)目框沟,達(dá)到較好的并行效果。

特點(diǎn):

  1. 組合用戶級(jí)線程/內(nèi)核級(jí)線程設(shè)施
  2. 線程創(chuàng)建完全在用戶空間中完成增炭,線程的調(diào)度和同步也在應(yīng)用程序中進(jìn)行
  3. 一個(gè)應(yīng)用中的多個(gè)用戶級(jí)線程被映射到一些內(nèi)核級(jí)線程上
  4. 程序員可以針對(duì)特定應(yīng)用和機(jī)器調(diào)節(jié)內(nèi)核級(jí)線程的數(shù)目忍燥,以達(dá)到整體最佳效果
  5. 結(jié)合了純粹用戶級(jí)線程方法和內(nèi)核級(jí)線程方法的優(yōu)點(diǎn),同時(shí)減少他們的缺點(diǎn)

線程混合式策略下的線程狀態(tài)

多線程實(shí)現(xiàn)的各種策略.png

處理器調(diào)度的層次

高級(jí)調(diào)度:長(zhǎng)程調(diào)度隙姿,作業(yè)調(diào)度
決定能否加入到執(zhí)行的進(jìn)程池中

決定哪個(gè)可用進(jìn)程占用處理器執(zhí)行

中級(jí)調(diào)度:平衡負(fù)載調(diào)度
決定主存中的可用進(jìn)程集合

高級(jí)調(diào)度

分時(shí)OS中梅垄,高級(jí)調(diào)度決定

  1. 是否接受一個(gè)終端用戶的連接
  2. 命令能否被系統(tǒng)接納并構(gòu)成進(jìn)程
  3. 新建態(tài)進(jìn)程是否加入就緒進(jìn)程隊(duì)列

批處理OS中,高級(jí)調(diào)度又稱為作業(yè)調(diào)度输玷。
功能是按照某種原則從后備作業(yè)隊(duì)列中選取作業(yè)進(jìn)入主存队丝,并為作業(yè)做好運(yùn)行前的準(zhǔn)備工作和完成后的善后工作。

中級(jí)調(diào)度

為了提高內(nèi)存利用率和作業(yè)吞吐量而引入饲嗽。
中級(jí)調(diào)度決定那些進(jìn)程被允許駐留在主存中參與競(jìng)爭(zhēng)處理器及其他資源,起到短期調(diào)整系統(tǒng)負(fù)荷的作用奈嘿。

中級(jí)調(diào)度把一些進(jìn)程換出主存貌虾,從而使之進(jìn)入掛起狀態(tài),不參與進(jìn)程調(diào)度裙犹,以平順系統(tǒng)的負(fù)載尽狠。

低級(jí)調(diào)度

又稱處理器調(diào)度,進(jìn)程調(diào)度叶圃,短程調(diào)度袄膏。
按照某種原則把處理器分配給就緒態(tài)進(jìn)程或內(nèi)核級(jí)進(jìn)程。
進(jìn)程調(diào)度程序:又稱分派程序掺冠,操作系統(tǒng)中實(shí)現(xiàn)處理器調(diào)度的程序沉馆,是操作系統(tǒng)的最核心部分码党。

處理器調(diào)度策略的優(yōu)劣直接影響到整個(gè)系統(tǒng)的性能。

低級(jí)調(diào)度的主要功能

  1. 記住進(jìn)程或內(nèi)核級(jí)進(jìn)程的狀態(tài)
  2. 決定某個(gè)進(jìn)程或內(nèi)核級(jí)線程什么時(shí)候獲得處理器斥黑,以及占用多長(zhǎng)時(shí)間
  3. 把處理器分配給進(jìn)程或內(nèi)核級(jí)線程
  4. 收回處理器

選擇處理器調(diào)度算法的原則

  1. 資源利用率:使得CPU或其他資源的使用率盡可能高并且能夠并行工作揖盘。
  2. 響應(yīng)時(shí)間:使交互式用戶的響應(yīng)時(shí)間盡可能小,或盡快處理實(shí)時(shí)任務(wù)
  3. 周轉(zhuǎn)時(shí)間:提交給系統(tǒng)開始到執(zhí)行完成獲得結(jié)果為止的這段時(shí)間間隔稱周轉(zhuǎn)時(shí)間锌奴,應(yīng)該使周轉(zhuǎn)時(shí)間或平均周轉(zhuǎn)時(shí)間盡可能短
  4. 吞吐量:?jiǎn)挝粫r(shí)間處理的進(jìn)程數(shù)盡可能多
  5. 公平性:確保每個(gè)用戶每個(gè)進(jìn)程獲得合理的CPU份額或其他資源份額

優(yōu)先數(shù)調(diào)度算法

根據(jù)分配給進(jìn)程的優(yōu)先數(shù)決定運(yùn)行進(jìn)程

  • 搶占式優(yōu)先數(shù)調(diào)度算法
  • 非搶占式優(yōu)先數(shù)調(diào)度算法

優(yōu)先數(shù)的確定準(zhǔn)則:

  1. 進(jìn)程負(fù)擔(dān)任務(wù)的緊迫程度
  2. 進(jìn)程的交互性
  3. 進(jìn)程使用外設(shè)的頻度
  4. 進(jìn)程進(jìn)入系統(tǒng)的時(shí)間長(zhǎng)短

計(jì)算時(shí)間短(作業(yè)/進(jìn)程)優(yōu)先

剩余計(jì)算時(shí)間短進(jìn)程優(yōu)先

響應(yīng)比高者(作業(yè)/進(jìn)程)優(yōu)先
響應(yīng)比 = 等待時(shí)間/進(jìn)入時(shí)間

先來先服務(wù):先進(jìn)隊(duì)列先被選擇(多用于高級(jí)調(diào)度兽狭,低級(jí)調(diào)度中,以計(jì)算為主的進(jìn)程過于優(yōu)越)

時(shí)間片輪轉(zhuǎn)調(diào)度算法

根據(jù)各個(gè)進(jìn)程進(jìn)入就緒隊(duì)列的時(shí)間先后輪流占有CPU一個(gè)時(shí)間片鹿蜀。
時(shí)間片的選定:選擇長(zhǎng)短合適的時(shí)間片箕慧,過長(zhǎng)則退化為先來先服務(wù)算法,過短則調(diào)度開銷大茴恰。

(單時(shí)間片颠焦,多時(shí)間片,動(dòng)態(tài)時(shí)間片)

分級(jí)調(diào)度算法

多隊(duì)列策略
建立多個(gè)不同優(yōu)先級(jí)的就緒進(jìn)程隊(duì)列琐簇,多個(gè)就緒進(jìn)程隊(duì)列間按照優(yōu)先數(shù)調(diào)度蒸健。
高優(yōu)先級(jí)就緒進(jìn)程分配的時(shí)間短,低優(yōu)先級(jí)分配的時(shí)間長(zhǎng)(補(bǔ)償)
單個(gè)就緒進(jìn)程隊(duì)列中婉商,進(jìn)程的優(yōu)先數(shù)和時(shí)間片都相同似忧。

分級(jí)原則:外設(shè)訪問,交互性丈秩,時(shí)間緊迫程度盯捌,系統(tǒng)效率,用戶立場(chǎng)蘑秽。饺著。。

現(xiàn)代操作系統(tǒng)的實(shí)現(xiàn)模型:

  1. 多個(gè)高優(yōu)先級(jí)的實(shí)時(shí)進(jìn)程隊(duì)列肠牲,如:硬實(shí)時(shí)幼衰,網(wǎng)絡(luò),軟實(shí)時(shí)
  2. 多個(gè)分時(shí)任務(wù)的進(jìn)程隊(duì)列缀雳,根據(jù)基準(zhǔn)優(yōu)先數(shù)和執(zhí)行行為調(diào)整渡嚣。
  3. 隊(duì)列數(shù)可能多達(dá)32-128個(gè)

彩票調(diào)度算法

主要是利用了概率。
基本思想:為進(jìn)程發(fā)放針對(duì)系統(tǒng)各種資源(CPU時(shí)間等)的彩票肥印,當(dāng)調(diào)度程序需要做出決策時(shí)识椰,隨機(jī)選擇一張彩票,持有該彩票的進(jìn)程將獲得系統(tǒng)資源深碱。合作進(jìn)程之間有彩票交換腹鹉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市敷硅,隨后出現(xiàn)的幾起案子功咒,更是在濱河造成了極大的恐慌愉阎,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件航瞭,死亡現(xiàn)場(chǎng)離奇詭異诫硕,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)刊侯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門章办,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人滨彻,你說我怎么就攤上這事藕届。” “怎么了亭饵?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵休偶,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我辜羊,道長(zhǎng)踏兜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任八秃,我火速辦了婚禮碱妆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘昔驱。我一直安慰自己疹尾,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布骤肛。 她就那樣靜靜地躺著纳本,像睡著了一般。 火紅的嫁衣襯著肌膚如雪腋颠。 梳的紋絲不亂的頭發(fā)上繁成,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音淑玫,去河邊找鬼巾腕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛混移,可吹牛的內(nèi)容都是我干的祠墅。 我是一名探鬼主播侮穿,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼歌径,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了亲茅?” 一聲冷哼從身側(cè)響起回铛,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤狗准,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后茵肃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體腔长,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年验残,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了捞附。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡您没,死狀恐怖鸟召,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情氨鹏,我是刑警寧澤欧募,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站仆抵,受9級(jí)特大地震影響跟继,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜镣丑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一舔糖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧传轰,春花似錦剩盒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至期贫,卻和暖如春跟匆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背通砍。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工玛臂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人封孙。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓迹冤,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親虎忌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子泡徙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

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

  • 操作系統(tǒng)概論 操作系統(tǒng)的概念 操作系統(tǒng)是指控制和管理計(jì)算機(jī)的軟硬件資源,并合理的組織調(diào)度計(jì)算機(jī)的工作和資源的分配膜蠢,...
    野狗子嗷嗷嗷閱讀 11,936評(píng)論 3 34
  • 姓名:龔珊珊 公司:寧波大發(fā)化纖有限公司 《六項(xiàng)精進(jìn)》301期感謝組學(xué)員 【日精進(jìn)打卡第91天】 【知~學(xué)習(xí)】 《...
    Miss曲奇閱讀 38評(píng)論 0 0
  • 我們?cè)诨哪龅搅艘恢皇軅膽?zhàn)鷹。當(dāng)莫?dú)g發(fā)現(xiàn)它時(shí)礁竞,它落在沙丘上糖荒,我們以為是方向標(biāo)或其它值得欣喜的東西。 事實(shí)讓人郁悶...
    諸葛笨閱讀 194評(píng)論 0 2
  • 圖文/禾間水木 這里有一坡一坡的草模捂,這里有一天一天的云捶朵,這里曾經(jīng)房屋滿滿,炊煙裊裊狂男,庭...
    落筆軒閱讀 393評(píng)論 0 2
  • “你——你告訴我并淋!你把我閨女藏哪兒啦寓搬!”還是在村東頭的小瓦房里,一個(gè)女人撕住一個(gè)搖搖晃晃的老人的領(lǐng)子县耽。 “哦熬渑纭!不...
    梁了一閱讀 160評(píng)論 0 0