學習記錄8

①存儲器的層次結構  
一、多層結構的存儲器系統  
CPU寄存器;  
高速緩存Cache、主存儲器RAM、磁盤緩存;  
固定磁盤、可移動存儲介質  
二、可執行存儲器  
就是CPU寄存器和主存.訪問很快  
  
二、主存儲器與寄存器  
(一)主存儲器  
又叫主存or內存.相比CPU執行速度.它還是很慢.所以引入寄存器和高速緩存  
(二)寄存器  
完全與CPU協同工作.但好貴  
  
三、高速緩存和磁盤緩存  
(一)高速緩存  
備份主存中較常用的數據.以減少CPU對主存儲器的訪問次數  
(二)磁盤緩存  
因爲磁盤I/O速度遠低於主存訪問速度.所以設置磁盤緩存來暫存頻繁使用的一部分磁盤數據和信息  
  
②程序的裝入和鏈接  
用戶程序要在OS中運行.要先裝入內存.再轉換爲一個可執行程序:編譯、鏈接、裝入  
一、程序的裝入  
(一)絕對裝入方式  
當OS很小.且僅能運行單道程序時.完全有可能知道程序駐留在內存的位置.那麼就可以產生絕對地址的目標代碼  
(二)可重定位裝入方式(靜態重定位)  
多道程序下.邏輯地址和物理地址不同.要加上起始地址.但只在進程裝入時一次完成.故稱爲靜態重定位.可裝到內存任何允許位置  
(三)動態運行時的裝入方式  
需要重定位寄存器  
  
二、程序的鏈接  
(一)靜態鏈接方式  
要解決:對相對地址進行修改(子程序的相對地址)、變換外部調用符號(生成可執行文件後不再拆開.又叫靜態鏈接方式)  
(二)裝入時動態鏈接  
便於修改和更新(各模塊分開存放)、便於實現對目標模塊的共享(靜態每個應用模塊必有目標模塊的拷貝.無法共享.但動態可以一個目標鏈接多個應用模塊)  
(三)運行時動態鏈接  
運行時發現沒有.就由OS去找這個模塊內功加快程序裝入過程和節約大量內存空間  
  
③連續分配存儲管理方式  
一、單一連續分配  
分系統區和用戶區.單用戶.單任務操作系統  
  
二、固定分區分配  
劃分分區的方法:大小相等(一臺計算機控制多臺相同冶煉爐)和大小不等  
內存分配:通常按大小排隊.建立分區使用表.如果找不到大小足夠的分區.就拒絕分配內存  
  
三、動態分區分配  
動態分區分配中的數據結構  
動態分區分配算法:之後介紹4種分配算法和3中索引搜索算法  
分區分配操作:分配內存、回收內存  
  
四、基於順序搜索的動態分區分配算法  
首次適應算法、循環首次適應算法、最佳適應算法、最壞適應算法  
  
五、基於索引搜索的動態分區分配算法  
快速適應算法、夥伴系統、哈希算法  
  
六、動態可重定位分區分配  
緊湊、動態重定位、動態重定位分區分配算法  
  
④對換  
一、多道程序環境下的對換技術  
(一)對換的引入  
避免內存全部被阻塞.外存卻有很多作業無法進入內存  
(二)對換的類型  
整體對換、頁面對換  
  
二、對換空間的管理  
(一)對換空間管理的主要目標  
文件區管理主要目標:提高文件存儲空間的利用率.提高對文件的訪問速度  
對換空間管理的主要目標:提高換入換出的速度  
(二)對換區空閒盤塊管理中的數據結構  
與內存的相似  
(三)對換空間的分配與回收  
與內存分配和回收雷同  
  
三、進程的換出與換入  
(一)進程的換出  
選擇被換出的進程  
進程換出過程  
(二)進程的換入  
如果發現許多進程運行時缺頁且內存緊張.才啓動對換程序.將部分進程調至外存  
如果缺頁率明顯減少.系統吞吐量已下降.則可以暫停運行對換程序  
  
