I Love Operating System

以下完全為個(gè)人總結(jié)——若發(fā)現(xiàn)問(wèn)題請(qǐng)下方評(píng)論瘩将,定回

進(jìn)程管理


  • 操作系統(tǒng)最基本的兩個(gè)特性 - 并發(fā)性及共享性
  • PCB(進(jìn)程控制塊)- 進(jìn)程存在的唯一標(biāo)志
  • 進(jìn)程是進(jìn)程實(shí)體的運(yùn)行過(guò)程焰扳,使系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位倘核;
    進(jìn)程是操作系統(tǒng)資源分配和獨(dú)立運(yùn)行的基本單位
    任何進(jìn)程都是在操作系統(tǒng)的內(nèi)核的支持下運(yùn)行的矩桂,是與內(nèi)核緊密相關(guān)的
    特性:動(dòng)態(tài)性(最基本特征)喂链、并發(fā)性、獨(dú)立性彭谁、異步性、結(jié)構(gòu)性
  • 進(jìn)程實(shí)體組成:程序段阐枣、數(shù)據(jù)段马靠、PCB奄抽;
  • 進(jìn)程狀態(tài):運(yùn)行狀態(tài)蔼两、就緒狀態(tài)、阻塞狀態(tài)(等待狀態(tài))逞度、創(chuàng)建狀態(tài)额划、結(jié)束狀態(tài)
  • 進(jìn)程狀態(tài)的轉(zhuǎn)換中
    運(yùn)行狀態(tài)->阻塞狀態(tài) 是一個(gè)主動(dòng)的過(guò)程
    阻塞狀態(tài)->就緒狀態(tài) 是一個(gè)被動(dòng)的過(guò)程需要其他程序的協(xié)助
  • 原語(yǔ) 一般把進(jìn)程控制用的程序段稱(chēng)為原語(yǔ)
    特點(diǎn): 執(zhí)行期間不允許中斷,是一個(gè)不可分割的基本單位
  • 進(jìn)程創(chuàng)建
    分配唯一進(jìn)程標(biāo)識(shí)號(hào)档泽,申請(qǐng)空白PCB失敗則創(chuàng)建失敗
    分配資源俊戳,失敗則阻塞,等待狀態(tài)并非創(chuàng)建失敗
    初始化PCB
    入隊(duì)馆匿,進(jìn)入就緒隊(duì)列抑胎;
  • 進(jìn)程終止
    根據(jù)進(jìn)程標(biāo)識(shí)符,檢索PCB,讀進(jìn)程狀態(tài)
    若處于執(zhí)行態(tài)渐北,中止進(jìn)程阿逃,將處理機(jī)資源分給其他進(jìn)程
    若有子進(jìn)程也全部終止
    將擁有的全部的資源歸還父進(jìn)程或操作系統(tǒng)
    將該P(yáng)CB從所在隊(duì)列刪除
  • 進(jìn)程阻塞/喚醒
    調(diào)用阻塞原語(yǔ)(Block)
    找到進(jìn)程標(biāo)識(shí)號(hào)對(duì)應(yīng)的PCB
    若運(yùn)行,保護(hù)現(xiàn)場(chǎng)赃蛛,轉(zhuǎn)換狀態(tài)為阻塞恃锉,停止運(yùn)行
    PCB插入等待隊(duì)列
    調(diào)用喚醒原語(yǔ)(Wakeup)
    找到對(duì)應(yīng)PCB
    移出等待隊(duì)列,職位就緒狀態(tài)
    PCB插入就緒隊(duì)列
  • 進(jìn)程切換
    指的是 處理機(jī)從一個(gè)進(jìn)程上的運(yùn)行轉(zhuǎn)到另一個(gè)進(jìn)程上運(yùn)行呕臂,環(huán)境發(fā)生了實(shí)質(zhì)性變化破托。
    保存處理機(jī)上下文,PC及各寄存器
    更新PCB歧蒋,移動(dòng)到相應(yīng)隊(duì)列
    更新為另一程序PCB土砂,內(nèi)存管理及數(shù)據(jù)結(jié)構(gòu)
    回復(fù)處理機(jī)上下文
    進(jìn)程的切換與處理機(jī)的切換不同
    處理機(jī)模式州既,可能同一進(jìn)程的中斷恢復(fù)后只需回復(fù)現(xiàn)場(chǎng)即可,無(wú)需改變當(dāng)前進(jìn)程環(huán)境信息瘟芝,而進(jìn)程切換就緒改變了易桃;
  • PCB
    常駐內(nèi)存,任意時(shí)刻可存取锌俱,進(jìn)程結(jié)束后刪除
    進(jìn)程實(shí)體的一部分晤郑,是進(jìn)程存在的唯一標(biāo)志
    PCB 包含的信息:
    進(jìn)程描述信息
    PID(進(jìn)程標(biāo)識(shí)符) - 唯一標(biāo)識(shí)進(jìn)程
    UID(用戶標(biāo)識(shí)符) - 進(jìn)程歸屬用戶,為共享和保護(hù)服務(wù)
    進(jìn)程控制和管理信息
    進(jìn)程當(dāng)前狀態(tài) - 處理機(jī)調(diào)度分配依據(jù)
    進(jìn)程優(yōu)先級(jí)
    資源分配清單
    處理機(jī)相關(guān)信息
  • PCB組織方式 - 鏈接/索引
  • 進(jìn)程高級(jí)通信方式(P/V操作是低級(jí)通信方式)
    1)共享存儲(chǔ)
    低級(jí) - 基于數(shù)據(jù)結(jié)構(gòu)的共享
    高級(jí) - 基于存儲(chǔ)區(qū)的共享
    2)消息傳遞
    進(jìn)程間數(shù)據(jù)以格式化消息為單位
    通過(guò)發(fā)送消息/接收消息兩個(gè)原語(yǔ)
    直接通信 - 直接發(fā)送到對(duì)方的消息緩沖隊(duì)列中贸宏;
    簡(jiǎn)接通信 - 消息發(fā)送到中間實(shí)體(信箱)
    3)管道通信
    管道:連接讀/寫(xiě)進(jìn)程實(shí)現(xiàn)他們之間通信的一個(gè)共享文件
    管道機(jī)制:互斥造寝、同步、確定對(duì)方存在
    半雙工通信吭练,每次管道中寫(xiě)滿后诫龙,才可讀
  • 線程
    線程是被系統(tǒng)獨(dú)立調(diào)度和分派的基本單位
    輕量級(jí)進(jìn)程,一個(gè)基本的CPU執(zhí)行單元鲫咽,程序執(zhí)行流的最小單元
    不擁有系統(tǒng)資源签赃,只有運(yùn)行時(shí)所必須的資源,同一進(jìn)程下的各線程共享進(jìn)程資源
    線程獨(dú)立調(diào)度的基本單位分尸,進(jìn)程是擁有資源的基本單位
  • 內(nèi)核線程 - 內(nèi)核支持的線程锦聊,線程管理的工作由內(nèi)核完成
  • 用戶級(jí)線程 - 線程管理由應(yīng)用程序完成(對(duì)操作系統(tǒng)透明)
  • 多線程模型(用戶級(jí)線程->內(nèi)核線程 對(duì)應(yīng)關(guān)系)
    1)多對(duì)一模型
    優(yōu)點(diǎn):效率高
    缺點(diǎn):當(dāng)一個(gè)線程使用內(nèi)核級(jí)線程被阻塞,全部阻塞
    2)一對(duì)一模型
    優(yōu)點(diǎn):并發(fā)能力較強(qiáng)
    缺點(diǎn):開(kāi)銷(xiāo)大箩绍、影響程序性能
    3)多對(duì)多模型
    特點(diǎn):前兩種方法的折中孔庭,集兩個(gè)方法之優(yōu);
  • 處理機(jī)調(diào)度
    1)作業(yè)調(diào)度(高級(jí)調(diào)度)
    使其獲得競(jìng)爭(zhēng)處理機(jī)的權(quán)利
    2)內(nèi)存調(diào)度(中級(jí)調(diào)度)
    提高內(nèi)存利用率和系統(tǒng)吞吐量
    3)進(jìn)程調(diào)度(低級(jí)調(diào)度)(和切換程序?yàn)椴僮飨到y(tǒng)內(nèi)核程序)
    按照某種最基本方法策略材蛛,最基本調(diào)度
    頻度很高 幾十毫秒一次
  • 作業(yè)調(diào)度為進(jìn)程活動(dòng)做準(zhǔn)備圆到,進(jìn)程調(diào)度使進(jìn)程活動(dòng)起來(lái),中級(jí)調(diào)度將不能運(yùn)行的進(jìn)程掛起
  • 不能進(jìn)行調(diào)度及切換的情況
    處理中斷過(guò)程
    進(jìn)程在操作系統(tǒng)內(nèi)核程序臨界區(qū)
    其他需要完全屏蔽中斷的原子操作過(guò)程
    進(jìn)程調(diào)度方式
    1)非剝奪調(diào)度方式
    簡(jiǎn)單卑吭、系統(tǒng)開(kāi)銷(xiāo)小芽淡,適合大多數(shù)批處理系統(tǒng),不適合分時(shí)系統(tǒng)實(shí)時(shí)系統(tǒng)豆赏;
    2)剝奪調(diào)度方式(搶占方式)
    提高系統(tǒng)吞吐率和響應(yīng)效率
  • CPU利用率
  • 系統(tǒng)吞吐量 單位時(shí)間內(nèi)CPU完成的作業(yè)的數(shù)量
  • 周轉(zhuǎn)時(shí)間 作業(yè)完成時(shí)間 - 作業(yè)提交時(shí)間
    平均周轉(zhuǎn)時(shí)間 =(作業(yè)1周轉(zhuǎn)時(shí)間+作業(yè)2周轉(zhuǎn)時(shí)間+...)/n;
    帶權(quán)周轉(zhuǎn)時(shí)間 = 作業(yè)周轉(zhuǎn)時(shí)間/作業(yè)實(shí)際運(yùn)行時(shí)間挣菲;
  • 等待時(shí)間 進(jìn)程處于等待處理機(jī)狀態(tài)時(shí)間的總和;
    處理機(jī)調(diào)度算法影響的只有作業(yè)在就緒隊(duì)列中等待的時(shí)間河绽;
  • 響應(yīng)時(shí)間 從用戶提交請(qǐng)求到系統(tǒng)首次產(chǎn)生響應(yīng)所用的時(shí)間己单;
  • 調(diào)度算法
    1)FCFS(first come first solve)
    特點(diǎn):簡(jiǎn)單、效率低耙饰,對(duì)長(zhǎng)作業(yè)有利纹笼,對(duì)短作業(yè)不利(相對(duì)SJF和高響應(yīng)比來(lái)說(shuō)),有利于CPU繁忙苟跪,不利于I/O繁忙廷痘;
    2)SJF(shortest job first)
    對(duì)長(zhǎng)作業(yè)不利蔓涧,容易產(chǎn)生饑餓現(xiàn)象,平均等待時(shí)間笋额、平均周轉(zhuǎn)時(shí)間最少元暴;
    3)優(yōu)先級(jí)調(diào)度(優(yōu)先權(quán)調(diào)度,適合實(shí)時(shí)操作系統(tǒng))
    非剝奪式優(yōu)先級(jí)/剝奪式優(yōu)先級(jí)
    靜態(tài)優(yōu)先級(jí) - 進(jìn)程創(chuàng)建時(shí)定好的兄猩,運(yùn)行期間不變
    動(dòng)態(tài)優(yōu)先級(jí) - 進(jìn)程運(yùn)行中茉盏,動(dòng)態(tài)調(diào)整優(yōu)先級(jí)
    4)高響應(yīng)比優(yōu)先調(diào)度(主要用于作業(yè)調(diào)度,適用分時(shí)系統(tǒng))
    響應(yīng)比 Rp=(等待時(shí)間+要求服務(wù)時(shí)間)/要求服務(wù)時(shí)間枢冤;
    有利于短作業(yè)
    前兩種算法的兼顧鸠姨,克服了饑餓狀態(tài),兼顧了長(zhǎng)作業(yè)淹真;
    5)時(shí)間片輪轉(zhuǎn)調(diào)度(適用分時(shí)系統(tǒng))
    就緒進(jìn)程按照先來(lái)先服務(wù)排好序
    時(shí)間片長(zhǎng)短決定于 系統(tǒng)響應(yīng)時(shí)間讶迁、就緒隊(duì)列中的進(jìn)程數(shù)目,系統(tǒng)的處理能力
    6)多級(jí)反饋隊(duì)列(適用分時(shí)系統(tǒng))
    時(shí)間片與優(yōu)先級(jí)的綜合核蘸,動(dòng)態(tài)調(diào)整優(yōu)先級(jí)及時(shí)間片大小
    優(yōu)勢(shì):
    終端型用戶:短作業(yè)優(yōu)先
    短批處理作業(yè)用戶:周轉(zhuǎn)時(shí)間短
    長(zhǎng)批處理用戶:不會(huì)發(fā)生饑餓

