




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 操作系統(tǒng)是配置在計(jì)算機(jī)硬件上的第一層軟操作系統(tǒng)是配置在計(jì)算機(jī)硬件上的第一層軟件,是控制計(jì)算機(jī)所有操作的軟件。件,是控制計(jì)算機(jī)所有操作的軟件。 本章主要講述操作系統(tǒng)概念及構(gòu)成;重點(diǎn)闡本章主要講述操作系統(tǒng)概念及構(gòu)成;重點(diǎn)闡述操作系統(tǒng)中的幾個(gè)基本組件及功能,主要是:述操作系統(tǒng)中的幾個(gè)基本組件及功能,主要是:進(jìn)程管理、內(nèi)存管理、文件管理、輸入進(jìn)程管理、內(nèi)存管理、文件管理、輸入/輸出系統(tǒng)輸出系統(tǒng)管理;最后介紹幾個(gè)典型的操作系統(tǒng)產(chǎn)品。管理;最后介紹幾個(gè)典型的操作系統(tǒng)產(chǎn)品。操作系統(tǒng):是管理計(jì)算機(jī)軟硬件資源的程序,同操作系統(tǒng):是管理計(jì)算機(jī)軟硬件資源的程序,同時(shí)它又是用戶與計(jì)算機(jī)硬件的接口。時(shí)它又是用戶與計(jì)算
2、機(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)行。 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ǔ)管理二級(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ì)外部各就
3、是對(duì)外部各種輸入輸出設(shè)種輸入輸出設(shè)備進(jìn)行管理。備進(jìn)行管理。主要是指對(duì)主要是指對(duì)硬盤(pán)進(jìn)行管硬盤(pá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)的接口程序。的接口程序。4.2 操作系統(tǒng)類別與計(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)多種多樣。為提高大型計(jì)算機(jī)系統(tǒng)的資源多樣。為提高大型計(jì)算機(jī)系統(tǒng)的資源利用率,操作系統(tǒng)從批處理,多道程利用率,操作系統(tǒng)從批處理,多道程序發(fā)展為
4、分時(shí)操作系統(tǒng)。為了滿足計(jì)序發(fā)展為分時(shí)操作系統(tǒng)。為了滿足計(jì)算機(jī)處理實(shí)時(shí)事件的需要,就有實(shí)時(shí)算機(jī)處理實(shí)時(shí)事件的需要,就有實(shí)時(shí)操作系統(tǒng)。為適應(yīng)個(gè)人計(jì)算機(jī)系統(tǒng)的操作系統(tǒng)。為適應(yīng)個(gè)人計(jì)算機(jī)系統(tǒng)的需要又出現(xiàn)了桌面操作系統(tǒng)。為適應(yīng)需要又出現(xiàn)了桌面操作系統(tǒng)。為適應(yīng)并行系統(tǒng)的需要,就有了多處理器操并行系統(tǒng)的需要,就有了多處理器操作系統(tǒng)。為滿足網(wǎng)絡(luò)和分布計(jì)算的需作系統(tǒng)。為滿足網(wǎng)絡(luò)和分布計(jì)算的需要,就有了網(wǎng)絡(luò)操作系統(tǒng)和分布式操要,就有了網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)。此外,還有為支持嵌入式計(jì)作系統(tǒng)。此外,還有為支持嵌入式計(jì)算機(jī)的嵌入式操作系統(tǒng)。算機(jī)的嵌入式操作系統(tǒng)。4.2 操作系統(tǒng)類別與計(jì)算環(huán)境操作系統(tǒng)類別與計(jì)算環(huán)境
5、 1. 傳統(tǒng)計(jì)算環(huán)境傳統(tǒng)計(jì)算環(huán)境 指普通意義下的獨(dú)立或聯(lián)網(wǎng)工作的通用計(jì)算機(jī)指普通意義下的獨(dú)立或聯(lián)網(wǎng)工作的通用計(jì)算機(jī)所形成的計(jì)算環(huán)境。所形成的計(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ī)就是安裝在某些設(shè)備上的計(jì)算部件,其計(jì)算相對(duì)比較簡(jiǎn)單。件,其計(jì)算相對(duì)比較簡(jiǎn)單。進(jìn)程管理進(jìn)程管理 什么是進(jìn)程?它與程序有什么區(qū)別?什么是進(jìn)程?它與程序有什么區(qū)別? 程序:用戶為完成某一個(gè)特定問(wèn)題而編寫(xiě)的操作步驟。程序:用戶為完成某一個(gè)特定問(wèn)題而編寫(xiě)的
6、操作步驟。 進(jìn)程:可以簡(jiǎn)單地被看作是正在執(zhí)行的程序。但是進(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)程也就消亡了。新的新的就緒就緒運(yùn)行運(yùn)行終止終止等待等待允許允許中斷中斷退出退出允許允許I/O操作或事件的
7、完成操作或事件的完成I/O操作或事件的等待操作或事件的等待進(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)程可能要使用某個(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ìn)程管理進(jìn)程管理 為了控制進(jìn)程,操作系統(tǒng)
8、就必須知道進(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)程實(shí)體的一部分,是操作系統(tǒng)中記錄進(jìn)程的專用數(shù)據(jù)結(jié)構(gòu)。一個(gè)新的進(jìn)程創(chuàng)建時(shí),中記錄進(jìn)程的專用數(shù)據(jù)結(jié)構(gòu)。一個(gè)新的進(jìn)程創(chuàng)建時(shí),操作系統(tǒng)就會(huì)為該進(jìn)程建立一個(gè)進(jìn)程控制塊。操作操作系統(tǒng)就會(huì)為該進(jìn)程建立一個(gè)進(jìn)程控制塊。操作系統(tǒng)根據(jù)進(jìn)程控制塊對(duì)并發(fā)進(jìn)程進(jìn)行控制。系統(tǒng)根據(jù)進(jìn)程控制塊對(duì)并發(fā)進(jìn)程進(jìn)行控制。進(jìn)程管理進(jìn)程管理 計(jì)算機(jī)采用多道程序的目的是使得計(jì)算機(jī)系統(tǒng)無(wú)論何時(shí)計(jì)算機(jī)采用多道程序的目的是使得計(jì)算機(jī)系統(tǒng)無(wú)論何時(shí)都有進(jìn)程運(yùn)行,單處理器的計(jì)算機(jī)在某
9、一時(shí)刻都有進(jìn)程運(yùn)行,單處理器的計(jì)算機(jī)在某一時(shí)刻CPU只能運(yùn)行只能運(yùn)行一個(gè)進(jìn)程,如果存在多個(gè)進(jìn)程,其它進(jìn)程就需要等待一個(gè)進(jìn)程,如果存在多個(gè)進(jìn)程,其它進(jìn)程就需要等待CPU空空閑時(shí)才能被調(diào)度執(zhí)行。閑時(shí)才能被調(diào)度執(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控制權(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ìn)程管理進(jìn)程管理 在設(shè)計(jì)在設(shè)計(jì)CPU調(diào)度程序時(shí)主要應(yīng)該考慮的準(zhǔn)則包括:調(diào)度程序時(shí)主
10、要應(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)程從提交到運(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ìn)程管理進(jìn)程管理 進(jìn)程的同步就是指相互協(xié)作的進(jìn)程不斷調(diào)
11、整它們進(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)行。然而,在操作系統(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ù)從鍵盤(pán)送入緩沖區(qū)把數(shù)據(jù)從鍵盤(pán)送入緩沖區(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)程
12、進(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)程同步工作如下圖(兩進(jìn)程同步工作如下圖(A進(jìn)程負(fù)責(zé)從鍵盤(pán)讀數(shù)據(jù)到緩沖區(qū),進(jìn)程負(fù)責(zé)從鍵盤(pán)讀數(shù)據(jù)到緩沖區(qū),B進(jìn)程從緩沖進(jìn)程從緩沖區(qū)取數(shù)據(jù)并計(jì)算。區(qū)取數(shù)據(jù)并計(jì)算。 現(xiàn)實(shí)應(yīng)用中存在大量的類似實(shí)例現(xiàn)實(shí)應(yīng)用中存在大量的類似實(shí)例進(jìn)程通信進(jìn)程通信進(jìn)程管理進(jìn)程管理進(jìn)程管理進(jìn)程管理 在操作系統(tǒng)中,可能存在著多個(gè)進(jìn)程。而系統(tǒng)中在操作系統(tǒng)中,可能存在著多個(gè)進(jìn)程。而系統(tǒng)中一些資源一次只允許一個(gè)進(jìn)程使用,這類資源被稱為一些資源一次只允許一個(gè)進(jìn)程使用
13、,這類資源被稱為臨界資源。在進(jìn)程中訪問(wèn)臨界資源的那段程序稱為臨臨界資源。在進(jìn)程中訪問(wèn)臨界資源的那段程序稱為臨界區(qū)。當(dāng)一個(gè)進(jìn)程進(jìn)入臨界區(qū)執(zhí)行時(shí),其它進(jìn)程就不界區(qū)。當(dāng)一個(gè)進(jìn)程進(jìn)入臨界區(qū)執(zhí)行時(shí),其它進(jìn)程就不允許進(jìn)入臨界區(qū)執(zhí)行,否則就會(huì)導(dǎo)致錯(cuò)誤結(jié)果。由此允許進(jìn)入臨界區(qū)執(zhí)行,否則就會(huì)導(dǎo)致錯(cuò)誤結(jié)果。由此得出得出: : 多個(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)程的互斥。 例如:多個(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)程在寫(xiě)操一個(gè)文件可供多個(gè)進(jìn)
14、程共享,其中有一個(gè)進(jìn)程在寫(xiě)操作時(shí),其它進(jìn)程則不允許同時(shí)寫(xiě)或讀作時(shí),其它進(jìn)程則不允許同時(shí)寫(xiě)或讀,表現(xiàn)為互斥。表現(xiàn)為互斥。 在多道程序設(shè)計(jì)中,多個(gè)進(jìn)程可能競(jìng)爭(zhēng)一定數(shù)在多道程序設(shè)計(jì)中,多個(gè)進(jìn)程可能競(jìng)爭(zhēng)一定數(shù)量的資源。一個(gè)進(jìn)程在申請(qǐng)資源時(shí),如果所申請(qǐng)資量的資源。一個(gè)進(jìn)程在申請(qǐng)資源時(shí),如果所申請(qǐng)資源不足,該進(jìn)程就必須處于等待狀態(tài)。如果所申請(qǐng)?jiān)床蛔?,該進(jìn)程就必須處于等待狀態(tài)。如果所申請(qǐng)的資源被其它進(jìn)程占有,那么進(jìn)程的等待狀態(tài)就可的資源被其它進(jìn)程占有,那么進(jìn)程的等待狀態(tài)就可能無(wú)法改變,從而形成進(jìn)程之間相互一直等待的局能無(wú)法改變,從而形成進(jìn)程之間相互一直等待的局面,這就是死鎖。面,這就是死鎖。進(jìn)程管理進(jìn)程管理
15、 死鎖舉例死鎖舉例1: 進(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ìn)程死鎖進(jìn)程死鎖進(jìn)程管理進(jìn)程管理 死鎖舉例死鎖舉例2 2: 四方街區(qū)的車輛阻塞。每個(gè)方向都希望其它方讓出通道,四方街區(qū)的車輛阻塞。每個(gè)方向都希望其它方讓出通道,但誰(shuí)也不能夠讓出。但誰(shuí)也不能夠讓出。引起死鎖的四個(gè)必要條件:引起死鎖的四個(gè)必要條件:互斥:任一時(shí)刻只能有一個(gè)進(jìn)程獨(dú)占某一資源,若互斥:任一時(shí)刻只能有一個(gè)進(jìn)程獨(dú)占某一資源,若另一進(jìn)程申請(qǐng)?jiān)撡Y源則需延遲到該
16、資源釋放為止。另一進(jìn)程申請(qǐng)?jiān)撡Y源則需延遲到該資源釋放為止。 占有并等待:即該進(jìn)程占有部分資源后還在等待其占有并等待:即該進(jìn)程占有部分資源后還在等待其它資源,而該資源被其它進(jìn)程占有。它資源,而該資源被其它進(jìn)程占有。 非搶占:某進(jìn)程已占用資源且不主動(dòng)放棄它所占有非搶占:某進(jìn)程已占用資源且不主動(dòng)放棄它所占有的資源時(shí),其它進(jìn)程不能強(qiáng)占該資源,只有等其完成的資源時(shí),其它進(jìn)程不能強(qiáng)占該資源,只有等其完成任務(wù)并釋放資源。任務(wù)并釋放資源。循環(huán)等待:在出現(xiàn)死鎖的系統(tǒng)中,一定存在這樣一循環(huán)等待:在出現(xiàn)死鎖的系統(tǒng)中,一定存在這樣一個(gè)進(jìn)程鏈,其中每個(gè)進(jìn)程至少占有其它進(jìn)程所必需的個(gè)進(jìn)程鏈,其中每個(gè)進(jìn)程至少占有其它進(jìn)程所
17、必需的資源,從而形成一個(gè)等待鏈。資源,從而形成一個(gè)等待鏈。 所占有的資源。所占有的資源。進(jìn)程管理進(jìn)程管理處理死鎖問(wèn)題的三種方式:處理死鎖問(wèn)題的三種方式:可使用協(xié)議預(yù)防和避免死鎖,確保系統(tǒng)從不會(huì)進(jìn)可使用協(xié)議預(yù)防和避免死鎖,確保系統(tǒng)從不會(huì)進(jìn)入死鎖狀態(tài)。入死鎖狀態(tài)。 可允許系統(tǒng)進(jìn)入死鎖狀態(tài),然后檢測(cè)出死鎖狀態(tài),可允許系統(tǒng)進(jìn)入死鎖狀態(tài),然后檢測(cè)出死鎖狀態(tài),并加以恢復(fù)。并加以恢復(fù)。 可忽略進(jìn)程死鎖問(wèn)題,并假裝系統(tǒng)中死鎖從來(lái)不可忽略進(jìn)程死鎖問(wèn)題,并假裝系統(tǒng)中死鎖從來(lái)不會(huì)發(fā)生。即沒(méi)有必要把精力花在小概率事件上。會(huì)發(fā)生。即沒(méi)有必要把精力花在小概率事件上。進(jìn)程管理進(jìn)程管理處理死鎖優(yōu)先考慮的順序:處理死鎖優(yōu)先考慮
18、的順序:先先預(yù)防預(yù)防和避免和避免再再檢測(cè)檢測(cè)和恢復(fù)和恢復(fù)4.4 內(nèi)存管理內(nèi)存管理 內(nèi)存是現(xiàn)代操作系統(tǒng)的核心。內(nèi)存用于容納操內(nèi)存是現(xiàn)代操作系統(tǒng)的核心。內(nèi)存用于容納操作系統(tǒng)和各種用戶進(jìn)程,是可以被作系統(tǒng)和各種用戶進(jìn)程,是可以被CPU和和I/O設(shè)備設(shè)備所共同訪問(wèn)的數(shù)據(jù)倉(cāng)庫(kù)。計(jì)算機(jī)的所有程序運(yùn)行時(shí)所共同訪問(wèn)的數(shù)據(jù)倉(cāng)庫(kù)。計(jì)算機(jī)的所有程序運(yùn)行時(shí)都要調(diào)入內(nèi)存。都要調(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í),如
19、何把內(nèi)存和外存結(jié)合起來(lái),給用戶提供一個(gè)比實(shí)際內(nèi)存大得多的虛擬內(nèi)存,使給用戶提供一個(gè)比實(shí)際內(nèi)存大得多的虛擬內(nèi)存,使得程序能順利執(zhí)行。內(nèi)存管理包括內(nèi)存分配、地址得程序能順利執(zhí)行。內(nèi)存管理包括內(nèi)存分配、地址映射、內(nèi)存保護(hù)和擴(kuò)充。映射、內(nèi)存保護(hù)和擴(kuò)充。 4.4 內(nèi)存管理內(nèi)存管理 用戶編寫(xiě)程序在執(zhí)行前,需要用戶編寫(xiě)程序在執(zhí)行前,需要多個(gè)處理步驟,這些步驟可將源程多個(gè)處理步驟,這些步驟可將源程序轉(zhuǎn)變?yōu)槎M(jìn)制機(jī)器代碼,然后在序轉(zhuǎn)變?yōu)槎M(jìn)制機(jī)器代碼,然后在內(nèi)存中等待執(zhí)行。當(dāng)然有時(shí)并非每?jī)?nèi)存中等待執(zhí)行。當(dāng)然有時(shí)并非每個(gè)步驟都是必需的。個(gè)步驟都是必需的。源程序源程序編譯器或編譯器或匯編器匯編器目標(biāo)模塊目標(biāo)模塊鏈接
20、編輯器鏈接編輯器加載模塊加載模塊加載器加載器內(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.4 用戶程序多步驟處理用戶程序多步驟處理說(shuō)明:編譯器和匯編器用于將高級(jí)說(shuō)明:編譯器和匯編器用于將高級(jí)語(yǔ)言程序源程序翻譯成二進(jìn)制代碼語(yǔ)言程序源程序翻譯成二進(jìn)制代碼的機(jī)器語(yǔ)言程序。鏈接器將將編譯的機(jī)器語(yǔ)言程序。鏈接器將將編譯后不同的程序庫(kù)等連接起來(lái)生成后不同的程序庫(kù)等連接起來(lái)生成EXE文件文件 。當(dāng)運(yùn)行。當(dāng)運(yùn)行EXE文件的時(shí)候文件的時(shí)候操作系統(tǒng)的加載器讀取操作系統(tǒng)的加載器讀取E
21、XE文件并文件并將它們加載到內(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ù)文件叫動(dòng)態(tài)鏈接庫(kù)文件。 OBJ文件文件EXE文件文件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)程將駐留在什么位置,那么
22、編譯器就必須生成程序的邏輯地址,在加載階段么編譯器就必須生成程序的邏輯地址,在加載階段再轉(zhuǎn)變成內(nèi)存的絕對(duì)地址。再轉(zhuǎn)變成內(nèi)存的絕對(duì)地址。 3. 3.執(zhí)行階段執(zhí)行階段: :如果進(jìn)程在執(zhí)行時(shí)可以從一個(gè)內(nèi)存如果進(jìn)程在執(zhí)行時(shí)可以從一個(gè)內(nèi)存段移動(dòng)到另一個(gè)內(nèi)存段,那么進(jìn)程的絕對(duì)地址映射段移動(dòng)到另一個(gè)內(nèi)存段,那么進(jìn)程的絕對(duì)地址映射工作只能延遲到執(zhí)行時(shí)進(jìn)行。工作只能延遲到執(zhí)行時(shí)進(jìn)行。 通常,將指令和數(shù)據(jù)的地址映射成內(nèi)存地址可以通常,將指令和數(shù)據(jù)的地址映射成內(nèi)存地址可以發(fā)生在以下三個(gè)執(zhí)行階段。發(fā)生在以下三個(gè)執(zhí)行階段。(了解了解)4.4 內(nèi)存管理內(nèi)存管理l 幾個(gè)相關(guān)概念幾個(gè)相關(guān)概念物理地址物理地址:是計(jì)算機(jī)內(nèi)存單元
23、的真實(shí)地址。是計(jì)算機(jī)內(nèi)存單元的真實(shí)地址。 物理地址空間物理地址空間:由物理地址所構(gòu)成的地址范圍。由物理地址所構(gòu)成的地址范圍。 邏輯地址邏輯地址:用戶程序地址,從用戶程序地址,從0開(kāi)始編址。開(kāi)始編址。 邏輯地址空間邏輯地址空間:由邏輯地址所構(gòu)成的地址范圍。由邏輯地址所構(gòu)成的地址范圍。 地址映射地址映射:用戶程序在運(yùn)行時(shí)要裝入內(nèi)存,這就需用戶程序在運(yùn)行時(shí)要裝入內(nèi)存,這就需要將邏輯地址變換成物理地址,這個(gè)過(guò)程稱為地要將邏輯地址變換成物理地址,這個(gè)過(guò)程稱為地址映射,也稱重定位。址映射,也稱重定位。用戶編寫(xiě)的源程序是不考慮地址的,源程序經(jīng)用戶編寫(xiě)的源程序是不考慮地址的,源程序經(jīng)CPU編譯后產(chǎn)生邏輯地址。
24、從編譯后產(chǎn)生邏輯地址。從CPU產(chǎn)生的邏輯地址產(chǎn)生的邏輯地址轉(zhuǎn)換為內(nèi)存中的物理地址的映射是由計(jì)算機(jī)中被稱為轉(zhuǎn)換為內(nèi)存中的物理地址的映射是由計(jì)算機(jī)中被稱為內(nèi)存管理單元的硬件設(shè)備來(lái)實(shí)現(xiàn)的,將邏輯地址與內(nèi)內(nèi)存管理單元的硬件設(shè)備來(lái)實(shí)現(xiàn)的,將邏輯地址與內(nèi)存管理單元中存放的內(nèi)存基址相加就得到了物理地址。存管理單元中存放的內(nèi)存基址相加就得到了物理地址。 物理地址物理地址Base + X邏輯地址邏輯地址XCPU重定位寄存器重定位寄存器Base+ +內(nèi)存內(nèi)存內(nèi)存管理單元內(nèi)存管理單元4.4 內(nèi)存管理內(nèi)存管理 為了更加有效地使用內(nèi)存,進(jìn)程在不運(yùn)行時(shí),可為了更加有效地使用內(nèi)存,進(jìn)程在不運(yùn)行時(shí),可以暫時(shí)從內(nèi)存移至外存上,
25、直到需要再運(yùn)行時(shí)再重新以暫時(shí)從內(nèi)存移至外存上,直到需要再運(yùn)行時(shí)再重新調(diào)回到內(nèi)存中。也就是說(shuō)內(nèi)存管理程序可將剛剛運(yùn)行調(diào)回到內(nèi)存中。也就是說(shuō)內(nèi)存管理程序可將剛剛運(yùn)行過(guò)的進(jìn)程從內(nèi)存中換出以釋放出占用的內(nèi)存空間,然過(guò)的進(jìn)程從內(nèi)存中換出以釋放出占用的內(nèi)存空間,然后將另一個(gè)要運(yùn)行的進(jìn)程占據(jù)前者釋放的內(nèi)存空間。后將另一個(gè)要運(yùn)行的進(jìn)程占據(jù)前者釋放的內(nèi)存空間。4.4 內(nèi)存管理內(nèi)存管理進(jìn)程A操作系統(tǒng)未用內(nèi)存區(qū)進(jìn)程A操作系統(tǒng)未用內(nèi)存區(qū)進(jìn)程B進(jìn)程A操作系統(tǒng)未用內(nèi)存區(qū)進(jìn)程B進(jìn)程C未用內(nèi)存區(qū)操作系統(tǒng)未用內(nèi)存區(qū)進(jìn)程B進(jìn)程C未用內(nèi)存區(qū)操作系統(tǒng)未用內(nèi)存區(qū)進(jìn)程B進(jìn)程C進(jìn)程D4.4 內(nèi)存管理內(nèi)存管理進(jìn)程A操作系統(tǒng)未用內(nèi)存區(qū)進(jìn)程C未
26、用內(nèi)存區(qū)在內(nèi)存分配中,在內(nèi)存分配中,常常把內(nèi)存中還常常把內(nèi)存中還沒(méi)有被分配的可沒(méi)有被分配的可用空間稱為孔用空間稱為孔( (hole) )。 計(jì)算機(jī)工作時(shí),為了將多個(gè)進(jìn)程放入到內(nèi)存就必須考慮計(jì)算機(jī)工作時(shí),為了將多個(gè)進(jìn)程放入到內(nèi)存就必須考慮在內(nèi)存中如何放置這些進(jìn)程。在內(nèi)存中如何放置這些進(jìn)程。 對(duì)于連續(xù)內(nèi)存分配方案,開(kāi)始時(shí)所有內(nèi)存是一個(gè)大的孔,對(duì)于連續(xù)內(nèi)存分配方案,開(kāi)始時(shí)所有內(nèi)存是一個(gè)大的孔,隨著內(nèi)存分配的進(jìn)行就會(huì)形成位置上不連續(xù)的大小不一的孔。隨著內(nèi)存分配的進(jìn)行就會(huì)形成位置上不連續(xù)的大小不一的孔。在連續(xù)內(nèi)存分配方案中,當(dāng)新進(jìn)程需要內(nèi)存時(shí),為其尋找合在連續(xù)內(nèi)存分配方案中,當(dāng)新進(jìn)程需要內(nèi)存時(shí),為其尋找
27、合適的孔,實(shí)現(xiàn)內(nèi)存分配適的孔,實(shí)現(xiàn)內(nèi)存分配 。該方案為每個(gè)進(jìn)程所分配的內(nèi)存。該方案為每個(gè)進(jìn)程所分配的內(nèi)存物理地址空間在位置上是連續(xù)的。物理地址空間在位置上是連續(xù)的。 分頁(yè)式內(nèi)存管理分頁(yè)式內(nèi)存管理物理物理地址地址 邏輯邏輯地址地址 頁(yè)框頁(yè)框(Frame) 頁(yè)面頁(yè)面(Page)硬件支持硬件支持 4.4 內(nèi)存管理內(nèi)存管理分頁(yè)管理基本思想:分頁(yè)管理基本思想:o 內(nèi)存物理地址空間劃分為若干個(gè)大小相等的塊內(nèi)存物理地址空間劃分為若干個(gè)大小相等的塊(頁(yè)框頁(yè)框) o 進(jìn)程的邏輯地址空間也劃分為同樣大小的塊進(jìn)程的邏輯地址空間也劃分為同樣大小的塊(頁(yè)面頁(yè)面)o 內(nèi)存分配時(shí)每個(gè)頁(yè)面對(duì)應(yīng)地分配一個(gè)頁(yè)框,而一個(gè)內(nèi)存分配時(shí)
28、每個(gè)頁(yè)面對(duì)應(yīng)地分配一個(gè)頁(yè)框,而一個(gè)進(jìn)程所分得頁(yè)框在位置上不必是連續(xù)的。進(jìn)程所分得頁(yè)框在位置上不必是連續(xù)的。頁(yè)表:操作系統(tǒng)為每個(gè)用戶程序建立一張頁(yè)表,該表記錄用戶頁(yè)表:操作系統(tǒng)為每個(gè)用戶程序建立一張頁(yè)表,該表記錄用戶程序的每個(gè)邏輯頁(yè)面存放在哪一個(gè)內(nèi)存物理頁(yè)框。程序的每個(gè)邏輯頁(yè)面存放在哪一個(gè)內(nèi)存物理頁(yè)框。7頁(yè)6頁(yè)5頁(yè)4頁(yè)3頁(yè)2頁(yè)1頁(yè)0頁(yè)用戶程序11109876543210內(nèi)存1191076425塊號(hào)76543210頁(yè)號(hào)頁(yè)表4.4 內(nèi)存管理內(nèi)存管理pdfCPUpdfdff 00000000f 11111111邏輯地址邏輯地址物理地址物理地址頁(yè)表頁(yè)表物理內(nèi)存物理內(nèi)存分頁(yè)式內(nèi)存管理從邏輯地址到物理地址的
29、映射分頁(yè)式內(nèi)存管理從邏輯地址到物理地址的映射:注:邏輯地址的表示:注:邏輯地址的表示:4.4 內(nèi)存管理內(nèi)存管理4.5 虛擬內(nèi)存方案虛擬內(nèi)存方案虛擬內(nèi)存是一個(gè)容量很大的存儲(chǔ)器的邏輯模型,虛擬內(nèi)存是一個(gè)容量很大的存儲(chǔ)器的邏輯模型,它不是任何實(shí)際的物理存儲(chǔ)器,它一般是借助硬盤(pán)來(lái)它不是任何實(shí)際的物理存儲(chǔ)器,它一般是借助硬盤(pán)來(lái)擴(kuò)大主存的容量。擴(kuò)大主存的容量。虛擬內(nèi)存包括物理內(nèi)存和一部分外存虛擬內(nèi)存包括物理內(nèi)存和一部分外存( (這里所用到的外存一般是指硬盤(pán)這里所用到的外存一般是指硬盤(pán)) )。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)
30、行的幾個(gè)頁(yè)面裝入內(nèi)存便可以開(kāi)始運(yùn)行,而其余要運(yùn)行的幾個(gè)頁(yè)面裝入內(nèi)存便可以開(kāi)始運(yùn)行,而其余頁(yè)面可暫時(shí)留在磁盤(pán)上,待需要時(shí)再調(diào)入內(nèi)存,并且頁(yè)面可暫時(shí)留在磁盤(pán)上,待需要時(shí)再調(diào)入內(nèi)存,并且調(diào)入時(shí)也不占用新的內(nèi)存空間,而是對(duì)原來(lái)運(yùn)行過(guò)的調(diào)入時(shí)也不占用新的內(nèi)存空間,而是對(duì)原來(lái)運(yùn)行過(guò)的頁(yè)面進(jìn)行置換。這樣,就可以在計(jì)算機(jī)有限的內(nèi)存中頁(yè)面進(jìn)行置換。這樣,就可以在計(jì)算機(jī)有限的內(nèi)存中同時(shí)駐留多個(gè)進(jìn)程并運(yùn)行。而對(duì)用戶來(lái)講感覺(jué)到系統(tǒng)同時(shí)駐留多個(gè)進(jìn)程并運(yùn)行。而對(duì)用戶來(lái)講感覺(jué)到系統(tǒng)提供了足夠大的物理內(nèi)存,而實(shí)際上并非真實(shí)的,這提供了足夠大的物理內(nèi)存,而實(shí)際上并非真實(shí)的,這就是虛擬內(nèi)存。就是虛擬內(nèi)存。 4.5 虛擬內(nèi)存方案虛
31、擬內(nèi)存方案 頁(yè)面請(qǐng)求頁(yè)面請(qǐng)求: :在虛擬內(nèi)存技術(shù)中,進(jìn)程運(yùn)行時(shí)并在虛擬內(nèi)存技術(shù)中,進(jìn)程運(yùn)行時(shí)并沒(méi)有將所有頁(yè)面裝入到內(nèi)存,在運(yùn)行過(guò)程中進(jìn)程會(huì)沒(méi)有將所有頁(yè)面裝入到內(nèi)存,在運(yùn)行過(guò)程中進(jìn)程會(huì)不斷地請(qǐng)求頁(yè)面,如果訪問(wèn)的頁(yè)面已在內(nèi)存,就繼不斷地請(qǐng)求頁(yè)面,如果訪問(wèn)的頁(yè)面已在內(nèi)存,就繼續(xù)執(zhí)行下去;但如果要訪問(wèn)的頁(yè)面尚未調(diào)入到內(nèi)存,續(xù)執(zhí)行下去;但如果要訪問(wèn)的頁(yè)面尚未調(diào)入到內(nèi)存,便請(qǐng)求操作系統(tǒng)將所缺頁(yè)面調(diào)入內(nèi)存,以便進(jìn)程能便請(qǐng)求操作系統(tǒng)將所缺頁(yè)面調(diào)入內(nèi)存,以便進(jìn)程能繼續(xù)運(yùn)行下去。繼續(xù)運(yùn)行下去。 頁(yè)面置換頁(yè)面置換: :如果請(qǐng)求頁(yè)面調(diào)入內(nèi)存時(shí),分配給如果請(qǐng)求頁(yè)面調(diào)入內(nèi)存時(shí),分配給該進(jìn)程的頁(yè)框已用完,就無(wú)法立即裝入所請(qǐng)
32、求頁(yè)面。該進(jìn)程的頁(yè)框已用完,就無(wú)法立即裝入所請(qǐng)求頁(yè)面。此時(shí),必須將進(jìn)程中的某個(gè)頁(yè)面從內(nèi)存的頁(yè)框調(diào)出此時(shí),必須將進(jìn)程中的某個(gè)頁(yè)面從內(nèi)存的頁(yè)框調(diào)出到磁盤(pán)上,再?gòu)拇疟P(pán)上將所請(qǐng)求的頁(yè)面調(diào)入到內(nèi)存到磁盤(pán)上,再?gòu)拇疟P(pán)上將所請(qǐng)求的頁(yè)面調(diào)入到內(nèi)存的該頁(yè)框中。這個(gè)過(guò)程叫做頁(yè)面置換。的該頁(yè)框中。這個(gè)過(guò)程叫做頁(yè)面置換。4.6 文件管理文件管理文件:保存在外部存儲(chǔ)設(shè)備上的相關(guān)信息的集合。文件:保存在外部存儲(chǔ)設(shè)備上的相關(guān)信息的集合。 文件命名:文件主名文件命名:文件主名+ +擴(kuò)展名擴(kuò)展名只讀:只允許授權(quán)用戶進(jìn)行讀操作。只讀:只允許授權(quán)用戶進(jìn)行讀操作。 讀寫(xiě):只允許授權(quán)用戶進(jìn)行讀和寫(xiě)的操作。讀寫(xiě):只允許授權(quán)用戶進(jìn)行讀和寫(xiě)
33、的操作。 文檔:允許任何用戶進(jìn)行讀寫(xiě)操作。文檔:允許任何用戶進(jìn)行讀寫(xiě)操作。 隱藏:不允許用戶直接看到文件名。隱藏:不允許用戶直接看到文件名。文件存取屬性:文件存取屬性:文件管理是操作系統(tǒng)最常見(jiàn)的組成部分。文件文件管理是操作系統(tǒng)最常見(jiàn)的組成部分。文件管理主要提供目錄及其文件的管理。管理主要提供目錄及其文件的管理。4.6 文件管理文件管理文件系統(tǒng):是對(duì)文件進(jìn)行操作和管理的軟件,是文件系統(tǒng):是對(duì)文件進(jìn)行操作和管理的軟件,是用戶與外存之間的接口。這個(gè)系統(tǒng)將所有文件組織成用戶與外存之間的接口。這個(gè)系統(tǒng)將所有文件組織成目錄結(jié)構(gòu)保存在外存,一個(gè)文件對(duì)應(yīng)其中的一個(gè)目錄目錄結(jié)構(gòu)保存在外存,一個(gè)文件對(duì)應(yīng)其中的一個(gè)
34、目錄條。目錄條記錄有文件名、文件位置等信息。條。目錄條記錄有文件名、文件位置等信息。 操作系統(tǒng)對(duì)文件的基本操作包括:操作系統(tǒng)對(duì)文件的基本操作包括: 創(chuàng)建文件、文件寫(xiě)、文件讀、文件重定位、文件創(chuàng)建文件、文件寫(xiě)、文件讀、文件重定位、文件刪除、文件截短。刪除、文件截短。 對(duì)文件的其它操作包括:文件復(fù)制、重命名、更對(duì)文件的其它操作包括:文件復(fù)制、重命名、更改屬性等。改屬性等。文件的邏輯結(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)分物理和
35、邏輯結(jié)構(gòu)。其中物理結(jié)構(gòu)是文件在外存上的存儲(chǔ)組織形式,它與具體的存儲(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)。main( ) int a, b, sum; scanf(%d %d, &a, &b); sum=a+b; printf(sum=%d, sum); 4.6 文件管理文件管理是一維的、連續(xù)的、無(wú)結(jié)構(gòu)的是一維的、連續(xù)的、無(wú)結(jié)構(gòu)的字符序列,可以看成是由一條字符序列,可以看成是由一條無(wú)結(jié)構(gòu)的記錄組成的文件。無(wú)結(jié)構(gòu)的記錄組成的
36、文件。是帶有結(jié)構(gòu)的、性質(zhì)相同的記錄的集合。是帶有結(jié)構(gòu)的、性質(zhì)相同的記錄的集合。 順序文件:文件所包含的一系列記錄按照某種順序依順序文件:文件所包含的一系列記錄按照某種順序依次連續(xù)存儲(chǔ)。次連續(xù)存儲(chǔ)。4.6 文件管理文件管理 索引文件:由主文件和索引表構(gòu)成??梢詫?shí)現(xiàn)快速訪問(wèn)。索引文件:由主文件和索引表構(gòu)成??梢詫?shí)現(xiàn)快速訪問(wèn)。(1) 按輸入記錄的先后次序建立數(shù)據(jù)區(qū)和索引表。按輸入記錄的先后次序建立數(shù)據(jù)區(qū)和索引表。 (2) 待全部記錄輸入完畢后對(duì)索引表進(jìn)行排序,排序后的待全部記錄輸入完畢后對(duì)索引表進(jìn)行排序,排序后的索引表和主文件一起就形成了索引文件。索引表和主文件一起就形成了索引文件。 索引順序文件:
37、順序文件和索引文件特點(diǎn)的結(jié)索引順序文件:順序文件和索引文件特點(diǎn)的結(jié)合。順序文件是按主關(guān)鍵字有序排列的,將順序文合。順序文件是按主關(guān)鍵字有序排列的,將順序文件的所有記錄分組,索引表中為每組的首記錄建立件的所有記錄分組,索引表中為每組的首記錄建立一索引項(xiàng),組與組之間按關(guān)鍵字大小有序排列,組一索引項(xiàng),組與組之間按關(guān)鍵字大小有序排列,組內(nèi)記錄順序查找。內(nèi)記錄順序查找。4.6 文件管理文件管理邏輯文件邏輯文件順序訪問(wèn)方式順序訪問(wèn)方式4.6 文件管理文件管理 順序訪問(wèn)方式主要適合于對(duì)順序文件的訪問(wèn)。其順序訪問(wèn)方式主要適合于對(duì)順序文件的訪問(wèn)。其訪問(wèn)的位置是由指針定位的。讀操作是讀取指針?biāo)冈L問(wèn)的位置是由指針
38、定位的。讀操作是讀取指針?biāo)甘疚恢玫膬?nèi)容,并自動(dòng)將指針向后移動(dòng),以指示下一示位置的內(nèi)容,并自動(dòng)將指針向后移動(dòng),以指示下一次讀的位置。而對(duì)寫(xiě)操作,所寫(xiě)的內(nèi)容總是添加到文次讀的位置。而對(duì)寫(xiě)操作,所寫(xiě)的內(nèi)容總是添加到文件的尾部。件的尾部。 順序訪問(wèn)方式是基于磁帶的模型,不僅適合順序順序訪問(wèn)方式是基于磁帶的模型,不僅適合順序存儲(chǔ)設(shè)備存儲(chǔ)設(shè)備(如磁盤(pán)如磁盤(pán)),對(duì)直接存儲(chǔ)設(shè)備,對(duì)直接存儲(chǔ)設(shè)備(如磁盤(pán)如磁盤(pán))也適合。也適合。 直接訪問(wèn)方式直接訪問(wèn)方式4.6 文件管理文件管理 直接訪問(wèn)也稱隨機(jī)訪問(wèn),它指的是允許跳躍式直接訪問(wèn)也稱隨機(jī)訪問(wèn),它指的是允許跳躍式地隨意存取文件中的任何記錄,而不需要任何順序地隨意存取
39、文件中的任何記錄,而不需要任何順序限制。直接訪問(wèn)是最為常見(jiàn)和高效的文件訪問(wèn)方式。限制。直接訪問(wèn)是最為常見(jiàn)和高效的文件訪問(wèn)方式。直接訪問(wèn)方式是基于磁盤(pán)的模型。直接訪問(wèn)方式是基于磁盤(pán)的模型。 3. 3.索引訪問(wèn)方式索引訪問(wèn)方式 在進(jìn)行文件訪問(wèn)時(shí),首先對(duì)索引文件按關(guān)鍵字在進(jìn)行文件訪問(wèn)時(shí),首先對(duì)索引文件按關(guān)鍵字進(jìn)行檢索,查找到指向數(shù)據(jù)記錄的指針,根據(jù)該指進(jìn)行檢索,查找到指向數(shù)據(jù)記錄的指針,根據(jù)該指針實(shí)現(xiàn)對(duì)具體數(shù)據(jù)記錄的訪問(wèn)。針實(shí)現(xiàn)對(duì)具體數(shù)據(jù)記錄的訪問(wèn)。4.6 文件管理文件管理 通常,一個(gè)磁盤(pán)至少應(yīng)包含一個(gè)分區(qū),每個(gè)分區(qū)通常,一個(gè)磁盤(pán)至少應(yīng)包含一個(gè)分區(qū),每個(gè)分區(qū)用來(lái)保存文件和目錄結(jié)構(gòu)用來(lái)保存文件和目錄結(jié)
40、構(gòu) 。 文件目錄的組成:每個(gè)文件有一個(gè)文件控制塊文件目錄的組成:每個(gè)文件有一個(gè)文件控制塊FCB,它是文件存在的標(biāo)志,存放了為管理文件所需,它是文件存在的標(biāo)志,存放了為管理文件所需的所有有關(guān)信息。把所有的文件控制塊組織在一起,的所有有關(guān)信息。把所有的文件控制塊組織在一起,就構(gòu)成了文件目錄,每個(gè)文件控制塊就是其中的一個(gè)就構(gòu)成了文件目錄,每個(gè)文件控制塊就是其中的一個(gè)目錄項(xiàng)。目錄項(xiàng)。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)、無(wú)環(huán)路目錄結(jié)構(gòu)和通用圖目錄結(jié)構(gòu)。通用圖目錄結(jié)構(gòu)。
41、 樹(shù)型目錄結(jié)構(gòu)是目前使用最為廣泛的一種目錄樹(shù)型目錄結(jié)構(gòu)是目前使用最為廣泛的一種目錄結(jié)構(gòu)。這種目錄結(jié)構(gòu)在邏輯上的構(gòu)成是一棵樹(shù),子結(jié)構(gòu)。這種目錄結(jié)構(gòu)在邏輯上的構(gòu)成是一棵樹(shù),子目錄是樹(shù)枝,而文件是樹(shù)葉。一個(gè)用戶所擁有的子目錄是樹(shù)枝,而文件是樹(shù)葉。一個(gè)用戶所擁有的子目錄位置不需要統(tǒng)一,在一個(gè)子目錄下可以再創(chuàng)建目錄位置不需要統(tǒng)一,在一個(gè)子目錄下可以再創(chuàng)建子目錄。子目錄。輸入輸出系統(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)
42、是:方便用戶使用外部設(shè)備,的主要目標(biāo)是:方便用戶使用外部設(shè)備,提高提高CPU和設(shè)備的利用率。和設(shè)備的利用率。 I/O設(shè)備與計(jì)算機(jī)通信的連接點(diǎn)被稱為端口。設(shè)備與計(jì)算機(jī)通信的連接點(diǎn)被稱為端口。 用于操作端口、總線和設(shè)備的一組電子器件,用于操作端口、總線和設(shè)備的一組電子器件,是設(shè)備與總線的連接裝置。是設(shè)備與總線的連接裝置。 1.端口(端口(port) 2.控制器控制器(controller) 中斷的概念中斷的概念:中斷是現(xiàn)代計(jì)算機(jī)中中斷是現(xiàn)代計(jì)算機(jī)中CPU處理外部突發(fā)事件處理外部突發(fā)事件的一個(gè)重要技術(shù)。它能使的一個(gè)重要技術(shù)。它能使CPU在運(yùn)行過(guò)程中對(duì)外部事件發(fā)出在運(yùn)行過(guò)程中對(duì)外部事件發(fā)出的中斷請(qǐng)求及
43、時(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ù)中斷源的不同,可以把中斷分為硬件中斷和軟件中斷兩大類,硬中斷是硬件實(shí)現(xiàn)的中斷,分為硬件中斷和軟件中斷兩大類,硬中斷是硬件實(shí)現(xiàn)的中斷,硬件中斷又可以分為外部中斷硬件中斷又可以分為外部中斷(如:鍵盤(pán)中斷、打印機(jī)中斷如:鍵盤(pán)中斷、打印機(jī)中斷)和內(nèi)部中斷和內(nèi)部中斷(如突然掉電、除數(shù)為零等如突然掉電、除數(shù)為零等 )兩類。軟中斷是軟件兩類。軟中斷是軟件實(shí)現(xiàn)的中斷,也就是程序運(yùn)行時(shí)其他程序?qū)λ闹袛?。?shí)現(xiàn)的中斷,也就是程序運(yùn)行時(shí)其他程序?qū)?/p>
44、它的中斷。 正在執(zhí)行的程序正在執(zhí)行的程序異常和隨機(jī)事件異常和隨機(jī)事件被中斷處被中斷處返回處返回處執(zhí)行中斷服務(wù)程序執(zhí)行中斷服務(wù)程序中斷請(qǐng)求中斷請(qǐng)求 1、IRQ(Interrupt Request)()(線線) IRQ即中斷請(qǐng)求線。計(jì)算機(jī)中有許多設(shè)備(例如聲卡、硬盤(pán)等)需要即中斷請(qǐng)求線。計(jì)算機(jī)中有許多設(shè)備(例如聲卡、硬盤(pán)等)需要定期中斷定期中斷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總線、總線、
45、USB總線上的設(shè)備可共享總線上的設(shè)備可共享)。一般微機(jī)共有。一般微機(jī)共有16條中斷請(qǐng)求線條中斷請(qǐng)求線與各種外設(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ù)寫(xiě)入或讀出存儲(chǔ)器,而基本不用通道直接將數(shù)據(jù)
46、寫(xiě)入或讀出存儲(chǔ)器,而基本不用CPU參與,參與,系統(tǒng)的速度會(huì)大大增加。系統(tǒng)的速度會(huì)大大增加。 3、I/O端口(端口(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è)地址。 輸入輸出系統(tǒng)管理輸入輸出系統(tǒng)管理 (1) 程序控制方式程序控制方式 早期計(jì)算機(jī)采用的方式。早期計(jì)算機(jī)采用的方式。CPU向設(shè)備控制
47、器發(fā)向設(shè)備控制器發(fā)出一條出一條I/O指令啟動(dòng)設(shè)備進(jìn)行一個(gè)字節(jié)的輸入或輸指令啟動(dòng)設(shè)備進(jìn)行一個(gè)字節(jié)的輸入或輸出,然后出,然后CPU就等待就等待I/O設(shè)備進(jìn)行數(shù)據(jù)傳送,直到設(shè)備進(jìn)行數(shù)據(jù)傳送,直到一個(gè)字節(jié)傳送完畢。接下來(lái),一個(gè)字節(jié)傳送完畢。接下來(lái),CPU按以上方式處理按以上方式處理下一個(gè)字節(jié)的輸入或輸出。下一個(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)行控制的方式有以
48、下幾種: 輸入輸出系統(tǒng)管理輸入輸出系統(tǒng)管理 (2) 中斷驅(qū)動(dòng)方式中斷驅(qū)動(dòng)方式 當(dāng)某進(jìn)程要啟動(dòng)某個(gè)當(dāng)某進(jìn)程要啟動(dòng)某個(gè)I/O設(shè)備工作時(shí),首先由設(shè)備工作時(shí),首先由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ù)傳送過(guò)程中,發(fā)生中斷次數(shù)較多點(diǎn)是在一次數(shù)據(jù)傳送過(guò)程中,發(fā)生
49、中斷次數(shù)較多(每每次只傳送一個(gè)字節(jié)次只傳送一個(gè)字節(jié)),這將耗去大量,這將耗去大量CPU處理時(shí)間。處理時(shí)間。 輸入輸出系統(tǒng)管理輸入輸出系統(tǒng)管理 (3) 直接存儲(chǔ)器訪問(wèn)方式直接存儲(chǔ)器訪問(wèn)方式 引入設(shè)備引入設(shè)備DMA控制器,在其控制下,以數(shù)據(jù)塊為控制器,在其控制下,以數(shù)據(jù)塊為單位,將數(shù)據(jù)從設(shè)備直接送入內(nèi)存或相反,當(dāng)一個(gè)或單位,將數(shù)據(jù)從設(shè)備直接送入內(nèi)存或相反,當(dāng)一個(gè)或多個(gè)數(shù)據(jù)塊傳送完畢時(shí)才需要多個(gè)數(shù)據(jù)塊傳送完畢時(shí)才需要CPU干預(yù)。該方式干預(yù)。該方式CPU的利用率高。的利用率高。 (4) 通道控制方式通道控制方式 通道控制方式是通道控制方式是DMA的發(fā)展,它把對(duì)每一塊數(shù)據(jù)的發(fā)展,它把對(duì)每一塊數(shù)據(jù)的讀寫(xiě)變
50、成對(duì)一組數(shù)據(jù)塊的讀寫(xiě),可以進(jìn)一步減少的讀寫(xiě)變成對(duì)一組數(shù)據(jù)塊的讀寫(xiě),可以進(jìn)一步減少CPU的干預(yù)。更大程度地提高了系統(tǒng)資源的利用率。的干預(yù)。更大程度地提高了系統(tǒng)資源的利用率。輸入輸出系統(tǒng)管理輸入輸出系統(tǒng)管理舉例舉例:(將數(shù)據(jù)由硬盤(pán)傳入內(nèi)存的將數(shù)據(jù)由硬盤(pán)傳入內(nèi)存的中斷驅(qū)動(dòng)方式中斷驅(qū)動(dòng)方式過(guò)程過(guò)程) 進(jìn)程向進(jìn)程向CPU傳送指令,要求傳送指令,要求CPU向硬盤(pán)發(fā)出輸入輸出命令。向硬盤(pán)發(fā)出輸入輸出命令。 CPU向硬盤(pán)控制器發(fā)出數(shù)據(jù)傳送命令后向硬盤(pán)控制器發(fā)出數(shù)據(jù)傳送命令后CPU返回繼續(xù)執(zhí)行原來(lái)的任務(wù)。返回繼續(xù)執(zhí)行原來(lái)的任務(wù)。 硬盤(pán)控制器從硬盤(pán)中取出數(shù)據(jù)放入硬盤(pán)數(shù)據(jù)寄存器中。硬盤(pán)控制器從硬盤(pán)中取出數(shù)據(jù)放入硬盤(pán)
51、數(shù)據(jù)寄存器中。 接著向接著向CPU發(fā)出中斷請(qǐng)求。發(fā)出中斷請(qǐng)求。 CPU執(zhí)行中斷服務(wù)程序執(zhí)行中斷服務(wù)程序(硬盤(pán)驅(qū)動(dòng)程序硬盤(pán)驅(qū)動(dòng)程序)向硬盤(pán)控制器發(fā)送取數(shù)據(jù)信號(hào)。向硬盤(pán)控制器發(fā)送取數(shù)據(jù)信號(hào)。 將數(shù)據(jù)寄存器的的數(shù)據(jù)送入內(nèi)存,完成一次數(shù)據(jù)傳輸。將數(shù)據(jù)寄存器的的數(shù)據(jù)送入內(nèi)存,完成一次數(shù)據(jù)傳輸。CPU硬盤(pán)硬盤(pán)內(nèi)存內(nèi)存硬盤(pán)控制器硬盤(pán)控制器數(shù)據(jù)寄存器數(shù)據(jù)寄存器現(xiàn)代操作系統(tǒng)中,現(xiàn)代操作系統(tǒng)中,I/O設(shè)備與設(shè)備與CPU(實(shí)際指內(nèi)存實(shí)際指內(nèi)存)交換數(shù)據(jù)時(shí),需要使用緩沖技術(shù)。也就是為交換數(shù)據(jù)時(shí),需要使用緩沖技術(shù)。也就是為I/O設(shè)設(shè)備設(shè)置緩沖區(qū)暫存數(shù)據(jù),等到數(shù)據(jù)積累到一定程度備設(shè)置緩沖區(qū)暫存數(shù)據(jù),等到數(shù)據(jù)積累到一定程度時(shí),再做批量處理。時(shí),再做批量處理。 引入緩沖:引入緩沖: (1) 緩和
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版(2024)七年級(jí)英語(yǔ)下冊(cè)Unit 4 單元測(cè)試卷(含答案)
- 交通標(biāo)線工程施工方案
- 防腐木六角亭施工方案
- 咸寧外墻氟碳漆施工方案
- 2025年蒙臺(tái)梭利數(shù)學(xué)教育 標(biāo)準(zhǔn)課件
- 浙江省余姚市蘭江中學(xué)2025屆中考五模生物試題含解析
- 企業(yè)注資合同范例
- 企業(yè)文化在年度計(jì)劃中的引導(dǎo)作用
- 網(wǎng)絡(luò)安全行業(yè)個(gè)人提升計(jì)劃
- 制定水體保護(hù)安全措施計(jì)劃
- 2025年開(kāi)封文化藝術(shù)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)含答案
- 2025年遼寧冶金職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)有完整答案
- 2025年安徽揚(yáng)子職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)(各地真題)
- 2025年共青科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)完整版
- 煙草職業(yè)鑒定三級(jí)技能考點(diǎn)
- 2025年上半年潛江市城市建設(shè)發(fā)展集團(tuán)招聘工作人員【52人】易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 統(tǒng)編版語(yǔ)文二年級(jí)下冊(cè)15古詩(shī)二首 《曉出凈慈寺送林子方》公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 旅游電子商務(wù)(第2版) 課件全套 周春林 項(xiàng)目1-8 電子商務(wù)概述-旅游電子商務(wù)數(shù)據(jù)挖掘
- 創(chuàng)新創(chuàng)業(yè)項(xiàng)目計(jì)劃書(shū)撰寫(xiě)
- 2024年上海市楊浦區(qū)復(fù)旦大學(xué)附中自主招生數(shù)學(xué)試卷
- 2025年安徽警官職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)帶答案
評(píng)論
0/150
提交評(píng)論