版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
20XX/XX/XX清華操作系統(tǒng):核心原理與實踐探索匯報人:XXXCONTENTS目錄01
操作系統(tǒng)概述02
進程管理03
內(nèi)存管理04
文件系統(tǒng)05
設備管理06
清華操作系統(tǒng)課程特色與實踐01操作系統(tǒng)概述操作系統(tǒng)的定義與核心功能操作系統(tǒng)的定義操作系統(tǒng)是管理計算機硬件與軟件資源的系統(tǒng)軟件,為應用軟件提供運行平臺,為用戶提供交互接口。它作為硬件與應用程序的中間層,協(xié)調(diào)資源使用,確保系統(tǒng)高效、安全運行。進程管理功能負責進程的創(chuàng)建、終止、調(diào)度及同步通信。通過進程狀態(tài)轉換(就緒、運行、阻塞等)和調(diào)度算法(如輪轉調(diào)度、優(yōu)先級調(diào)度),實現(xiàn)多任務并發(fā)執(zhí)行,提高CPU利用率。內(nèi)存管理功能對內(nèi)存進行分配、回收與優(yōu)化使用,采用分頁、分段、虛擬內(nèi)存等技術,如通過頁面置換算法(LRU、FIFO)實現(xiàn)對內(nèi)存空間的高效利用,確保程序安全訪問內(nèi)存資源。文件系統(tǒng)功能管理文件的存儲、檢索與保護,通過目錄樹結構(如UNIX文件層次)組織數(shù)據(jù),采用權限設置(如Linux的chmod命令)控制文件訪問,提供文件創(chuàng)建、刪除、讀寫等操作接口。設備管理功能控制I/O設備的分配與操作,通過中斷驅動、DMA等方式管理設備通信,采用緩沖技術和SPOOLing技術提升設備利用率,協(xié)調(diào)CPU與外設之間的速度差異。操作系統(tǒng)的發(fā)展歷程無操作系統(tǒng)階段(手工操作階段)用戶獨占全機,CPU等待人工操作,人機速度矛盾突出,資源利用率低。批處理系統(tǒng)階段早期批處理系統(tǒng)以UNIVACI的EXEC系統(tǒng)為代表,20世紀50年代出現(xiàn),實現(xiàn)作業(yè)自動依次執(zhí)行,提高了計算機使用效率,但每次僅運行一道程序。分時操作系統(tǒng)階段60年代,MIT的CTSS和IBM的TSS/360等分時系統(tǒng)出現(xiàn),允許多用戶同時使用計算機,通過時間片輪轉實現(xiàn)多任務處理,提升了交互性。個人計算機操作系統(tǒng)階段80年代,隨著個人計算機普及,MS-DOS和MacOS等操作系統(tǒng)開始流行,推動了個人計算革命,使計算機從機房走向個人桌面?,F(xiàn)代多任務操作系統(tǒng)階段90年代至今,Windows、Linux和macOS等多任務操作系統(tǒng)成為主流,支持多用戶、多任務和網(wǎng)絡功能,滿足復雜計算需求。操作系統(tǒng)的主要類型
01批處理操作系統(tǒng)如早期的IBMOS/360,通過自動化處理一系列任務,提高計算機資源利用率,具有自動性、順序性和單道性特征。
02分時操作系統(tǒng)如Unix,允許多個用戶同時使用計算機,通過時間片輪轉實現(xiàn)多任務處理,具有及時性、獨立性、交互性和多路性。
03實時操作系統(tǒng)如VxWorks,廣泛應用于嵌入式系統(tǒng),確保任務在嚴格的時間限制內(nèi)完成,分為硬實時(必須絕對嚴格響應)和軟實時(可接受偶爾延遲)。
04分布式操作系統(tǒng)如Google的Spanner,管理多個物理位置的計算機資源,實現(xiàn)資源的共享和協(xié)同工作,能對分布式系統(tǒng)的各種資源進行動態(tài)分配。
05個人計算機操作系統(tǒng)如MS-DOS、MacOS、Windows、Linux等,隨著個人計算機普及而流行,支持單用戶多任務,為個人計算提供友好交互界面和應用平臺。操作系統(tǒng)的內(nèi)核特征并發(fā)特征
指一段時間內(nèi)多個程序運行,操作系統(tǒng)需對其進行管理和調(diào)度,以實現(xiàn)多任務處理。與并行不同,并行是指一個時間點上多個程序運行,要求多個CPU。共享特征
實現(xiàn)“同時”訪問或互斥共享計算機資源,操作系統(tǒng)需協(xié)調(diào)多個程序對資源的使用,確保數(shù)據(jù)一致性和安全性。虛擬特征
利用多道程序設計技術,讓每個用戶都覺得有一個計算機專門為他服務,通過虛擬內(nèi)存、虛擬處理器等技術抽象硬件資源。異步特征
程序的執(zhí)行不是一步到底的,而是走走停停,向前推進的速度不可預知,但只要運行環(huán)境相同,操作系統(tǒng)要保證程序運行的結果也相同。02進程管理進程的基本概念與狀態(tài)模型進程的定義與核心屬性進程是程序在其自身地址空間的一次執(zhí)行活動,包含程序代碼、當前活動(如程序計數(shù)器、寄存器和變量)及系統(tǒng)資源,是操作系統(tǒng)資源分配和調(diào)度的基本單位。進程與線程的本質區(qū)別進程是獨立的地址空間實體,線程是進程內(nèi)的執(zhí)行單元;線程共享進程資源,創(chuàng)建和切換開銷遠低于進程,是CPU調(diào)度的最小單位。經(jīng)典五狀態(tài)模型及轉換機制進程生命周期包含新建、就緒、運行、阻塞、終止五種狀態(tài),通過調(diào)度(就緒→運行)、I/O請求(運行→阻塞)、事件完成(阻塞→就緒)等事件觸發(fā)狀態(tài)轉換。狀態(tài)轉換典型場景示例Web服務器進程接收請求后創(chuàng)建子進程處理,子進程調(diào)用read()讀取文件時進入阻塞態(tài),磁盤I/O完成后由中斷喚醒至就緒態(tài)等待調(diào)度。進程控制塊與上下文切換01進程控制塊(PCB)的核心結構PCB是進程管理的核心數(shù)據(jù)結構,包含標識信息(PID、PPID)、處理機狀態(tài)(寄存器值、程序計數(shù)器)、調(diào)度信息(優(yōu)先級、調(diào)度策略)、內(nèi)存管理信息(頁表指針、內(nèi)存邊界)及文件系統(tǒng)信息(打開文件描述符表)等關鍵字段。02上下文切換的觸發(fā)條件與流程上下文切換由時鐘中斷、I/O請求或高優(yōu)先級進程搶占觸發(fā),流程包括保存當前進程狀態(tài)(寄存器、PC等)、更新內(nèi)存管理單元(MMU)、加載新進程上下文并恢復執(zhí)行。Linux系統(tǒng)中通過schedule()函數(shù)實現(xiàn)調(diào)度決策。03上下文切換的性能開銷分析切換開銷主要包括硬件狀態(tài)保存(約500ns)、頁表切換與TLB刷新(占切換耗時30%~50%)、內(nèi)核堆棧切換等。多核系統(tǒng)中可通過綁定進程至CPU核心(CPUaffinity)減少跨核切換開銷。04優(yōu)化策略:用戶級線程與內(nèi)核級線程對比用戶級線程(ULT)切換完全在用戶空間完成,開銷低(約幾十ns)但無法利用多核;內(nèi)核級線程(KLT)由內(nèi)核調(diào)度,支持并行執(zhí)行但切換開銷高(約1~2μs)。現(xiàn)代OS多采用混合實現(xiàn),如LinuxNPTL模型。進程調(diào)度算法
調(diào)度算法的評價準則進程調(diào)度算法的性能通常根據(jù)平均等待時間、平均周轉時間和CPU利用率等指標衡量,需平衡公平性、響應時間與系統(tǒng)吞吐量。
先來先服務(FCFS)調(diào)度算法按進程到達順序執(zhí)行,實現(xiàn)簡單且公平,但長進程可能導致短進程饑餓,適用于批處理系統(tǒng)。
短作業(yè)優(yōu)先(SJF)調(diào)度算法優(yōu)先選擇執(zhí)行時間最短的進程,能減少平均等待時間,但實現(xiàn)復雜且可能導致長進程饑餓,依賴對作業(yè)運行時間的準確預估。
時間片輪轉(RR)調(diào)度算法將CPU時間劃分為固定時間片,輪流分配給就緒進程,響應時間短且公平性好,是分時系統(tǒng)的核心調(diào)度策略,但存在上下文切換開銷。
優(yōu)先級調(diào)度算法根據(jù)進程優(yōu)先級分配CPU,高優(yōu)先級進程先執(zhí)行,適用于實時系統(tǒng),但需防止低優(yōu)先級進程長期饑餓,可采用動態(tài)優(yōu)先級調(diào)整機制優(yōu)化。進程同步與互斥機制
01進程間的制約關系進程間存在直接制約(源于進程合作)和間接制約(源于共享臨界資源)兩種基本關系,需通過同步與互斥機制協(xié)調(diào)。
02臨界資源與臨界區(qū)臨界資源是一次僅允許一個進程使用的共享資源(如打印機),訪問臨界資源的代碼段稱為臨界區(qū),需保證互斥執(zhí)行。
03信號量機制信號量是一種整數(shù)變量,通過P(等待)和V(信號)操作實現(xiàn)進程同步與互斥,可分為互斥信號量(初值1)和同步信號量(初值≥0)。
04用P、V操作實現(xiàn)進程的同步與互斥互斥時,臨界區(qū)前后分別執(zhí)行P(mutex)和V(mutex);同步時,通過信號量協(xié)調(diào)進程執(zhí)行順序,如生產(chǎn)者-消費者問題中控制緩沖區(qū)空滿狀態(tài)。
05經(jīng)典的同步與互斥問題包括生產(chǎn)者-消費者問題(緩沖區(qū)共享)、哲學家進餐問題(資源競爭死鎖)、讀者-寫者問題(讀寫優(yōu)先級)等,是檢驗同步機制有效性的典型案例。
06管程的概念管程是一種高級同步機制,將共享變量和對其操作的過程封裝起來,僅允許一個進程在管程內(nèi)執(zhí)行,簡化同步問題的編程實現(xiàn)。進程間通信方式共享存儲器系統(tǒng)進程通過共享內(nèi)存區(qū)域直接交換數(shù)據(jù),是最高效的IPC方式。多個進程可直接讀寫共享內(nèi)存區(qū),需同步機制(如互斥鎖)保證數(shù)據(jù)一致性。管道通信半雙工通信機制,數(shù)據(jù)單向流動。無名管道用于父子進程間通信,命名管道可實現(xiàn)無親緣關系進程間通信,通過read/write系統(tǒng)調(diào)用傳輸字節(jié)流。消息傳遞系統(tǒng)進程通過發(fā)送/接收消息交換數(shù)據(jù),分為直接通信(如消息隊列)和間接通信(如信箱)。消息隊列允許一個或多個進程發(fā)送消息給指定進程,支持異步通信。信號量機制通過P(等待)和V(信號)操作控制共享資源訪問,用于進程同步與互斥。信號量為整數(shù)變量,可實現(xiàn)對臨界資源的有序訪問,避免并發(fā)沖突。線程的概念與實現(xiàn)
線程的定義與核心特征線程是進程內(nèi)部的執(zhí)行單元,是CPU調(diào)度的最小單位,共享進程的地址空間與系統(tǒng)資源,僅擁有獨立的堆棧和寄存器上下文。
線程與進程的關鍵區(qū)別進程是資源分配的基本單位,線程是調(diào)度的基本單位;線程上下文切換開銷遠低于進程,且線程間通信無需特殊IPC機制。
用戶級線程與內(nèi)核級線程用戶級線程(ULT)由用戶庫管理,內(nèi)核無感知,切換快但無法利用多核;內(nèi)核級線程(KLT)由操作系統(tǒng)調(diào)度,支持多核但切換開銷較高。
線程實現(xiàn)的混合模型輕量級進程(LWP)是內(nèi)核級線程與用戶級線程的橋梁,一個進程可關聯(lián)多個LWP,實現(xiàn)多線程并行執(zhí)行與低開銷管理的平衡。死鎖的產(chǎn)生與處理
死鎖的定義與產(chǎn)生原因死鎖是指多個進程因競爭資源而造成的一種僵局,若無外力作用,這些進程都將無法繼續(xù)執(zhí)行。其產(chǎn)生的根本原因是系統(tǒng)資源不足和進程推進順序不當。
死鎖產(chǎn)生的四個必要條件死鎖的發(fā)生必須同時滿足四個條件:互斥條件(資源只能被一個進程占用)、請求與保持條件(進程已占有部分資源并等待其他資源)、不可剝奪條件(資源不能被強制剝奪)、循環(huán)等待條件(進程間形成資源循環(huán)等待鏈)。
死鎖的預防策略通過破壞死鎖產(chǎn)生的四個必要條件之一來預防死鎖,例如采用資源靜態(tài)分配策略破壞請求與保持條件,或規(guī)定進程按序申請資源以破壞循環(huán)等待條件。
死鎖的避免算法在資源分配過程中動態(tài)判斷是否可能發(fā)生死鎖,僅在安全狀態(tài)下分配資源。典型算法如銀行家算法,通過模擬資源分配來確保系統(tǒng)始終處于安全序列。
死鎖的檢測與解除允許系統(tǒng)發(fā)生死鎖,通過死鎖檢測算法(如資源分配圖化簡法)定期檢測,若發(fā)現(xiàn)死鎖則采用撤銷進程或剝奪資源等方式解除,如終止代價最小的進程或搶占某些進程的資源。03內(nèi)存管理內(nèi)存管理的目標與功能
內(nèi)存管理的核心目標內(nèi)存管理旨在實現(xiàn)內(nèi)存空間的抽象、保護、共享與虛擬化,讓程序擁有獨立邏輯地址空間,確保各進程安全隔離,同時允許共享代碼和數(shù)據(jù),并通過技術手段提供比實際物理內(nèi)存更大的地址空間。
內(nèi)存抽象與地址轉換通過將物理地址空間抽象為邏輯地址空間,借助內(nèi)存管理單元(MMU)實現(xiàn)邏輯地址到物理地址的映射,使程序無需關注實際物理內(nèi)存布局,簡化編程并提高內(nèi)存使用靈活性。
內(nèi)存分配與回收機制負責為進程分配連續(xù)或非連續(xù)的內(nèi)存空間,如連續(xù)分配的固定分區(qū)、可變分區(qū)方式,以及非連續(xù)分配的分頁、分段技術,并在進程結束或釋放內(nèi)存時進行回收,提高內(nèi)存利用率。
內(nèi)存保護與共享控制通過設置邏輯地址的基地址和界限進行地址安全檢查,防止進程越界訪問;同時支持代碼和數(shù)據(jù)的共享,如共享庫代碼、進程間共享內(nèi)存,減少內(nèi)存冗余,提升系統(tǒng)性能。連續(xù)內(nèi)存分配方式
單一連續(xù)分配管理方式內(nèi)存被劃分為系統(tǒng)區(qū)和用戶區(qū),系統(tǒng)區(qū)存放操作系統(tǒng),用戶區(qū)為一道用戶程序提供連續(xù)的內(nèi)存空間。實現(xiàn)簡單,但資源利用率低,適用于單用戶、單任務操作系統(tǒng)。
固定分區(qū)存儲管理方式將內(nèi)存用戶空間劃分為若干個固定大小的連續(xù)區(qū)域,每個分區(qū)可裝入一道作業(yè)。分區(qū)大小可相等或不等,能支持多道程序并發(fā),但分區(qū)大小固定易產(chǎn)生內(nèi)部碎片,導致內(nèi)存利用率不高。
可變分區(qū)存儲管理方式根據(jù)用戶程序的實際需要,動態(tài)地劃分內(nèi)存空間,使分區(qū)大小正好適應作業(yè)的需求。克服了固定分區(qū)的內(nèi)部碎片問題,但會產(chǎn)生外部碎片,需要采用相應的內(nèi)存分配算法(如首次適應、最佳適應、最壞適應算法)進行管理。
可重定位分區(qū)分配通過移動內(nèi)存中已分配分區(qū)的位置,使多個分散的空閑分區(qū)拼接成一個連續(xù)的大空閑區(qū),即進行碎片整理(壓縮),以滿足大作業(yè)的內(nèi)存需求。該方式可有效解決外部碎片問題,但移動分區(qū)會增加系統(tǒng)開銷。覆蓋與交換技術覆蓋技術的目標與原理覆蓋技術是早期內(nèi)存管理技術,目標是在較小內(nèi)存中運行較大程序,如在640K內(nèi)存的DOS系統(tǒng)中運行上兆程序。其原理是將程序劃分為功能相對獨立的模塊,讓不能同時執(zhí)行的模塊分時共享同一塊內(nèi)存空間,通過常駐內(nèi)存的管理代碼控制模塊的裝入與導出。覆蓋技術的關鍵組成與局限覆蓋技術包含常駐內(nèi)存的管理模塊和可覆蓋的外存模塊,不常用功能模塊存于外存,需用時裝入。其局限在于需程序員手動劃分模塊并確定覆蓋關系,增加編程復雜度,且以時間換空間,存在I/O開銷。交換技術的定義與操作交換技術(Swapping)通過將暫時不能運行的進程整個地址空間換出到外存(swapout),在需要時再換入內(nèi)存(swapin),以解決內(nèi)存不足問題。換入換出的內(nèi)容為整個進程地址空間,需動態(tài)地址映射支持重定位。交換技術的挑戰(zhàn)與應用場景交換技術面臨交換時機確定、交換區(qū)大?。ㄐ枞菁{所有用戶進程內(nèi)存映像)和重定位等挑戰(zhàn)。適用于多道程序環(huán)境下內(nèi)存緊張時,如早期UNIX系統(tǒng)使用交換技術實現(xiàn)進程在內(nèi)存與外存間的切換,提升內(nèi)存利用率。分頁存儲管理
分頁存儲管理的基本原理分頁存儲管理將物理內(nèi)存劃分為固定大小的幀,邏輯地址空間劃分為相同大小的頁,頁是連續(xù)的虛擬內(nèi)存,幀是非連續(xù)的物理內(nèi)存,通過頁表建立頁與幀的映射關系。
分頁地址組成與轉換邏輯地址由頁號和頁內(nèi)偏移量組成,物理地址由幀號和幀內(nèi)偏移量組成,且?guī)瑑?nèi)偏移量等于頁內(nèi)偏移量。地址轉換時,根據(jù)邏輯地址計算頁號,在頁表找到對應的頁幀號,加上偏移量得到物理地址。
分頁機制的性能問題分頁機制存在訪問一個內(nèi)存單元需要2次內(nèi)存訪問(一次獲取頁表項,一次訪問數(shù)據(jù))以及頁表可能非常大(頁表長度等于2^頁號位數(shù))的時間和空間性能問題。
分頁性能問題的解決方法采用TLB(緩存),使用associatememory實現(xiàn)快速訪問,TLB命中可快速獲取物理頁號;采用二級/多級頁表,將大頁表拆分,節(jié)省空間;采用反向頁表,其大小只與物理地址有關,比傳統(tǒng)頁表小。分段存儲管理分段的基本原理分段存儲管理將用戶程序的地址空間按邏輯意義劃分為若干個大小不等的段,每個段是一個相對獨立的邏輯單位。每個段都有自己的段名,且有一個段號。分段的地址結構邏輯地址由段號和段內(nèi)偏移量兩部分組成。段號表示該段在段表中的索引,段內(nèi)偏移量表示該段內(nèi)的相對地址。段表與地址轉換系統(tǒng)為每個進程建立一張段表,段表中記錄了每段的段號、段的起始地址和段的長度(limit)。地址轉換時,根據(jù)段號查找段表,得到該段的起始地址和段長,檢查段內(nèi)偏移量是否越界,若未越界,則將段起始地址與段內(nèi)偏移量相加得到物理地址。分段的存儲保護在地址轉換過程中,通過檢查段內(nèi)偏移量是否超過段長來實現(xiàn)存儲保護,若超過則產(chǎn)生地址越界中斷,防止程序訪問不屬于自己的內(nèi)存區(qū)域。分段的共享與保護分段系統(tǒng)便于實現(xiàn)段的共享,多個進程可以共享同一個段,只需在各自的段表中設置指向該段物理地址的表項即可。同時,還可以對段進行訪問權限的保護,如只讀、讀寫、執(zhí)行等。分段與分頁的比較分段與分頁都是非連續(xù)存儲管理方式。分頁的頁面是按物理空間劃分的,大小固定;分段的段是按邏輯意義劃分的,大小不固定。分頁的目的是提高內(nèi)存利用率,分段的目的是滿足用戶需求,便于程序的模塊化設計、共享和保護。段頁式存儲管理
段頁式存儲管理的基本原理段頁式存儲管理結合分段和分頁的優(yōu)點,將用戶程序按邏輯結構分段,每個段再劃分為固定大小的頁。內(nèi)存被劃分成與頁大小相等的物理塊,以頁為單位進行內(nèi)存分配與管理。
地址結構與轉換流程邏輯地址由段號、段內(nèi)頁號和頁內(nèi)偏移量三部分組成。地址轉換時,先利用段號查找段表得到該段的頁表起始地址,再根據(jù)段內(nèi)頁號查頁表獲取物理塊號,最后結合頁內(nèi)偏移量得到物理地址。
段頁式存儲管理的優(yōu)缺點優(yōu)點是兼具分段的邏輯獨立性和分頁的內(nèi)存高效利用,支持段的共享與保護;缺點是地址轉換過程需訪問段表和頁表,增加了內(nèi)存訪問次數(shù),且管理數(shù)據(jù)結構(段表、頁表)占用更多內(nèi)存資源。
段頁式與其他存儲管理方式比較與分段相比,解決了內(nèi)存碎片問題;與分頁相比,提供了更好的邏輯組織和共享保護機制。適用于需要復雜內(nèi)存管理的現(xiàn)代操作系統(tǒng),如UNIX、Windows等均采用類似混合管理策略。虛擬內(nèi)存技術虛擬內(nèi)存的定義與核心思想虛擬內(nèi)存是一種內(nèi)存管理技術,它允許程序使用比實際物理內(nèi)存更大的地址空間,通過將部分程序數(shù)據(jù)存儲在磁盤上,實現(xiàn)內(nèi)存的“虛擬化”擴展。其核心思想基于程序局部性原理,即程序在執(zhí)行過程中,往往只需要訪問部分數(shù)據(jù)和指令。虛擬內(nèi)存的實現(xiàn)方式虛擬內(nèi)存主要通過請求分頁、請求分段和段頁式等方式實現(xiàn)。請求分頁是最常用的方式,將邏輯地址空間劃分為固定大小的頁,物理內(nèi)存劃分為相同大小的幀,僅將當前需要的頁裝入內(nèi)存,未命中時通過缺頁中斷調(diào)入。缺頁中斷處理流程當程序訪問的頁不在物理內(nèi)存時,會觸發(fā)缺頁中斷。處理流程包括:檢查內(nèi)存是否有空閑幀,若無則選擇頁面置換算法淘汰頁面,若淘汰頁被修改則寫回磁盤,調(diào)入所需頁面并更新頁表,最后重新執(zhí)行被中斷指令。頁面置換算法常見的頁面置換算法有:最佳置換算法(OPT,理想化但不可實現(xiàn))、先進先出算法(FIFO,易產(chǎn)生Belady現(xiàn)象)、最近最久未使用算法(LRU,基于局部性原理)、時鐘算法(Clock,LRU近似算法,降低實現(xiàn)復雜度)。虛擬內(nèi)存的性能影響因素虛擬內(nèi)存的性能主要受頁面置換算法、缺頁率、內(nèi)存訪問時間與磁盤I/O速度差距的影響。過高的缺頁率會導致“抖動”(Thrashing),即系統(tǒng)頻繁進行頁面置換,CPU利用率急劇下降,需通過工作集模型等機制優(yōu)化。頁面置換算法最優(yōu)頁面置換算法(OPT)
選擇未來最長時間內(nèi)不再被訪問的頁面進行置換,可理論上達到最低缺頁率,但因需預知未來訪問序列,實際系統(tǒng)中難以實現(xiàn),主要用于算法性能評估基準。先進先出算法(FIFO)
按頁面調(diào)入內(nèi)存的先后順序選擇淘汰頁面,實現(xiàn)簡單但可能產(chǎn)生Belady現(xiàn)象(分配內(nèi)存塊增加時缺頁率反而上升),適用于早期批處理系統(tǒng)等對性能要求不高的場景。最近最久未使用算法(LRU)
根據(jù)頁面最近使用記錄,淘汰最久未被訪問的頁面,符合程序局部性原理,缺頁率低于FIFO,但需硬件支持記錄頁面訪問時序,實現(xiàn)成本較高,常見于現(xiàn)代操作系統(tǒng)如Linux的改進版本。時鐘頁面置換算法(Clock)
通過設置訪問位(usebit)實現(xiàn)近似LRU,將頁面組織成環(huán)形鏈表,當需置換時掃描鏈表,將訪問位為0的頁面淘汰,訪問位為1則重置為0并繼續(xù)掃描,平衡了性能與實現(xiàn)復雜度,廣泛應用于實際系統(tǒng)。最不常用算法(LFU)
統(tǒng)計頁面被訪問的頻率,淘汰訪問次數(shù)最少的頁面,能反映頁面長期使用情況,但需維護頻率計數(shù),對突發(fā)訪問模式適應性較差,適用于訪問模式相對穩(wěn)定的應用場景。04文件系統(tǒng)文件與文件系統(tǒng)的概念
文件的定義與屬性文件是計算機系統(tǒng)中具有名稱的存儲在外部存儲介質上的數(shù)據(jù)集合,具有名稱、大小、類型、創(chuàng)建時間、修改時間、訪問權限等屬性,是操作系統(tǒng)管理數(shù)據(jù)的基本單位。
文件系統(tǒng)的功能文件系統(tǒng)是操作系統(tǒng)中負責管理和存儲文件信息的軟件模塊,主要功能包括文件的創(chuàng)建、刪除、讀取、寫入,文件目錄管理,文件存儲空間分配與回收,以及提供文件共享和保護機制,確保文件數(shù)據(jù)的安全與可靠訪問。
文件的分類文件可按多種方式分類,按用途可分為系統(tǒng)文件、用戶文件和庫文件;按數(shù)據(jù)形式可分為文本文件和二進制文件;按存取權限可分為只讀文件、讀寫文件和可執(zhí)行文件等,不同分類有助于文件的有效管理和使用。
文件的邏輯結構與物理結構文件的邏輯結構是用戶所感知的文件組織形式,包括流式文件(無結構)和記錄式文件(有結構);物理結構是文件在存儲介質上的實際存儲方式,常見的有連續(xù)結構、鏈接結構和索引結構,物理結構直接影響文件的存取效率。文件的邏輯結構與物理結構
文件的邏輯結構文件的邏輯結構是從用戶角度出發(fā)所觀察到的文件組織形式,分為無結構的流式文件和有結構的記錄式文件。流式文件將數(shù)據(jù)視為連續(xù)的字節(jié)流,如文本文件;記錄式文件由具有特定格式的記錄組成,如數(shù)據(jù)庫文件。
文件的物理結構文件的物理結構是文件在存儲設備上的實際存儲方式,直接影響文件的存取效率。常見類型包括連續(xù)分配(文件存儲在連續(xù)物理塊中)、鏈接分配(文件通過指針鏈接物理塊,分隱式和顯式鏈接)和索引分配(通過索引表指向物理塊,支持隨機訪問)。
邏輯結構與物理結構的關系邏輯結構面向用戶操作,注重易用性和數(shù)據(jù)組織邏輯;物理結構面向存儲設備,注重存儲效率和存取性能。操作系統(tǒng)負責將邏輯地址轉換為物理地址,實現(xiàn)兩者的映射與管理,如將流式文件邏輯地址映射到磁盤物理塊地址。目錄管理文件目錄的基本概念文件目錄是用于檢索和管理文件的關鍵數(shù)據(jù)結構,包含文件的基本信息(如文件名、物理地址、類型、權限等),是文件系統(tǒng)的核心組成部分。目錄文件的組織目錄文件是一種特殊的文件,其數(shù)據(jù)內(nèi)容為目錄項,每個目錄項對應一個文件或子目錄,實現(xiàn)文件與目錄的層次化管理。目錄的結構常見的目錄結構包括單級目錄、兩級目錄和多級目錄(樹形目錄)?,F(xiàn)代操作系統(tǒng)普遍采用樹形目錄結構,如UNIX的文件層次結構,支持文件的分類存儲和便捷檢索。目錄的檢索目錄檢索是根據(jù)文件名查找對應目錄項的過程,常用方法包括線性檢索(順序查找)和哈希檢索。樹形目錄結構中需從根目錄出發(fā),按路徑逐層查找。文件目錄操作基本目錄操作包括創(chuàng)建目錄、刪除目錄、改變當前目錄、顯示目錄內(nèi)容等,通過系統(tǒng)調(diào)用(如mkdir、rmdir、cd、ls)實現(xiàn)用戶對目錄的管理。文件存儲空間管理
空閑表法將外存中連續(xù)空閑區(qū)域的起始地址和大小記錄在空閑表中,分配時查找合適空閑塊,回收時合并相鄰空閑區(qū)域。
空閑鏈表法通過鏈表將空閑塊連接,分為空閑盤塊鏈和空閑盤區(qū)鏈。前者以盤塊為單位,后者以連續(xù)盤區(qū)為單位,便于不同大小文件分配。
位示圖法用二進制位表示盤塊使用狀態(tài),1表示已分配,0表示空閑。通過位運算快速查找和修改盤塊狀態(tài),適用于各種存儲設備。
成組鏈接法結合空閑表和空閑鏈表優(yōu)點,將空閑塊分成若干組,每組塊數(shù)和下一組地址存于本組第一塊,提高大存儲空間管理效率。文件共享與安全
文件共享的實現(xiàn)方式文件共享可通過靜態(tài)共享(如硬鏈接)和動態(tài)共享(如符號鏈接)實現(xiàn),允許多個用戶或進程訪問同一文件資源,提高資源利用率。
文件訪問控制機制操作系統(tǒng)通過權限設置(如Linux的chmod命令)控制用戶對文件的訪問,包括讀、寫、執(zhí)行等權限,確保數(shù)據(jù)安全與隔離。
數(shù)據(jù)一致性控制技術采用鎖機制、事務處理等技術保證多用戶并發(fā)訪問文件時的數(shù)據(jù)一致性,防止因同時讀寫導致的數(shù)據(jù)錯誤或沖突。
文件系統(tǒng)安全防護策略通過加密存儲、備份與恢復、病毒防護等措施保護文件系統(tǒng)安全,抵御未授權訪問、數(shù)據(jù)泄露和惡意攻擊等威脅。05設備管理設備管理概述
設備管理的目標與功能設備管理的主要目標是提高設備利用率、方便用戶使用、保證數(shù)據(jù)傳輸?shù)母咝c可靠。核心功能包括設備分配、I/O控制、緩沖管理和設備獨立性支持。
設備的分類按工作特性可分為存儲設備(如磁盤、SSD)、I/O設備(如鍵盤、顯示器);按共享屬性分為獨占設備(如打印機)、共享設備(如磁盤)和虛擬設備(通過SPOOLing技術實現(xiàn))。
I/O系統(tǒng)的組成結構I/O系統(tǒng)由I/O設備、設備控制器、I/O通道和相關軟件組成。設備控制器負責接收和執(zhí)行CPU指令,通道技術實現(xiàn)了CPU與設備的并行操作,提高系統(tǒng)效率。
設備管理的主要技術包括中斷驅動方式、直接內(nèi)存訪問(DMA)、緩沖技術和SPOOLing技術。中斷驅動方式減少CPU等待時間,DMA實現(xiàn)高速外設與內(nèi)存直接數(shù)據(jù)傳輸,緩沖技術緩解速度不匹配問題。I/O控制方式
程序I/O方式早期I/O控制方式,CPU通過循環(huán)查詢外設狀態(tài),等待數(shù)據(jù)傳輸完成。特點是CPU利用率低,適用于簡單低速設備。
中斷驅動I/O控制方式外設完成數(shù)據(jù)準備后主動向CPU發(fā)送中斷請求,CPU響應中斷并處理數(shù)據(jù)傳輸。相比程序I/O方式,顯著提高CPU利用率。
直接內(nèi)存訪問(DMA)方式通過DMA控制器直接在內(nèi)存和外設間傳輸數(shù)據(jù),無需CPU干預,僅在傳輸開始和結束時需CPU少量處理,適用于高速批量數(shù)據(jù)傳輸。
I/O通道控制方式通過專用的I/O通道處理器執(zhí)行通道程序,實現(xiàn)多設備、成組數(shù)據(jù)的傳輸控制,進一步減輕CPU負擔,提升系統(tǒng)并行處理能力。設備分配
設備分配的目標與原則設備分配的目標是高效利用設備資源并保證系統(tǒng)安全性,需遵循獨占性(如打印機)、共享性(如磁盤)、虛擬性(如SPOOLing技術)原則,同時避免死鎖和沖突。設備分配的數(shù)據(jù)結構主要數(shù)據(jù)結構包括設備控制表(DCT)記錄設備狀態(tài)與控制器連接,控制器控制表(COCT)管理控制器,通道控制表(CHCT)協(xié)調(diào)通道,系統(tǒng)設備表(SDT)匯總系統(tǒng)設備信息。設備分配策略分配策略分為靜態(tài)分配(進程創(chuàng)建時分配所需設備,運行期間不釋放)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 骨肉瘤術后康復護理指南
- 硅晶片拋光工道德能力考核試卷含答案
- 純堿生產(chǎn)工崗前基礎常識考核試卷含答案
- 齒輪裝配工崗前競爭分析考核試卷含答案
- 苯乙烯-丙烯腈樹脂(SAN)裝置操作工安全實踐測試考核試卷含答案
- 林草種子工安全生產(chǎn)知識評優(yōu)考核試卷含答案
- 企業(yè)調(diào)休制度
- 2026廣西貴港桂平市尋旺鄉(xiāng)中心幼兒園招聘專任教師、安保人員3人備考題庫有完整答案詳解
- 人體胚胎發(fā)育:投資策略課件
- 青少年禁毒知識講座課件
- DB32T 4398-2022《建筑物掏土糾偏技術標準》
- (精確版)消防工程施工進度表
- 保險公司資產(chǎn)負債表、利潤表、現(xiàn)金流量表和所有者權益變動表格式
- 送貨單格式模板
- 防止激情違紀和犯罪授課講義
- XX少兒棋院加盟協(xié)議
- 五年級數(shù)學應用題專題訓練50題
- 2021年四川省資陽市中考數(shù)學試卷
- 河南省鄭氏中原纖維素有限公司年產(chǎn) 0.2 萬噸預糊化淀粉、0.5 萬噸羧甲基纖維素鈉、1.3 萬噸羧甲基淀粉鈉項目環(huán)境影響報告
- 高處作業(yè)安全培訓課件
- c語言知識點思維導圖
評論
0/150
提交評論