操作系統(tǒng)基礎(chǔ)(第一章)_第1頁(yè)
操作系統(tǒng)基礎(chǔ)(第一章)_第2頁(yè)
操作系統(tǒng)基礎(chǔ)(第一章)_第3頁(yè)
操作系統(tǒng)基礎(chǔ)(第一章)_第4頁(yè)
操作系統(tǒng)基礎(chǔ)(第一章)_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、指定教材 The MINIX Book: “Operating Systems: 設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)與實(shí)現(xiàn)” by Andrew Tanenbaum and Albert Woodhull, 第二版第二版. 中文版:中文版: 操作系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(第二版)操作系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(第二版)(電子工業(yè)出版社)(電子工業(yè)出版社) 嵌入式實(shí)時(shí)操作系統(tǒng)嵌入式實(shí)時(shí)操作系統(tǒng)uCOS-II 邵貝貝邵貝貝需要具備的一些技能需要具備的一些技能 編程語言: -C (C+) and 匯編-數(shù)據(jù)結(jié)構(gòu)&計(jì)算機(jī)組成原理基礎(chǔ)概念 1.1 什么是操作系統(tǒng)? 1.2 基本發(fā)展史 1.3 核心概念s. 1.4 系統(tǒng)調(diào)用是什么? 1.

2、5 操作系統(tǒng)的組成Kernel of SVR2 of AT&T UnixMinix OS Structure操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的地位操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的地位引入操作系統(tǒng)的目標(biāo)引入操作系統(tǒng)的目標(biāo) 有效性(系統(tǒng)管理人員的觀點(diǎn)):管理和分配硬件、軟件有效性(系統(tǒng)管理人員的觀點(diǎn)):管理和分配硬件、軟件資源,合理地組織計(jì)算機(jī)的工作流程資源,合理地組織計(jì)算機(jī)的工作流程 方便性(用戶的觀點(diǎn)):提供良好的、一致的用戶接口,方便性(用戶的觀點(diǎn)):提供良好的、一致的用戶接口,彌補(bǔ)硬件系統(tǒng)的類型和數(shù)量差別彌補(bǔ)硬件系統(tǒng)的類型和數(shù)量差別 可擴(kuò)充性(開放的觀點(diǎn)):硬件的類型和規(guī)模、操作系統(tǒng)可擴(kuò)充性(開放的

3、觀點(diǎn)):硬件的類型和規(guī)模、操作系統(tǒng)本身的功能和管理策略、多個(gè)系統(tǒng)之間的資源共享和互操本身的功能和管理策略、多個(gè)系統(tǒng)之間的資源共享和互操作作1.1.2 操作系統(tǒng)的作用 操操作作系系統(tǒng)統(tǒng)的的作作用用( (1)1) OS是計(jì)算機(jī)硬件、軟件資源的管理者。 管管理理對(duì)對(duì)象象包包括:括:C CP PU U、存存儲(chǔ)儲(chǔ)器、器、外外部部設(shè)設(shè)備、備、信信息息(數(shù)數(shù)據(jù)據(jù)和和軟軟件)件); 管管理理的的內(nèi)內(nèi)容:容:資資源源的的當(dāng)當(dāng)前前狀狀態(tài)態(tài)(數(shù)數(shù)量量和和使使用用情情況)況)、資資源源的的分分配、配、回回收收和和訪訪問問操操作,作,相相應(yīng)應(yīng)管管理理策策略略(包包括括用用戶戶權(quán)權(quán)限)限)。 操操作作系系統(tǒng)統(tǒng)的的作作用用

4、( (2)2) OS是用戶使用系統(tǒng)硬件、軟件的接口。 系系統(tǒng)統(tǒng)命命令令(命命令令行、行、菜菜單單式、式、命命令令腳腳本本式、式、圖圖形形用用戶戶接接口口G GU UI I); 系系統(tǒng)統(tǒng)調(diào)調(diào)用用(形形式式上上類類似似于于過過程程調(diào)調(diào)用,用,在在應(yīng)應(yīng)用用編編程程中中使使用)用)。 操操作作系系統(tǒng)統(tǒng)的的作作用用( (3)3)OS是擴(kuò)展機(jī)(extended machine)/虛擬機(jī)(virtual machine)。 在在裸裸機(jī)機(jī)上上添添加:加:設(shè)設(shè)備備管管理、理、文文件件管管理、理、存存儲(chǔ)儲(chǔ)管管理理(針針對(duì)對(duì)內(nèi)內(nèi)存存和和外外存)存)、處處理理機(jī)機(jī)管管理理(針針對(duì)對(duì)C CP PU U); 另另外,外,

