操作系統(tǒng)

part one 操作系統(tǒng)引論

什么是操作系統(tǒng)?

操作系統(tǒng)是位于硬件層之上,其他軟件層之下的一個系統(tǒng)軟件,是管理和控制計算機的軟硬件資源拂檩,合理組織計算機的工作流程,方便用戶使用計算機系統(tǒng)的程序集合嘲碧。

操作系統(tǒng)的歷史

  1. 穿孔卡片(無操作系統(tǒng)階段稻励,手工階段)【紙帶機】
  2. 簡單批處理系統(tǒng)(操作系統(tǒng)產(chǎn)生階段)【磁帶機】
  3. 多道批處理系統(tǒng)(利用率,吞吐量愈涩,宏觀并行钉迷,微觀交替執(zhí)行)
  4. 分時系統(tǒng)(適合軟件開發(fā))
  5. 實時系統(tǒng)(實時控制至非,實時信息處理)
    批處理系統(tǒng)钠署,分時系統(tǒng)和實時操作系統(tǒng)構(gòu)成了現(xiàn)代操作系統(tǒng)的基本類型糠聪。

多道批處理系統(tǒng)的特征?

  1. 用戶脫機使用計算機
  2. 作業(yè)成批處理
  3. 多道程序并行
    缺點是無交互性谐鼎。

操作系統(tǒng)的功能

  1. 進程管理
  2. 內(nèi)存管理
  3. 信息管理

操作系統(tǒng)的基本特征

  1. 并發(fā)性
  2. 共享性
  3. 虛擬性
  4. 異步性

什么是并行性舰蟆、并發(fā)性?

并行性:兩個或多個事件在同一時刻發(fā)生

并發(fā)性:兩個或多個事件在同一時間間隔發(fā)生

part two 進程管理

什么是進程狸棍?進程的五個特性 進程三要素

進程:一個具有獨立功能的程序在一個數(shù)據(jù)集上的一次動態(tài)執(zhí)行過程身害。

特性:

  1. 動態(tài)性
  2. 并發(fā)性
  3. 獨立性
  4. 異步性
  5. 結(jié)構(gòu)性

進程三要素:進程 = 程序 + 數(shù)據(jù) + PCB

進程和程序的區(qū)別?

  1. 進程是一個動態(tài)的概念草戈,程序是一個靜態(tài)的概念
  2. 進程是一個暫時性的概念塌鸯,程序是一個永久性的概念
  3. 進程具有數(shù)據(jù)結(jié)構(gòu)-PCB
  4. 進程和程序沒有一一對應的關(guān)系。

進程的三個基本狀態(tài)的轉(zhuǎn)換唐片?

進程的組成丙猬?

進程由程序、數(shù)據(jù)集合费韭、進程控制塊組成茧球。

PCB是進程存在的唯一標志,且與進程一一對應星持。

什么是原語抢埋?

原語一般由若干條指令所組成,是用來完成某個特定功能督暂,在執(zhí)行過程中不可被分割的程序段揪垄,是原子操作,即一個操作中的所有動作逻翁,要么全做饥努,要么全不做。 原語一旦執(zhí)行卢未,就要連續(xù)執(zhí)行完肪凛,中間不允許中斷。 原子操作在管態(tài)下執(zhí)行辽社,常駐內(nèi)存伟墙,通過關(guān)中斷來實現(xiàn)。

什么是臨界資源滴铅?

系統(tǒng)中一次只允許一個進程使用的一類資源戳葵,稱為臨界資源或互斥資源。

什么是進程的互斥汉匙?

對于異步環(huán)境下并發(fā)執(zhí)行的進程拱烁,某些進程要競爭某一臨界資源生蚁,而這資源最多允許一個進程使用,其他要使用該資源的進程必須等待戏自,直到該占用資源被釋放為止邦投,這就產(chǎn)生間接制約關(guān)系。把因間接制約而導致的交替執(zhí)行的過程稱為進程的互斥擅笔。