Here comes the big case:


  • 進(jìn)程同步
  • 臨界資源 - 一次只允許一個(gè)進(jìn)程使用的資源為臨界資源巍糯;
  • 同步(直接制約關(guān)系)
  • 互斥(簡(jiǎn)介制約關(guān)系)
  • 為禁止兩個(gè)進(jìn)程同時(shí)進(jìn)入臨界區(qū),同步機(jī)制應(yīng)遵循以下準(zhǔn)則
    空閑讓進(jìn)
    忙則等待
    有限等待
    讓權(quán)等待

同步問(wèn)題單寫(xiě)了

  • 死鎖問(wèn)題
  • 死鎖產(chǎn)生必要條件 -互斥條件 - 不剝奪條件 - 請(qǐng)求和保持條件 - 循環(huán)等待條件
  • 三種死鎖處理策略
    死鎖預(yù)防
    破壞互斥條件 / 破壞不剝奪條件 / 破壞請(qǐng)求和保持條件(預(yù)先靜態(tài)分配) / 破壞循環(huán)等待(順序資源分配)條件
    死鎖避免
    系統(tǒng)安全狀態(tài)(找到安全序列) / 銀行家算法
    死鎖檢測(cè)
    資源分配圖 / 死鎖定理(簡(jiǎn)化資源分配圖) / 死鎖解除(資源剝奪客扎、撤銷(xiāo)進(jìn)程祟峦、進(jìn)程回退)