5、為為合合理理組組織織工工作作流流程:程:作作業(yè)業(yè)管管理、理、進(jìn)進(jìn)程程管管理理。OS的定位計(jì)算機(jī)系統(tǒng)計(jì)算機(jī)系統(tǒng)( (層次結(jié)構(gòu)層次結(jié)構(gòu)) )軟件軟件硬件及固件(裸機(jī))硬件及固件(裸機(jī))應(yīng)用軟件應(yīng)用軟件系統(tǒng)軟件系統(tǒng)軟件編輯軟件編輯軟件編譯軟件編譯軟件操作系統(tǒng)操作系統(tǒng)操作系統(tǒng)的非形式化定義(關(guān)鍵點(diǎn)):系統(tǒng)軟操作系統(tǒng)的非形式化定義(關(guān)鍵點(diǎn)):系統(tǒng)軟件,程序模塊的集合,資源管理和用戶接口功件,程序模塊的集合,資源管理和用戶接口功能能1.1.3 操作系統(tǒng)舉例 MS OS: MS DOS, Windows 98, Windows XP, Windows 2000,Windows2003,Vista. UNIX

6、: BSD, SRV4, OSF1, SCO UNIX, AIX, Solaris, Minix, Linux, Red Hat, NOS: Novell Netware RTOS: VxWorks, pSoS, Nucleus, RTOS1.2 操作系統(tǒng)的發(fā)展歷史 1.2.1 推動(dòng)操作系統(tǒng)發(fā)展的主要?jiǎng)恿?1.2.2 手工操作 1.2.3 單道批處理系統(tǒng)(simple batch processing) 1.2.4 多道批處理系統(tǒng)(multiprogramming system) 1.2.5 分時(shí)系統(tǒng)(time-sharing system) 1.2.6 個(gè)人計(jì)算機(jī) 1.2.7 MINIX的歷

7、史1.2.1 推動(dòng)操作系統(tǒng)發(fā)展的主要?jiǎng)恿ν苿?dòng)操作系統(tǒng)發(fā)展的主要?jiǎng)恿?資源利用率需要提高:資源利用率需要提高:CPUCPU的占用率,外設(shè)繁忙程度的占用率,外設(shè)繁忙程度 更多外設(shè)需要支持更多外設(shè)需要支持: :指令位,指令位,8 8位、位、1616位、位、3232位、位、6464位位 更多用戶需求要滿足更多用戶需求要滿足: :商務(wù)、辦公、家庭、開發(fā)商務(wù)、辦公、家庭、開發(fā) 更多新領(lǐng)域要支持:設(shè)計(jì)、科學(xué)計(jì)算、數(shù)據(jù)管理、娛樂更多新領(lǐng)域要支持:設(shè)計(jì)、科學(xué)計(jì)算、數(shù)據(jù)管理、娛樂 更多應(yīng)用形態(tài)要滿足:集中式、共享式、個(gè)人式更多應(yīng)用形態(tài)要滿足:集中式、共享式、個(gè)人式1.2.2 手工操作 1946 50年代(電子管

8、vacuum tubes),集中計(jì)算(計(jì)算中心),計(jì)算機(jī)資源昂貴; 工作方式 用戶:用戶既是程序員,又是操作員;用戶是計(jì)算機(jī)專業(yè)用戶:用戶既是程序員,又是操作員;用戶是計(jì)算機(jī)專業(yè)人員;人員; 編程語言:為機(jī)器語言;編程語言:為機(jī)器語言; 輸入輸出:紙帶或卡片;輸入輸出:紙帶或卡片; 計(jì)算機(jī)的工作特點(diǎn) 用戶獨(dú)占全機(jī):不出現(xiàn)資源被其他用戶占用,資源利用率用戶獨(dú)占全機(jī):不出現(xiàn)資源被其他用戶占用,資源利用率低;低; CPU等待用戶:計(jì)算前,手工裝入紙帶或卡片;計(jì)算完等待用戶:計(jì)算前,手工裝入紙帶或卡片;計(jì)算完成后,手工卸取紙帶或卡片;成后,手工卸取紙帶或卡片;CPU利用率低;利用率低; 主要矛盾主要矛