每個進程訪問臨界資源的那段代碼稱為臨界區(qū)志衣。

為禁止兩個資源同時進入臨界區(qū),同步機制的規(guī)則因遵循什么猛们?

空閑讓進(多中選一)念脯,忙則等待,有限等待弯淘,讓權(quán)等待绿店。

什么是信號量?

整性信號量S表示某類臨界資源實體庐橙,是一個數(shù)據(jù)結(jié)構(gòu)假勿,其值僅能由P、V操作來改變怕午。S >= 0表示S個某類可用某類臨界資源废登;S <= 0,則|S|表示S阻塞隊列中等待資源的進程個數(shù)。

信號量的使用規(guī)則郁惜?

  1. S必需置一次初值堡距,且只能置一次初值。
  2. 初值不能為負兆蕉。
  3. 只能對其執(zhí)行P羽戒、V操作。
  4. P虎韵、V操作必須成對操作易稠。
  5. 同步P必須在互斥P之前,V無所謂包蓝。

什么是同步驶社?

多個相互合作的并發(fā)進程在執(zhí)行次序上的協(xié)調(diào),在一些關(guān)鍵點上可能需要相互等待或相互交換信息测萎,以達到有效的資源共享和相互合作亡电,這種相互制約的關(guān)系稱為進程同步。

什么是進程通信硅瞧?

進程之間的信息交換叫做進程通信份乒。

什么是死鎖?死鎖產(chǎn)生的原因?

多道程序設(shè)計系統(tǒng)中或辖,兩個或兩個以上并發(fā)執(zhí)行的進程由于競爭資源而造成的一種互相等待的現(xiàn)象瘾英,如無外力協(xié)助,這些進程將永遠分配不到必須的資源而繼續(xù)向前推進颂暇,稱這種現(xiàn)象為死鎖缺谴。

死鎖產(chǎn)生的原因即與資源分配的策略有關(guān),又與進程執(zhí)行效率有關(guān)蟀架。

產(chǎn)生死鎖的必要條件

  1. 互斥條件
  2. 不剝奪條件
  3. 請求和保持條件
  4. 環(huán)路等待條件

死鎖的預防策略

  1. 破環(huán)互斥性條件
  2. 分配策略
  3. 資源可剝奪策略
  4. 破環(huán)環(huán)路等待條件

系統(tǒng)的兩種狀態(tài)

系統(tǒng)由以下兩種狀態(tài)
安全狀態(tài):指系統(tǒng)能夠按照某種順序如<P1瓣赂,P2,...片拍,Pn>(稱<P1,P2妓肢,...捌省,Pn>為安全序列)為每個進程分配所需的資源,直至最大需求碉钠,使得每個進程都能順利完成纲缓。
非安全狀態(tài):即在某個時刻系統(tǒng)中不存在一個安全序列,則稱系統(tǒng)處于不安全狀態(tài)或非安全狀態(tài)喊废。

非安全狀態(tài)可能出現(xiàn)死鎖祝高,死鎖是非安全狀態(tài)的子集。

進程調(diào)度的層次

作業(yè)從提交到運行結(jié)束污筷,要經(jīng)歷三級調(diào)度工闺。

  1. 作業(yè)調(diào)度(分鐘,小時或天)
  2. 進程調(diào)度(毫秒級)
  3. 中級調(diào)度

分時系統(tǒng)和時時系統(tǒng)一般不存在作業(yè)調(diào)度瓣蛀,批處理系統(tǒng)同時存在作業(yè)調(diào)度和進程調(diào)度陆蟆。

周轉(zhuǎn)時間 = 完成時間 - 就緒時間 = 等待時間 + 運行時間

加權(quán)周轉(zhuǎn)時間 = 周轉(zhuǎn)時間/運行時間

