版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
操作系統(tǒng)核心概念復(fù)習(xí)資料引論:操作系統(tǒng)的基石操作系統(tǒng),作為計算機系統(tǒng)中最核心的系統(tǒng)軟件,扮演著管理者與協(xié)調(diào)者的雙重角色。它直接運行在硬件之上,為上層的應(yīng)用程序提供穩(wěn)定、高效、便捷的運行環(huán)境,并對計算機的所有硬件資源(如處理器、內(nèi)存、存儲設(shè)備、I/O設(shè)備等)和軟件資源進行統(tǒng)一的管理與調(diào)度。理解操作系統(tǒng)的核心概念,不僅是深入掌握計算機科學(xué)的基礎(chǔ),也是進行系統(tǒng)開發(fā)、性能優(yōu)化和故障排查的關(guān)鍵。本復(fù)習(xí)資料旨在梳理操作系統(tǒng)的核心知識點,幫助讀者構(gòu)建清晰的知識框架。操作系統(tǒng)的目標(biāo)與功能操作系統(tǒng)的設(shè)計通常圍繞幾個核心目標(biāo):方便性(使計算機更易于使用)、有效性(提高系統(tǒng)資源的利用率和吞吐量)、可擴展性(能夠方便地集成新功能和硬件)以及開放性(遵循標(biāo)準(zhǔn),支持兼容的應(yīng)用開發(fā))。其主要功能包括:*進程管理:負責(zé)進程的創(chuàng)建、調(diào)度、同步與通信,以及進程的終止。*內(nèi)存管理:對內(nèi)存進行分配、回收、保護和擴充,確保多道程序能夠有效運行。*文件管理:提供文件的創(chuàng)建、刪除、讀寫、檢索等操作,并管理文件的存儲介質(zhì)。*設(shè)備管理:控制和管理各種I/O設(shè)備,實現(xiàn)設(shè)備的分配、回收和無關(guān)性(設(shè)備獨立性)。*提供用戶接口:包括命令行接口(CLI)、圖形用戶接口(GUI)等,方便用戶與計算機交互。操作系統(tǒng)的基本特征現(xiàn)代操作系統(tǒng)普遍具備以下基本特征:*并發(fā):指多個程序在宏觀上同時運行。注意,并發(fā)與并行不同,并行指微觀上多個處理器同時執(zhí)行多條指令流。*共享:系統(tǒng)中的資源可以被多個并發(fā)執(zhí)行的程序共同使用,分為互斥共享和同時共享。*虛擬:通過某種技術(shù)將一個物理實體映射為若干個邏輯上的對應(yīng)物,如虛擬處理器、虛擬內(nèi)存、虛擬設(shè)備等。*異步:程序的執(zhí)行并非一氣呵成,而是“走走停停”,以不可預(yù)知的速度向前推進,但只要環(huán)境相同,操作系統(tǒng)需保證程序運行結(jié)果的可再現(xiàn)性。進程管理:并發(fā)的基石進程是操作系統(tǒng)中最核心的概念之一,是程序的一次執(zhí)行過程。進程管理涉及到如何有效地組織和調(diào)度這些并發(fā)執(zhí)行的實體,以提高系統(tǒng)效率并保證程序執(zhí)行的正確性。進程的定義與狀態(tài)進程可以被視為一個正在執(zhí)行的程序?qū)嵗粌H包含程序代碼(文本段),還包括當(dāng)前活動(程序計數(shù)器的值、寄存器集合)、堆棧段以及數(shù)據(jù)段(全局變量、動態(tài)分配的內(nèi)存等)。操作系統(tǒng)為每個進程維護一個進程控制塊(PCB),記錄了進程的關(guān)鍵信息,如進程ID、狀態(tài)、優(yōu)先級、程序計數(shù)器、寄存器值、內(nèi)存分配情況、打開文件列表等。PCB是進程存在的唯一標(biāo)志。進程在其生命周期中會經(jīng)歷多種狀態(tài),典型的狀態(tài)包括:*就緒狀態(tài):進程已獲得除處理器外的所有必要資源,等待分配處理器以運行。*運行狀態(tài):進程正在處理器上執(zhí)行。*阻塞狀態(tài)(等待狀態(tài)):進程因等待某一事件(如I/O完成、信號量)而暫時無法繼續(xù)執(zhí)行,即使分配到處理器也不行。*創(chuàng)建狀態(tài):進程正在被創(chuàng)建,各項資源和PCB正在初始化。*終止?fàn)顟B(tài):進程已完成執(zhí)行或因異常終止,等待操作系統(tǒng)回收其資源。這些狀態(tài)之間會根據(jù)系統(tǒng)事件和進程自身行為發(fā)生轉(zhuǎn)換。進程調(diào)度進程調(diào)度的任務(wù)是從就緒隊列中選擇一個進程,將處理器分配給它。調(diào)度算法的優(yōu)劣直接影響系統(tǒng)的性能。調(diào)度算法的設(shè)計目標(biāo)通常包括:CPU利用率、吞吐量(單位時間內(nèi)完成的進程數(shù))、周轉(zhuǎn)時間(進程從提交到完成的時間)、等待時間(進程在就緒隊列中等待的總時間)以及響應(yīng)時間(從用戶提交請求到系統(tǒng)首次產(chǎn)生響應(yīng)的時間)。常見的調(diào)度算法有:*先來先服務(wù)(FCFS):按進程到達就緒隊列的先后順序調(diào)度,簡單但可能導(dǎo)致“convoy效應(yīng)”(長進程阻塞短進程)。*短作業(yè)優(yōu)先(SJF):選擇估計運行時間最短的進程優(yōu)先執(zhí)行,能有效降低平均等待時間,但“最短”是預(yù)估的,且可能導(dǎo)致長進程饑餓。*優(yōu)先級調(diào)度:為每個進程分配優(yōu)先級,調(diào)度優(yōu)先級最高的進程。優(yōu)先級可以是靜態(tài)的或動態(tài)的??赡軐?dǎo)致低優(yōu)先級進程饑餓。*時間片輪轉(zhuǎn)(RR):為就緒隊列中的每個進程分配一個固定的時間片,進程在時間片內(nèi)運行,若未完成則回到就緒隊列末尾等待下一次調(diào)度。常用于分時系統(tǒng),能提供較好的響應(yīng)時間。*多級反饋隊列調(diào)度:結(jié)合了多種調(diào)度算法的優(yōu)點,設(shè)置多個就緒隊列,每個隊列有不同的優(yōu)先級和時間片。進程根據(jù)運行情況在不同隊列間移動。進程同步與互斥并發(fā)帶來了資源共享的便利,但也引入了競態(tài)條件(RaceCondition)——多個進程并發(fā)訪問和操作共享數(shù)據(jù),最終結(jié)果取決于這些進程的執(zhí)行順序。為了保證數(shù)據(jù)的一致性,必須對并發(fā)進程的執(zhí)行順序進行控制,這就是進程同步?;コ馐峭降囊环N特殊情況,指多個進程不能同時進入訪問共享資源的臨界區(qū)。為實現(xiàn)互斥,可以采用軟件方法(如Peterson算法),但更常用的是操作系統(tǒng)提供的同步機制:*鎖機制:如互斥鎖(Mutex),提供`acquire()`和`release()`操作,確保只有獲得鎖的進程才能進入臨界區(qū)。*信號量(Semaphore):是一個整數(shù)變量,只能通過`P()`(wait,申請資源,值減1,若為負則阻塞)和`V()`(signal,釋放資源,值加1,若有進程阻塞則喚醒一個)原語操作。信號量可用于實現(xiàn)互斥(二值信號量)和同步(計數(shù)信號量)。*管程(Monitor):一種高級同步機制,將共享數(shù)據(jù)和對共享數(shù)據(jù)的操作封裝起來,確保每次只有一個進程能進入管程執(zhí)行其中的操作。管程內(nèi)部可以設(shè)置條件變量,用于進程間的等待和喚醒(`wait()`和`signal()`操作)。經(jīng)典的進程同步問題包括生產(chǎn)者-消費者問題、讀者-寫者問題、哲學(xué)家進餐問題等,理解這些問題有助于深入掌握同步機制的應(yīng)用。進程通信進程是資源分配的基本單位,不同進程擁有各自獨立的地址空間。為了協(xié)同工作,進程間需要交換信息,這就是進程通信(IPC)。常見的IPC機制有:*共享內(nèi)存:進程通過共享一塊內(nèi)存區(qū)域來交換數(shù)據(jù),速度快,但需要同步機制來保證數(shù)據(jù)一致性。*消息傳遞:進程通過發(fā)送和接收消息進行通信,分為直接通信(直接指明接收方)和間接通信(通過信箱或端口)。操作系統(tǒng)負責(zé)消息的復(fù)制和傳遞,開銷相對較大,但更安全和靈活。*管道:一種半雙工的通信方式,用于連接兩個父子進程或兄弟進程。數(shù)據(jù)在管道中單向流動。常見的有匿名管道和命名管道。*信號:一種異步通信機制,用于通知進程某個事件的發(fā)生(如用戶按下Ctrl+C產(chǎn)生SIGINT信號)。進程可以捕獲、忽略或執(zhí)行默認(rèn)處理。線程為了進一步提高并發(fā)度和減少進程切換的開銷,引入了線程(Thread)。線程是進程內(nèi)的一個執(zhí)行單元,是CPU調(diào)度的基本單位。一個進程可以包含多個線程,它們共享該進程的地址空間和大部分資源(如文件描述符、信號處理等),但每個線程有自己的程序計數(shù)器、寄存器集合和堆棧。線程的引入使得:*并發(fā)粒度更細:一個進程內(nèi)的多個線程可以并發(fā)執(zhí)行。*切換開銷更?。壕€程切換只需保存和恢復(fù)少量寄存器信息,無需切換地址空間。*通信更高效:同一進程內(nèi)的線程共享內(nèi)存,通信方便。線程的實現(xiàn)方式有用戶級線程(ULT)和內(nèi)核級線程(KLT),以及兩者的組合(如輕量級進程LWP)。現(xiàn)代操作系統(tǒng)大多支持內(nèi)核級線程或混合實現(xiàn)。內(nèi)存管理:高效利用的藝術(shù)內(nèi)存是計算機系統(tǒng)中的關(guān)鍵資源,內(nèi)存管理負責(zé)計算機內(nèi)存的分配、回收、保護和擴展,其目標(biāo)是提高內(nèi)存利用率,方便用戶使用,并能從邏輯上擴充內(nèi)存。地址空間與地址重定位物理地址是內(nèi)存單元的實際地址。邏輯地址(虛擬地址)是程序中使用的地址,由編譯程序生成。為了使程序能夠正確加載到內(nèi)存中執(zhí)行,需要將邏輯地址轉(zhuǎn)換為物理地址,這個過程稱為地址重定位。重定位方式有:*靜態(tài)重定位:程序裝入內(nèi)存時,由裝入程序一次性完成所有邏輯地址到物理地址的轉(zhuǎn)換,之后不再改變。*動態(tài)重定位:在程序執(zhí)行過程中,每當(dāng)訪問內(nèi)存時,通過硬件(如重定位寄存器)將邏輯地址轉(zhuǎn)換為物理地址。這種方式允許程序在內(nèi)存中移動。連續(xù)內(nèi)存分配早期的內(nèi)存管理采用連續(xù)分配方式,即一個進程的程序和數(shù)據(jù)被裝入一個連續(xù)的內(nèi)存區(qū)域。*單一連續(xù)分配:內(nèi)存分為系統(tǒng)區(qū)和用戶區(qū),用戶區(qū)只裝入一個用戶進程。簡單但內(nèi)存利用率低。*分區(qū)分配:*固定分區(qū):將用戶內(nèi)存空間劃分為若干個固定大小的區(qū)域,每個區(qū)域裝入一個進程。分區(qū)大小可相等或不等,但一旦劃分好就不再改變。*動態(tài)分區(qū):根據(jù)進程的實際需求,動態(tài)地為其分配連續(xù)的內(nèi)存空間。分配算法有首次適應(yīng)(FF)、最佳適應(yīng)(BF)、最壞適應(yīng)(WF)等。動態(tài)分區(qū)會產(chǎn)生外部碎片(內(nèi)存中零散的、無法利用的小空閑區(qū))??梢酝ㄟ^緊湊(將所有進程移到內(nèi)存一端,使空閑區(qū)集中)來解決,但開銷較大。分頁存儲管理為了克服連續(xù)分配的缺點,引入了分頁存儲管理。它將進程的邏輯地址空間劃分為大小相等的頁面(Page),將物理內(nèi)存劃分為與頁面大小相等的頁框(Frame)。程序加載時,將其頁面裝入內(nèi)存中不連續(xù)的頁框,并通過頁表記錄頁面與頁框的對應(yīng)關(guān)系。地址轉(zhuǎn)換過程:邏輯地址分為頁號和頁內(nèi)偏移量。頁號作為索引查找頁表,得到對應(yīng)的頁框號,頁框號與頁內(nèi)偏移量拼接形成物理地址。為了提高地址轉(zhuǎn)換速度,通常會使用快表(TLB),這是一種高速緩沖存儲器,存放當(dāng)前最常用的頁表項。訪問內(nèi)存時,先查TLB,若命中則直接得到頁框號;若未命中再查內(nèi)存中的頁表。分頁系統(tǒng)可以有效解決外部碎片問題,但會產(chǎn)生內(nèi)部碎片(一個頁面最后未被完全利用的部分),其大小不超過一個頁面。分段存儲管理分段是為了滿足用戶在編程和使用上的需求(如模塊化編程、保護、共享等)。它將進程的邏輯地址空間按程序的自然邏輯單位(如主程序段、子程序段、數(shù)據(jù)段、堆棧段等)劃分為若干個大小不等的段(Segment)。每個段有自己的段名和段號,在內(nèi)存中占據(jù)一個連續(xù)的存儲區(qū)。系統(tǒng)為每個進程建立一張段表,記錄段號、段的基址(段在內(nèi)存中的起始地址)和段長。邏輯地址由段號和段內(nèi)偏移量組成。地址轉(zhuǎn)換時,根據(jù)段號查找段表,檢查段內(nèi)偏移量是否越界,若合法,則將段基址與段內(nèi)偏移量相加得到物理地址。分段與分頁的主要區(qū)別在于:頁是物理單位(大小固定,由系統(tǒng)決定),段是邏輯單位(大小不固定,由用戶程序決定);分頁是為了提高內(nèi)存利用率,分段是為了滿足用戶需求。虛擬內(nèi)存管理虛擬內(nèi)存技術(shù)允許將一個進程的部分內(nèi)容裝入內(nèi)存即可運行,從而從邏輯上擴充了內(nèi)存容量。其實現(xiàn)基于程序執(zhí)行的局部性原理——在一個較短的時間內(nèi),程序的執(zhí)行往往局限于其地址空間的某個部分。虛擬內(nèi)存的主要優(yōu)點是:*程序不再受內(nèi)存容量限制:可以運行比物理內(nèi)存大的程序。*提高內(nèi)存利用率:只裝入當(dāng)前需要的頁面/段。*進程隔離與保護:每個進程擁有獨立的虛擬地址空間。實現(xiàn)虛擬內(nèi)存的技術(shù)主要有請求分頁和請求分段,以及兩者的結(jié)合。以請求分頁為例:*程序運行前,只將部分頁面裝入內(nèi)存,其余頁面放在外存(如硬盤)的交換區(qū)。*執(zhí)行過程中,若訪問的頁面不在內(nèi)存,則產(chǎn)生缺頁中斷。*操作系統(tǒng)處理缺頁中斷:選擇內(nèi)存中一個頁面換出到外存(根據(jù)頁面置換算法),將所需頁面從外存調(diào)入內(nèi)存,并更新頁表。頁面置換算法是虛擬內(nèi)存管理的核心,其目標(biāo)是盡可能減少缺頁率。常見的頁面置換算法有:*最佳置換算法(OPT):選擇未來最長時間內(nèi)不再被訪問的頁面淘汰。理論最優(yōu),但無法實現(xiàn)(需要預(yù)知未來)。*先進先出置換算法(FIFO):選擇最早進入內(nèi)存的頁面淘汰。簡單,但可能出現(xiàn)“Belady異?!保ǚ峙涓囗摽驎r缺頁率反而增加)。*最近最久未使用置換算法(LRU):選擇最近一段時間內(nèi)最久未被訪問的頁面淘汰。性能接近OPT,但實現(xiàn)開銷較大(需要記錄頁面訪問順序)。*時鐘置換算法(CLOCK):LRU的近似實現(xiàn),使用一個訪問位,通過循環(huán)檢查頁面的訪問位來選擇淘汰頁面,開銷較小。抖動(Thrashing)是虛擬內(nèi)存系統(tǒng)中一個嚴(yán)重的問題,指頁面頻繁地換入換出,導(dǎo)致系統(tǒng)效率急劇下降。其主要原因是給進程分配的物理頁框過少,導(dǎo)致缺頁率過高??梢酝ㄟ^工作集模型等方法來預(yù)防抖動。文件系統(tǒng):數(shù)據(jù)的管家文件系統(tǒng)是操作系統(tǒng)中負責(zé)管理和存儲文件信息的軟件模塊和數(shù)據(jù)結(jié)構(gòu)的集合,它為用戶提供了一種簡便、統(tǒng)一的訪問存儲設(shè)備的方式。文件的概念與屬性文件是具有符號名的、在邏輯上具有完整意義的信息項的集合。文件具有以下基本屬性:文件名、標(biāo)識符(inode號或類似)、類型、位置、大小、保護信息(訪問權(quán)限)、時間信息(創(chuàng)建、修改、訪問時間)等。文件可以按多種方式分類,如按用途(可執(zhí)行文件、源文件、數(shù)據(jù)文件)、按訪問權(quán)限(只讀、讀寫、可執(zhí)行)、按文件中數(shù)據(jù)的組織形式(文本文件、二進制文件)等。文件的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)文件的邏輯結(jié)構(gòu)是用戶所看到的文件的組織形式,分為:*無結(jié)構(gòu)文件(流式文件):由字符流組成,如文本文件。*有結(jié)構(gòu)文件(記錄式文件):由若干邏輯記錄組成,如數(shù)據(jù)庫文件。根據(jù)記錄的組織方式,又可分為順序文件、索引文件、索引順序文件等。文件的物理結(jié)構(gòu)(文件的存儲結(jié)構(gòu))是文件在外存上的實際存儲方式,直接影響文件的存取速度和存儲空間的利用率。常見的物理結(jié)構(gòu)有:*連續(xù)分配:文件的所有數(shù)據(jù)塊連續(xù)存放在外存的連續(xù)區(qū)域。優(yōu)點是順序訪問速度快;缺點是不利于文件動態(tài)增長,會產(chǎn)生外部碎片。*索引分配:為每個文件創(chuàng)建一個索引塊,索引塊中記錄了文件所有數(shù)據(jù)塊的地址。訪問文件時,先查找索引塊,再根據(jù)索引塊中的地址訪問數(shù)據(jù)塊。優(yōu)點是支持隨機訪問,文件易于增長;缺點是需要額外空間存儲索引塊。當(dāng)文件很大時,可能需要多級索引或混合索引(如Unix的inode結(jié)構(gòu))。目錄結(jié)構(gòu)為了便于管理和檢索文件,文件系統(tǒng)使用目錄(文件夾)來組織文件。目錄本身也是一種文件(目錄文件)。常見的目錄結(jié)構(gòu)有:*單級目錄結(jié)構(gòu):
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉庫進品查驗制度
- 人事行政制度
- 教育培訓(xùn)合同(課程輔導(dǎo)服務(wù))2025年注意事項
- 職業(yè)性傳染病防控中的醫(yī)防融合模式
- XX中學(xué)2026年春季學(xué)期初二年級化學(xué)教學(xué)重點規(guī)劃
- 農(nóng)業(yè)智能設(shè)備運維服務(wù)手冊
- 未來的學(xué)校小學(xué)作文200字11篇
- 情感抒發(fā)寫給母親的一封信15篇
- 項目管理流程規(guī)范文檔風(fēng)險識別與評估框架
- 婚戀家庭幸福保障責(zé)任承諾書7篇范文
- 2026年高級人工智能訓(xùn)練師(三級)理論考試題庫(附答案)
- 2026北京印鈔有限公司招聘26人筆試備考試題及答案解析
- 2026山西杏花村汾酒集團有限責(zé)任公司生產(chǎn)一線技術(shù)工人招聘220人筆試參考題庫及答案解析
- 百師聯(lián)盟2025-2026學(xué)年高三上學(xué)期1月期末考試俄語試題含答案
- 2026年湖北中煙工業(yè)有限責(zé)任公司招聘169人筆試參考題庫及答案解析
- 2026年六年級寒假體育作業(yè)(1月31日-3月1日)
- 干部培訓(xùn)行業(yè)現(xiàn)狀分析報告
- DL∕T 1917-2018 電力用戶業(yè)擴報裝技術(shù)規(guī)范
- 精準(zhǔn)定位式漏水檢測方案
- 2023氣管插管意外拔管的不良事件分析及改進措施
- 2023自動啟閉噴水滅火系統(tǒng)技術(shù)規(guī)程
評論
0/150
提交評論