9、盾 計(jì)算機(jī)處理能力的提高,手工操作的低效率(造成浪計(jì)算機(jī)處理能力的提高,手工操作的低效率(造成浪費(fèi));費(fèi)); 用戶獨(dú)占全機(jī)的所有資源;用戶獨(dú)占全機(jī)的所有資源; 提高效率的途徑提高效率的途徑 專門的操作員,批處理專門的操作員,批處理1.2.3 單道批處理系統(tǒng) (simple batch processing, uniprogramming) 批處理中的作業(yè)的組成:批處理中的作業(yè)的組成: 用戶程序用戶程序 數(shù)據(jù)數(shù)據(jù) 作業(yè)說明書(作業(yè)控制語言)作業(yè)說明書(作業(yè)控制語言) 批:批: 供一次加載的磁帶或磁盤,通常由若干個(gè)作業(yè)組裝成,供一次加載的磁帶或磁盤,通常由若干個(gè)作業(yè)組裝成,在處理中使用一組相同的系

10、統(tǒng)軟件(系統(tǒng)帶)在處理中使用一組相同的系統(tǒng)軟件(系統(tǒng)帶) 兩種批處理方式兩種批處理方式(1)-聯(lián)機(jī)批處理聯(lián)機(jī)批處理 用戶提交作業(yè):以紙帶或卡片為介質(zhì);用戶提交作業(yè):以紙帶或卡片為介質(zhì); 操作員合成批作業(yè):結(jié)果為磁帶介質(zhì);操作員合成批作業(yè):結(jié)果為磁帶介質(zhì); 批作業(yè)處理:對(duì)批作業(yè)中的每個(gè)作業(yè)進(jìn)行相同的處理:從批作業(yè)處理:對(duì)批作業(yè)中的每個(gè)作業(yè)進(jìn)行相同的處理:從磁帶讀入用戶作業(yè)和編譯鏈接程序,編譯鏈接用戶作業(yè),磁帶讀入用戶作業(yè)和編譯鏈接程序,編譯鏈接用戶作業(yè),生成可執(zhí)行程序;啟動(dòng)執(zhí)行;執(zhí)行結(jié)果輸出。生成可執(zhí)行程序;啟動(dòng)執(zhí)行;執(zhí)行結(jié)果輸出。 這時(shí)的問題:慢速的輸入輸出處理仍直接由主機(jī)來完成。這時(shí)的問題:

11、慢速的輸入輸出處理仍直接由主機(jī)來完成。輸入輸出時(shí),輸入輸出時(shí),CPU處于等待狀態(tài)。處于等待狀態(tài)。 兩種批處理方式兩種批處理方式(2)-脫機(jī)批處理脫機(jī)批處理 衛(wèi)星機(jī):完成面向用戶的輸入輸出(紙帶或卡片),中間衛(wèi)星機(jī):完成面向用戶的輸入輸出(紙帶或卡片),中間結(jié)果暫存在磁帶或磁盤上。結(jié)果暫存在磁帶或磁盤上。 作業(yè)控制命令由監(jiān)督程序作業(yè)控制命令由監(jiān)督程序(monitor)來執(zhí)行,完成如裝入來執(zhí)行,完成如裝入程序、編譯、運(yùn)行等操作。程序、編譯、運(yùn)行等操作。 優(yōu)點(diǎn):同一批內(nèi)各作業(yè)的自動(dòng)依次更替,改善了主機(jī)優(yōu)點(diǎn):同一批內(nèi)各作業(yè)的自動(dòng)依次更替,改善了主機(jī)CPU和和I/O設(shè)備的使用效率,提高了吞吐量。設(shè)備的使