進程調(diào)度的算法

  1. 先來先服務(簡單,不公平惋增,無優(yōu)先級)
  2. 短作業(yè)優(yōu)先(時間短叠殷,”餓死”,一般用于作業(yè)調(diào)度)
  3. 輪轉(zhuǎn)法(公平诈皿,無優(yōu)先級林束,效率低,時間不易確定)
  4. 優(yōu)先級算法(有優(yōu)先級稽亏,“餓死”)
  5. 多級反饋隊列算法(復雜壶冒,性能好,應用廣)

什么是線程措左?

線程是進程的一個實體依痊,是被系統(tǒng)獨立調(diào)度和分派的基本單位。

part three 存儲管理

地址重定位(地址映射)

把用戶進程裝入內(nèi)存時,對有關(guān)指令的地址部分的修改定義為從邏輯地址到物理地址的過程胸嘁。

什么是交換技術(shù)

即把一個進程完整調(diào)入內(nèi)存瓶摆,在該進程運行一段時間后,再把它存回磁盤性宏∪壕空閑進程只要存儲磁盤上,所以當它們不運行時就不會占用內(nèi)存(盡管它們的一些進程會周期性地被喚醒以完成相關(guān)工作毫胜,然后又進入睡眠狀態(tài))书斜。

什么是碎片

內(nèi)存中若干不連續(xù)的,很小的空閑分區(qū)酵使,小到以至于絕大多數(shù)程序都無法利用荐吉。

空閑內(nèi)存管理

  1. 使用位圖的存儲管理(固定分區(qū),支持多道口渔,無虛擬存儲样屠,初裝有碎片)
  2. 使用鏈表的存儲管理(動態(tài)分區(qū),沒有徹底解決碎片問題)

什么是頁框

虛擬地址空間按照固定大小劃分成稱為頁面的若干單元缺脉。在物理內(nèi)存中對應的單元稱為頁框痪欲,又稱為頁架。

設(shè)某指令地址 W,頁面大小 L,

則頁號 P = (int)W/L 偏移量 D = W mod

頁表

將進程的每個頁面離散地裝入到內(nèi)存的各個頁架中攻礼,為保證進程的正確運行业踢,即能在內(nèi)存中找到該進程的各個頁面所對應的每個頁架,系統(tǒng)記錄每個頁面對應頁架而形成的一張對應表礁扮。

顛簸

又稱為”抖動“知举,由于缺少頁面過于頻繁,反復將頁面調(diào)入調(diào)出內(nèi)存的現(xiàn)象深员。

抖動產(chǎn)生的原因

  1. 為進程分配的頁架過少
  2. 頁面置換算法選擇不當
  3. 程序結(jié)構(gòu)不合理

抖動的預防

  1. 增加為進程分配的頁架數(shù)
  2. 改進頁面置換算法
  3. 編程時负蠕,充分考慮局部性原理

part four 設(shè)備管理

設(shè)備的共享性分類

  1. 獨占設(shè)備
  2. 共享設(shè)備
  3. 虛擬設(shè)備

設(shè)備獨立性

應用程序獨立于具體使用的物理設(shè)備。

I/O數(shù)據(jù)控制方式的發(fā)展階段

  1. 程序直接控制方式
  2. 中斷控制方式
  3. DMA控制方式
  4. 通道方式

中斷

計算機系統(tǒng)內(nèi)發(fā)生了某一急需處理的事件倦畅,使得CPU暫時中止當前正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應的事件處理程序遮糖,待處理完畢后又返回到原來被中斷出繼續(xù)執(zhí)行。

引起中斷發(fā)生的事件稱為中斷源叠赐。

中斷源向CPU發(fā)出的請求中斷處理的信號稱為中斷請求欲账。

CPU收到中斷請求后轉(zhuǎn)向相應事件處理程序的過程稱為中斷相應。

考試:硬件故障中斷>自愿性中斷>程序性中斷>外部中斷>I/O中斷

緩沖技術(shù)芭概,緩沖技術(shù)的分類

引入緩沖可以進一步改善CPU和I/O設(shè)備之間的速度不匹配的情況赛不。