⑤分頁存儲管理方式  
其實分三種:分頁、分段、段頁式  
一、分頁存儲管理的基本方法  
(一)頁面和物理塊  
頁面:頁號  
頁面大小:太小.進程佔用較多頁面、太多.碎片多、適中.1kB~8kB  
(二)地址結構  
頁號:P  
頁內地址(偏移量):d  
兩個都有公式計算  
(三)頁表  
從頁號到物理塊號的映射  
  
二、地址變換機構  
(一)基本的地址變換機構  
如果發現頁號≥頁表長度.就引發越界中斷;否則頁表始址+頁號*頁表項長度=物理塊號  
(二)具有快表的地址變換機構  
有個快表在高速緩存  
  
三、訪問內存的有效時間  
EAT = t +t = 2t  
EAT = a*λ+(t+λ)(1-a)+t = 2t+ λ - t* a  
  
四、兩級和多級頁表  
(一)兩級頁表  
(二)多級頁表  
  
五、反置頁表  
(一)反置頁表的引入  
(二)地址變換  
  
⑥分段存儲管理方式  
一、分段存儲管理的基本方法  
(一)方便編程  
邏輯地址是由段名(段號)和段內偏移量(段內地址)決定的  
(二)信息共享  
段是信息的邏輯單位.簡化共享過程  
(三)信息保護  
就是可以加個標識.不允許讀寫  
(四)動態增長  
可以解決這個問題  
(五)動態鏈接  
4.2.2  
  
二、分段系統的基本原理  
(一)分段  
每個段有一個段號  
(二)段表  
實現從邏輯段到物理內存區的映射  
(三)地址變換機構  
段表項數目比頁表項數目少.其所需的聯想存儲器相對較少.減少存取數據的時間  
(四)分頁和分段的主要區別  
頁是信息的物理單位.分頁是系統管理上的需要  
while 段是存儲管理方式中的邏輯單位.分段目的在於更好滿足用戶的需要  
頁大小固定.段大小不固定  
分頁的用戶程序地址是一維的.分段是二維的  
  
三、信息共享  
(一)分頁系統中對程序和數據的共享  
每個進程都有頁表.也都指向相同的物理塊號  
(二)分段系統中的程序和數據的共享  
可重入代碼是一種不允許任何進程對它進行修改的代碼  
配以局部數據區.把執行中可能改變的部分拷貝到該數據區.這樣執行時只需對該數據區中的內容修改即可  
  
四、段頁式存儲管理方式  
分段→分頁.每段一個段名  
段號.比較.加法算段表段號→得到頁號.(比較).加法算頁表頁號→得到物理塊號.加頁內地址→得物理地址  
  
第五章 虛擬存儲器  
出現問題:作業很大、大量作業要求運行  
①虛擬存儲器概述  
一、常規存儲管理方式的特徵和局部性原理  
(一)常規存儲管理方式的特徵  
傳統:一次性、駐留性  
(二)局部性原理  
絕大部分順序執行、調用進度不超過5、循環結構由少數指令構成.但多次執行、多對數據結構的處理.這些處理侷限於很小的部分  
時間、空間侷限性  
(三)虛擬存儲器的基本工作情況  
將少數頁面或段先裝入內存即可運行  
  
二、虛擬存儲器的定義和特徵  
(一)虛擬存儲器的定義  
有請求調入功能和置換功能.能邏輯上對內存內容加以擴充的一種存儲器系統  
(二)虛擬存儲器的特徵  
多次性、對換性、虛擬性  
  
三、虛擬存儲器的實現方式  
(一)分頁請求系統  
硬件支持:請求分頁的頁表機制、缺頁中斷機制、地址變換機制  
實現請求分頁的軟件  
(二)請求分段系統  
硬件支持:請求分段的段表機制、缺段中斷機構、地址變換機構  
軟件支持  
  
②請求分頁存儲管理方式  
一、請求分頁中的硬件支持  
(一)請求頁表機制  
(二)缺頁中斷機構  
(三)地址變換機構  
  