12、用效率,提高了吞吐量。 缺點(diǎn):磁帶或磁盤需要人工裝卸,作業(yè)需要人工分類,監(jiān)缺點(diǎn):磁帶或磁盤需要人工裝卸,作業(yè)需要人工分類,監(jiān)督程序易遭到用戶程序的破壞(由人工干預(yù)才可恢復(fù))。督程序易遭到用戶程序的破壞(由人工干預(yù)才可恢復(fù))。通道和中斷技術(shù) 60年代初,發(fā)展了通道技術(shù)和中斷技術(shù),這些技術(shù)的出現(xiàn)使監(jiān)督程序在負(fù)責(zé)作業(yè)運(yùn)行的同時(shí)提供I/O控制功能。 通道:用于控制通道:用于控制I/O設(shè)備與內(nèi)存間的數(shù)據(jù)傳輸。啟動(dòng)后可設(shè)備與內(nèi)存間的數(shù)據(jù)傳輸。啟動(dòng)后可獨(dú)立于獨(dú)立于CPU運(yùn)行,實(shí)現(xiàn)運(yùn)行,實(shí)現(xiàn)CPU與與I/O的并行。的并行。 通道有專用的通道有專用的I/O處理器,可與處理器,可與CPU并行工作并行工作 可實(shí)現(xiàn)可

13、實(shí)現(xiàn) I/O聯(lián)機(jī)處理聯(lián)機(jī)處理 中斷是指中斷是指CPU在收到外部中斷信號(hào)后,停止原來工作,轉(zhuǎn)在收到外部中斷信號(hào)后,停止原來工作,轉(zhuǎn)去處理該中斷事件,完畢后回到原來斷點(diǎn)繼續(xù)工作。去處理該中斷事件,完畢后回到原來斷點(diǎn)繼續(xù)工作。 中斷處理過程:中斷請(qǐng)求,中斷響應(yīng),中斷點(diǎn)(暫停中斷處理過程:中斷請(qǐng)求,中斷響應(yīng),中斷點(diǎn)(暫停當(dāng)前任務(wù)并保存現(xiàn)場(chǎng)),中斷處理例程,中斷返回當(dāng)前任務(wù)并保存現(xiàn)場(chǎng)),中斷處理例程,中斷返回(恢復(fù)中斷點(diǎn)的現(xiàn)場(chǎng)并繼續(xù)原有任務(wù)(恢復(fù)中斷點(diǎn)的現(xiàn)場(chǎng)并繼續(xù)原有任務(wù) 可處理算術(shù)溢出和非法操作碼,死循環(huán)(利用時(shí)鐘中可處理算術(shù)溢出和非法操作碼,死循環(huán)(利用時(shí)鐘中斷進(jìn)行超時(shí)限定)斷進(jìn)行超時(shí)限定) 監(jiān)督程

14、序發(fā)展為執(zhí)行系統(tǒng)監(jiān)督程序發(fā)展為執(zhí)行系統(tǒng)(executive system),常駐內(nèi)存,常駐內(nèi)存單道批處理的主要問題 CPU和和I/O設(shè)備使用忙閑不均(取決于當(dāng)前作業(yè)的特性)。設(shè)備使用忙閑不均(取決于當(dāng)前作業(yè)的特性)。 對(duì)計(jì)算為主的作業(yè),外設(shè)空閑;對(duì)計(jì)算為主的作業(yè),外設(shè)空閑; 對(duì)對(duì)I/O為主的作業(yè),為主的作業(yè),CPU空閑;空閑;1.2.4 多道批處理系統(tǒng) (multiprogramming system) 60年代中 70年代中(集成電路),利用多道批處理提高資源的利用率。 多道批處理的運(yùn)行特征多道批處理的運(yùn)行特征 多道:內(nèi)存中同時(shí)存放幾個(gè)作業(yè);多道:內(nèi)存中同時(shí)存放幾個(gè)作業(yè); 宏觀上并行運(yùn)行:都

15、處于運(yùn)行狀態(tài),但都未運(yùn)行完;宏觀上并行運(yùn)行:都處于運(yùn)行狀態(tài),但都未運(yùn)行完; 微觀上串行運(yùn)行:各作業(yè)交替使用微觀上串行運(yùn)行:各作業(yè)交替使用CPU;多道批處理系統(tǒng)的特點(diǎn)多道批處理系統(tǒng)的特點(diǎn) 優(yōu)點(diǎn):優(yōu)點(diǎn): 資源利用率高:資源利用率高:CPU和內(nèi)存利用率較高;和內(nèi)存利用率較高; 作業(yè)吞吐量大:?jiǎn)挝粫r(shí)間內(nèi)完成的工作總量大;作業(yè)吞吐量大:?jiǎn)挝粫r(shí)間內(nèi)完成的工作總量大; 缺點(diǎn):缺點(diǎn): 用戶交互性差:整個(gè)作業(yè)完成后或中間出錯(cuò)時(shí),才與用戶交互性差:整個(gè)作業(yè)完成后或中間出錯(cuò)時(shí),才與用戶交互,不利于調(diào)試和修改;用戶交互,不利于調(diào)試和修改; 作業(yè)平均周轉(zhuǎn)時(shí)間長(zhǎng):短作業(yè)的周轉(zhuǎn)時(shí)間顯著增長(zhǎng);作業(yè)平均周轉(zhuǎn)時(shí)間長(zhǎng):短作業(yè)的周轉(zhuǎn)