緩沖的種類:

  1. 單緩沖
  2. 雙緩沖
  3. 循環(huán)緩沖
  4. 緩沖池

循環(huán)緩沖(環(huán)形緩沖)沒有緩沖隊列。

磁盤訪問時間包含那三部分

  1. 尋道時間:磁頭移動到指定柱面的機械運動時間
  2. 旋轉(zhuǎn)延遲時間:磁盤旋轉(zhuǎn)到指定扇區(qū)的機械運動時間
  3. 數(shù)據(jù)傳輸時間: 從指定扇區(qū)讀/寫數(shù)據(jù)的時間

磁盤調(diào)度

  1. 先來先服務(公平罢洲,簡單踢故,尋道時間長)
  2. 最短尋道時間優(yōu)先(尋道時間短文黎,”饑餓“)
  3. 掃描算法(避免”饑餓“,不利于兩端的請求)
  4. 循環(huán)掃描算法(消除了兩端訪問的不公平)

part five 文件管理

文件和文件系統(tǒng)

文件:具有符號名的一組相關(guān)元素的有序序列殿较,是一段程序或數(shù)據(jù)的集合耸峭。
文件系統(tǒng):管理文件的數(shù)據(jù)結(jié)構(gòu)和相應的管理軟件以及訪問文件的一組操作。

按名存取的物理結(jié)構(gòu)分類

物理結(jié)構(gòu):從系統(tǒng)的角度考察文件在實際存儲設(shè)備上的存放形式淋纲。

按文件的邏輯存儲結(jié)構(gòu)分類

  1. 有結(jié)構(gòu)文件:又稱為記錄式文件劳闹。(數(shù)據(jù)庫,數(shù)據(jù)結(jié)構(gòu)洽瞬,文檔)
  2. 無結(jié)構(gòu)文件:又稱為流式文件本涕。(源程序,可執(zhí)行文件伙窃,庫函數(shù))

文件結(jié)構(gòu)

又稱文件的組織形式菩颖,如何將記錄構(gòu)成一個文件,以及如何將一個文件存儲在外存上对供。

文件目錄

為了便于
文件目錄分為一級目錄位他,二級目錄和多級目錄。多級目錄也稱為樹狀結(jié)構(gòu)产场。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市舞竿,隨后出現(xiàn)的幾起案子京景,更是在濱河造成了極大的恐慌,老刑警劉巖骗奖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件确徙,死亡現(xiàn)場離奇詭異,居然都是意外死亡执桌,警方通過查閱死者的電腦和手機鄙皇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仰挣,“玉大人熔吗,你說我怎么就攤上這事振峻。” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵一喘,是天一觀的道長。 經(jīng)常有香客問我殖熟,道長挥萌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任亡问,我火速辦了婚禮官紫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己束世,他們只是感情好酝陈,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著良狈,像睡著了一般后添。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上薪丁,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天遇西,我揣著相機與錄音,去河邊找鬼严嗜。 笑死粱檀,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的漫玄。 我是一名探鬼主播茄蚯,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼睦优!你這毒婦竟也來了渗常?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤汗盘,失蹤者是張志新(化名)和其女友劉穎皱碘,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體隐孽,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡癌椿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了菱阵。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片踢俄。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖晴及,靈堂內(nèi)的尸體忽然破棺而出都办,到底是詐尸還是另有隱情,我是刑警寧澤抗俄,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布脆丁,位于F島的核電站,受9級特大地震影響动雹,放射性物質(zhì)發(fā)生泄漏槽卫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一胰蝠、第九天 我趴在偏房一處隱蔽的房頂上張望歼培。 院中可真熱鬧震蒋,春花似錦、人聲如沸躲庄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽噪窘。三九已至笋庄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間倔监,已是汗流浹背直砂。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留浩习,地道東北人静暂。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像谱秽,于是被迫代替她去往敵國和親洽蛀。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

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