【正文】
進程同時在臨界區(qū)。 // noop S。一個管程的程序在運行一個線程前會先獲取互斥鎖,直到完成線程或是線程等待某個條件被滿足才會放棄互斥鎖。死鎖的避免每當(dāng)進程申請資源時,都根據(jù)一定的算法判斷是否安全安全狀態(tài):當(dāng)多個進程動態(tài)申請資源時,系統(tǒng)按某一順序逐次地為每個進程分配所需資源,使每個進程都可以在最終得到最大需求量后依次順利完成。分頁定義A memorymanagement scheme that permits the physical address space of fitting memory to be noncontiguous.分頁原理:l 將物理內(nèi)存分割為等份,叫做物理塊(frame),大小一般為2的次方l 將邏輯地址分割為等份,叫做頁(page),大小與frame相等l 建立page與frame的關(guān)系映射,叫做頁表(page table),頁表在內(nèi)存里。作用:從邏輯上擴充內(nèi)存空間,從而使整個系統(tǒng)資源利用率提高.整體對換:以進程為單位,進程對換部分對換:頁面對換,分段對換碎片(fragmentation)內(nèi)部碎片(internal fragmentation):已被分配出去的內(nèi)存空間大于請求所需的空間外部碎片(external fragmentation):還沒有被分配出去但由于太小而無法分配給新進程的空閑塊分區(qū)的保護:(1)界地址寄存器一對界地址寄存器存放分區(qū)的上、下界地址,物理地址需滿足如下關(guān)系:上界地址寄存器內(nèi)容= 物理地址 =下界地址寄存器內(nèi)容(2)基址—限長寄存器(base register and limit register):這兩個寄存器只有os才可以修改 基址寄存器: 分區(qū)的首址 限長寄存器: 作業(yè)地址空間的長度物理地址 – 基址寄存器內(nèi)容 = 限長寄存器內(nèi)容(3)分頁管理中在頁表中的每一項設(shè)置保護位CHAPTER 9 VIRTUAL MEMORY虛擬內(nèi)存(virtual memory)具有請求調(diào)入功能和置換功能、能從邏輯上對內(nèi)存容量加以擴充的存儲器系統(tǒng)稱為虛擬存儲器Virtual memory is a technique that allows the execution of processes that may not be pletely in memory.Virtual memory is the separation of user logical memory from physical memory.請求分頁(demand paging)定義:基本分頁的基礎(chǔ)上增加請求調(diào)頁功能 和頁面置換功能。CHAPTER 10 FILESYSTEM INTERFACE文件定義具有文件名的一組相關(guān)信息的集合。文件的物理結(jié)構(gòu)(文件在磁盤上的分配方式)l 連續(xù)分配Contiguous allocation方法:每個文件在磁盤上占據(jù)一片連續(xù)的blocks優(yōu)點:簡單、順序訪問速度快、支持隨機存取缺點:外碎片、空間利用率低、不利于文件的動態(tài)增長l 鏈接分配Linked allocationa) 隱式鏈接:一個文件的信息存放在若干不連續(xù)的物理塊中,各塊之間通過指針連接,前一個物理塊指向下一個物理塊消除了外碎片、允許作業(yè)動態(tài)增長;可靠性差、只適于順序訪問b) 顯式鏈接:文件分配表FAT(整個磁盤只有一張)儲存了鏈接的關(guān)系不支持高效的隨機存取,F(xiàn)AT表占用空間l 索引分配Indexed allocation每個文件建立一張索引表,指出分配給該文件的所有物理塊號支持高效隨機存取、消除了外碎片、允許文件動態(tài)增長;但索引表占用較多空間文件存儲空間的管理(freespace management)l 空閑表法(counting):適用于連續(xù)分配。l 提高CPU和I/O設(shè)備之間的并行性從而提高系統(tǒng)的吞吐量和設(shè)備的利用率設(shè)備分配按一定的策略分配設(shè)備、控制器和通道數(shù)據(jù)結(jié)構(gòu):系統(tǒng)設(shè)備表(SDT)、設(shè)備控制表(DCT)、控制器控制表(COCT)、通道控制表(CHCT)。當(dāng)系統(tǒng)中有多臺該類設(shè)備時,系統(tǒng)可將其中的任何一臺分配給請求進程,而不必局限于某一臺指定的設(shè)備。打印完成后,再處理打印隊列中的下一個請求表,直到打印隊列空。能干的人,不在情緒上計較,只在做事上認真;無能的人!不在做事上認真,只在情緒上計較。至此,用戶進程覺得它的打印過程已經(jīng)完成,而不必等待真正的慢速的打印過程的完成。為什么要引入設(shè)備獨立性?如何實現(xiàn)設(shè)備獨立性?答:引入設(shè)備獨立性可使應(yīng)用程序獨立于具體的物理設(shè)備。調(diào)度算法FCFS、SSTF、SCAN、CSCAN、LOOK、CLOOK提高磁盤I/O速度的方法磁盤高速緩存:在內(nèi)存中設(shè)置緩沖區(qū);提前讀;延遲寫;優(yōu)化物理塊布局;虛擬盤(RAM)盤CHAPTER 13 I/O SYSTEMI/O控制方式l 程序I/O方式 (Polling)l 中斷驅(qū)動方式l DMA方式l 通道方式引入緩沖區(qū)原因l 緩和CPU和I/O設(shè)備速度不匹配的矛盾。組成部分A collection of files: storing related dataA directory structure: organizing and providing information about all the files in the sytemFCB(filecontrol block)文件控制表:與文件一一對應(yīng)。預(yù)調(diào)頁(prepaging):當(dāng)一個新進程開始進入內(nèi)存時,會發(fā)生很多缺頁中斷。快表很小,訪問很快,造價高。對每個程序來說,這種地址變換只是在裝入時一次完成,在程序運行期間不再進行重定位。(1)資源的靜態(tài)分配方法:進程運行前一次性申請全部資源,破壞請求和保持條件.(2)資源的順序分配法:系統(tǒng)的全部資源進行編號,只允許按編號順序遞增地申請,破除環(huán)路待。 // think}管程(Monitor)的定義:一個管程定義了一個數(shù)據(jù)結(jié)構(gòu)和能為并發(fā)進程調(diào)用的在該數(shù)據(jù)結(jié)構(gòu)上的一組操作過程,這組互斥操作的過程,能同步進程和改變管程中的數(shù)據(jù)。信號量(Semaphore)與PV操作信號量:A Semaphore is a special integer variable, it can be accessed only through two standard atomic operations。 // end of critical section(3) 程序分析滿足互斥:如果兩個進程都在臨界區(qū),則FLAG[i]=FLAG[j]=1。 while (flag[1] == true amp。用戶級線程和內(nèi)核支持線程:(1)用戶線程(user thread):存在于用戶空間中,其創(chuàng)建、撤消和切換都不需系統(tǒng)支持。(2)一個進程可以執(zhí)行一個或幾個程序,同一個程序也可能由幾個進程同時執(zhí)行。微內(nèi)核提供給客戶程序與運行在用戶空間的各種服務(wù)提供通信(munication).MACHCHAPTER 3引入進程原因在多道程序設(shè)計的環(huán)境下,程序是并發(fā)執(zhí)行的,它破壞了程序的封閉性和可再現(xiàn)性,使得程