16、時(shí)間顯著增長(zhǎng);1.2.5 分時(shí)系統(tǒng) (time-sharing system)- 70年代中期至今 “分時(shí)分時(shí)”的含義分時(shí)是指多個(gè)用戶分享使用同一臺(tái)計(jì)算機(jī)。的含義分時(shí)是指多個(gè)用戶分享使用同一臺(tái)計(jì)算機(jī)。多個(gè)程序分時(shí)共享硬件和軟件資源。多個(gè)程序分時(shí)共享硬件和軟件資源。 多個(gè)用戶分時(shí):?jiǎn)蝹€(gè)用戶使用計(jì)算機(jī)的效率低,因而多個(gè)用戶分時(shí):?jiǎn)蝹€(gè)用戶使用計(jì)算機(jī)的效率低,因而允許多個(gè)應(yīng)用程序同時(shí)在內(nèi)存中,分別服務(wù)于不同的允許多個(gè)應(yīng)用程序同時(shí)在內(nèi)存中,分別服務(wù)于不同的用戶。有用戶輸入時(shí)由用戶。有用戶輸入時(shí)由CPU執(zhí)行,處理完一次用戶輸執(zhí)行,處理完一次用戶輸入后程序暫停,等待下一次用戶輸入時(shí)走時(shí)停入后程序暫停,等待下

17、一次用戶輸入時(shí)走時(shí)停 前臺(tái)和后臺(tái)程序前臺(tái)和后臺(tái)程序(foreground & background)分時(shí):分時(shí):后臺(tái)程序不占用終端輸入輸出,不與用戶交互現(xiàn)后臺(tái)程序不占用終端輸入輸出,不與用戶交互現(xiàn)在的圖形用戶界面在的圖形用戶界面(GUI),除當(dāng)前交互的程序,除當(dāng)前交互的程序(輸入焦點(diǎn)輸入焦點(diǎn))之外,其他程序均作為后臺(tái)之外,其他程序均作為后臺(tái) 通常按時(shí)間片通常按時(shí)間片(time slice)分配:各個(gè)程序在分配:各個(gè)程序在CPU上執(zhí)上執(zhí)行的輪換時(shí)間。行的輪換時(shí)間。分時(shí)系統(tǒng)的特點(diǎn)分時(shí)系統(tǒng)的特點(diǎn) 人機(jī)交互性好:在調(diào)試和運(yùn)行程序時(shí)由用戶自己操作。人機(jī)交互性好:在調(diào)試和運(yùn)行程序時(shí)由用戶自己操作。

