贊同,喜歡,關註可以交換PDF,MD的文件哦~
有問題歡迎指正!
目前公認的第一臺電子數字計算機是 ENIAC(Electronic Numerical Integrator And Computer)。
(ENIAC的計算速度是每秒5000次加法或300多次乘法。(不重要))
根據計算機本身采用的物理器件不同,將其發展分為4個階段。
階段 | 時間 |
---|---|
電子管計算機時代 | 1946年到20世紀50年代後期 |
晶體管計算機時代 | 20世紀50年代後期到20世紀60年代中期 |
中小規模集成電路計算機時代 | 20世紀60年代中期到20世紀70年代初期 |
大規模和超大規模集成電路計算機時代 | 20世紀70年代初期至今 |
ENIAC 的後繼優化。
以美籍匈牙利數學傢馮·諾依曼(John von Neumann)為首的研制小組於1946年提出瞭“存儲程序控制”的思想,並開始研制存儲程序控制的計算機EDVAC(Electronic Discrete Variable Automatic Computer)。
1951年,EDVAC問世。
EDVAC的主要特點如下。
直到今天,計算機基本結構的設計仍采用馮·諾依曼提出的思想和原理,人們把符合這種設計的計算機稱為“馮·諾依曼機”。馮·諾依曼也被譽為“現代電子計算機之父”。
計算機系統由硬件系統和軟件系統兩大部分組成,如圖所示
vXo35T.png
硬件系統是由借助電、磁、光、機械等原理構成的各種物理部件的有機組合,是計算機系統賴以工作的實體。硬件系統也被稱為裸機,裸機隻能識別由0和1組成的機器代碼。
軟件系統是為運行、管理及維護計算機而編制的各種程序、數據及文檔的總稱。軟件是計算機的核心,沒有軟件的計算機毫無實用意義。軟件是用戶與硬件之間的接口,用戶可以通過軟件使用計算機硬件上的數據信息資源。
計算機硬件系統主要包含中央處理器、存儲器、其他外部設備。它們之間通過總線連接在一起。
(存儲器包括,主存儲器,高速緩沖存儲器及輔助存儲器)
計算機的運算和控制核心,“大腦”。
功能:主要是解釋計算機指令和處理軟件中的數據。
CPU 主要包括運算器和控制器兩個部件。它們都包含寄存器,並通過總線連接起來。
CPU 主要技術性能指標: 字長、主頻、運算速度。
存儲器是存儲程序和數據的部件,它可以自動完成程序或數據的存取。
(1)存儲器的分類。
(2)主存儲器。
存儲器中最重要的是主存儲器,它一般采用半導體存儲器,包括RAM和ROM兩種。
①RAM。
RAM具有可讀寫性,即信息可讀、可寫,當寫入時,原來存儲的數據被擦除;具有易失性,即斷電後數據會消失,且無法恢復。RAM又分為靜態RAM和動態RAM。
DRAM目前被各類計算機廣泛使用,內存條采用的就是DRAM。
②ROM。
ROM中信息隻能讀出不能寫入,ROM具有內容永久性,斷電後信息不會丟失。
(3)高速緩沖存儲器(緩存 cache)
高速緩沖存儲器是介於CPU和內存之間的一種小容量、可高速存取信息的芯片,用於解決它們之間速度不匹配的問題。高速緩沖存儲器一般用速度高的SRAM元件組成,其速度與CPU相當,但價格較高。
(4)輔助存儲器。
輔助存儲器的容量一般都比較大,而且大部分可以移動,便於不同計算機之間進行信息交流。輔助存儲器中數據被讀入內存後,才能被CPU讀取,CPU不能直接訪問輔助存儲器。
( 速度:CPU > cache > 內存 > 硬盤 > U盤 > 光盤 ·······)
存儲器主要有3個性能指標:速度、容量和每位(bit)價格。一般來說,速度越快,價格越高;容量越大,位價格越低,容量越大,速度越慢。
(1)外部設備的分類。
計算機中CPU和主存儲器構成主機。
除主機以外,圍繞著主機設置的各種硬件裝置稱為外部設備(外設)。
外設的種類很多,應用比較廣泛的有輸入/輸出(Input/Output,I/O)設備、輔助存儲器及終端設備。
(2)硬盤。
硬盤是計算機主要的外部存儲設備。
優點:容量大、存取速度快等。
硬盤的分類
根據磁頭是否可移動,硬盤可以分為固定磁頭硬盤和活動磁頭硬盤兩類。
磁頭和磁臂是硬盤的重要組成部分,磁頭安裝在磁臂上,負責讀/寫各磁道上的數據。
固定磁頭硬盤中,每個磁道對應一個磁頭。工作時,磁頭無徑向移動,其特點是存取速度快,省去瞭磁頭尋找磁道的時間,但造價比較高。
活動磁頭硬盤中,每個盤面隻有一個磁頭,在存取數據時,磁頭在盤面上做徑向移動。由於增加瞭“尋道”時間,其存取速度比固定磁頭硬盤要慢。目前常用的硬盤都是活動磁頭的。
②硬盤的信息分佈。
因此,硬盤尋址用的磁盤地址應該由硬盤號(一臺計算機可能有多個硬盤)、記錄面(磁頭)號、圓柱面(磁道)號、扇區號等字段組成。
磁盤存儲器的主要性能指標包括存儲密度、存儲容量、平均存取時間及數據傳輸率等。
(3)I/O接口。
I/O接口(I/O控制器)用於主機和外設之間的通信,通過接口可實現主機和外設之間的信息交換。
①I/O接口的功能。
②I/O方式。
I/O方式包括程序查詢方式、程序中斷方式、直接存儲器存取(Direct Memory Access,DMA)方式及I/O通道控制方式等。
一旦某一外設被選中並啟動,主機將查詢這個外設的某些狀態位,看其是否準備就緒,若未準備就緒,主機將再次查詢;若外設已準備就緒,則執行一次I/O操作。這種方式控制簡單,但系統效率低。
在主機啟動外設後,無須等待查詢,繼續執行原來的程序。外設在做好輸入/輸出準備時,向主機發送中斷請求,主機接到請求後就暫時中止原來執行的程序,轉去執行中斷服務程序對外部請求進行處理,在中斷處理完畢後返回原來的程序繼續執行。
在內存和外設之間開辟直接的數據通道,可以進行基本上不需要CPU介入的內存和外設之間的信息傳輸,這樣不僅保證瞭CPU的高效率,也能滿足高速外設的需要。
是DMA方式的進一步發展,在系統中設有通道控制部件,每個通道有若幹外設。主機執行I/O指令啟動有關通道,通道執行通道程序,完成輸入輸出操作。通道是一種獨立於CPU的專門管理I/O的處理機制,它控制設備與內存直接進行數據交換。通道有自己的通道指令,通道指令由CPU啟動,並在操作結束時向CPU發出中斷信號。
定義:總線是一組能被多個部件分時共享的公共信息傳輸線路。
註:分時是指同一時刻總線上隻能傳輸一個部件發送的信息;共享是指總線上可以掛接多個部件,各個部件之間相互交換的信息都可以通過這組公共線路傳輸。
(1)總線的分類。
總線按功能層次可以分為3類。
(2)總線的基本結構。
從系統總線的角度出發,總線的基本結構如下。
內存總線用於CPU和內存之間傳輸地址、數據及控制信息;
I/O總線用於CPU和外設之間通信;
直接內存訪問總線用於內存和高速外設之間直接傳輸數據。
(3)總線的性能指標。
定義:一次總線操作(包括申請階段、尋址階段、傳輸階段及結束階段)所需的時間簡稱總線周期。
總線周期通常由若幹總線時鐘周期構成。
例如,總線工作頻率為33MHz,總線寬度為32位(4B),則總線帶寬為33×(32÷8)=132MB/s。
(4)總線仲裁。
為瞭保證同一時刻隻有一個申請者使用總線,總線控制機構中有總線判優和仲裁控制邏輯,即按照一定的優先次序來決定哪個部件首先使用總線,隻有獲得總線使用權的部件才能開始數據傳輸。總線判優按其仲裁控制機構的設置可分為兩種。
(5)總線操作。
在總線上的操作主要有讀和寫、塊傳輸、寫後讀或讀後寫、廣播和廣集等。
(6)總線標準。
總線標準是國際上公佈或推薦的連接各個模塊的標準,是把各種不同的模塊組成計算機系統時必須遵守的規范。
常見的系統總線標準 |
---|
工業標準體系結構(Industry Standard Architecture,ISA) |
擴展的ISA(Extended Industry Standard Architecture,EISA) |
視頻電子標準協會(Video Electronics Standards Association,VESA) |
外部設備互連(Peripheral Component Interconnect,PCI) |
加速圖形接口(Accelerated Graphics Port,AGP) |
常見的外部總線標準 |
---|
集成設備電路(Integrated Drive Electronics,IDE) |
小型計算機系統接口(Small Computer System Interface,SCSI) |
美國電子工業協會推行的串行通信總線標準(Recommended standard-232C,RS-232C) |
通用串行總線(Universal Serial Bus,USB) |
計算機在執行程序時,須將要執行的相關程序和數據先放入內存中,在執行時CPU根據當前程序指針寄存器的內容取出指令並執行,然後再取出下一條指令並執行,如此循環直到程序結束時才停止執行。
其工作過程就是不斷地取指令和執行指令,最後將計算的結果放入指令指定的存儲器地址中。
計算機工作的本質:取指令、分析指令和執行指令。
(1)計算機指令格式。
定義:指令,是指計算機完成某個基本操作的命令。
指令能被計算機硬件理解並執行。一條計算機指令是用一串二進制代碼表示的,它通常包括兩方面的信息:操作碼和操作數(地址碼),如下圖所示。
33fdbee75bfed6a823592944f58c9d37vXo6Re.png
操作碼指明指令所要完成操作的性質和功能,即指出進行什麼操作。
操作碼也是二進制代碼。對於一種類型的計算機來說,各種指令的操作碼互不相同,分別表示不同的操作。
因此,指令中操作碼的二進制位數決定瞭該類型計算機最多能具有的指令條數。
操作數指明操作碼執行的操作對象。
操作數可以是數據本身,也可以是存放數據的內存單元地址或寄存器名稱。
根據指令中操作數的性質,操作數又可以分為源操作數和目的操作數兩類。例如,減法指令中減數和被減數為源操作數,它們的差為目的操作數。
如果指令中的操作碼和操作數共占n個字節,則稱該指令為n字節指令。
(2)計算機指令的尋址方式。
定義:指找到當前正在執行指令的數據地址和下一條將要執行指令的地址的方法。
尋址方式被分為兩大類:
(3)計算機指令系統。
定義:一臺計算機所能執行的全部指令的集合。
無論哪種類型的計算機,指令系統都應該具有以下功能指令。
(4)指令的執行過程。
指令的執行過程可分為取指令、分析指令和執行指令3個步驟。
一般把計算機完成一條指令所花費的時間稱為一個指令周期。指令周期越短,指令執行就越快。
在計算機中,采用數字化方式來表示數據,數據有無符號數和帶符號數之分。
(1)無符號數
定義:指整個機器字長的全部二進制位均表示數值位(沒有符號位),相當於數的絕對值。
字長為 n 的無符號數的表示范圍為 0 ~ 2^n-1。若機器字長為8位,則數的表示范圍為0 ~ 2^8-1,即0 ~ 255。
(2)帶符號數
日常生活中,把帶有“+”或“-”符號的數稱為真值。在機器中,數的“+”“-”是無法識別的,因此需要把符號數字化。通常,約定二進制數的最高位為符號位,0表示正號,1表示負號。
這種把符號數字化的數稱為機器數。
常見的機器數有原碼、反碼、補碼及移碼等不同的表示形式。
根據小數點的位置是否固定,在計算機中有兩種方法表示小數點,即定點表示和浮點表示。定點表示的機器數稱為定點數,浮點表示的機器數稱為浮點數。
(1)定點表示。
定點表示即約定機器數中的小數點位置是固定不變的,小數點不再使用“.”表示,而是約定它的位置。
在計算機中通常采用兩種簡單的約定:
定點數的運算除瞭加、減、乘、除外,還有移位運算。移位運算根據操作對象的不同分為算術移位(帶符號數的移位)和邏輯移位(無符號數的移位)。
(2)浮點表示。
浮點表示是指以適當的形式將比例因子表示在數據中,讓小數點的位置根據需要而浮動。
例如,679.32=6.7932×10^2=6793.2×10^{-1}=0.67932×10^3。
通常,浮點數被表示成 N=S×R^j 其中,N為浮點數,S為其尾數,j為其階碼,R是浮點數階碼的底(隱含,在機器數中不出現)。
通常R=2, j 和 S 都是帶符號的定點數。可見,浮點數由階碼和尾數兩部分組成,如下圖所示。
vXTFy9.png
階碼是整數,階符 j_f 和階碼的位數 m 共同反映浮點數的表示范圍和小數點的實際位置;
數符S_f反映浮點數的正/負;尾數的 n 位反映浮點數的精度。
為瞭提高運算的精度,浮點數的尾數必須為規格化數(即尾數的最高位必須是一個有效值)。
如果不是規格化數,需要修改階碼並左/右移尾數,使其變成規格化數。
將非規格化數轉換為規格化數的過程稱為規格化操作。
例如,二進制數0.0001101可以表示為0.001101×2^{-01}、0.01101×2^{-10}、0.1101×2^{-11}……而其中隻有0.1101×2^{-11}是規格化數。
現代計算機中,浮點數一般采用IEEE 754標準。IEEE 754標準浮點數的格式如右圖所示。
413023f2622ede40e1801fa350d15dd4vXTEe1.png
這種標準規定常用的浮點數格式有短浮點數(單精度,即float型)、長浮點數(雙精度,即double型)、臨時浮點數,如表所示。
除臨時浮點數外,短浮點數和長浮點數的尾數用隱藏位的原碼表示,階碼用移碼表示。
vXTZo6.png
以短浮點數為例,最高位為數符位;其後是8位階碼,以2為底,用移碼表示,階碼的偏置值為2^{8-1}-1=127;其後23位是原碼表示的尾數數值位。
對於規格化的二進制浮點數,數值的最高位總是“1”,為瞭能使尾數多表示一位有效位,將這個“1”隱藏,因此尾數數值實際是24位。
隱藏的“1”是一位整數。在浮點數格式中表示的23位尾數是純小數。例如,(12)_{10}=(1100)_2,將它規格化後結果為1.1×2^3,其中整數部分的1將不存儲在23位尾數內。
(1)操作系統的功能與任務。
操作系統是現代計算機系統中最基本和最核心的系統軟件之一,所有其他的軟件都依賴於操作系統的支持。
操作系統是配置在計算機硬件上的第1層軟件,是對硬件系統的首次擴充。
主要作用:
如果把操作系統看成計算機系統資源的管理者,則操作系統的任務及其功能主要有以下5個方面。
(2)操作系統的發展。
操作系統的發展過程 |
---|
手工操作(無操作系統) |
批處理系統 |
多道程序系統 |
分時系統 |
實時操作系統 |
個人計算機操作系統 |
(3)操作系統的分類。
根據使用環境和對作業處理方式的不同,操作系統分為多道批處理操作系統、分時操作系統、實時操作系統、網絡操作系統、分佈式操作系統、嵌入式操作系統等。
(1)程序的並發執行。
程序隻有經過執行才能得到結果。程序的執行又分為順序執行和並發執行。
一個具有獨立功能的程序獨占處理器直至執行結束的過程稱為程序的順序執行。
順序執行特點:順序性、封閉性、可再現性、系統資源的利用率等特點。
順序程序不具有並發性。
在系統中引入瞭多道程序技術,使程序或程序段間能並發執行。
程序的並發執行是指一組在邏輯上互相獨立的程序或程序段在執行過程中,其執行時間在客觀上互相重疊,即一個程序段的執行尚未結束,另一個程序段的執行已經開始的執行方式。
並發程序在執行過程中有以下幾個特點。
並發程序具有並行性和共享性,而順序程序則以順序性和封閉性為基本特征。
(2)進程的基本概念。
定義:進程是指一個具有一定獨立功能的程序關於某個數據集合的一次運行活動。
簡單地說,進程是指可以並發執行的程序的執行過程。
進程與程序有關,但它與程序又有本質的區別,主要反映在以下幾個方面。
(3)進程的狀態及其轉換。
進程從創建、產生、撤銷至消亡的整個生命周期,有時占有處理器並運行,有時雖可運行但分不到處理器,有時雖有空閑處理器但因等待某個事件發生而無法運行,這說明進程是活動的且有狀態變化。一般來說,一個進程的活動情況至少可以劃分為以下5種基本狀態。
處於運行狀態的進程個數不能大於處理器個數,處於就緒和等待狀態的進程可以有多個。進程的幾種基本狀態之間在一定的條件下是可以互相轉換的。下圖表示瞭進程的5種基本狀態之間在一定條件下的轉換。
3db7a54e9f1cea0d86777a5bbcb8d8f5vXTmFK.png
(4)進程控制塊。
每個進程有且僅有一個進程控制塊(Process Control Block,PCB)。
它是進程存在的唯一標識,是操作系統用來記錄和刻畫進程狀態及環境信息的數據結構,是進程動態特征的匯集,也是操作系統掌握進程的唯一資料結構和管理進程的主要依據。PCB包括進程執行時的狀況,以及進程讓出處理器之後所處的狀態、斷點等信息。
PCB中通常應包括以下基本內容。
除此之外,PCB中還包含文件信息、工作單元等內容。
(5)進程的組織。
進程的物理組織方式通常有線性方式、鏈接方式及索引方式。
將系統中所有的PCB都組織在一個線性表中,將該表的首地址存放在內存的一個專用區域中。該方式實現簡單、開銷小,但每次查找時都需要掃描整個表,因此適合進程數目不多的系統。
把具有相同狀態進程的PCB通過PCB中的鏈接字鏈接成一個隊列,這樣可以形成就緒隊列、若幹個阻塞隊列及空白隊列等。在就緒隊列中,往往按進程的優先級將PCB從高到低進行排列,將優先級高的進程的PCB排在隊列的前面。
系統根據所有進程不同的狀態,建立幾個索引表,如就緒索引表、阻塞索引表,並把各索引表在內存的首地址記錄在內存的一些專用單元中。在每個索引表的表目中,記錄具有相應狀態的某個PCB在PCB表中的地址。
(6)進程調度。
進程調度是指按一定策略動態地把CPU分配給處於就緒隊列中的某一進程並使之執行的過程。進程調度亦可稱為處理器調度或低級調度,相應的進程調度程序可稱為分配程序或低級調度程序。進程調度僅負責對CPU進行分配。
進程調度方式有搶占方式和非搶占方式。
基本的進程調度算法有先來先服務調度算法、時間片輪轉調度算法、優先級調度算法等。
進程調度僅負責對CPU進行分配。
(7)其他概念。
存儲管理是操作系統的重要組成部分,管理的主要對象是內存。
操作系統的主要任務之一是盡可能方便用戶使用和提高內存利用率。此外,有效的存儲管理也是多道程序設計技術的關鍵支撐。
(1)存儲管理的功能。
(2)地址重定位。
地址變換:當用戶程序進入內存執行時,必須把用戶程序中的所有相對地址(邏輯地址)轉換成內存中的實際地址(物理地址)。
地址重定位:在進行地址轉換時,必須修改程序中所有與地址有關的項,也就是要對程序中的指令地址以及指令中有關地址的部分(有效地址)進行調整。
地址重定位建立用戶程序的邏輯地址與物理地址之間的對應關系,實現方式包括靜態地址重定位和動態地址重定位。
動態地址重定位的優點是不要求程序裝入固定的內存空間,在內存中允許程序再次移動位置,而且可以部分地裝入程序運行,同時也便於多個作業共享同一程序的副本。動態地址重定位技術被廣泛采用。
(3)存儲管理技術。
基本特點:內存空間被劃分成一個個分區,一個作業占一個分區,即系統和用戶作業都以分區為單位享用內存。
在連續存儲管理中,地址重定位采用靜態地址重定位,分區的存儲保護可采用上、下界寄存器保護方式。分區分配方式分為固定分區和可變分區。
固定分區存儲管理的優點是簡單,要求的硬件支持少;缺點是容易產生內部碎片。可變分區避免瞭固定分區中每個分區都可能有剩餘空間的情況,但由於它的空閑區域仍是離散的,因此會出現外部碎片。
這樣,隻要建立起程序的邏輯頁和內存的存儲塊之間的對應關系,借助動態地址重定位技術,分散在不連續物理存儲塊中的用戶作業就能夠正常運行。
分頁式存儲管理的優點是能有效解決碎片問題,內存利用率高,內存分配與回收算法也比較簡單;缺點是采用動態地址變換機構增加瞭硬件成本,也降低瞭處理器的運行速度。
分段式存儲管理是以段為基本單位分配內存的,且每一段必須分配連續的內存空間,但各段之間不要求連續。由於各段的長度不一樣,因此分配的內存空間大小也不一樣。
分段式存儲管理較好地解決瞭程序和數據的共享以及程序動態鏈接等問題。與分頁式存儲管理一樣,分段式存儲管理采用動態重定位技術來進行地址轉換。
分頁式存儲管理的優點體現在內存空間的管理上,而分段式存儲管理的優點體現在地址空間的管理上。
背景:連續存儲管理和分頁分段式存儲管理技術必須為作業分配足夠的內存空間,裝入其全部信息,否則作業將無法運行。把作業的全部信息裝入內存後,實際上並非同時使用這些信息,有些部分運行一次,有些部分暫時不用或在某種條件下才使用。讓作業全部信息駐留於內存是對內存資源的極大浪費,會降低內存利用率。
基本思路:把內存擴大到大容量外存上,把外存空間當作內存的一部分,作業運行過程中可以隻讓當前用到的信息進入內存,其他當前未用的信息留在外存;而當作業進一步運行,需要用到外存中的信息時,再把已經用過但暫時還不會用到的信息換到外存,把當前要用的信息換到已空出的內存中,從而給用戶提供一個比實際內存空間大得多的地址空間。
這種大容量的地址空間並不是真實的存儲空間,而是虛擬的,因此,這樣的存儲器稱為虛擬存儲器。虛擬存儲器管理主要采用請求頁式存儲管理、請求段式存儲管理及請求段頁式存儲管理技術實現。
在操作系統中,無論是用戶數據,還是計算機系統程序和應用程序,甚至各種外設,都是以文件形式提供給用戶的。文件管理就是對用戶文件和系統文件進行管理,方便用戶使用,並保證文件的安全性,提高外存空間的利用率。
(1)文件與文件系統的概念。
文件是指一組帶標識(文件名)的、具有完整邏輯意義的相關信息的集合。用戶作業、源程序、目標程序、初始數據、輸出結果、匯編程序、編譯程序、連接裝配程序、編輯程序、調試程序及診斷程序等,都是以文件的形式存在的。
各個操作系統的文件命名規則略有不同,文件名的格式和長度因系統而異。一般來說,文件名由文件名和擴展名兩部分組成,前者用於識別文件,後者用於區分文件類型,中間用“.”分隔開。
操作系統中與管理文件有關的軟件和數據稱為文件系統。它負責為用戶建立、撤銷、讀/寫、修改及復制文件,還負責對文件的按名稱存取和存取控制。常用的、具有代表性的文件系統有EXT2/4、NFS、HPFS、FAT、NTFS等。
(2)文件類型。
文件依據不同標準可以有多種類型,如右表所示。
劃分標準 | 文件類型 |
---|---|
按用途劃分 | 系統文件、庫文件、用戶文件 |
按性質劃分 | 普通文件、目錄文件、特殊文件 |
按保護級別劃分 | 隻讀文件、讀寫文件、可執行文件、不保護文件 |
按文件數據的形式劃分 | 源文件、目標文件、可執行文件 |
(3)文件系統模型。
文件系統的傳統模型為層次模型,該模型由許多不同的層組成。每一層都會使用下一層的功能來創建新的功能,為上一層服務。層次模型比較適合支持單個文件系統。
(4)文件的組織結構。
文件按不同的組織方式在外存上存放,就會得到不同的物理結構。文件在外存上有連續存放、鏈接塊存放及索引表存放3種不同的存放方式,其對應的存儲結構分別為順序結構、鏈接結構及索引結構。
(5)文件目錄管理。
①文件目錄的概念。
為瞭能對一個文件進行正確的存取,必須為文件設置用於描述和控制文件的數據結構,稱為文件控制塊(File Control Block,FCB)。FCB一般應包括以下內容。
文件與FCB一一對應,而人們把多個FCB的有序集合稱為文件目錄,即一個文件控制塊就是一個文件目錄項。通常,一個文件目錄也被看作一個文件,可稱為目錄文件。
對文件目錄的管理就是對FCB的管理。對文件目錄的管理除瞭要解決存儲空間的有效利用問題外,還要解決快速搜索、文件命名沖突以及文件共享等問題。
②文件目錄結構。
文件目錄根據不同結構可分為單級目錄、二級目錄、多層級目錄、無環圖結構目錄及圖狀結構目錄等。
③存取權限。
存取權限可以通過建立訪問控制表和存取權限表來實現。
大型文件系統主要采用兩個措施來進行安全性保護:一是對文件和目錄進行權限設置,二是對文件和目錄進行加密。
(6)文件存儲空間管理。
存儲空間管理是文件系統的重要任務之一。文件存儲空間管理實質上是空閑塊管理問題,它包括空閑塊的組織、空閑塊的分配及空閑塊的回收等問題。
空閑塊管理方法主要有空閑文件項、空閑區表、空閑塊鏈、位示圖、空閑塊成組鏈接法(UNIX操作系統中)等。
I/O設備類型繁多,差異又非常大,因此I/O設備管理是操作系統中最龐雜和瑣碎的部分之一。
(1)I/O軟件的層次結構。
I/O軟件的設計目標是:
將I/O軟件組織成一種層次結構,每一次都是利用其下層提供的服務,完成I/O功能中的某些子功能,並屏蔽這些功能實現的細節,向上層提供服務。
通常把I/O軟件組織成4個層次,如下圖所示,圖中的箭頭表示I/O的控制流。各層次功能如下。
vXTnJO.png
(2)中斷處理程序。
當一個進程請求I/O操作時,該進程將被“掛起”,直到I/O設備完成I/O操作後,設備控制器向CPU發送一個中斷請求,CPU響應後便轉向中斷處理程序。中斷處理過程如下。
I/O操作完成後,驅動程序必須檢查本次I/O操作中是否發生瞭錯誤,並向上層軟件報告,最終向調用者報告本次I/O的執行情況。
(3)設備驅動程序。
設備驅動程序是驅動物理設備和DMA控制器或I/O控制器等直接進行I/O操作的子程序的集合。它負責啟動I/O設備進行I/O操作,指定操作的類型和數據流向等。設備驅動程序有如下功能。
(4)設備獨立性軟件。
為瞭實現設備獨立性,必須在設備驅動程序之上設置一層軟件,稱為與設備無關的I/O軟件,或設備獨立性軟件。其主要功能①向用戶層軟件提供統一接口;②設備命名;③設備保護;④提供一個獨立於設備的塊;⑤緩沖技術;⑥設備分配和狀態跟蹤;⑦錯誤處理和報告等。
(5)用戶層軟件。
用戶層軟件在層次結構的最上層,它面向用戶,負責與用戶和設備無關的I/O軟件通信。當接收到用戶的I/O指令後,該層會把具體的請求發送到與設備無關的I/O軟件進一步處理。它主要包含用於I/O操作的庫函數和SPOOLing系統。此外,用戶層軟件還會用到緩沖技術。
(6)設備的分配與回收。
由於設備、控制器及通道資源的有限性,因此不是每一個進程隨時隨地都能得到這些資源。進程必須首先向設備管理程序提出資源申請,然後,由設備分配程序根據相應的分配算法為進程分配資源。如果申請進程得不到它所申請的資源,將被放入資源等待隊列中等待,直到所需要的資源被釋放。如果進程得到瞭它所需要的資源,就可以使用該資源完成相關的操作,使用完之後通知系統,系統將及時回收這些資源,以便其他進程使用。
上一篇
下一篇
前往理由 (Reason to go):1. 死亡谷國傢公園是除阿拉斯加外最大的國傢公園,幾近深不可測。公園占地面積 330萬英畝/134萬公...