




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系第四章第四章 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) 操作系統(tǒng)是配置在計(jì)算機(jī)硬件上的第一層軟操作系統(tǒng)是配置在計(jì)算機(jī)硬件上的第一層軟件,是控制計(jì)算機(jī)所有操作的軟件。件,是控制計(jì)算機(jī)所有操作的軟件。 本章主要講述操作系統(tǒng)概念及構(gòu)成;以點(diǎn)的本章主要講述操作系統(tǒng)概念及構(gòu)成;以點(diǎn)的方式重點(diǎn)講述操作系統(tǒng)中的幾個(gè)基本功能及相關(guān)方式重點(diǎn)講述操作系統(tǒng)中的幾個(gè)基本功能及相關(guān)概念,主要是:進(jìn)程管理、內(nèi)存管理、文件管理、概念,主要是:進(jìn)程管理、內(nèi)存管理、文件管理、輸入輸入/輸出系統(tǒng)管理;最后介紹幾個(gè)典型的操作系輸出系統(tǒng)管理;最后介紹幾個(gè)典型的操作系統(tǒng)產(chǎn)品。統(tǒng)產(chǎn)品。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)
2、與工程系4.1.1 操作系統(tǒng)的概念操作系統(tǒng)的概念操作系統(tǒng):是管理計(jì)算機(jī)軟硬件資源的程序,同操作系統(tǒng):是管理計(jì)算機(jī)軟硬件資源的程序,同時(shí)它又是用戶與計(jì)算機(jī)硬件的接口。時(shí)它又是用戶與計(jì)算機(jī)硬件的接口。系統(tǒng)程序和應(yīng)用程序系統(tǒng)程序和應(yīng)用程序操操 作作 系系 統(tǒng)統(tǒng)硬硬 件件 層層沒(méi)有操作系沒(méi)有操作系統(tǒng),應(yīng)用軟統(tǒng),應(yīng)用軟件如同空中件如同空中樓閣,無(wú)法樓閣,無(wú)法運(yùn)行。運(yùn)行。 計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.1.2 操作系統(tǒng)的構(gòu)成操作系統(tǒng)的構(gòu)成4.1 操作系統(tǒng)概念及構(gòu)成操作系統(tǒng)概念及構(gòu)成操作系統(tǒng)操作系統(tǒng) 進(jìn)程管理進(jìn)程管理 內(nèi)存管理內(nèi)存管理 文件管理文件管理 輸入輸入/輸出系統(tǒng)管理輸出系統(tǒng)管理 二級(jí)存儲(chǔ)
3、管理二級(jí)存儲(chǔ)管理用戶接口用戶接口 聯(lián)網(wǎng)、保護(hù)系統(tǒng)和命令解釋程序系統(tǒng)聯(lián)網(wǎng)、保護(hù)系統(tǒng)和命令解釋程序系統(tǒng)就是對(duì)就是對(duì)cpu的的管理。管理。就是如何合就是如何合理分配和使理分配和使用內(nèi)存。用內(nèi)存。就是對(duì)文件就是對(duì)文件及文件夾進(jìn)及文件夾進(jìn)行管理。行管理。就是對(duì)外部各就是對(duì)外部各種輸入輸出設(shè)種輸入輸出設(shè)備進(jìn)行管理。備進(jìn)行管理。主要是指對(duì)主要是指對(duì)硬盤進(jìn)行管硬盤進(jìn)行管理。理。就是提供對(duì)網(wǎng)就是提供對(duì)網(wǎng)絡(luò)管理、對(duì)進(jìn)絡(luò)管理、對(duì)進(jìn)程工作過(guò)程的程工作過(guò)程的保護(hù)及提供用保護(hù)及提供用戶與操作系統(tǒng)戶與操作系統(tǒng)的接口程序。的接口程序。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.2.1 操作系統(tǒng)的類別操作系統(tǒng)的類別4.2 操作系統(tǒng)
4、類別與計(jì)算環(huán)境操作系統(tǒng)類別與計(jì)算環(huán)境批處理系統(tǒng)1多道程序系統(tǒng)2分時(shí)系統(tǒng)3實(shí)時(shí)系統(tǒng)4桌面系統(tǒng)5多處理機(jī)系統(tǒng)6網(wǎng)絡(luò)系統(tǒng)7分布式系統(tǒng)8嵌入式系統(tǒng)9 經(jīng)過(guò)多年的發(fā)展,操作系統(tǒng)多種經(jīng)過(guò)多年的發(fā)展,操作系統(tǒng)多種多樣。早期,操作系統(tǒng)從批處理,多多樣。早期,操作系統(tǒng)從批處理,多道程序發(fā)展為分時(shí)操作系統(tǒng);另外,道程序發(fā)展為分時(shí)操作系統(tǒng);另外,為滿足計(jì)算機(jī)處理實(shí)時(shí)事件的需要,為滿足計(jì)算機(jī)處理實(shí)時(shí)事件的需要,就有了實(shí)時(shí)操作系統(tǒng);為適應(yīng)個(gè)人計(jì)就有了實(shí)時(shí)操作系統(tǒng);為適應(yīng)個(gè)人計(jì)算機(jī)系統(tǒng)的需要又出現(xiàn)了桌面操作系算機(jī)系統(tǒng)的需要又出現(xiàn)了桌面操作系統(tǒng);為適應(yīng)并行系統(tǒng)的需要,就有了統(tǒng);為適應(yīng)并行系統(tǒng)的需要,就有了多處理機(jī)操作系統(tǒng);
5、為滿足網(wǎng)絡(luò)和分多處理機(jī)操作系統(tǒng);為滿足網(wǎng)絡(luò)和分布計(jì)算的需要,就有了網(wǎng)絡(luò)操作系統(tǒng)布計(jì)算的需要,就有了網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng);此外,還有為支和分布式操作系統(tǒng);此外,還有為支持嵌入式計(jì)算機(jī)的嵌入式操作系統(tǒng)。持嵌入式計(jì)算機(jī)的嵌入式操作系統(tǒng)。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.2.2 計(jì)算環(huán)境計(jì)算環(huán)境 操作系統(tǒng)總是在某種計(jì)算環(huán)境中設(shè)置和使用,就目前來(lái)看操作系統(tǒng)總是在某種計(jì)算環(huán)境中設(shè)置和使用,就目前來(lái)看計(jì)算環(huán)境可分為以下幾類:計(jì)算環(huán)境可分為以下幾類:4.2 操作系統(tǒng)類別與計(jì)算環(huán)境操作系統(tǒng)類別與計(jì)算環(huán)境 1. 傳統(tǒng)計(jì)算環(huán)境傳統(tǒng)計(jì)算環(huán)境 指普通意義下的獨(dú)立或聯(lián)網(wǎng)工作下所形成的計(jì)算環(huán)境。指普通意義下的
6、獨(dú)立或聯(lián)網(wǎng)工作下所形成的計(jì)算環(huán)境。 2.基于基于web的計(jì)算環(huán)境的計(jì)算環(huán)境 互聯(lián)網(wǎng)的普及使得計(jì)算被延伸到互聯(lián)網(wǎng)的普及使得計(jì)算被延伸到web環(huán)境。環(huán)境。 3.嵌入式計(jì)算環(huán)境嵌入式計(jì)算環(huán)境 嵌入式計(jì)算機(jī)就是安裝在某些設(shè)備上的計(jì)算部件,其計(jì)嵌入式計(jì)算機(jī)就是安裝在某些設(shè)備上的計(jì)算部件,其計(jì)算相對(duì)比較簡(jiǎn)單。算相對(duì)比較簡(jiǎn)單。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.3.1 進(jìn)程的概念進(jìn)程的概念進(jìn)程管理進(jìn)程管理 什么是進(jìn)程?它與程序有什么區(qū)別?什么是進(jìn)程?它與程序有什么區(qū)別? 程序:用戶為完成某一個(gè)特定問(wèn)題而編寫的操作步驟。程序:用戶為完成某一個(gè)特定問(wèn)題而編寫的操作步驟。 進(jìn)程:可簡(jiǎn)單地看作是正在執(zhí)行的程序。
7、但是進(jìn)程需要進(jìn)程:可簡(jiǎn)單地看作是正在執(zhí)行的程序。但是進(jìn)程需要一定的資源來(lái)完成它的任務(wù)一定的資源來(lái)完成它的任務(wù)(例如例如cpu時(shí)間、內(nèi)存、文件和時(shí)間、內(nèi)存、文件和i/o設(shè)備設(shè)備) 。 進(jìn)程與程序的區(qū)別在于進(jìn)程是動(dòng)態(tài)的、有生命力的,而進(jìn)程與程序的區(qū)別在于進(jìn)程是動(dòng)態(tài)的、有生命力的,而程序是靜態(tài)的。一個(gè)程序加載到內(nèi)存,系統(tǒng)就創(chuàng)建一個(gè)進(jìn)程,程序是靜態(tài)的。一個(gè)程序加載到內(nèi)存,系統(tǒng)就創(chuàng)建一個(gè)進(jìn)程,程序執(zhí)行結(jié)束后,該進(jìn)程也就消亡了。程序執(zhí)行結(jié)束后,該進(jìn)程也就消亡了。 在計(jì)算機(jī)中,由于多個(gè)程序共享系統(tǒng)資源,就必然引發(fā)在計(jì)算機(jī)中,由于多個(gè)程序共享系統(tǒng)資源,就必然引發(fā)對(duì)對(duì)cpu的爭(zhēng)奪。如何有效地利用的爭(zhēng)奪。如何有效
8、地利用cpu資源,如何在多個(gè)請(qǐng)求資源,如何在多個(gè)請(qǐng)求cpu的進(jìn)程中選擇取舍,這就是進(jìn)程管理要解決的問(wèn)題。的進(jìn)程中選擇取舍,這就是進(jìn)程管理要解決的問(wèn)題。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.3.2 進(jìn)程的狀態(tài)轉(zhuǎn)移進(jìn)程的狀態(tài)轉(zhuǎn)移新的新的就緒就緒運(yùn)行運(yùn)行終止終止等待等待允許允許中斷中斷退出退出允許允許進(jìn)程狀態(tài)及轉(zhuǎn)換圖進(jìn)程狀態(tài)及轉(zhuǎn)換圖進(jìn)程管理進(jìn)程管理如如cpu時(shí)間片被用完,時(shí)間片被用完,迫使進(jìn)程讓出迫使進(jìn)程讓出cpu進(jìn)程等待分配進(jìn)程等待分配cpu進(jìn)程已分配到進(jìn)程已分配到cpu,正在被執(zhí)行。正在被執(zhí)行。進(jìn)程正在被創(chuàng)建進(jìn)程正在被創(chuàng)建進(jìn)程已完成進(jìn)程已完成進(jìn)程等待一些事件的出現(xiàn)進(jìn)程等待一些事件的出現(xiàn) 如進(jìn)程
9、可能要使用某個(gè)如進(jìn)程可能要使用某個(gè)i/o設(shè)備而進(jìn)入等待狀態(tài),等待設(shè)備而進(jìn)入等待狀態(tài),等待使用相應(yīng)的設(shè)備,當(dāng)使用相應(yīng)的設(shè)備,當(dāng) i/o完成后進(jìn)程進(jìn)入就緒隊(duì)列完成后進(jìn)程進(jìn)入就緒隊(duì)列。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.3.3 進(jìn)程控制塊進(jìn)程控制塊pcb(略略)進(jìn)程管理進(jìn)程管理 為了控制進(jìn)程,操作系統(tǒng)就必須知道進(jìn)程存儲(chǔ)在哪里,為了控制進(jìn)程,操作系統(tǒng)就必須知道進(jìn)程存儲(chǔ)在哪里,以及進(jìn)程的一些屬性。以及進(jìn)程的一些屬性。 進(jìn)程控制塊是進(jìn)程實(shí)體的一部分,是操作系統(tǒng)中記錄進(jìn)進(jìn)程控制塊是進(jìn)程實(shí)體的一部分,是操作系統(tǒng)中記錄進(jìn)程的專用數(shù)據(jù)結(jié)構(gòu)。一個(gè)新的進(jìn)程創(chuàng)建時(shí),操作系統(tǒng)就會(huì)為程的專用數(shù)據(jù)結(jié)構(gòu)。一個(gè)新的進(jìn)程創(chuàng)建時(shí)
10、,操作系統(tǒng)就會(huì)為該進(jìn)程建立一個(gè)進(jìn)程控制塊。操作系統(tǒng)根據(jù)進(jìn)程控制塊對(duì)并該進(jìn)程建立一個(gè)進(jìn)程控制塊。操作系統(tǒng)根據(jù)進(jìn)程控制塊對(duì)并發(fā)進(jìn)程進(jìn)行控制。發(fā)進(jìn)程進(jìn)行控制。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.3.4 進(jìn)程調(diào)度及隊(duì)列圖進(jìn)程調(diào)度及隊(duì)列圖進(jìn)程管理進(jìn)程管理 在某一時(shí)刻,計(jì)算機(jī)的在某一時(shí)刻,計(jì)算機(jī)的cpu(單核單核)只能運(yùn)行一個(gè)進(jìn)程,如只能運(yùn)行一個(gè)進(jìn)程,如果存在多個(gè)進(jìn)程,其它進(jìn)程就需要等果存在多個(gè)進(jìn)程,其它進(jìn)程就需要等cpu空閑時(shí)才能被調(diào)度空閑時(shí)才能被調(diào)度執(zhí)行。執(zhí)行。 當(dāng)一個(gè)進(jìn)程處于等待或當(dāng)一個(gè)進(jìn)程處于等待或cpu時(shí)間片用完時(shí),操作系統(tǒng)就時(shí)間片用完時(shí),操作系統(tǒng)就會(huì)從該進(jìn)程中拿走會(huì)從該進(jìn)程中拿走cpu控制
11、權(quán),然后再交給其它進(jìn)程使用,控制權(quán),然后再交給其它進(jìn)程使用,這就是進(jìn)程的調(diào)度。這就是進(jìn)程的調(diào)度。 進(jìn)程進(jìn)程b進(jìn)程進(jìn)程a進(jìn)程進(jìn)程ccpu時(shí)間時(shí)間進(jìn)程進(jìn)程c進(jìn)程進(jìn)程b進(jìn)程進(jìn)程a計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.3.5 cpu調(diào)度及其準(zhǔn)則調(diào)度及其準(zhǔn)則進(jìn)程管理進(jìn)程管理 在設(shè)計(jì)在設(shè)計(jì)cpu調(diào)度程序時(shí)主要應(yīng)該考慮的準(zhǔn)則包括:調(diào)度程序時(shí)主要應(yīng)該考慮的準(zhǔn)則包括: (1) cpu使用率。讓使用率。讓cpu盡可能地忙。盡可能地忙。 (2) 吞吐量。讓吞吐量。讓cpu在一定時(shí)間內(nèi)完成的進(jìn)程數(shù)盡可能多。在一定時(shí)間內(nèi)完成的進(jìn)程數(shù)盡可能多。 (3) 周轉(zhuǎn)時(shí)間。讓進(jìn)程從提交到運(yùn)行完成的時(shí)間盡可能短。周轉(zhuǎn)時(shí)間。讓進(jìn)程從
12、提交到運(yùn)行完成的時(shí)間盡可能短。 (4) 等待時(shí)間。讓進(jìn)程在就緒隊(duì)列中等待所花時(shí)間之和盡可等待時(shí)間。讓進(jìn)程在就緒隊(duì)列中等待所花時(shí)間之和盡可能短。能短。 (5) 響應(yīng)時(shí)間。讓進(jìn)程從提交請(qǐng)求到產(chǎn)生第一響應(yīng)之間的時(shí)響應(yīng)時(shí)間。讓進(jìn)程從提交請(qǐng)求到產(chǎn)生第一響應(yīng)之間的時(shí)間盡可能短。間盡可能短。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.3.7 進(jìn)程的同步與互斥進(jìn)程的同步與互斥進(jìn)程管理進(jìn)程管理 進(jìn)程的同步就是指相互協(xié)作的進(jìn)程不斷調(diào)整它們之間的相進(jìn)程的同步就是指相互協(xié)作的進(jìn)程不斷調(diào)整它們之間的相對(duì)速度,以實(shí)現(xiàn)共同有序地推進(jìn)。對(duì)速度,以實(shí)現(xiàn)共同有序地推進(jìn)。 換句話說(shuō)換句話說(shuō), ,在操作系統(tǒng)中,允許多個(gè)進(jìn)程并發(fā)運(yùn)行。然而
13、,在操作系統(tǒng)中,允許多個(gè)進(jìn)程并發(fā)運(yùn)行。然而,有些進(jìn)程之間本身存在某種聯(lián)系,它們?cè)谙到y(tǒng)中需要一種協(xié)作,有些進(jìn)程之間本身存在某種聯(lián)系,它們?cè)谙到y(tǒng)中需要一種協(xié)作,以保證進(jìn)程能正確有序地執(zhí)行并維護(hù)數(shù)據(jù)的一致性。以保證進(jìn)程能正確有序地執(zhí)行并維護(hù)數(shù)據(jù)的一致性。把數(shù)據(jù)從鍵盤送入緩沖區(qū)把數(shù)據(jù)從鍵盤送入緩沖區(qū)給給b發(fā)信號(hào)發(fā)信號(hào)(緩沖區(qū)已滿緩沖區(qū)已滿)等待等待b發(fā)回信號(hào)發(fā)回信號(hào)(再送數(shù)據(jù)到緩沖區(qū)再送數(shù)據(jù)到緩沖區(qū))a進(jìn)程進(jìn)程b進(jìn)程進(jìn)程等待等待a信號(hào)信號(hào)(等待取數(shù)據(jù)并計(jì)算等待取數(shù)據(jù)并計(jì)算)取緩沖區(qū)中的數(shù)據(jù)進(jìn)行計(jì)算取緩沖區(qū)中的數(shù)據(jù)進(jìn)行計(jì)算給給a發(fā)信號(hào)發(fā)信號(hào)(緩沖區(qū)數(shù)據(jù)已取走緩沖區(qū)數(shù)據(jù)已取走)例例:a、b兩進(jìn)程同步工作如
14、下圖(兩進(jìn)程同步工作如下圖(a進(jìn)程負(fù)責(zé)從鍵盤讀數(shù)據(jù)到緩沖區(qū),進(jìn)程負(fù)責(zé)從鍵盤讀數(shù)據(jù)到緩沖區(qū),b進(jìn)程從緩沖進(jìn)程從緩沖區(qū)取數(shù)據(jù)并計(jì)算。區(qū)取數(shù)據(jù)并計(jì)算。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系進(jìn)程管理進(jìn)程管理 在操作系統(tǒng)中,可能存在著多個(gè)進(jìn)程。而系統(tǒng)中一些資在操作系統(tǒng)中,可能存在著多個(gè)進(jìn)程。而系統(tǒng)中一些資源一次只允許一個(gè)進(jìn)程使用,這類資源被稱為臨界資源。在源一次只允許一個(gè)進(jìn)程使用,這類資源被稱為臨界資源。在進(jìn)程中訪問(wèn)臨界資源的那段程序稱為臨界區(qū)。當(dāng)一個(gè)進(jìn)程進(jìn)進(jìn)程中訪問(wèn)臨界資源的那段程序稱為臨界區(qū)。當(dāng)一個(gè)進(jìn)程進(jìn)入臨界區(qū)執(zhí)行時(shí),其它進(jìn)程就不允許進(jìn)入臨界區(qū)執(zhí)行,否則入臨界區(qū)執(zhí)行時(shí),其它進(jìn)程就不允許進(jìn)入臨界區(qū)執(zhí)行
15、,否則就會(huì)導(dǎo)致錯(cuò)誤結(jié)果。例如:就會(huì)導(dǎo)致錯(cuò)誤結(jié)果。例如: 多個(gè)進(jìn)程在競(jìng)爭(zhēng)使用打印機(jī)時(shí)表現(xiàn)為互斥。多個(gè)進(jìn)程在競(jìng)爭(zhēng)使用打印機(jī)時(shí)表現(xiàn)為互斥。 一個(gè)文件可供多個(gè)進(jìn)程共享,其中有一個(gè)進(jìn)程在寫操作一個(gè)文件可供多個(gè)進(jìn)程共享,其中有一個(gè)進(jìn)程在寫操作時(shí),其它進(jìn)程則不允許同時(shí)寫或讀,表現(xiàn)為互斥。時(shí),其它進(jìn)程則不允許同時(shí)寫或讀,表現(xiàn)為互斥。 由此得出由此得出: : 多個(gè)進(jìn)程并發(fā)執(zhí)行時(shí),只允許一個(gè)進(jìn)程進(jìn)入臨多個(gè)進(jìn)程并發(fā)執(zhí)行時(shí),只允許一個(gè)進(jìn)程進(jìn)入臨界區(qū)運(yùn)行,這就是進(jìn)程的互斥。界區(qū)運(yùn)行,這就是進(jìn)程的互斥。 計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系在多道程序設(shè)計(jì)中,多個(gè)進(jìn)程可能競(jìng)爭(zhēng)一定數(shù)量的資源。在多道程序設(shè)計(jì)中,多個(gè)進(jìn)程可能競(jìng)
16、爭(zhēng)一定數(shù)量的資源。一個(gè)進(jìn)程在申請(qǐng)資源時(shí),如果所申請(qǐng)資源不足,該進(jìn)程就必一個(gè)進(jìn)程在申請(qǐng)資源時(shí),如果所申請(qǐng)資源不足,該進(jìn)程就必須處于等待狀態(tài)。如果所申請(qǐng)的資源被其它進(jìn)程占有,那么須處于等待狀態(tài)。如果所申請(qǐng)的資源被其它進(jìn)程占有,那么進(jìn)程的等待狀態(tài)就可能無(wú)法改變,從而形成進(jìn)程之間相互一進(jìn)程的等待狀態(tài)就可能無(wú)法改變,從而形成進(jìn)程之間相互一直等待的局面,這就是死鎖。直等待的局面,這就是死鎖。4.3.8 進(jìn)程的死鎖及處理方法進(jìn)程的死鎖及處理方法進(jìn)程管理進(jìn)程管理 死鎖舉例:死鎖舉例: 四方街區(qū)的車輛阻塞。每四方街區(qū)的車輛阻塞。每個(gè)方向都希望其它方讓出通道,個(gè)方向都希望其它方讓出通道,但誰(shuí)也不能夠讓出。但誰(shuí)也不
17、能夠讓出。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系引起死鎖的四個(gè)必要條件:引起死鎖的四個(gè)必要條件: (1) 互斥:某一資源任一時(shí)刻只能有一個(gè)進(jìn)程獨(dú)占,若另一進(jìn)程申請(qǐng)?jiān)摶コ猓耗骋毁Y源任一時(shí)刻只能有一個(gè)進(jìn)程獨(dú)占,若另一進(jìn)程申請(qǐng)?jiān)撡Y源則需延遲到該資源釋放為止。資源則需延遲到該資源釋放為止。 (2) 占有并等待:即該進(jìn)程占有部分資源后還在等待其它資源,而該資占有并等待:即該進(jìn)程占有部分資源后還在等待其它資源,而該資源被其它進(jìn)程占有。源被其它進(jìn)程占有。 (3) 非搶占:某進(jìn)程已占用資源且不主動(dòng)放棄它所占有的資源時(shí),其它非搶占:某進(jìn)程已占用資源且不主動(dòng)放棄它所占有的資源時(shí),其它進(jìn)程不能強(qiáng)占該資源,只有等其完成
18、任務(wù)并釋放資源。進(jìn)程不能強(qiáng)占該資源,只有等其完成任務(wù)并釋放資源。 (4) 循環(huán)等待:在出現(xiàn)死鎖的系統(tǒng)中,一定存在這樣一個(gè)進(jìn)程鏈,其中循環(huán)等待:在出現(xiàn)死鎖的系統(tǒng)中,一定存在這樣一個(gè)進(jìn)程鏈,其中每個(gè)進(jìn)程至少占有其它進(jìn)程所必需的資源,從而形成一個(gè)等待鏈。每個(gè)進(jìn)程至少占有其它進(jìn)程所必需的資源,從而形成一個(gè)等待鏈。進(jìn)程管理進(jìn)程管理 死鎖舉例:死鎖舉例: 進(jìn)程進(jìn)程a:獲得:獲得cd-rom使用權(quán),申請(qǐng)打印機(jī)使用權(quán),申請(qǐng)打印機(jī) 進(jìn)程進(jìn)程b:獲得打印機(jī)使用權(quán),申請(qǐng):獲得打印機(jī)使用權(quán),申請(qǐng)cd-rom 死鎖:此時(shí)進(jìn)程死鎖:此時(shí)進(jìn)程a、b均被阻塞,無(wú)法運(yùn)行均被阻塞,無(wú)法運(yùn)行計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系處理
19、死鎖問(wèn)題的三種方式:處理死鎖問(wèn)題的三種方式:(1) 使用協(xié)議預(yù)防和避免死鎖,確保系統(tǒng)從不進(jìn)入死鎖狀態(tài)。使用協(xié)議預(yù)防和避免死鎖,確保系統(tǒng)從不進(jìn)入死鎖狀態(tài)。(2) 允許系統(tǒng)進(jìn)入死鎖狀態(tài),然后檢測(cè)出死鎖,并加以恢復(fù)。允許系統(tǒng)進(jìn)入死鎖狀態(tài),然后檢測(cè)出死鎖,并加以恢復(fù)。(3) 可忽略進(jìn)程死鎖問(wèn)題,并假裝系統(tǒng)中死鎖從來(lái)不會(huì)發(fā)生??珊雎赃M(jìn)程死鎖問(wèn)題,并假裝系統(tǒng)中死鎖從來(lái)不會(huì)發(fā)生。即沒(méi)有必要把精力花在小概率事件上。即沒(méi)有必要把精力花在小概率事件上。進(jìn)程管理進(jìn)程管理處理死鎖優(yōu)先考慮的順序:處理死鎖優(yōu)先考慮的順序:先先預(yù)防預(yù)防和避免和避免再再檢測(cè)檢測(cè)和恢復(fù)和恢復(fù)計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.4 內(nèi)存管理
20、內(nèi)存管理 內(nèi)存是現(xiàn)代操作系統(tǒng)的核心,是可被內(nèi)存是現(xiàn)代操作系統(tǒng)的核心,是可被cpu和和i/o設(shè)備所共同訪問(wèn)的數(shù)據(jù)倉(cāng)庫(kù)。計(jì)算機(jī)的所有程設(shè)備所共同訪問(wèn)的數(shù)據(jù)倉(cāng)庫(kù)。計(jì)算機(jī)的所有程序運(yùn)行時(shí)都要調(diào)入內(nèi)存。序運(yùn)行時(shí)都要調(diào)入內(nèi)存。 內(nèi)存管理的主要工作是:為每個(gè)用戶進(jìn)程合理內(nèi)存管理的主要工作是:為每個(gè)用戶進(jìn)程合理地分配內(nèi)存,以保證各個(gè)進(jìn)程之間在存儲(chǔ)區(qū)不發(fā)生地分配內(nèi)存,以保證各個(gè)進(jìn)程之間在存儲(chǔ)區(qū)不發(fā)生沖突;當(dāng)內(nèi)存不足時(shí),如何把內(nèi)存和外存結(jié)合起來(lái),沖突;當(dāng)內(nèi)存不足時(shí),如何把內(nèi)存和外存結(jié)合起來(lái),給用戶提供一個(gè)比實(shí)際內(nèi)存大得多的虛擬內(nèi)存,使給用戶提供一個(gè)比實(shí)際內(nèi)存大得多的虛擬內(nèi)存,使得程序能順利執(zhí)行。得程序能順利執(zhí)行。
21、計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.4.1 用戶程序執(zhí)行與地址映射用戶程序執(zhí)行與地址映射(了解了解)4.4 內(nèi)存管理內(nèi)存管理 用戶編寫程序在執(zhí)行前,需要用戶編寫程序在執(zhí)行前,需要多個(gè)處理步驟,然后在內(nèi)存中等待多個(gè)處理步驟,然后在內(nèi)存中等待執(zhí)行。當(dāng)然有時(shí)并非每個(gè)步驟都是執(zhí)行。當(dāng)然有時(shí)并非每個(gè)步驟都是必需的。必需的。源程序源程序編譯器或編譯器或匯編器匯編器目標(biāo)模塊目標(biāo)模塊鏈接編輯器鏈接編輯器加載模塊加載模塊加載器加載器內(nèi)存中內(nèi)存中二進(jìn)制內(nèi)存二進(jìn)制內(nèi)存映像映像其它目其它目標(biāo)模塊標(biāo)模塊動(dòng)態(tài)裝入動(dòng)態(tài)裝入的系統(tǒng)庫(kù)的系統(tǒng)庫(kù)系統(tǒng)庫(kù)系統(tǒng)庫(kù)動(dòng)態(tài)鏈接動(dòng)態(tài)鏈接編譯階段編譯階段加載階段加載階段執(zhí)行階段執(zhí)行階段圖圖4
22、.4 用戶程序多步驟處理用戶程序多步驟處理說(shuō)明:編譯器和匯編器用于將高級(jí)說(shuō)明:編譯器和匯編器用于將高級(jí)語(yǔ)言源程序翻譯成二進(jìn)制代碼的機(jī)語(yǔ)言源程序翻譯成二進(jìn)制代碼的機(jī)器語(yǔ)言程序。鏈接器將編譯后不同器語(yǔ)言程序。鏈接器將編譯后不同的程序、函數(shù)庫(kù)文件等連接生成的程序、函數(shù)庫(kù)文件等連接生成exe文件文件 。當(dāng)運(yùn)行。當(dāng)運(yùn)行exe文件時(shí),操文件時(shí),操作系統(tǒng)的加載器讀取作系統(tǒng)的加載器讀取exe文件并將文件并將它們加載到內(nèi)存中。預(yù)先編譯好的它們加載到內(nèi)存中。預(yù)先編譯好的在調(diào)入內(nèi)存前加載的庫(kù)文件就是靜在調(diào)入內(nèi)存前加載的庫(kù)文件就是靜態(tài)鏈接庫(kù)文件。運(yùn)行時(shí)動(dòng)態(tài)裝入的態(tài)鏈接庫(kù)文件。運(yùn)行時(shí)動(dòng)態(tài)裝入的庫(kù)文件叫動(dòng)態(tài)鏈接庫(kù)文件。庫(kù)
23、文件叫動(dòng)態(tài)鏈接庫(kù)文件。 obj文件文件exe文件文件計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.4 內(nèi)存管理內(nèi)存管理 1. 1.編譯階段編譯階段: :如果在編譯時(shí)就知道進(jìn)程將在內(nèi)存中的什么位如果在編譯時(shí)就知道進(jìn)程將在內(nèi)存中的什么位置駐留,那么編譯器就可以直接以生成絕對(duì)地址代碼。置駐留,那么編譯器就可以直接以生成絕對(duì)地址代碼。 2.加載階段加載階段: 不知道進(jìn)程將駐留在什么位置,那么編譯器不知道進(jìn)程將駐留在什么位置,那么編譯器就必須生成程序的邏輯地址,在加載階段再轉(zhuǎn)變成內(nèi)存的絕就必須生成程序的邏輯地址,在加載階段再轉(zhuǎn)變成內(nèi)存的絕對(duì)地址。對(duì)地址。 3.執(zhí)行階段執(zhí)行階段: :如果進(jìn)程在執(zhí)行時(shí)可以從一個(gè)內(nèi)
24、存段移動(dòng)到如果進(jìn)程在執(zhí)行時(shí)可以從一個(gè)內(nèi)存段移動(dòng)到另一個(gè)內(nèi)存段,那么進(jìn)程的絕對(duì)地址映射工作只能延遲到執(zhí)另一個(gè)內(nèi)存段,那么進(jìn)程的絕對(duì)地址映射工作只能延遲到執(zhí)行時(shí)進(jìn)行。行時(shí)進(jìn)行。 通常,將指令和數(shù)據(jù)的地址映射成內(nèi)存地址可以發(fā)生在以通常,將指令和數(shù)據(jù)的地址映射成內(nèi)存地址可以發(fā)生在以下三個(gè)執(zhí)行階段。下三個(gè)執(zhí)行階段。(了解了解)計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.4.2 物理地址空間與邏輯地址空間物理地址空間與邏輯地址空間 4.4 內(nèi)存管理內(nèi)存管理l 幾個(gè)相關(guān)概念幾個(gè)相關(guān)概念物理地址物理地址:是計(jì)算機(jī)內(nèi)存單元的真實(shí)地址。是計(jì)算機(jī)內(nèi)存單元的真實(shí)地址。 物理地址空間物理地址空間:由物理地址所構(gòu)成的地址范圍
25、。由物理地址所構(gòu)成的地址范圍。 邏輯地址邏輯地址:經(jīng)編譯后的用戶程序地址,從經(jīng)編譯后的用戶程序地址,從0開(kāi)始編址。開(kāi)始編址。 邏輯地址空間邏輯地址空間:由邏輯地址所構(gòu)成的地址范圍。由邏輯地址所構(gòu)成的地址范圍。 地址映射地址映射:用戶程序在運(yùn)行時(shí)要裝入內(nèi)存,這就需要將邏用戶程序在運(yùn)行時(shí)要裝入內(nèi)存,這就需要將邏輯地址變換成物理地址,該過(guò)程稱為地址映射,也稱重定輯地址變換成物理地址,該過(guò)程稱為地址映射,也稱重定位。位。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系用戶編寫的源用戶編寫的源程序是不考慮地址程序是不考慮地址的,源程序經(jīng)編譯的,源程序經(jīng)編譯后產(chǎn)生邏輯地址。后產(chǎn)生邏輯地址。將邏輯地址轉(zhuǎn)換為將邏輯地址轉(zhuǎn)
26、換為內(nèi)存中的物理地址內(nèi)存中的物理地址是由計(jì)算機(jī)中被稱是由計(jì)算機(jī)中被稱為內(nèi)存管理單元的為內(nèi)存管理單元的硬件設(shè)備來(lái)實(shí)現(xiàn)的,硬件設(shè)備來(lái)實(shí)現(xiàn)的,將邏輯地址與內(nèi)存將邏輯地址與內(nèi)存管理單元中存放的管理單元中存放的內(nèi)存基址相加就得內(nèi)存基址相加就得到物理地址。到物理地址。 物理地址物理地址base + x邏輯地址邏輯地址xcpu重定位寄存重定位寄存器器base+ +內(nèi)存內(nèi)存內(nèi)存管理單元內(nèi)存管理單元4.4 內(nèi)存管理內(nèi)存管理load 1, 50012345load 1, 50012345 0100500700程序程序a a的邏輯地址空間的邏輯地址空間程序程序a a的物理在址空間的物理在址空間. . . . . .
27、 . . . . . . .5000510055005700計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.4.3 進(jìn)程使用內(nèi)存的交換技術(shù)進(jìn)程使用內(nèi)存的交換技術(shù) 為更加有效地使用內(nèi)存,進(jìn)程在不運(yùn)行時(shí),可以暫時(shí)從為更加有效地使用內(nèi)存,進(jìn)程在不運(yùn)行時(shí),可以暫時(shí)從內(nèi)存移至外存,需要再運(yùn)行時(shí)再重新調(diào)回到內(nèi)存中。也就是內(nèi)存移至外存,需要再運(yùn)行時(shí)再重新調(diào)回到內(nèi)存中。也就是說(shuō)內(nèi)存管理程序可將剛剛運(yùn)行過(guò)的進(jìn)程從內(nèi)存中換出以釋放說(shuō)內(nèi)存管理程序可將剛剛運(yùn)行過(guò)的進(jìn)程從內(nèi)存中換出以釋放占用的內(nèi)存空間,然后將另一個(gè)要運(yùn)行的進(jìn)程占據(jù)前者釋放占用的內(nèi)存空間,然后將另一個(gè)要運(yùn)行的進(jìn)程占據(jù)前者釋放的內(nèi)存空間。的內(nèi)存空間。4.4 內(nèi)存管
28、理內(nèi)存管理進(jìn)程進(jìn)程a操作系統(tǒng)操作系統(tǒng)未用內(nèi)存區(qū)未用內(nèi)存區(qū)進(jìn)程進(jìn)程a操作系統(tǒng)操作系統(tǒng)未用內(nèi)存區(qū)未用內(nèi)存區(qū)進(jìn)程進(jìn)程b進(jìn)程進(jìn)程a操作系統(tǒng)操作系統(tǒng)未用內(nèi)存區(qū)未用內(nèi)存區(qū)進(jìn)程進(jìn)程b進(jìn)程進(jìn)程c未用內(nèi)存區(qū)未用內(nèi)存區(qū)操作系統(tǒng)操作系統(tǒng)未用內(nèi)存區(qū)未用內(nèi)存區(qū)進(jìn)程進(jìn)程b進(jìn)程進(jìn)程c未用內(nèi)存區(qū)未用內(nèi)存區(qū)操作系統(tǒng)操作系統(tǒng)未用內(nèi)存區(qū)未用內(nèi)存區(qū)進(jìn)程進(jìn)程b進(jìn)程進(jìn)程c進(jìn)程進(jìn)程d注:這種交換技術(shù)多用于分時(shí)系統(tǒng)注:這種交換技術(shù)多用于分時(shí)系統(tǒng)計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.4.4 內(nèi)存分配方案內(nèi)存分配方案-連續(xù)連續(xù)4.4 內(nèi)存管理內(nèi)存管理進(jìn)程進(jìn)程a操作系統(tǒng)操作系統(tǒng)未用內(nèi)存區(qū)未用內(nèi)存區(qū)進(jìn)程進(jìn)程c未用內(nèi)存區(qū)未用內(nèi)存區(qū)在內(nèi)存分配中,在內(nèi)
29、存分配中,常常把內(nèi)存中還常常把內(nèi)存中還沒(méi)有被分配的可沒(méi)有被分配的可用空間稱為孔用空間稱為孔( (hole) )。 開(kāi)始時(shí)所有內(nèi)存是一個(gè)大的孔,隨著內(nèi)存分配的進(jìn)行就開(kāi)始時(shí)所有內(nèi)存是一個(gè)大的孔,隨著內(nèi)存分配的進(jìn)行就會(huì)形成許多不連續(xù)的大小不同的孔。在連續(xù)內(nèi)存分配方案中,會(huì)形成許多不連續(xù)的大小不同的孔。在連續(xù)內(nèi)存分配方案中,當(dāng)新進(jìn)程需要內(nèi)存時(shí),就為其尋找合適的孔,實(shí)現(xiàn)內(nèi)存分配。當(dāng)新進(jìn)程需要內(nèi)存時(shí),就為其尋找合適的孔,實(shí)現(xiàn)內(nèi)存分配。該方案需要為每個(gè)進(jìn)程分配連續(xù)的內(nèi)存物理空間。該方案需要為每個(gè)進(jìn)程分配連續(xù)的內(nèi)存物理空間。 計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.4.5 內(nèi)存分配方案內(nèi)存分配方案-分頁(yè)式分頁(yè)
30、式4.4 內(nèi)存管理內(nèi)存管理分頁(yè)管理基本思想:分頁(yè)管理基本思想: 內(nèi)存物理地址空間劃分為若干個(gè)大小相等的塊內(nèi)存物理地址空間劃分為若干個(gè)大小相等的塊(頁(yè)框頁(yè)框) 進(jìn)程的邏輯地址空間也劃分為同樣大小的塊進(jìn)程的邏輯地址空間也劃分為同樣大小的塊(頁(yè)面頁(yè)面) 內(nèi)存分配時(shí)每個(gè)頁(yè)面對(duì)應(yīng)地分配一個(gè)頁(yè)框,而一個(gè)進(jìn)程內(nèi)存分配時(shí)每個(gè)頁(yè)面對(duì)應(yīng)地分配一個(gè)頁(yè)框,而一個(gè)進(jìn)程所分得頁(yè)框在位置上不必是連續(xù)的。所分得頁(yè)框在位置上不必是連續(xù)的。頁(yè)表:操作系統(tǒng)頁(yè)表:操作系統(tǒng)為每個(gè)用戶程序?yàn)槊總€(gè)用戶程序建立一張頁(yè)表,建立一張頁(yè)表,該表記錄用戶程該表記錄用戶程序的每個(gè)邏輯頁(yè)序的每個(gè)邏輯頁(yè)面存放在哪一個(gè)面存放在哪一個(gè)內(nèi)存物理頁(yè)框。內(nèi)存物理頁(yè)
31、框。7頁(yè)頁(yè)6頁(yè)頁(yè)5頁(yè)頁(yè)4頁(yè)頁(yè)3頁(yè)頁(yè)2頁(yè)頁(yè)1頁(yè)頁(yè)0頁(yè)頁(yè)用戶程序用戶程序1191076425塊號(hào)塊號(hào)76543210頁(yè)號(hào)頁(yè)號(hào)頁(yè)表頁(yè)表11109876543210內(nèi)存內(nèi)存頁(yè)面頁(yè)面頁(yè)框頁(yè)框計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系pdfcpupdfdff 00000000f 11111111邏輯地址邏輯地址物理地址物理地址頁(yè)表頁(yè)表物理內(nèi)存物理內(nèi)存分頁(yè)式內(nèi)存管理從邏輯地址到物理地址的映射分頁(yè)式內(nèi)存管理從邏輯地址到物理地址的映射: (了解了解)頁(yè)號(hào)頁(yè)號(hào)p頁(yè)內(nèi)地址頁(yè)內(nèi)地址d(偏移量)(偏移量)注:邏輯地址的表示:注:邏輯地址的表示:4.4 內(nèi)存管理內(nèi)存管理計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.5.1 基本思想基
32、本思想4.5 虛擬內(nèi)存方案虛擬內(nèi)存方案虛擬內(nèi)存是一個(gè)容量很大的存儲(chǔ)器的邏輯模型,它不是虛擬內(nèi)存是一個(gè)容量很大的存儲(chǔ)器的邏輯模型,它不是任何實(shí)際的物理存儲(chǔ)器。虛擬內(nèi)存包括物理內(nèi)存和一部分外任何實(shí)際的物理存儲(chǔ)器。虛擬內(nèi)存包括物理內(nèi)存和一部分外存存(這里所指的外存一般是指硬盤這里所指的外存一般是指硬盤)。 計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.5 虛擬內(nèi)存方案虛擬內(nèi)存方案虛擬內(nèi)存:虛擬內(nèi)存:對(duì)于一個(gè)進(jìn)程來(lái)講,如果僅將當(dāng)前對(duì)于一個(gè)進(jìn)程來(lái)講,如果僅將當(dāng)前要運(yùn)行的幾個(gè)頁(yè)面裝入內(nèi)存便可以開(kāi)始運(yùn)行,而其余要運(yùn)行的幾個(gè)頁(yè)面裝入內(nèi)存便可以開(kāi)始運(yùn)行,而其余頁(yè)面可暫時(shí)留在磁盤上,需要時(shí)再調(diào)入內(nèi)存,并且調(diào)頁(yè)面可暫時(shí)留
33、在磁盤上,需要時(shí)再調(diào)入內(nèi)存,并且調(diào)入時(shí)也不占用新的內(nèi)存空間,而是對(duì)原來(lái)運(yùn)行過(guò)的頁(yè)入時(shí)也不占用新的內(nèi)存空間,而是對(duì)原來(lái)運(yùn)行過(guò)的頁(yè)面進(jìn)行置換。這樣,就可以在計(jì)算機(jī)有限的內(nèi)存中同面進(jìn)行置換。這樣,就可以在計(jì)算機(jī)有限的內(nèi)存中同時(shí)駐留多個(gè)進(jìn)程。而對(duì)用戶來(lái)講感覺(jué)到系統(tǒng)提供了足時(shí)駐留多個(gè)進(jìn)程。而對(duì)用戶來(lái)講感覺(jué)到系統(tǒng)提供了足夠大的物理內(nèi)存,而實(shí)際上并非真實(shí)的,這就是虛擬夠大的物理內(nèi)存,而實(shí)際上并非真實(shí)的,這就是虛擬內(nèi)存。內(nèi)存。 計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.5.2 頁(yè)面請(qǐng)求與頁(yè)面置換算法頁(yè)面請(qǐng)求與頁(yè)面置換算法4.5 虛擬內(nèi)存方案虛擬內(nèi)存方案 在虛擬內(nèi)存技術(shù)中,進(jìn)程運(yùn)行時(shí)并沒(méi)有將所有頁(yè)面裝在虛擬內(nèi)存技
34、術(shù)中,進(jìn)程運(yùn)行時(shí)并沒(méi)有將所有頁(yè)面裝入到內(nèi)存,在運(yùn)行過(guò)程中進(jìn)程會(huì)不斷地請(qǐng)求頁(yè)面,如果訪入到內(nèi)存,在運(yùn)行過(guò)程中進(jìn)程會(huì)不斷地請(qǐng)求頁(yè)面,如果訪問(wèn)的頁(yè)面已在內(nèi)存,就繼續(xù)執(zhí)行下去;但如果要訪問(wèn)的頁(yè)問(wèn)的頁(yè)面已在內(nèi)存,就繼續(xù)執(zhí)行下去;但如果要訪問(wèn)的頁(yè)面尚未調(diào)入內(nèi)存,便請(qǐng)求操作系統(tǒng)將所缺頁(yè)面調(diào)入內(nèi)存,面尚未調(diào)入內(nèi)存,便請(qǐng)求操作系統(tǒng)將所缺頁(yè)面調(diào)入內(nèi)存,以便進(jìn)程能繼續(xù)運(yùn)行,這個(gè)過(guò)程叫以便進(jìn)程能繼續(xù)運(yùn)行,這個(gè)過(guò)程叫頁(yè)面請(qǐng)求頁(yè)面請(qǐng)求。 如果請(qǐng)求頁(yè)面調(diào)入內(nèi)存時(shí),分配給該進(jìn)程的頁(yè)框已用如果請(qǐng)求頁(yè)面調(diào)入內(nèi)存時(shí),分配給該進(jìn)程的頁(yè)框已用完,就無(wú)法立即裝入所請(qǐng)求頁(yè)面。此時(shí),必須將進(jìn)程中的完,就無(wú)法立即裝入所請(qǐng)求頁(yè)面。此時(shí),必須將進(jìn)
35、程中的某個(gè)頁(yè)面從內(nèi)存的頁(yè)框調(diào)出到磁盤上,再?gòu)拇疟P上將所請(qǐng)某個(gè)頁(yè)面從內(nèi)存的頁(yè)框調(diào)出到磁盤上,再?gòu)拇疟P上將所請(qǐng)求的頁(yè)面調(diào)入到內(nèi)存該頁(yè)框中,這個(gè)過(guò)程叫求的頁(yè)面調(diào)入到內(nèi)存該頁(yè)框中,這個(gè)過(guò)程叫頁(yè)面置換頁(yè)面置換。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.6.1 文件的概念文件的概念4.6 文件管理文件管理文件:保存在外部存儲(chǔ)設(shè)備上的相關(guān)信息的集合。文件:保存在外部存儲(chǔ)設(shè)備上的相關(guān)信息的集合。 文件命名:文件主名文件命名:文件主名+ +擴(kuò)展名擴(kuò)展名只讀:只允許授權(quán)用戶進(jìn)行讀操作。只讀:只允許授權(quán)用戶進(jìn)行讀操作。 讀寫:只允許授權(quán)用戶進(jìn)行讀和寫的操作。讀寫:只允許授權(quán)用戶進(jìn)行讀和寫的操作。 文檔:允許任何用戶進(jìn)
36、行讀寫操作。文檔:允許任何用戶進(jìn)行讀寫操作。 隱藏:不允許用戶直接看到文件名。隱藏:不允許用戶直接看到文件名。文件存取屬性:文件存取屬性:計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.6 文件管理文件管理文件系統(tǒng):是對(duì)文件進(jìn)行操作和管理的軟件,是用戶與文件系統(tǒng):是對(duì)文件進(jìn)行操作和管理的軟件,是用戶與外存之間的接口。該系統(tǒng)將所有文件組織成目錄結(jié)構(gòu)保存在外存之間的接口。該系統(tǒng)將所有文件組織成目錄結(jié)構(gòu)保存在外存,一個(gè)文件對(duì)應(yīng)其中的一個(gè)目錄條,目錄條記錄了文件外存,一個(gè)文件對(duì)應(yīng)其中的一個(gè)目錄條,目錄條記錄了文件名、文件位置、文件大小、創(chuàng)建時(shí)間等信息。名、文件位置、文件大小、創(chuàng)建時(shí)間等信息。 操作系統(tǒng)對(duì)文件的
37、基操作系統(tǒng)對(duì)文件的基本操作包括:創(chuàng)建文件、本操作包括:創(chuàng)建文件、文件寫、文件讀、文件重文件寫、文件讀、文件重定位、文件刪除、文件截定位、文件刪除、文件截短、文件復(fù)制、重命名、短、文件復(fù)制、重命名、更改屬性等。更改屬性等。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.6.2 文件的物理結(jié)構(gòu)和邏輯結(jié)構(gòu)文件的物理結(jié)構(gòu)和邏輯結(jié)構(gòu)文件的邏輯結(jié)構(gòu)文件的邏輯結(jié)構(gòu)無(wú)結(jié)構(gòu)文件無(wú)結(jié)構(gòu)文件有結(jié)構(gòu)文件有結(jié)構(gòu)文件流式文件流式文件索引順序文件索引順序文件順序文件順序文件索引文件索引文件4.6 文件管理文件管理 文件結(jié)構(gòu)分物理和邏輯結(jié)構(gòu)。其中物理結(jié)構(gòu)是文件在外文件結(jié)構(gòu)分物理和邏輯結(jié)構(gòu)。其中物理結(jié)構(gòu)是文件在外存上的存儲(chǔ)組織形式,它
38、與具體的存儲(chǔ)設(shè)備有關(guān)。文件邏輯存上的存儲(chǔ)組織形式,它與具體的存儲(chǔ)設(shè)備有關(guān)。文件邏輯結(jié)構(gòu)是指用戶能直接感受到的文件組織結(jié)構(gòu),它與具體的存結(jié)構(gòu)是指用戶能直接感受到的文件組織結(jié)構(gòu),它與具體的存儲(chǔ)設(shè)備無(wú)關(guān)。儲(chǔ)設(shè)備無(wú)關(guān)。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系main( ) int a, b, sum; scanf(%d %d, &a, &b); sum=a+b; printf(sum=%d, sum); 4.6 文件管理文件管理學(xué)號(hào)學(xué)號(hào)姓名姓名性別性別電話電話郵箱地址郵箱地址0001張為華張為華男男0002趙國(guó)迎趙國(guó)迎男男0003韓瑩瑩韓瑩瑩女女 可以看成是由無(wú)結(jié)構(gòu)的字可以看成是由無(wú)結(jié)構(gòu)的
39、字符序列組成的文件。符序列組成的文件。是帶有結(jié)構(gòu)的、性質(zhì)相同的記錄的集合。是帶有結(jié)構(gòu)的、性質(zhì)相同的記錄的集合。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系 順序文件:文件所包含的一系列記錄按照某種順序依順序文件:文件所包含的一系列記錄按照某種順序依次連續(xù)存儲(chǔ)。順序文件是按記錄進(jìn)入文件的先后順序存放、次連續(xù)存儲(chǔ)。順序文件是按記錄進(jìn)入文件的先后順序存放、其邏輯順序和物理順序一致的文件。其邏輯順序和物理順序一致的文件。 4.6 文件管理文件管理 索引文件:由主文件和索引表構(gòu)成??蓪?shí)現(xiàn)快速訪問(wèn)。索引文件:由主文件和索引表構(gòu)成??蓪?shí)現(xiàn)快速訪問(wèn)。 按輸入記錄的先后次序建立數(shù)據(jù)區(qū)和索引表。按輸入記錄的先后次序建立數(shù)
40、據(jù)區(qū)和索引表。 全部記錄輸入完畢后對(duì)索引表進(jìn)行排序,排序后的索引全部記錄輸入完畢后對(duì)索引表進(jìn)行排序,排序后的索引表和主文件一起就形成了索引文件。表和主文件一起就形成了索引文件。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系 索引順序文件:順序文件和索引文件特點(diǎn)的結(jié)合。索引順序文件:順序文件和索引文件特點(diǎn)的結(jié)合。主文件是按主關(guān)鍵字有序排列的,將主文件的所有記錄分主文件是按主關(guān)鍵字有序排列的,將主文件的所有記錄分組,每組記錄是連續(xù)的,不同組記錄是分散的。索引表中組,每組記錄是連續(xù)的,不同組記錄是分散的。索引表中為每組的首記錄建立一索引項(xiàng),組與組之間按關(guān)鍵字大小為每組的首記錄建立一索引項(xiàng),組與組之間按關(guān)鍵字大
41、小有序排列,組內(nèi)記錄按順序查找。有序排列,組內(nèi)記錄按順序查找。4.6 文件管理文件管理鍵值鍵值邏輯地址邏輯地址an qibao linchen mi索引表索引表姓名姓名年齡年齡性別等性別等an qian tabao linchen mi計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.6.3 文件的訪問(wèn)方式文件的訪問(wèn)方式順序訪問(wèn)方式順序訪問(wèn)方式4.6 文件管理文件管理 主要適合于對(duì)順序文件的訪問(wèn)。其訪問(wèn)的位置是由指針主要適合于對(duì)順序文件的訪問(wèn)。其訪問(wèn)的位置是由指針定位的。讀操作是讀取指針?biāo)甘疚恢玫膬?nèi)容,并自動(dòng)將指定位的。讀操作是讀取指針?biāo)甘疚恢玫膬?nèi)容,并自動(dòng)將指針向后移動(dòng),以指示下一次讀的位置。而對(duì)
42、寫操作,所寫的針向后移動(dòng),以指示下一次讀的位置。而對(duì)寫操作,所寫的內(nèi)容總是添加到文件的尾部。內(nèi)容總是添加到文件的尾部。 一切存儲(chǔ)在順序存儲(chǔ)設(shè)備一切存儲(chǔ)在順序存儲(chǔ)設(shè)備(如磁帶如磁帶)上的文件,都只能是順上的文件,都只能是順序文件,所以順序訪問(wèn)方式是基于磁帶的模型。該訪問(wèn)方式序文件,所以順序訪問(wèn)方式是基于磁帶的模型。該訪問(wèn)方式不僅適合順序存儲(chǔ)設(shè)備不僅適合順序存儲(chǔ)設(shè)備(如磁帶如磁帶),對(duì)直接存儲(chǔ)設(shè)備,對(duì)直接存儲(chǔ)設(shè)備(如磁盤如磁盤)也也適合。適合。 計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系直接訪問(wèn)方式直接訪問(wèn)方式4.6 文件管理文件管理 直接訪問(wèn)也稱隨機(jī)訪問(wèn),它指的是允許跳躍式地隨意直接訪問(wèn)也稱隨機(jī)訪問(wèn),
43、它指的是允許跳躍式地隨意存取文件中的任何記錄,而不需要任何順序限制。直接訪存取文件中的任何記錄,而不需要任何順序限制。直接訪問(wèn)是最為常見(jiàn)和高效的文件訪問(wèn)方式。磁盤是隨機(jī)存儲(chǔ)設(shè)問(wèn)是最為常見(jiàn)和高效的文件訪問(wèn)方式。磁盤是隨機(jī)存儲(chǔ)設(shè)備,所以直接訪問(wèn)方式是基于磁盤的模型。備,所以直接訪問(wèn)方式是基于磁盤的模型。 3. .索引訪問(wèn)方式索引訪問(wèn)方式 在進(jìn)行文件訪問(wèn)時(shí),首先對(duì)索引文件按關(guān)鍵字進(jìn)行檢在進(jìn)行文件訪問(wèn)時(shí),首先對(duì)索引文件按關(guān)鍵字進(jìn)行檢索,查找到指向數(shù)據(jù)記錄的指針,根據(jù)該指針實(shí)現(xiàn)對(duì)具體索,查找到指向數(shù)據(jù)記錄的指針,根據(jù)該指針實(shí)現(xiàn)對(duì)具體數(shù)據(jù)記錄的訪問(wèn)。數(shù)據(jù)記錄的訪問(wèn)。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.
44、6.4 文件的目錄結(jié)構(gòu)文件的目錄結(jié)構(gòu)4.6 文件管理文件管理 通常,一個(gè)磁盤至少應(yīng)包含一個(gè)分區(qū),每個(gè)分區(qū)通常,一個(gè)磁盤至少應(yīng)包含一個(gè)分區(qū),每個(gè)分區(qū)用來(lái)保存文件和目錄結(jié)構(gòu)用來(lái)保存文件和目錄結(jié)構(gòu) 。 文件目錄的組成:每文件目錄的組成:每個(gè)文件有一個(gè)文件控制塊個(gè)文件有一個(gè)文件控制塊fcb,它是文件存在的標(biāo),它是文件存在的標(biāo)志,存放了為管理文件所志,存放了為管理文件所需的所有有關(guān)信息。把所需的所有有關(guān)信息。把所有的文件控制塊組織在一有的文件控制塊組織在一起,就構(gòu)成了文件目錄,起,就構(gòu)成了文件目錄,每個(gè)文件控制塊就是其中每個(gè)文件控制塊就是其中的一個(gè)目錄項(xiàng)。的一個(gè)目錄項(xiàng)。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程
45、系文件區(qū)根目錄區(qū)fat2fat1引導(dǎo)區(qū)dos盤卷根目錄下各文件的目錄項(xiàng)fat615231523-161523 format之后,磁盤的盤卷結(jié)構(gòu)如下:以簇為分配單位。以簇為分配單位。1 1簇簇=2=2n n 扇區(qū)扇區(qū)子目錄文子目錄文件內(nèi)容件內(nèi)容首簇號(hào)首簇號(hào)6長(zhǎng)度長(zhǎng)度=3文件名文件名my文件控制塊的有序集合文件控制塊的有序集合12扇區(qū)扇區(qū)0扇區(qū)扇區(qū)1-2扇區(qū)扇區(qū)3-4扇區(qū)扇區(qū)5-11扇區(qū)扇區(qū)計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.6 文件管理文件管理 文件的目錄系統(tǒng)可以組織成單層目錄結(jié)構(gòu)、雙文件的目錄系統(tǒng)可以組織成單層目錄結(jié)構(gòu)、雙層目錄結(jié)構(gòu)、樹(shù)型目錄結(jié)構(gòu)、無(wú)環(huán)路目錄結(jié)構(gòu)和通層目錄結(jié)構(gòu)、樹(shù)型目錄結(jié)構(gòu)
46、、無(wú)環(huán)路目錄結(jié)構(gòu)和通用圖目錄結(jié)構(gòu)。用圖目錄結(jié)構(gòu)。 樹(shù)型目錄結(jié)構(gòu)樹(shù)型目錄結(jié)構(gòu)是目前使用最為廣是目前使用最為廣泛的一種目錄結(jié)構(gòu)。泛的一種目錄結(jié)構(gòu)。這種目錄結(jié)構(gòu)在邏這種目錄結(jié)構(gòu)在邏輯上的構(gòu)成是一棵輯上的構(gòu)成是一棵樹(shù),子目錄是樹(shù)枝,樹(shù),子目錄是樹(shù)枝,而文件是樹(shù)葉。而文件是樹(shù)葉。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.7.1 i/o設(shè)備和主要術(shù)語(yǔ)設(shè)備和主要術(shù)語(yǔ)輸入輸出系統(tǒng)管理輸入輸出系統(tǒng)管理 每臺(tái)計(jì)算機(jī)都配備了許多外部設(shè)備,它們的性每臺(tái)計(jì)算機(jī)都配備了許多外部設(shè)備,它們的性能和操作方式都不一樣。操作系統(tǒng)對(duì)設(shè)備能和操作方式都不一樣。操作系統(tǒng)對(duì)設(shè)備(即輸入即輸入/輸輸出系統(tǒng)出系統(tǒng))管理的主要目標(biāo)是方便用戶使用
47、外部設(shè)備,管理的主要目標(biāo)是方便用戶使用外部設(shè)備,提高提高cpu和設(shè)備的利用率。和設(shè)備的利用率。 i/o設(shè)備與計(jì)算機(jī)通信的連接點(diǎn)被稱為端口。設(shè)備與計(jì)算機(jī)通信的連接點(diǎn)被稱為端口。 用于操作端口、總線和設(shè)備的一組電子器件,用于操作端口、總線和設(shè)備的一組電子器件,是設(shè)備與總線的連接裝置。是設(shè)備與總線的連接裝置。 1.端口(端口(i/o設(shè)備端口)設(shè)備端口) 2.控制器控制器(i/o設(shè)備控制器設(shè)備控制器)計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系 中斷的概念中斷的概念:中斷是現(xiàn)代計(jì)算機(jī)中中斷是現(xiàn)代計(jì)算機(jī)中cpu處理外部突發(fā)事件處理外部突發(fā)事件的一個(gè)重要技術(shù)。它能使的一個(gè)重要技術(shù)。它能使cpu在運(yùn)行過(guò)程中對(duì)外部事
48、件發(fā)出在運(yùn)行過(guò)程中對(duì)外部事件發(fā)出的中斷請(qǐng)求及時(shí)地進(jìn)行處理,的中斷請(qǐng)求及時(shí)地進(jìn)行處理, 處理完成后又立即返回?cái)帱c(diǎn),處理完成后又立即返回?cái)帱c(diǎn),繼續(xù)進(jìn)行繼續(xù)進(jìn)行cpu原來(lái)的工作。根據(jù)中斷源的不同,可以把中斷原來(lái)的工作。根據(jù)中斷源的不同,可以把中斷分為分為: 正在執(zhí)行的程序正在執(zhí)行的程序異常和隨機(jī)事件異常和隨機(jī)事件被中斷處被中斷處返回處返回處執(zhí)行中斷服務(wù)程序執(zhí)行中斷服務(wù)程序中斷請(qǐng)求中斷請(qǐng)求中斷中斷硬中斷硬中斷軟中斷軟中斷外部中斷外部中斷內(nèi)部中斷內(nèi)部中斷如:鍵盤中斷、打印機(jī)中斷等如:鍵盤中斷、打印機(jī)中斷等如突然掉電、除數(shù)為零等如突然掉電、除數(shù)為零等程序運(yùn)行時(shí)其它程序?qū)λ闹袛喑绦蜻\(yùn)行時(shí)其它程序?qū)λ闹袛?/p>
49、計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系 1、irq(interrupt request)()(線線) irq即中斷請(qǐng)求線。計(jì)算機(jī)中有許多設(shè)備(例如聲卡、硬盤等)需要即中斷請(qǐng)求線。計(jì)算機(jī)中有許多設(shè)備(例如聲卡、硬盤等)需要定期中斷定期中斷cpu,讓,讓cpu為其做一些特定的工作。這些設(shè)備在中斷請(qǐng)求線上為其做一些特定的工作。這些設(shè)備在中斷請(qǐng)求線上把請(qǐng)求中斷的信號(hào)發(fā)給把請(qǐng)求中斷的信號(hào)發(fā)給cpu。所以每個(gè)設(shè)備只能使用自己獨(dú)立的中斷請(qǐng)求。所以每個(gè)設(shè)備只能使用自己獨(dú)立的中斷請(qǐng)求線線(pci總線、總線、usb總線上的設(shè)備可共享總線上的設(shè)備可共享)。一般微機(jī)共有。一般微機(jī)共有16條中斷請(qǐng)求線條中斷請(qǐng)求線與各種外
50、設(shè)相連接,(每個(gè)中斷線有一個(gè)標(biāo)號(hào)也就是中斷號(hào))。與各種外設(shè)相連接,(每個(gè)中斷線有一個(gè)標(biāo)號(hào)也就是中斷號(hào))。 2、dma(direct memory access)()(芯片芯片) 計(jì)算機(jī)與外設(shè)之間的聯(lián)系一般通過(guò)兩種方法:一是通過(guò)計(jì)算機(jī)與外設(shè)之間的聯(lián)系一般通過(guò)兩種方法:一是通過(guò)cpu控制來(lái)進(jìn)控制來(lái)進(jìn)行數(shù)據(jù)的傳送;二是在芯片控制下進(jìn)行數(shù)據(jù)的傳送。在行數(shù)據(jù)的傳送;二是在芯片控制下進(jìn)行數(shù)據(jù)的傳送。在dma方式下,外方式下,外設(shè)利用設(shè)利用dma通道直接將數(shù)據(jù)寫入或讀出存儲(chǔ)器,而基本不用通道直接將數(shù)據(jù)寫入或讀出存儲(chǔ)器,而基本不用cpu參與,參與,系統(tǒng)的速度會(huì)大大增加。系統(tǒng)的速度會(huì)大大增加。 3、i/o端口(
51、端口(input/output)()(地址地址)就是計(jì)算機(jī)外設(shè)與就是計(jì)算機(jī)外設(shè)與cpu連接的接口。每個(gè)端口都有自己唯一的一個(gè)端連接的接口。每個(gè)端口都有自己唯一的一個(gè)端口號(hào),這個(gè)端口號(hào)稱為地址。每一個(gè)和口號(hào),這個(gè)端口號(hào)稱為地址。每一個(gè)和cpu通信的外設(shè)都有不同的通信的外設(shè)都有不同的i/o地地址,通常在址,通常在pc機(jī)內(nèi)部一共有機(jī)內(nèi)部一共有1024個(gè)地址。個(gè)地址。 計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.7.2 輸入輸入/輸出控制方式輸出控制方式輸入輸出系統(tǒng)管理輸入輸出系統(tǒng)管理 (1) 程序控制方式程序控制方式 早期計(jì)算機(jī)采用的方式。早期計(jì)算機(jī)采用的方式。cpu向設(shè)備控制器發(fā)出一條向設(shè)備控制器發(fā)出
52、一條i/o指令啟動(dòng)設(shè)指令啟動(dòng)設(shè)備進(jìn)行一個(gè)字節(jié)的輸入或輸出,然后備進(jìn)行一個(gè)字節(jié)的輸入或輸出,然后cpu就等待就等待i/o設(shè)備進(jìn)行數(shù)據(jù)傳送,設(shè)備進(jìn)行數(shù)據(jù)傳送,直到一個(gè)字節(jié)傳送完畢后直到一個(gè)字節(jié)傳送完畢后cpu再繼續(xù)處理下一個(gè)字節(jié)的輸入或輸出。再繼續(xù)處理下一個(gè)字節(jié)的輸入或輸出。 cpu絕大部分時(shí)間都用于循環(huán)等待及測(cè)試絕大部分時(shí)間都用于循環(huán)等待及測(cè)試i/o是否完成,造成是否完成,造成cpu資資源的極大浪費(fèi)。源的極大浪費(fèi)。cpu和外圍設(shè)備只能串行工作。和外圍設(shè)備只能串行工作。 cpu通過(guò)端口對(duì)外設(shè)進(jìn)行控制的方式有以下幾種:通過(guò)端口對(duì)外設(shè)進(jìn)行控制的方式有以下幾種: (2) 中斷驅(qū)動(dòng)方式中斷驅(qū)動(dòng)方式 首先由
53、首先由cpu向相應(yīng)設(shè)備的控制器發(fā)出一條向相應(yīng)設(shè)備的控制器發(fā)出一條i/o命令,然后命令,然后cpu立即返立即返回繼續(xù)執(zhí)行原來(lái)的任務(wù),設(shè)備控制器則按照命令的要求去控制回繼續(xù)執(zhí)行原來(lái)的任務(wù),設(shè)備控制器則按照命令的要求去控制i/o設(shè)備工設(shè)備工作。這時(shí)作。這時(shí)cpu與與i/o設(shè)備并行工作。設(shè)備并行工作。 這種方式這種方式cpu的利用率較高。但這種方式的缺點(diǎn)是在一次數(shù)據(jù)傳送的利用率較高。但這種方式的缺點(diǎn)是在一次數(shù)據(jù)傳送過(guò)程中,發(fā)生中斷次數(shù)較多過(guò)程中,發(fā)生中斷次數(shù)較多(每傳一個(gè)字節(jié)就要請(qǐng)示求中斷每傳一個(gè)字節(jié)就要請(qǐng)示求中斷),這將耗去大,這將耗去大量量cpu處理時(shí)間。處理時(shí)間。 計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與
54、工程系輸入輸出系統(tǒng)管理輸入輸出系統(tǒng)管理 (3) 直接存儲(chǔ)器訪問(wèn)方式直接存儲(chǔ)器訪問(wèn)方式 引入引入dma控制器,在其控制下,以數(shù)據(jù)塊為單位完成設(shè)控制器,在其控制下,以數(shù)據(jù)塊為單位完成設(shè)備與內(nèi)存間的數(shù)據(jù)交換,當(dāng)數(shù)據(jù)塊傳送完畢時(shí)才需要備與內(nèi)存間的數(shù)據(jù)交換,當(dāng)數(shù)據(jù)塊傳送完畢時(shí)才需要cpu干干預(yù)。該方式預(yù)。該方式cpu的利用率高。的利用率高。 (4) 通道控制方式通道控制方式 通道控制方式是通道控制方式是dma的發(fā)展,它把對(duì)每一塊數(shù)據(jù)的讀寫的發(fā)展,它把對(duì)每一塊數(shù)據(jù)的讀寫變成對(duì)一組數(shù)據(jù)塊的讀寫,可以進(jìn)一步減少變成對(duì)一組數(shù)據(jù)塊的讀寫,可以進(jìn)一步減少cpu的干預(yù)。更的干預(yù)。更大程度地提高了系統(tǒng)資源的利用率。大程
55、度地提高了系統(tǒng)資源的利用率。計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.7.3 i/o緩沖管理緩沖管理現(xiàn)代操作系統(tǒng)中,現(xiàn)代操作系統(tǒng)中,i/o設(shè)備與設(shè)備與cpu(實(shí)際指內(nèi)存實(shí)際指內(nèi)存)交換數(shù)交換數(shù)據(jù)時(shí),需要使用緩沖技術(shù)。也就是為據(jù)時(shí),需要使用緩沖技術(shù)。也就是為i/o設(shè)備設(shè)置緩沖區(qū)暫設(shè)備設(shè)置緩沖區(qū)暫存數(shù)據(jù),等到數(shù)據(jù)積累到一定程度時(shí),再做批量處理。存數(shù)據(jù),等到數(shù)據(jù)積累到一定程度時(shí),再做批量處理。 引入緩沖:引入緩沖: (1) 緩和緩和cpu與與i/o設(shè)備間速度不匹配的矛盾;設(shè)備間速度不匹配的矛盾; (2) 減少對(duì)減少對(duì)cpu中斷頻率;中斷頻率; (3) 提高提高cpu與與i/o設(shè)備間的并行性。設(shè)備間的并
56、行性。輸入輸出系統(tǒng)管理輸入輸出系統(tǒng)管理計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.7.4 設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序輸入輸出系統(tǒng)管理輸入輸出系統(tǒng)管理 設(shè)備驅(qū)動(dòng)程序與具體設(shè)備有關(guān),用戶安裝好硬件后還設(shè)備驅(qū)動(dòng)程序與具體設(shè)備有關(guān),用戶安裝好硬件后還要再安裝驅(qū)動(dòng)程序,計(jì)算機(jī)才能識(shí)別和使用該設(shè)備。每個(gè)要再安裝驅(qū)動(dòng)程序,計(jì)算機(jī)才能識(shí)別和使用該設(shè)備。每個(gè)外部設(shè)備都有相應(yīng)的設(shè)備驅(qū)動(dòng)程序,它也是硬件的身份識(shí)外部設(shè)備都有相應(yīng)的設(shè)備驅(qū)動(dòng)程序,它也是硬件的身份識(shí)別標(biāo)志,負(fù)責(zé)完成設(shè)備具體的各種動(dòng)作別標(biāo)志,負(fù)責(zé)完成設(shè)備具體的各種動(dòng)作(輸入輸入/輸出操作輸出操作)。 一旦為一旦為i/o設(shè)備安裝了驅(qū)動(dòng)程序,那么應(yīng)用程序在使用設(shè)備安
57、裝了驅(qū)動(dòng)程序,那么應(yīng)用程序在使用i/o設(shè)備時(shí),就不必關(guān)心設(shè)備的特性、設(shè)備時(shí),就不必關(guān)心設(shè)備的特性、i/o控制方式,這樣就控制方式,這樣就實(shí)現(xiàn)了應(yīng)用程序與設(shè)備的無(wú)關(guān)性。實(shí)現(xiàn)了應(yīng)用程序與設(shè)備的無(wú)關(guān)性。 計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系 unix4.8 典型操作系統(tǒng)典型操作系統(tǒng) unix是一個(gè)通用、交互式、分時(shí)多用戶并支持網(wǎng)絡(luò)的是一個(gè)通用、交互式、分時(shí)多用戶并支持網(wǎng)絡(luò)的操作系統(tǒng),是可以運(yùn)行在各種機(jī)型操作系統(tǒng),是可以運(yùn)行在各種機(jī)型(從微機(jī)到巨型機(jī)在內(nèi)從微機(jī)到巨型機(jī)在內(nèi))上上的通用操作系統(tǒng)。目前主要用于網(wǎng)絡(luò)服務(wù)器、大中小型機(jī)。的通用操作系統(tǒng)。目前主要用于網(wǎng)絡(luò)服務(wù)器、大中小型機(jī)。 缺點(diǎn):軟件少,價(jià)格貴
58、,難掌握。缺點(diǎn):軟件少,價(jià)格貴,難掌握。 dos dos是單用戶、單任務(wù)和字符界面的操作系統(tǒng),主要是單用戶、單任務(wù)和字符界面的操作系統(tǒng),主要為為16位微型計(jì)算機(jī)而設(shè)計(jì),屬于淘汰產(chǎn)品。位微型計(jì)算機(jī)而設(shè)計(jì),屬于淘汰產(chǎn)品。 計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系4.8.3 windows4.8 典型操作系統(tǒng)典型操作系統(tǒng)優(yōu)點(diǎn):界面圖形化、操作便捷、優(yōu)點(diǎn):界面圖形化、操作便捷、 采用多任務(wù)機(jī)制、支持網(wǎng)絡(luò)功能、采用多任務(wù)機(jī)制、支持網(wǎng)絡(luò)功能、 出出色的多媒體功能、硬件更容易使用、色的多媒體功能、硬件更容易使用、 具有眾多應(yīng)用程序的支持。具有眾多應(yīng)用程序的支持。 微軟:世界最強(qiáng)大公司之一,微軟:世界最強(qiáng)大公司之一,90年代蓬勃興起,年代蓬勃興起,但產(chǎn)品處于二、三流但產(chǎn)品處于二、三流之間。它以人們喜歡占便宜的心里,采取允許人們盜版的方式迅速擴(kuò)張,之間。它以人們喜歡占便宜的心里,采取允
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZNZ 264.2-2024 重金屬中度污染農(nóng)田土壤修復(fù)和安全利用技術(shù)規(guī)范 第2部分:超積累東南景天與中稻輪作
- T-ZZB 3744-2024 制革用陰離子型磺化油
- T-ZMDS 20008-2024 醫(yī)療器械嵌入式軟件漏洞評(píng)估方法
- 2025年度解除農(nóng)業(yè)合作項(xiàng)目的聲明書(shū)
- 二零二五年度綠化苗木購(gòu)銷與城市綠化養(yǎng)護(hù)服務(wù)合同
- 二零二五年度實(shí)習(xí)教師與教育機(jī)構(gòu)教育咨詢服務(wù)合同
- 二零二五年度共享住宅租賃正規(guī)協(xié)議書(shū)范本及環(huán)保要求
- 二零二五年度勞動(dòng)合同主體變更及培訓(xùn)交接服務(wù)合同
- 2025年度水產(chǎn)養(yǎng)殖水質(zhì)改良與養(yǎng)魚(yú)合同
- 二零二五年度人社部員工勞動(dòng)合同勞動(dòng)合同電子簽名與認(rèn)證合同
- 醫(yī)院安全風(fēng)險(xiǎn)分級(jí)管控清單
- 高級(jí)服裝設(shè)計(jì)與面料
- 次梁與主梁鉸接計(jì)算程式
- 學(xué)前比較教育(學(xué)前教育專業(yè))第3版全套教學(xué)課件
- 企業(yè)人力資源內(nèi)部審核檢查表
- 《素描》課件-第一章 素描入門
- GB/T 42828.1-2023鹽堿地改良通用技術(shù)第1部分:鐵尾砂改良
- 工資條(標(biāo)準(zhǔn)模版)
- 第四講 搜索引擎檢索
- 法語(yǔ)的發(fā)音規(guī)則及法語(yǔ)單詞分類記憶
- 衛(wèi)生和微生物基礎(chǔ)知識(shí)培訓(xùn)-
評(píng)論
0/150
提交評(píng)論