18、 共享主機(jī):多個(gè)用戶同時(shí)使用。共享主機(jī):多個(gè)用戶同時(shí)使用。 用戶獨(dú)立性:對(duì)每個(gè)用戶而言好象獨(dú)占主機(jī)。用戶獨(dú)立性:對(duì)每個(gè)用戶而言好象獨(dú)占主機(jī)。1.2.6 個(gè) Personal Computer Operating System針對(duì)單用戶使用的個(gè)人計(jì)算機(jī)進(jìn)行優(yōu)化的操作系統(tǒng)。 個(gè)人計(jì)算機(jī)操作系統(tǒng)的特征個(gè)人計(jì)算機(jī)操作系統(tǒng)的特征 應(yīng)用領(lǐng)域:事務(wù)處理、個(gè)人娛樂,應(yīng)用領(lǐng)域:事務(wù)處理、個(gè)人娛樂, 系統(tǒng)要求:使用方便、支持多種硬件和外部設(shè)備(多系統(tǒng)要求:使用方便、支持多種硬件和外部設(shè)備(多媒體設(shè)備、網(wǎng)絡(luò)、遠(yuǎn)程通信)、效率不必很高。媒體設(shè)備、網(wǎng)絡(luò)、遠(yuǎn)程通信)、效率不必很高。 常用的個(gè)人計(jì)算機(jī)操作系統(tǒng)常用的個(gè)人計(jì)算

19、機(jī)操作系統(tǒng) 單用戶單任務(wù):?jiǎn)斡脩魡稳蝿?wù):MS DOS 單用戶多任務(wù):?jiǎn)斡脩舳嗳蝿?wù):OS/2, MS Windows 3.x, Windows 95, Windows NT, Windows 2000 Professional 多用戶多任務(wù):多用戶多任務(wù):UNIX(SCO UNIX, Solaris x86, Linux, FreeBSD)1.2.7 MI 多用戶多任務(wù),16/32/64位 BSD, SVR4(模塊式結(jié)構(gòu)), OSF/1(微內(nèi)核結(jié)構(gòu)) 1965年:年:MIT的的Multics,由于規(guī)模和進(jìn)展而沒有達(dá)到目,由于規(guī)模和進(jìn)展而沒有達(dá)到目標(biāo);標(biāo); 1969年:年:AT&T,PDP

20、-11上的上的16位操作系統(tǒng);位操作系統(tǒng); 1974年:年:UNIX系統(tǒng)正式發(fā)表系統(tǒng)正式發(fā)表(第五版第五版),在大學(xué)得到使用,在大學(xué)得到使用和好評(píng);和好評(píng); 1980年:年:University of California at Berkeley為為VAX11發(fā)表發(fā)表BSD4.0;以后,;以后,UNIX就以就以AT&T和和Berkeley為主分為主分別開發(fā),有多種變種;別開發(fā),有多種變種; 1989年:年:UI (UNIX International)發(fā)表發(fā)表UNIX system V Res4.0;使;使BSD和和System V在用戶界面上統(tǒng)一;在用戶界面上統(tǒng)一; 1991年芬蘭大

21、學(xué)生年芬蘭大學(xué)生Linus Benedict Torralds開發(fā)了第一開發(fā)了第一個(gè)個(gè)Linux版本。版本。 1994年:年:Linux 1.0 MULTICS-UNIX UNIX(6) free-萊昂氏源代碼分析 UNIX(7) not freeto Univ, just mentioned the theory MINIX-all the codes are different For the limitation of MINIX (just for teaching) Linux appeared-Red hat UNIX系統(tǒng)的特點(diǎn)系統(tǒng)的特點(diǎn) 字符用戶界面和圖形用戶界面GUI(X Wi

22、ndow)。 搶先式多任務(wù),多線程。支持動(dòng)態(tài)鏈接。支持對(duì)稱式多處理。 虛擬存儲(chǔ):段頁(yè)式,有存儲(chǔ)保護(hù)。 文件系統(tǒng):多級(jí)目錄,文件卷可以在子目錄下動(dòng)態(tài)裝卸。無文件屬性,可有別名。 采用設(shè)備文件的形式(讀寫,參數(shù)控制)。設(shè)備驅(qū)動(dòng)程序修改后需要重新編譯連接生成內(nèi)核。 支持多種硬件平臺(tái)。 易移植:主要代碼用C語言寫成; 變種很多,很難標(biāo)準(zhǔn)化。Processes and TasksThe Internal Structure of Minix Minix is structured in four layers. User processes (Init) Server processes I/O tas