二、請求分頁中的內存分配  
(一)最小物理塊數的確定  
(二)內存分配策略  
策略:固定分配局部置換、可變分配全局置換、可變分配局部置換  
(三)物理塊分配算法  
算法:平均分配算法、按比例分配算法、考慮優先權的分配算法  
  
三、頁面調入策略  
(一)何時調入頁面  
預調頁策略:手動指出哪些頁要調入內存、成功率偏低  
請求調頁策略:一次調入一頁.須較大系統開銷  
  
(二)從何處調入頁面  
系統擁有足夠的對換區空間:進程進行前就把進程相關的文件拷貝到對換區  
系統缺少足夠的對換區空間:未修改過的不到對換區.以後要用再從文件區調入  
UNIX方式:從文件區入.出到對換區、允許頁面共享  
  
(三)頁面調入過程  
???  
(四)缺頁率  
???  
  
③頁面置換算法  
抖動:一個進程在運行中把大部分時間都花費在頁面置換工作上   
一、最佳置換算法和先進先出置換算法  
(一)最佳置換算法  
要知道未來需要哪頁.實際上不可能  
(二)先進先出頁面置換算法  
剔走最老的頁  
  
二、最近最久未使用和最少使用置換算法  
(一)最近最久未使用  
看最近的n個,最老的踢走  
(二)LRU置換算法的硬件支持  
寄存器: 8位寄存器.R7~R0.R值最小的頁被踢出  
棧:最新訪問的是棧頂  
(三)最少使用置換算法  
現實使用這個多.一旦訪問就在最高位置一  
  
三、Clock置換算法  
(一)簡單的CLOCK置換算法  
也叫最近未使用算法.就是有個訪問位,1→0→換出  
(二)改進型CLOCK置換算法  
四類:A M = 0 0 ~ 1 1  
第一步:先找 0 0  
第二步:再找 0 1,並置所有頁0 X  
第三步:再找0 0,最後找0 1,一定找到  
優點:減少I/O  
缺點:增加系統開銷  
  
四、頁面緩衝算法  
(一)影響頁面換進換出效率的若干因素  
頁面置換算法、寫回磁盤的頻率、讀入內存的頻率  
(二)頁面緩衝算法PBA  
顯著降低頁面換進、換出頻率,減少頁面換進換出的開銷  
換入換出的開銷大幅減少,才能使用簡單的置換策略,如FIFO  
要在內存中設置:空閒頁面鏈表、修改頁面鏈表  
  
五、訪問內存的有效時間  
如果考慮快表的命中率和缺頁率:EAT = .......  
如果僅考慮缺頁率:EAT =   
  
④“抖動”與工作集  
一、多道程序度與“抖動”  
(一)現象  
先增後減  
(二)原因  
進程太多,物理塊不夠分  
  
二、工作集  
(一)工作集的基本概念  
如果可以預知,就可以先調入內存,大大降低缺頁率,從而顯著提高處理機利用率  
(二)工作集的定義  
引用的集合,類似FIFO  
  
三、“抖動”的預防方法  
(一)採取局部置換策略  
“抖動”影響較小  
(二)把工作集算法融入到處理機調度中  
每個進程在內存的駐留頁面是否足夠多,如果是就調入新作業、否則增加新物理塊  
(三)利用L=S準則調節缺頁率  
缺頁之間的平均時間= 平均缺頁服務時間  
(四)選擇暫停的進程  
先暫停優先級最低的進程、在選擇並不重要,但較大的進程  
  
⑤請求分段存儲管理方式  
其實也類似於分頁,要硬件和軟件支持  
一、請求分段中的硬件支持  
(一)請求段表機制  
段表項:段名、段長、段基址、存取方式、訪問字段A、修改位M、存在位P、增補位、外存始址  
A、M:改進型CLOCK置換算法  
P:本段是否調入內存  
增補位:看是否做過動態增長  
(二)缺段中斷機制 (圖5-12)  
萬一虛段S不在內存中,就阻塞請求進程。如果沒有空閒區,就要拼接空閒區或者淘汰實段以形成空閒區  
之後讀入段S,修改段表及內存空區鏈  
(三)地址變換機構  
就是一個地址變換機構  
  
