版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
—
操作系統(tǒng)
(OperatingSystem)
硬件到底是怎么動起來的?預(yù)引導(dǎo)引導(dǎo)加載內(nèi)核初始化內(nèi)核登錄計(jì)算機(jī)硬件是如何動起來的?計(jì)算機(jī)需要一個(gè)管家來指揮各個(gè)部件工作第四章計(jì)算機(jī)操作系統(tǒng)
為了使計(jì)算機(jī)系統(tǒng)所有的資源(包括中央處理器、存儲器、各種外部設(shè)備和各種軟件)協(xié)調(diào)一致地工作,就必須有一個(gè)軟件來進(jìn)行統(tǒng)一管理和統(tǒng)一調(diào)度,這種軟件稱為操作系統(tǒng)。
計(jì)算機(jī)發(fā)展到今天,從微機(jī)到小型、中型、大型機(jī)仍至巨型機(jī),無一例外地都配置了一種或多種操作系統(tǒng),操作系統(tǒng)已成為現(xiàn)代計(jì)算機(jī)系統(tǒng)不可分割的重要組成部分。
本章主要講述操作系統(tǒng)概念及構(gòu)成;重點(diǎn)講述操作系統(tǒng)中的幾個(gè)基本功能及相關(guān)概念。4.1操作系統(tǒng)概念及構(gòu)成4.1.1操作系統(tǒng)的概念
操作系統(tǒng):是管理計(jì)算機(jī)軟硬件資源的程序,同時(shí)它又是用戶與計(jì)算機(jī)硬件的接口。系統(tǒng)程序和應(yīng)用程序操作系統(tǒng)硬件層用戶沒有操作系統(tǒng),應(yīng)用軟件如同空中樓閣,無法運(yùn)行。4.1.2操作系統(tǒng)的構(gòu)成4.1操作系統(tǒng)概念及構(gòu)成操作系統(tǒng)①進(jìn)程管理②內(nèi)存管理③文件管理④輸入/輸出系統(tǒng)管理⑤二級存儲管理用戶接口⑥
聯(lián)網(wǎng)、保護(hù)系統(tǒng)和命令解釋程序系統(tǒng)就是對CPU的管理。就是如何合理分配和使用內(nèi)存。就是對文件及文件夾進(jìn)行管理。就是對外部各種輸入輸出設(shè)備進(jìn)行管理。主要是指對硬盤進(jìn)行管理。就是提供對網(wǎng)絡(luò)管理、對進(jìn)程工作過程的保護(hù)及提供用戶與操作系統(tǒng)的接口程序。動畫4.2.1操作系統(tǒng)的類別4.2操作系統(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)過多年的發(fā)展,先后出現(xiàn)了各種類型的操作系統(tǒng)。從早期的批處理操作系統(tǒng)、多道程序發(fā)展到分時(shí)操作系統(tǒng);另外,還有為滿足計(jì)算機(jī)處理實(shí)時(shí)事件的需要研發(fā)的實(shí)時(shí)操作系統(tǒng);為適應(yīng)個(gè)人計(jì)算機(jī)系統(tǒng)的需要出現(xiàn)的桌面操作系統(tǒng);為適應(yīng)并行系統(tǒng)的需要開發(fā)多處理機(jī)操作系統(tǒng);為滿足網(wǎng)絡(luò)和分布計(jì)算的需要,就有了網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng);此外,還有為支持嵌入式計(jì)算機(jī)的嵌入式操作系統(tǒng)。動畫4.2.2計(jì)算環(huán)境
操作系統(tǒng)總是在某種計(jì)算環(huán)境中設(shè)置和使用,就目前來看計(jì)算環(huán)境可分為以下幾類:4.2操作系統(tǒng)類別與計(jì)算環(huán)境1.傳統(tǒng)計(jì)算環(huán)境指普通意義下的獨(dú)立或聯(lián)網(wǎng)工作下所形成的計(jì)算環(huán)境。2.基于Web的計(jì)算環(huán)境互聯(lián)網(wǎng)的普及使得計(jì)算被延伸到Web環(huán)境。3.嵌入式計(jì)算環(huán)境嵌入式計(jì)算機(jī)就是安裝在某些設(shè)備上的計(jì)算部件,其計(jì)算相對比較簡單。4.3.1進(jìn)程的概念4.3進(jìn)程管理
什么是進(jìn)程?它與程序有什么區(qū)別?
程序:用戶為完成某一個(gè)特定問題而編寫的操作步驟。進(jìn)程:可簡單地看作是正在執(zhí)行的程序。但是進(jìn)程需要一定的資源來完成它的任務(wù)(例如CPU時(shí)間、內(nèi)存、文件和I/O設(shè)備)。
4.3進(jìn)程管理
在計(jì)算機(jī)中,由于多個(gè)程序共享系統(tǒng)資源,就必然引發(fā)對CPU的爭奪。如何有效地利用CPU資源,如何在多個(gè)請求CPU的進(jìn)程中選擇取舍,這就是進(jìn)程管理要解決的問題。動畫
進(jìn)程與程序的區(qū)別在于進(jìn)程是動態(tài)的、有生命力的,而程序是靜態(tài)的。一個(gè)程序加載到內(nèi)存,系統(tǒng)就創(chuàng)建一個(gè)進(jìn)程,程序執(zhí)行結(jié)束后,該進(jìn)程也就消亡了。4.3.2進(jìn)程的狀態(tài)轉(zhuǎn)移新的就緒運(yùn)行終止等待允許中斷退出允許進(jìn)程狀態(tài)及轉(zhuǎn)換圖4.3進(jìn)程管理如CPU時(shí)間片被用完,迫使進(jìn)程讓出CPU進(jìn)程等待分配CPU進(jìn)程已分配到CPU,正在被執(zhí)行。進(jìn)程正在被創(chuàng)建進(jìn)程已完成進(jìn)程等待一些事件的出現(xiàn)
如進(jìn)程可能要使用某個(gè)I/O設(shè)備而進(jìn)入等待狀態(tài),等待使用相應(yīng)的設(shè)備,當(dāng)I/O完成后進(jìn)程進(jìn)入就緒隊(duì)列。4.3.3進(jìn)程控制塊PCB(略)4.3進(jìn)程管理
為了控制進(jìn)程,操作系統(tǒng)就必須知道進(jìn)程存儲在哪里,以及進(jìn)程的一些屬性。進(jìn)程控制塊是進(jìn)程實(shí)體的一部分,是操作系統(tǒng)中記錄進(jìn)程的專用數(shù)據(jù)結(jié)構(gòu)。一個(gè)新的進(jìn)程創(chuàng)建時(shí),操作系統(tǒng)就會為該進(jìn)程建立一個(gè)進(jìn)程控制塊。操作系統(tǒng)根據(jù)進(jìn)程控制塊對并發(fā)進(jìn)程進(jìn)行控制。4.3.4進(jìn)程調(diào)度及隊(duì)列圖4.3進(jìn)程管理
在某一時(shí)刻,計(jì)算機(jī)的CPU(單核)只能運(yùn)行一個(gè)進(jìn)程,如果存在多個(gè)進(jìn)程,其它進(jìn)程就需要等CPU空閑時(shí)才能被調(diào)度執(zhí)行。
當(dāng)一個(gè)進(jìn)程處于等待或CPU時(shí)間片用完時(shí),操作系統(tǒng)就會從該進(jìn)程中拿走CPU控制權(quán),然后再交給其它進(jìn)程使用,這就是進(jìn)程的調(diào)度。
進(jìn)程B進(jìn)程A進(jìn)程CCPU時(shí)間進(jìn)程C進(jìn)程B進(jìn)程A4.3.5CPU調(diào)度及其準(zhǔn)則4.3進(jìn)程管理
在設(shè)計(jì)CPU調(diào)度程序時(shí)主要應(yīng)該考慮的準(zhǔn)則包括:
(1)CPU使用率。讓CPU盡可能地忙。
(2)吞吐量。讓CPU在一定時(shí)間內(nèi)完成的進(jìn)程數(shù)盡可能多。
(3)周轉(zhuǎn)時(shí)間。讓進(jìn)程從提交到運(yùn)行完成的時(shí)間盡可能短。
(4)等待時(shí)間。讓進(jìn)程在就緒隊(duì)列中等待所花時(shí)間之和盡可能短。
(5)響應(yīng)時(shí)間。讓進(jìn)程從提交請求到產(chǎn)生第一響應(yīng)之間的時(shí)間盡可能短。4.3.7進(jìn)程的同步與互斥4.3進(jìn)程管理
進(jìn)程的同步就是指相互協(xié)作的進(jìn)程不斷調(diào)整它們之間的相對速度,以實(shí)現(xiàn)共同有序地推進(jìn)。換句話說,在操作系統(tǒng)中,允許多個(gè)進(jìn)程并發(fā)運(yùn)行。然而,有些進(jìn)程之間本身存在某種聯(lián)系,它們在系統(tǒng)中需要一種協(xié)作,以保證進(jìn)程能正確有序地執(zhí)行并維護(hù)數(shù)據(jù)的一致性。動畫4.3進(jìn)程管理把數(shù)據(jù)從鍵盤送入緩沖區(qū)給B發(fā)信號(緩沖區(qū)已滿)等待B發(fā)回信號(再送數(shù)據(jù)到緩沖區(qū))A進(jìn)程B進(jìn)程等待A信號(等待取數(shù)據(jù)并計(jì)算)取緩沖區(qū)中的數(shù)據(jù)進(jìn)行計(jì)算給A發(fā)信號(緩沖區(qū)數(shù)據(jù)已取走)
例:A、B兩進(jìn)程同步工作如下圖(A進(jìn)程負(fù)責(zé)從鍵盤讀數(shù)據(jù)到緩沖區(qū),B進(jìn)程從緩沖區(qū)取數(shù)據(jù)并計(jì)算。動畫4.3進(jìn)程管理
在操作系統(tǒng)中,可能存在著多個(gè)進(jìn)程。而系統(tǒng)中一些資源一次只允許一個(gè)進(jìn)程使用,這類資源被稱為臨界資源。在進(jìn)程中訪問臨界資源的那段程序稱為臨界區(qū)。當(dāng)一個(gè)進(jìn)程進(jìn)入臨界區(qū)執(zhí)行時(shí),其它進(jìn)程就不允許進(jìn)入臨界區(qū)執(zhí)行,否則就會導(dǎo)致錯誤結(jié)果。例如:多個(gè)進(jìn)程在競爭使用打印機(jī)時(shí)表現(xiàn)為互斥。一個(gè)文件可供多個(gè)進(jìn)程共享,其中有一個(gè)進(jìn)程在寫操作時(shí),其它進(jìn)程則不允許同時(shí)寫或讀,表現(xiàn)為互斥。由此得出:
多個(gè)進(jìn)程并發(fā)執(zhí)行時(shí),只允許一個(gè)進(jìn)程進(jìn)入臨界區(qū)運(yùn)行,這就是進(jìn)程的互斥。
動畫在多道程序設(shè)計(jì)中,多個(gè)進(jìn)程可能競爭一定數(shù)量的資源。一個(gè)進(jìn)程在申請資源時(shí),如果所申請資源不足,該進(jìn)程就必須處于等待狀態(tài)。如果所申請的資源被其它進(jìn)程占有,那么進(jìn)程的等待狀態(tài)就可能無法改變,從而形成進(jìn)程之間相互一直等待的局面,這就是死鎖。4.3.8進(jìn)程的死鎖及處理方法4.3進(jìn)程管理競爭資源引起死鎖
死鎖舉例:
四方街區(qū)的車輛阻塞。每個(gè)方向都希望其它方讓出通道,但誰也不能夠讓出。
引起死鎖的四個(gè)必要條件:
(1)
互斥:某一資源任一時(shí)刻只能有一個(gè)進(jìn)程獨(dú)占,若另一進(jìn)程申請?jiān)撡Y源則需延遲到該資源釋放為止。
(2)占有并等待:即該進(jìn)程占有部分資源后還在等待其它資源,而該資源被其它進(jìn)程占有。
(3)非搶占:某進(jìn)程已占用資源且不主動放棄它所占有的資源時(shí),其它進(jìn)程不能強(qiáng)占該資源,只有等其完成任務(wù)并釋放資源。
(4)循環(huán)等待:在出現(xiàn)死鎖的系統(tǒng)中,一定存在這樣一個(gè)進(jìn)程鏈,其中每個(gè)進(jìn)程至少占有其它進(jìn)程所必需的資源,從而形成一個(gè)等待鏈。4.3進(jìn)程管理4.3進(jìn)程管理進(jìn)程A進(jìn)程B打印機(jī)CD-ROM
死鎖舉例:進(jìn)程A:獲得CD-ROM使用權(quán),申請打印機(jī)進(jìn)程B:獲得打印機(jī)使用權(quán),申請CD-ROM死鎖:此時(shí)進(jìn)程A、B均被阻塞,無法運(yùn)行動畫處理死鎖問題的三種方式:
(1)使用協(xié)議預(yù)防和避免死鎖,確保系統(tǒng)從不進(jìn)入死鎖狀態(tài)。
(2)允許系統(tǒng)進(jìn)入死鎖狀態(tài),然后檢測出死鎖,并加以恢復(fù)。
(3)可忽略進(jìn)程死鎖問題,并假裝系統(tǒng)中死鎖從來不會發(fā)生。即沒有必要把精力花在小概率事件上。4.3進(jìn)程管理處理死鎖優(yōu)先考慮的順序:先預(yù)防和避免
再檢測和恢復(fù)4.4內(nèi)存管理
內(nèi)存是現(xiàn)代操作系統(tǒng)的核心,是可被CPU和I/O設(shè)備所共同訪問的數(shù)據(jù)倉庫。計(jì)算機(jī)的所有程序運(yùn)行時(shí)都要調(diào)入內(nèi)存。
內(nèi)存管理的主要工作是:為每個(gè)用戶進(jìn)程合理地分配內(nèi)存,以保證各個(gè)進(jìn)程之間在存儲區(qū)不發(fā)生沖突;當(dāng)內(nèi)存不足時(shí),如何把內(nèi)存和外存結(jié)合起來,給用戶提供一個(gè)比實(shí)際內(nèi)存大得多的虛擬內(nèi)存,使得程序能順利執(zhí)行。4.4.1用戶程序執(zhí)行與地址映射(了解)4.4內(nèi)存管理
用戶編寫程序在執(zhí)行前,需要多個(gè)處理步驟,然后在內(nèi)存中等待執(zhí)行。當(dāng)然有時(shí)并非每個(gè)步驟都是必需的。源程序編譯器或匯編器目標(biāo)模塊鏈接編輯器加載模塊加載器內(nèi)存中二進(jìn)制內(nèi)存映像其它目標(biāo)模塊動態(tài)裝入的系統(tǒng)庫系統(tǒng)庫動態(tài)鏈接編譯階段加載階段執(zhí)行階段圖4.4用戶程序多步驟處理說明:編譯器和匯編器用于將高級語言源程序翻譯成二進(jìn)制代碼的機(jī)器語言程序。鏈接器將編譯后不同的程序、函數(shù)庫文件等連接生成EXE文件。當(dāng)運(yùn)行EXE文件時(shí),操作系統(tǒng)的加載器讀取EXE文件并將它們加載到內(nèi)存中。預(yù)先編譯好的在調(diào)入內(nèi)存前加載的庫文件就是靜態(tài)鏈接庫文件。運(yùn)行時(shí)動態(tài)裝入的庫文件叫動態(tài)鏈接庫文件。OBJ文件EXE文件4.4內(nèi)存管理1.編譯階段:如果在編譯時(shí)就知道進(jìn)程將在內(nèi)存中的什么位置駐留,那么編譯器就可以直接以生成絕對地址代碼。
2.加載階段:不知道進(jìn)程將駐留在什么位置,那么編譯器就必須生成程序的邏輯地址,在加載階段再轉(zhuǎn)變成內(nèi)存的絕對地址。
3.執(zhí)行階段:如果進(jìn)程在執(zhí)行時(shí)可以從一個(gè)內(nèi)存段移動到另一個(gè)內(nèi)存段,那么進(jìn)程的絕對地址映射工作只能延遲到執(zhí)行時(shí)進(jìn)行。
通常,將指令和數(shù)據(jù)的地址映射成內(nèi)存地址可以發(fā)生在以下三個(gè)執(zhí)行階段。(了解)4.4.2物理地址空間與邏輯地址空間4.4內(nèi)存管理
幾個(gè)相關(guān)概念物理地址:是計(jì)算機(jī)內(nèi)存單元的真實(shí)地址。物理地址空間:由物理地址所構(gòu)成的地址范圍。邏輯地址:經(jīng)編譯后的用戶程序地址,從0開始編址。邏輯地址空間:由邏輯地址所構(gòu)成的地址范圍。地址映射:用戶程序在運(yùn)行時(shí)要裝入內(nèi)存,這就需要將邏輯地址變換成物理地址,該過程稱為地址映射,也稱重定位。用戶編寫的源程序是不考慮地址的,源程序經(jīng)編譯后產(chǎn)生邏輯地址。將邏輯地址轉(zhuǎn)換為內(nèi)存中的物理地址是由計(jì)算機(jī)中被稱為內(nèi)存管理單元的硬件設(shè)備來實(shí)現(xiàn)的,將邏輯地址與內(nèi)存管理單元中存放的內(nèi)存基址相加就得到物理地址。物理地址Base+X邏輯地址XCPU重定位寄存器Base+內(nèi)存內(nèi)存管理單元4.4內(nèi)存管理LOAD1,50012345LOAD1,500123450100500700程序A的邏輯地址空間程序A的物理在址空間..................5000510055005700動畫4.4.3進(jìn)程使用內(nèi)存的交換技術(shù)
為更加有效地使用內(nèi)存,進(jìn)程在不運(yùn)行時(shí),可以暫時(shí)從內(nèi)存移至外存,需要再運(yùn)行時(shí)再重新調(diào)回到內(nèi)存中。也就是說內(nèi)存管理程序可將剛剛運(yùn)行過的進(jìn)程從內(nèi)存中換出以釋放占用的內(nèi)存空間,然后將另一個(gè)要運(yùn)行的進(jìn)程占據(jù)前者釋放的內(nèi)存空間。4.4內(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)程D注:這種交換技術(shù)多用于分時(shí)系統(tǒng)4.4.4內(nèi)存分配方案-連續(xù)4.4內(nèi)存管理進(jìn)程A操作系統(tǒng)未用內(nèi)存區(qū)進(jìn)程C未用內(nèi)存區(qū)在內(nèi)存分配中,常常把內(nèi)存中還沒有被分配的可用空間稱為孔(hole)。
開始時(shí)所有內(nèi)存是一個(gè)大的孔,隨著內(nèi)存分配的進(jìn)行就會形成許多不連續(xù)的大小不同的孔。在連續(xù)內(nèi)存分配方案中,當(dāng)新進(jìn)程需要內(nèi)存時(shí),就為其尋找合適的孔,實(shí)現(xiàn)內(nèi)存分配。該方案需要為每個(gè)進(jìn)程分配連續(xù)的內(nèi)存物理空間。4.4.5內(nèi)存分配方案-分頁式4.4內(nèi)存管理
分頁管理基本思想:內(nèi)存物理地址空間劃分為若干個(gè)大小相等的塊(頁框)
進(jìn)程的邏輯地址空間也劃分為同樣大小的塊(頁面)
內(nèi)存分配時(shí)每個(gè)頁面對應(yīng)地分配一個(gè)頁框,而一個(gè)進(jìn)程所分得頁框在位置上不必是連續(xù)的。頁表:操作系統(tǒng)為每個(gè)用戶程序建立一張頁表,該表記錄用戶程序的每個(gè)邏輯頁面存放在哪一個(gè)內(nèi)存物理頁框。7頁6頁5頁4頁3頁2頁1頁0頁用戶程序1191076425塊號76543210頁號頁表……11109876543210內(nèi)存頁面頁框pdfCPUpdfdff0000…0000f1111…1111邏輯地址物理地址頁表物理內(nèi)存分頁式內(nèi)存管理從邏輯地址到物理地址的映射
:(了解)頁號p頁內(nèi)地址d(偏移量)注:邏輯地址的表示:4.4內(nèi)存管理4.5.1基本思想4.5虛擬內(nèi)存方案虛擬內(nèi)存是一個(gè)容量很大的存儲器的邏輯模型,它不是任何實(shí)際的物理存儲器。虛擬內(nèi)存包括物理內(nèi)存和一部分外存(這里所指的外存一般是指硬盤)。4.5虛擬內(nèi)存方案
虛擬內(nèi)存:對于一個(gè)進(jìn)程來講,如果僅將當(dāng)前要運(yùn)行的幾個(gè)頁面裝入內(nèi)存便可以開始運(yùn)行,而其余頁面可暫時(shí)留在磁盤上,需要時(shí)再調(diào)入內(nèi)存,并且調(diào)入時(shí)也不占用新的內(nèi)存空間,而是對原來運(yùn)行過的頁面進(jìn)行置換。這樣,就可以在計(jì)算機(jī)有限的內(nèi)存中同時(shí)駐留多個(gè)進(jìn)程。而對用戶來講感覺到系統(tǒng)提供了足夠大的物理內(nèi)存,而實(shí)際上并非真實(shí)的,這就是虛擬內(nèi)存。
4.5.2頁面請求與頁面置換算法4.5虛擬內(nèi)存方案
在虛擬內(nèi)存技術(shù)中,進(jìn)程運(yùn)行時(shí)并沒有將所有頁面裝入到內(nèi)存,在運(yùn)行過程中進(jìn)程會不斷地請求頁面,如果訪問的頁面已在內(nèi)存,就繼續(xù)執(zhí)行下去;但如果要訪問的頁面尚未調(diào)入內(nèi)存,便請求操作系統(tǒng)將所缺頁面調(diào)入內(nèi)存,以便進(jìn)程能繼續(xù)運(yùn)行,這個(gè)過程叫頁面請求。
如果請求頁面調(diào)入內(nèi)存時(shí),分配給該進(jìn)程的頁框已用完,就無法立即裝入所請求頁面。此時(shí),必須將進(jìn)程中的某個(gè)頁面從內(nèi)存的頁框調(diào)出到磁盤上,再從磁盤上將所請求的頁面調(diào)入到內(nèi)存該頁框中,這個(gè)過程叫頁面置換。
動畫4.6.1文件的概念4.6文件管理文件:保存在外存上的相關(guān)信息的集合。文件命名:文件主名+擴(kuò)展名
文件的擴(kuò)展名一般用來標(biāo)明文件的類型。例如:
.EXE
可執(zhí)行文件.SYS
系統(tǒng)文件.TXT
文本文件
.BAS
Basic源程序.DOC
Word文檔.BAK
備份文件
在Windows系統(tǒng)中,我們還可以通過圖標(biāo)的不同來區(qū)分文件的類型,但是顯示文檔圖標(biāo)的依據(jù)仍然是文件的擴(kuò)展名,所以修改文件的擴(kuò)展名,會使系統(tǒng)無法識別文件的類型。常見的幾種文件圖標(biāo)4.6文件管理只讀:只允許授權(quán)用戶進(jìn)行讀操作。讀寫:只允許授權(quán)用戶進(jìn)行讀和寫的操作。文檔:允許任何用戶進(jìn)行讀寫操作。隱藏:不允許用戶直接看到文件名。
一個(gè)文件可以有不同的存取屬性,例如:什么是文件系統(tǒng)?是操作系統(tǒng)對文件進(jìn)行操作和管理的軟件,是用戶與外存之間的接口。該系統(tǒng)將所有文件組織成目錄結(jié)構(gòu)保存在外存,一個(gè)文件對應(yīng)其中的一個(gè)目錄條,目錄條記錄了文件名、文件位置、文件大小、創(chuàng)建時(shí)間等信息。
4.6文件管理操作系統(tǒng)對文件的基本操作包括:創(chuàng)建文件、文件寫、文件讀、文件內(nèi)重定位、文件刪除、文件截短等操作。(1)創(chuàng)建文件:就是首先要在文件系統(tǒng)中尋找可用的空間并進(jìn)行分配,然后再在目錄中為新文件建立一個(gè)目錄條。
(2)文件寫:根據(jù)指定的文件名在目錄中搜索到目錄條,以確定文件所在具體位置;完成寫操作。
(3)文件讀:根據(jù)指定的文件名在目錄中搜索到目錄條,完成讀操作。
4.6文件管理(4)文件內(nèi)重定位:根據(jù)相應(yīng)搜索條件設(shè)置當(dāng)前文件讀/寫位置(即不必每次都從文件開始端讀寫)。
(5)文件刪除:根據(jù)指定的文件名在目錄中搜索到目錄條,以確定文件所在具體位置;釋放文件所占用的空間;在目錄中刪除相應(yīng)目錄條。
(6)文件截短:刪除文件的內(nèi)容而保留其屬性,只是將文件的長度設(shè)置為0并釋放所占的空間。以上6個(gè)基本操作組成了文件操作的最小集合。對文件的其它操作還包括文件復(fù)制、文件重命名、為文件追加信息、更改文件屬性等。4.6.2文件的物理結(jié)構(gòu)和邏輯結(jié)構(gòu)文件的邏輯結(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)),它與具體的存儲設(shè)備有關(guān)。文件邏輯結(jié)構(gòu)是指用戶能直接感受到的文件組織結(jié)構(gòu),它與具體的存儲設(shè)備無關(guān)。(1)
無結(jié)構(gòu)文件main(){inta,b,sum;scanf("%d%d",&a,&b);sum=a+b;printf("sum=%d",sum);}4.6文件管理(2)
有結(jié)構(gòu)文件學(xué)號姓名性別電話郵箱地址0001張為華男0002趙國迎男0003韓瑩瑩女
可以看成是由無結(jié)構(gòu)的字符序列組成的文件。如文檔、源程序等。
是帶有結(jié)構(gòu)的、性質(zhì)相同的記錄的集合。①順序文件:文件所包含的一系列記錄按照某種順序依次連續(xù)存儲。順序文件是按記錄進(jìn)入文件的先后順序存放、其邏輯順序和物理順序一致的文件。4.6文件管理
根據(jù)用戶和系統(tǒng)管理的需要,有結(jié)構(gòu)文件可有以下幾種:3210邏輯順序42ABC塊數(shù)起始
文件名例10123456710111213141516171819
物理存儲8970ABC結(jié)束起始
文件名3210邏輯順序例2094812161592131727610141837-1111519物理存儲4.6文件管理②索引文件:由主文件和索引表構(gòu)成。在文件目錄中指定索引表的位置,就可以實(shí)現(xiàn)快速訪問。
·按輸入記錄的先后次序建立數(shù)據(jù)區(qū)和索引表。
·全部記錄輸入完畢后對索引表進(jìn)行排序,排序后的索引表和主文件一起就形成了索引文件。③索引順序文件:順序文件和索引文件的結(jié)合。4.6文件管理15ABC索引表地址
文件名索引舉例0123456710111213141516171819
物理存儲8915581760123關(guān)鍵字物理地址(略)4.6.3文件的訪問方式1.順序訪問方式4.6文件管理
主要適合于對順序文件的訪問。其訪問的位置是由指針定位的。讀操作時(shí),讀取指針?biāo)甘疚恢玫膬?nèi)容,并自動將指針向后移動指示下一次讀的位置。而寫操作時(shí),所寫的內(nèi)容總是添加到文件的尾部。所有存儲在順序存儲設(shè)備(如磁帶)上的文件,都只能是順序文件,所以順序訪問方式是基于磁帶的模型。該訪問方式對直接存儲設(shè)備(如磁盤)也適合。
文件的訪問方式是由文件性質(zhì)和存儲介質(zhì)決定的。2.直接訪問方式4.6文件管理
直接訪問也稱隨機(jī)訪問,它指的是允許跳躍式地隨意存取文件中的任何記錄,而不需要任何順序限制。直接訪問是最為常見和高效的文件訪問方式。磁盤是隨機(jī)存儲設(shè)備,所以直接訪問方式是基于磁盤的模型。
3.索引訪問方式
在進(jìn)行文件訪問時(shí),首先對索引文件按關(guān)鍵字進(jìn)行檢索,查找到指向數(shù)據(jù)記錄的指針,根據(jù)該指針實(shí)現(xiàn)對具體數(shù)據(jù)記錄的訪問。
4.6文件管理
總之,文件的存取方式是與文件性質(zhì)、文件存儲介質(zhì)相關(guān)聯(lián)的。存儲介質(zhì)磁帶磁盤文件的邏輯結(jié)構(gòu)順序文件順序文件索引文件文件的物理結(jié)構(gòu)順序結(jié)構(gòu)(連續(xù)文件)順序結(jié)構(gòu)(連續(xù)文件散列文件)鏈接結(jié)構(gòu)(連接文件)索引結(jié)構(gòu)(索引文件)文件訪問方式順序順序/隨機(jī)順序順序/隨機(jī)/索引4.6.4文件的目錄結(jié)構(gòu)4.6文件管理
通常,一個(gè)磁盤至少應(yīng)包含一個(gè)分區(qū),每個(gè)分區(qū)用來保存文件和目錄結(jié)構(gòu)。
文件目錄的組成:每個(gè)文件有一個(gè)文件控制塊FCB,它是文件存在的標(biāo)志,存放了為管理文件所需的所有有關(guān)信息。把所有的文件控制塊組織在一起,就構(gòu)成了文件目錄,每個(gè)文件控制塊就是其中的一個(gè)目錄項(xiàng)。4.6文件管理
文件的目錄系統(tǒng)可以組織成單層目錄結(jié)構(gòu)、雙層目錄結(jié)構(gòu)、樹型目錄結(jié)構(gòu)、無環(huán)路目錄結(jié)構(gòu)和通用圖目錄結(jié)構(gòu)。單層目錄結(jié)構(gòu)雙層目錄結(jié)構(gòu)4.6文件管理
樹型目錄結(jié)構(gòu)是目前使用最為廣泛的一種目錄結(jié)構(gòu)。這種目錄結(jié)構(gòu)在邏輯上的構(gòu)成是一棵樹,子目錄是樹枝,而文件是樹葉。動畫4.7.1I/O設(shè)備和主要術(shù)語4.7輸入/輸出系統(tǒng)管理
每臺計(jì)算機(jī)都配備了許多外部設(shè)備,它們的性能和操作方式都不一樣。操作系統(tǒng)對設(shè)備(即輸入/輸出系統(tǒng))管理的主要目標(biāo)是方便用戶使用外部設(shè)備,提高CPU和設(shè)備的利用率。
I/O設(shè)備與計(jì)算機(jī)通信的連接點(diǎn)被稱為端口。
用于操作端口、總線和設(shè)備的一組電子器件,是設(shè)備與總線的連接裝置。
1.I/O設(shè)備端口2.I/O設(shè)備控制器
中斷的概念:中斷是現(xiàn)代計(jì)算機(jī)中CPU處理外部突發(fā)事件的一個(gè)重要技術(shù)。它能使CPU在運(yùn)行過程中對外部事件發(fā)出的中斷請求及時(shí)地進(jìn)行處理,處理完成后又立即返回?cái)帱c(diǎn),繼續(xù)進(jìn)行CPU原來的工作。根據(jù)中斷源的不同,可以把中斷分為:中斷硬中斷軟中斷外部中斷內(nèi)部中斷如:鍵盤中斷、打印機(jī)中斷等如突然掉電、除數(shù)為零等程序運(yùn)行時(shí)其它程序?qū)λ闹袛鄤赢?.IRQ(InterruptRequest)(線)
IRQ即中斷請求線。計(jì)算機(jī)中有許多設(shè)備(例如聲卡、硬盤等)需要定期中斷CPU,讓CPU為其做一些特定的工作。這些設(shè)備在中斷請求線上把請求中斷的信號發(fā)給CPU。所以每個(gè)設(shè)備只能使用自己獨(dú)立的中斷請求線(PCI總線、USB總線上的設(shè)備可共享)。一般微機(jī)共有16條中斷請求線與各種外設(shè)相連接,(每個(gè)中斷線有一個(gè)標(biāo)號也就是中斷號)。
2.DMA(DirectMemoryAccess)(芯片)計(jì)算機(jī)與外設(shè)之間的聯(lián)系一般通過兩種方法:一是通過CPU控制來進(jìn)行數(shù)據(jù)的傳送;二是在芯片控制下進(jìn)行數(shù)據(jù)的傳送。在DMA方式下,外設(shè)利用DMA芯片直接將數(shù)據(jù)寫入或讀出存儲器,而基本不用CPU參與,系統(tǒng)的速度會大大增加。
3.I/O端口地址(Input/Output)(地址)每個(gè)端口都有自己唯一的一個(gè)端口號,這個(gè)端口號稱為地址。每一個(gè)和CPU通信的外設(shè)都有不同的I/O地址,通常在PC機(jī)內(nèi)部一共有1024個(gè)地址。
4.7.2輸入/輸出控制方式4.7輸入/輸出系統(tǒng)管理(1)程序控制方式早期采用的方式。CPU向設(shè)備控制器發(fā)出一條I/O指令啟動設(shè)備進(jìn)行一個(gè)字節(jié)的輸入或輸出,然后CPU就等待I/O設(shè)備進(jìn)行數(shù)據(jù)傳送,直到一個(gè)字節(jié)傳送完畢后CPU再繼續(xù)處理下一個(gè)字節(jié)的輸入或輸出。
CPU絕大部分時(shí)間都用于循環(huán)等待及測試I/O是否完成,造成CPU資源的極大浪費(fèi)。CPU和外圍設(shè)備只能串行工作。CPU通過端口對外設(shè)進(jìn)行控制的方式有以下幾種:4.7.2輸入/輸出控制方式4.7輸入/輸出系統(tǒng)管理(2)中斷驅(qū)動方式首先由CPU向相應(yīng)設(shè)備的控制器發(fā)出一條I/O命令,然后CPU立即返回繼續(xù)執(zhí)行原來的任務(wù),設(shè)備控制器則按照命令的要求去控制I/O設(shè)備工作。這時(shí)CPU與I/O設(shè)備并行工作。這種方式CPU的利用率較高。但這種方式的缺點(diǎn)是在一次數(shù)據(jù)傳送過程中,發(fā)生中斷次數(shù)較多(每傳一個(gè)字節(jié)就要請示求中斷),這將耗去大量CPU處理時(shí)間。
4.7輸入/輸出系統(tǒng)管理(3)直接存儲器訪問方式
引入DMA控制器后,在其控制下,以數(shù)據(jù)塊為單位完成設(shè)備與內(nèi)存間的數(shù)據(jù)交換,當(dāng)數(shù)據(jù)塊傳送完畢時(shí)才需要CPU干預(yù)。該方式CPU的利用率高。
(4)通道控制方式通道實(shí)際上是一種比DMA芯片功能更強(qiáng)的設(shè)備。通道控制方式是DMA的發(fā)展,它把對每一塊數(shù)據(jù)的讀寫變成對一組數(shù)據(jù)塊的讀寫,可以進(jìn)一步減少CPU的干預(yù)。更大程度地提高了系統(tǒng)資源的利用率。4.7.3I/O緩沖管理現(xiàn)代操作系統(tǒng)中,I/O設(shè)備與CPU(實(shí)際指內(nèi)存)交換數(shù)據(jù)時(shí),需要使用緩沖技術(shù)。也就是為I/O設(shè)備設(shè)置緩沖區(qū)暫存數(shù)據(jù),等到數(shù)據(jù)積累到一定程度時(shí),再做批量處理。引入緩沖:
(1)緩和CPU與I/O設(shè)備間速度不匹配的矛盾;
(2)減少對CPU中斷頻率;
(3)提高CPU與I/O設(shè)備間的并行性。4.7輸入/輸出系統(tǒng)管理4.7.4設(shè)備驅(qū)動程序4.7輸入/輸出系統(tǒng)管理
設(shè)備驅(qū)動程序與具體設(shè)備有關(guān),用戶安裝好硬件后還要再安裝驅(qū)動程序,計(jì)算機(jī)才能識別和使用該設(shè)備。每個(gè)外部設(shè)備都有相應(yīng)的設(shè)備驅(qū)動程序,它也是硬件的身份識別標(biāo)志,負(fù)責(zé)完成設(shè)備具體的各種動作(輸入/輸出操作)。一旦為I/O設(shè)備安裝了驅(qū)動程序,那么應(yīng)用程序在使用I/O設(shè)備時(shí),就不必關(guān)心設(shè)備的特性、I/O控制方式,這樣就實(shí)現(xiàn)了應(yīng)用程序與設(shè)備的無關(guān)性。
動畫4.8典型操作系統(tǒng)你聽過用過
哪些操作系統(tǒng)?4.8.1Unix4.8典型操作系統(tǒng)Unix是一個(gè)交互式、分時(shí)多用戶并支持網(wǎng)絡(luò)的操作系統(tǒng),是可以運(yùn)行在從微機(jī)到巨型機(jī)在內(nèi)的各種機(jī)型上的通用操作系統(tǒng)。目前主要用于網(wǎng)絡(luò)服務(wù)器、大中小型機(jī)。主流產(chǎn)品:FreeBSD運(yùn)行界面主流產(chǎn)品:Solaris運(yùn)行界面1969年,貝爾電話實(shí)驗(yàn)室的專家開發(fā)了--Unix操作系統(tǒng)。4.8典型操作系統(tǒng)
4.8.2DOSDOS是微型計(jì)算機(jī)早期所使用的桌面操作系統(tǒng)。是單用戶、單任務(wù)和字符界面的操作系統(tǒng),主要為16位微型計(jì)算機(jī)而設(shè)計(jì),屬于淘汰產(chǎn)品。MS-DOS運(yùn)行的界面1981年,IBM發(fā)布了IBM5150PC,采用了Microsoft提供的DOS(DiskOperatingSystem)。4.8.3Windows4.8典型操作系統(tǒng)Windows是Microsoft公司為個(gè)人計(jì)算機(jī)及其服務(wù)器開發(fā)的操作系統(tǒng)。從1985年發(fā)展至今,開發(fā)了眾多的版本,對個(gè)人計(jì)算機(jī)的普及及應(yīng)用起到了重要的作用。Windows95之前的發(fā)展歷程4.8典型操作系統(tǒng)Windows95之后的發(fā)展歷程4.8典型操作系統(tǒng)Windows操作系統(tǒng)被廣泛使用,主要是因?yàn)槠渚哂幸韵禄咎攸c(diǎn):
(1)界面圖形化,操作便捷以前DOS的字符界面使得一些用戶操作起來十分困難。采用了圖形界面和使用鼠標(biāo)后,人們不必學(xué)習(xí)太多的操作系統(tǒng)知識,只要會使用鼠標(biāo)就能進(jìn)行工作。
(2)采用多任務(wù)機(jī)制用戶使用計(jì)算機(jī)時(shí)可以同時(shí)運(yùn)行多個(gè)程序完成多種任務(wù)。4.8典型操作系統(tǒng)(3)支持網(wǎng)絡(luò)功能。用戶可以很方便地在Windows中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年開發(fā)項(xiàng)目融資合同
- 2025年新型數(shù)字貨幣交易平臺可行性研究報(bào)告
- 2025年無人機(jī)航空服務(wù)項(xiàng)目可行性研究報(bào)告
- 2025年低碳環(huán)保產(chǎn)品市場發(fā)展可行性研究報(bào)告
- 紙品購銷合同范本
- 中美創(chuàng)業(yè)協(xié)議書
- 羊皮購銷合同范本
- 2025年跨境電商產(chǎn)業(yè)園區(qū)發(fā)展項(xiàng)目可行性研究報(bào)告
- 高考全國甲卷英語試題題庫(含答案)
- 成都軌道項(xiàng)目經(jīng)理項(xiàng)目面試題庫及答案
- 項(xiàng)目經(jīng)理年底匯報(bào)
- 新生兒戒斷綜合征評分標(biāo)準(zhǔn)
- 【公開課】絕對值人教版(2024)數(shù)學(xué)七年級上冊+
- T/CI 312-2024風(fēng)力發(fā)電機(jī)組塔架主體用高強(qiáng)鋼焊接性評價(jià)方法
- 藥品檢驗(yàn)質(zhì)量風(fēng)險(xiǎn)管理
- 中國古橋欣賞課件
- 2025年硅酸乙酯-32#項(xiàng)目可行性研究報(bào)告
- 超星爾雅學(xué)習(xí)通《心理、行為與文化(北京大學(xué))》2025章節(jié)測試附答案
- 《煤礦安全生產(chǎn)責(zé)任制》培訓(xùn)課件2025
- 《臨床中藥學(xué)實(shí)訓(xùn)》課程教學(xué)大綱
- 慢性牙周炎講解
評論
0/150
提交評論