23、ks and system task (Disk task) Process managementProcess Management in Minix Bottom layer of the structure. Catches hardware interrupts and software traps. Performs scheduling. Handles messages between processes (checks for protection, locates send and receive buffers, copies messages between sender

24、s and receivers buffers.)概念二:文件概念二:文件互互細(xì)細(xì)節(jié),節(jié),方方便便用用戶戶管管理:理:如:如:讀讀寫寫我我們們的的磁磁盤盤驅(qū)驅(qū)動(dòng)動(dòng)器,器,我我們們只只需需要要使使用用read()(),write()()這這些些函函數(shù),數(shù),實(shí)實(shí)際際的的交交互,互,都都是是由由OS的的驅(qū)驅(qū)動(dòng)動(dòng)來來具具體體完完成,成,程程序序員員不不用用關(guān)關(guān)心。心。當(dāng)當(dāng)磁磁盤盤出出錯(cuò),錯(cuò),相相應(yīng)應(yīng)的的錯(cuò)錯(cuò)誤誤信信息息會(huì)會(huì)通通過過OS里里的的系系列列錯(cuò)錯(cuò)誤誤返返回回代代碼碼返返回,回,用用戶戶可可以以獲獲得得具具體體信信息。息。早早期期的的Linux在在訪訪問問磁磁盤盤和和光光驅(qū)驅(qū)時(shí),時(shí),需需要要使使

25、用用“mount”命命令令來來掛掛裝裝磁磁盤,盤,訪訪問問的的位位置置也也是是固固定定的:的:/mnt/floppy。 File system文件保護(hù)機(jī)制Linux必會(huì)技能 rwx r- r- = r w x r - - r - - r: read w: write x: execute(file) search(folder,directory)Owner (who create the directory or file)The same group usersThe users of other groups一個(gè)文件有的權(quán)限部有三組一個(gè)文件有的權(quán)限部有三組 rwx rwx rwx每一位只

26、有兩種可能:一種是這個(gè)位的權(quán)限如r另一種是-表是無此權(quán)限,所以可以用二制表示有和沒有,但為簡(jiǎn)化所以chmod后而跟是8進(jìn)制數(shù),每個(gè)數(shù)代表屬主屬組和其它,r為4,w為2,x為1 -為0,將每組中的三個(gè)要素的數(shù)字加到一起就是這個(gè)組的權(quán)限代數(shù),每個(gè)權(quán)限與進(jìn)制數(shù)的關(guān)系如下 rwx rwx rwx 421 421 421 也就是4+2+1=7 4+2+1=7 4+2+1=7 所以最大權(quán)限是777又如下面的權(quán)限就是 660rw- rw- -420 420 000 4+2=6,4+2=6,0再如下面的權(quán)限是 526r-x -w- rw-401 020 420 也就是說想把一個(gè)文件的權(quán)限變成以上情況則輸入ch

27、mod 526 filename ; 0751呢 但在此要說明一下,只是運(yùn)行chmod 的用戶對(duì)此文件有w的權(quán)限才能重新設(shè)置文件權(quán)限。root可設(shè)置任何文件的權(quán)限.How to use mount /mnt/floppy /mnt/cdrom it is the default directory for mount floppy and cd-rom, its folder, and in some linux systems, the default is empty, we can add files there, but once the real driver is mounted,

28、 the original files wont be visit,when we change our floppy, we have to unmount the disk, and remount the new one.文文件件的的另另類類存存在在- - - -設(shè)設(shè)備備文文件件In linux ,in order to make the I/O devices looks more like file, the special appeared.block special file diskcharacter special file printer, modem 由于設(shè)備文件就代表了

29、整個(gè)設(shè)備,就可以使用標(biāo)準(zhǔn)命令直接操作設(shè)備文件,從而直接訪問硬件設(shè)備。利用這種方式,能完成很多有用的工作,但是這種方式也非常危險(xiǎn),例如對(duì)硬盤設(shè)備文件的操作失誤會(huì)破壞整個(gè)硬盤的數(shù)據(jù)。幸好大部分直接訪問設(shè)備的操作都為讀取相應(yīng)數(shù)據(jù)的操作,而不需要寫入磁盤設(shè)備。當(dāng)某個(gè)設(shè)備不可使用,則其對(duì)應(yīng)的設(shè)備文件也不能正常訪問,因此直接訪問設(shè)備文件可以判斷對(duì)應(yīng)的設(shè)備是否真正正常。例如,判斷連接到第一個(gè)串口,ttyd0上的鼠標(biāo)是否正常工作,使用命令 “cat /dev/ttyd 0” 來查看ttyd0上的輸入數(shù)據(jù),如果連接的有鼠標(biāo)且工作正常,那么在移動(dòng)鼠標(biāo)的同時(shí)屏幕上就會(huì)顯示出接收到的雜亂數(shù)據(jù)。如果沒有反應(yīng),說明鼠標(biāo)工