二、分段的共享和保護  
(一)共享段表  
共享進程計數count、存取控制字段、段號  
(二)共享段的分配與回收  
共享段的分配、共享段的回收  
(三)分段保護  
越界檢查、存取控制檢查、環保護機構  
  
第六章 輸入輸出系統  
①I/O系統的功能、模型和接口  
一、I/O系統的基本功能  
(一)隱藏物理設備的細節  
(二)與設備的無關性  
自動安裝並尋找驅動程序,即插即用  
(三)提高處理機和I/O設備的利用率  
讓處理機和I/O設備並行操作  
(四)對I/O設備進行控制  
這是驅動程序的功能  
(五)確保對設備的正確共享  
獨佔設備:打印機、磁帶機  
共享設備:磁盤  
(六)錯誤處理  
低級能夠解決就不向高級報告,請求高級軟件解決  
  
二、I/O系統的層次結構和模型  
(一)I/O軟件的層次結構  
用戶層I/O軟件  
設備獨立性軟件:映射、保護、分塊、緩衝、分配  
設備驅動程序:設置設備寄存器、檢查狀態  
中斷處理程序  
(二)I/O系統中各種模塊之間的層次視圖  
I/O系統上下接口(圖6-2)  
I/O系統的分層:中斷處理程序→設備驅動程序→設備獨立性軟件  
  
三、I/O系統接口  
(一)塊設備接口  
塊設備、隱藏磁盤二維結構、抽象命令映射爲低層操作  
(二)流設備接口(Unix的)  
字符設備:效率低、不可尋址  
get和put操作:有緩衝區  
in-control指令:互斥方式實現共享  
(三)網絡通信接口  
  
②I/O設備和設備控制器  
一、I/O設備  
(一)I/O設備的類型  
按使用特性:存儲設備、I/O設備(輸入輸出交互的)  
按傳輸速率:低速、中速、高速  
(二)設備與控制器之間的接口  
接口:數據信號線、控制信號線、狀態信號線  
  
二、設備控制器  
(一)設備控制器的基本功能  
接收和識別命令、數據交換、標識和報告設備的狀態、數據緩衝區、差錯控制  
(二)設備控制器的組成  
設備控制器與處理機的接口、設備控制器與設備的接口、I/O邏輯  
  
三、內存映像I/O  
(一)利用特定的I/O指令  
缺點:訪問內存和訪問設備要兩種不同的指令  
(二)內存映像I/O  
就是k爲界限,0≤k≤n-1,就是內存地址;k≥n,就是寄存器地址。統一了對內存和對控制器的訪問方法  
  
四、I/O通道  
(一)I/O通道設備的引入  
這是一種特殊的處理機,但只侷限於I/O相關的指令、而且沒有自己的內存  
(二)通道類型  
字節多路通道:一個大水喉,多條小水管;一個換頭快,一個速率慢  
數組選擇通道:利用率低  
數組多路通道:甚至可以並行操作  
(三)“瓶頸”問題  
增加通路即可解決  
  
③中斷機構和中斷處理程序  
一、中斷簡介  
(一)中斷和陷入  
中斷:由外部設備引起,暫停當前程序,執行中斷處理程序  
陷入:CPU內部事件引起的,多是出錯故障  
(二)中斷向量表和中斷優先級  
中斷向量表:asm有學  
中斷優先級:現實中有多箇中斷信號源,要規定不同優先級  
(三)對多中斷源的處理方式  
屏蔽中斷:順序執行。優點簡單;缺點無視實時中斷請求  
嵌套中斷:有個優先級  
  
二、中斷處理程序  
測定是否有未響應中斷信號;  
保護被中斷進程的CPU環境;  
轉入相應設備處理程序;  
中斷處理;  
恢復CPU現場並退出中斷  
  
④設備驅動程序
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章