內(nèi)存管理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市虐唠,隨后出現(xiàn)的幾起案子搀愧,更是在濱河造成了極大的恐慌惰聂,老刑警劉巖疆偿,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異搓幌,居然都是意外死亡杆故,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)溉愁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)处铛,“玉大人,你說(shuō)我怎么就攤上這事拐揭〕敷。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵堂污,是天一觀的道長(zhǎng)家肯。 經(jīng)常有香客問(wèn)我,道長(zhǎng)盟猖,這世上最難降的妖魔是什么讨衣? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任换棚,我火速辦了婚禮,結(jié)果婚禮上反镇,老公的妹妹穿的比我還像新娘固蚤。我一直安慰自己,他們只是感情好歹茶,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布夕玩。 她就那樣靜靜地躺著,像睡著了一般惊豺。 火紅的嫁衣襯著肌膚如雪风秤。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,246評(píng)論 1 308
  • 那天扮叨,我揣著相機(jī)與錄音缤弦,去河邊找鬼。 笑死彻磁,一個(gè)胖子當(dāng)著我的面吹牛碍沐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播衷蜓,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼累提,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了磁浇?” 一聲冷哼從身側(cè)響起斋陪,我...
    開(kāi)封第一講書(shū)人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎置吓,沒(méi)想到半個(gè)月后无虚,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡衍锚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年友题,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片戴质。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡度宦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出告匠,到底是詐尸還是另有隱情戈抄,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布后专,位于F島的核電站划鸽,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏行贪。R本人自食惡果不足惜漾稀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一模闲、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧崭捍,春花似錦尸折、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至粒梦,卻和暖如春亮航,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背匀们。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工缴淋, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人泄朴。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓重抖,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親祖灰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子钟沛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

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