30、作不正確。但這也可能是其他程序接管了這個(gè)設(shè)備.文件的另類存在文件的另類存在- 管道文件管道文件Pipe 連接兩個(gè)進(jìn)程的虛擬文件概念三:概念三: Shell Editors、compilers assemblers linkers interpreters not belong to OS, but from them ,we could familiar with the OS. #/bin/sh Shell-a command interpretermany command there, we will familiar with them later. Eg: Sh XXX.sh chan

31、ge its property, and run it概念四:系統(tǒng)調(diào)用概念四:系統(tǒng)調(diào)用System Call 系統(tǒng)調(diào)用是操作系統(tǒng)提供給軟件開發(fā)人員的唯一接口,開發(fā)人員可利用它使用系統(tǒng)功能。OS核心中都有一組實(shí)現(xiàn)系統(tǒng)功能的過程(子程序),系統(tǒng)調(diào)用就是對(duì)上述過程的調(diào)用。 For computers different type, the system call are different, and almost all the basic functions are programmed by assembler language.Eg:Call read function in C langua

32、ge.count=read ( file, buffer, nbytes );file: the file we are operate on;buffer: the buffer area we are using;nbytes: the bytes we will read.(sometimes, the count may less then nbytes)System Call of Minix-Six Parts. Process management.Signals.File management.Directory & Files System Management.Pr

33、otection.Time ManagementIn M Any file has an only id to identify it, and any file has an i-node, it tell us who owns the file, and where the disk blocks are. The directory is a file ,it stored the i-node and filename, now back to our link:Mo mount (“/dev/fd0”, “/mnt/”,0)Ca To make the file could be

34、visited more quickly, almost all the OS design a cache, similar with the cache of our CPU. Advantage:improve its speed. Disadvantage:may lead to crash.resaon:how to avoid the prob:CacheCPUDir Table1.5 操作系統(tǒng)的架構(gòu) 通過分析操作系統(tǒng)的系統(tǒng)調(diào)用來分析操作系統(tǒng)的大概架構(gòu)發(fā)展過程: 這里將介紹四種架構(gòu): * Monolithic systems整體式 * Layered systems-分層式 * V

35、irtual machines-虛擬機(jī) * Client-server model-客戶-服務(wù)機(jī)模型1.5 1 Monolithic Systems In this technique: each procedure in this system has a well-defined interface in terms of parameters and results. each one is free to call any other one. How to realize this: compiles all the individual procedures, and then b

36、inds them together to a single object. Each procedure is visible to all others.User program run in user modeOperating system run in kernel modeHow it works1. User program traps to the kernel use an kernel call or supervisor call2. Operating system determines service number required from the paramete

37、rs to check the service number3.Operating system calls service procedure check dispatch table ,ensured the sys call4.Control is returned to user program back to user mode, return the valuesSimplify-What we need when design an OS? *A main program invokes the requested service procedure;(3) *A set of

38、service procedures carry out the system calls;(2) *A set of utility procedures help the service procedures.Main ProcedureService ProcedureUtility Procedure1.5 2 Layered Systems Compare with the pre pic ,it looks like a simplified layered system, each layer serves for its upper level, and if we add m

39、ore details there, we will got the THE. Dijkstra and his students designed the system for Electrologica X8 -1968 The THE is of six layers, each layer charge of its work ,and serve for upper layers. When in this layer, we neednt care more detail of other layers.Layers of THE Layer0: provided the basi

40、c multiprogramming of the CPU; Layer1: did the memory management; Layer2: handled communication between each process and operation console; Layer3: Input/Output management Layer4: User programs Layer5: The operator! ! ! All these layers just the design aid, in fact, all the parts are ultimately linked together into a single object program. In MULTICS Layers is replaced by concentric rings, and each ring

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論