電腦與網路的基礎知識
進程:程式的一次執行。PCB
程式與進程的區別:程式是靜態指令序列 進程是為執行程式線程而保留的資源集
進程的轉換與控制:
對進程的控制一般由作業系統完成。
進程互斥以及P,V操作:
- 進程間的同步:非同步環境 按一定的順序
- 互斥:共用資源 爭端
- 臨界資源:一次僅能供一個進程調用的資源
- 臨界區管理:臨界區指操作臨界資源的代碼。原則:有空則進,無空則等,有限等待,讓權等待
- 訊號量限制(荷蘭學者:Dijkstra)
- 整型訊號量與PV操作:
訊號量:一個整型變數,根據控制對象的不同賦不同的值
- 公用訊號量:實現進程的互斥,初始值=1或資源數目
- 私用訊號量:實現進程同步,初始值=0或某個正整數
訊號量S的物理意義:S>=0表示某資源的的可用數,S<0,其絕對值表示阻塞隊列中等待該資源的進程數
Pv操作時實現進程同步於互斥的常用方法。PV操作時低級通訊的原語,P表示申請一個資源,v表示釋放一個資源。
P的操作定義:
V操作:
- 利用pv操作實現進程互斥:
令訊號量mutex的初始值為1。執行程式碼片段如下:
- 利用PV操作實現進程同步:
進程的同步是由於進程之間的相互合作引起的相互制約問題。要實現進程之間的一個同步可用一個訊號量與訊息聯絡起來。當訊號量為零時表示希望的訊息未產生。當訊號量為非零的時候表示希望的效益已經存在。假定用訊號量S表示訊息,進程可以採用P操作來測試訊息是否到達,調用v操作來通知訊息已經準備好。
例子:生產者與消費者
其中訊號量Bufempty表示緩衝區的空單元數。Buffull表示緩衝區非空單元數。他們的初值分別為1與0。
進程管理域通訊:
- 進程通訊:
通訊值進程之間的資訊互動。分為:控制資訊互動,資料資訊互動。控制資訊的互動稱為低級資訊通訊,進程的同步與互斥是通過訊號量來實現的。資料通訊稱為進階通訊,主要是通過共用儲存系統、訊息傳遞系統和管道通訊實現。進階通訊分為直接通訊與間接通訊。
- 管程
Hansen與Hoare提出另一種同步機制:管程。
管程是由一些共用資料、一組能為並發進程執行的作用在共用資料上的操作的集合、初始代碼以及存取許可權組成。(共用資料以及在其上操作的一組過程構成了管程)。進程可以在任何需要的時候調用管程,且在任意一個時刻只能有一個進程進入管程,其餘的只能列隊等待。管程提供了一種可以允許多進程安全有效地共用抽象資料類型的機制。
每一個管程都有一個名字,如下:
進程調度與死結:
線程:
進程中的一個實體,被系統獨立調用與分配的基本單位。在引入線程的作業系統中,通常一個進程都有若干個線程。線程只擁有一些運行中必不可少的資源,他與同屬一個進程的的若干個線程共用進程所有的全部資源。線程具有許多傳統繼承所具有的特性,稱為輕型進程,傳統的進程則稱為重型進程。
儲存管理
儲存空間是電腦的關鍵性資源,是存放各種資源的重要性場所。儲存空間管理的主要任務是如何提高主存的利用率、擴充主存以及對主存資訊實現有效保護。儲存管理的對象是主存(記憶體)
儲存管理的概念:
- 邏輯地址:使用者程式經編譯後,每個目標以0為基址進行的順序編址。又稱相對位址。
- 物理地址:主存中個儲存單元的地址。又稱絕對位址
- 儲存空間:
- 地址空間:邏輯地址的集合。
- 儲存空間:物理地址的集合
地址重定位:
邏輯地址轉換成物理地址的過程。
- 靜態重定位:編譯時間定位,也可稱為裝入記憶體時定位
- 動態重定位:運行時定位
儲存管理的功能:主儲存空間的分配與回收,提高主儲存空間的利用率、儲存保護、主存擴充
儲存管理方式:分區儲存、分頁儲存、分段儲存、段頁式儲存、虛擬儲存
儲存保護:在多道程式系統中,記憶體中既有作業系統,又有許多使用者程式。為使系統正常運行,避免記憶體中各程式相互幹擾,必須對記憶體中的程式和資料進行保護
- 防止地址越界
對進程所產生的地址必須加以檢查,發生越界時產生中斷,由作業系統進行相應處理
- 防止操作越權
對屬於自己地區的資訊,可讀可寫;
對公用地區中允許共用的資訊或獲得授權可使用的資訊,可讀而不可修改;
對未獲授權使用的資訊,不可讀、不可寫。
- 儲存保護一般以硬體保護機製為主,軟體為輔,因用軟體實現系統開銷大,速度成倍降低。當發生越界或非法操作時,硬體產生中斷,進入作業系統處理
裝置管理:指對電腦系統中所有輸入、輸出裝置的管理。
一、裝置管理的目標:
(l)方便使用者使用外部裝置,控制裝置工作完成使用者的輸入輸出請求。
(2)提高系統的並行工作能力,提高裝置的使用效率。
(3)提高外圍裝置和系統的可靠性和安全性,以使系統能正常地工作。
二、裝置管理功能
裝置管理應具有如下功能:裝置的分配和回收、外圍裝置的啟動、對磁碟的驅動調度、外部裝置中斷處理、虛擬設備的實現。
外圍裝置的分配
- 裝置的分類:從裝置的使用角度可將裝置分為兩類:獨佔裝置和共用裝置。虛擬設備用共用裝置來類比獨佔裝置。
- 裝置的絕對號與相對號:給系統中的每一台裝置確定一個編號以便系統識別,這種編號稱為"裝置絕對號"。但絕對號是使用者不允許使用的,使用者在申請裝置時只能用裝置類型來申請,但使用者為了識別同類裝置中的某台裝置,可使用"裝置相對號"。
三、裝置的分配
使用者申請裝置時通過裝置類別申請,系統根據請求及當前裝置分配情況在相應類的裝置中選擇一個空閑裝置,並將其分配給申請者,申請與實際裝置的無關性稱為裝置獨立性。系統設立"裝置類表"和"裝置表"記錄系統裝置的分配情況。
磁碟的驅動調度
磁碟上任何一塊的位置由三個參數確定:柱面號、磁頭號、扇區號,對移動臂磁碟的存取訪問一般要經過三部分時間:首先要將磁頭移動至相應的柱面上,這個時間叫做尋找時間;一旦磁頭到達指定柱面,等待所訪問的扇區旋轉到讀/寫頭下,叫延遲時間;實際傳送所需時間叫傳送時間。一次磁碟訪問的時間就是以上三者之和,其中"尋找時間"所花費的時間最長。
移臂調度
可採用以下幾種移臂調度演算法。
1.先來先服務演算法
2.最短尋找時間優先演算法:
3.掃描(電梯)演算法:總是從磁臂當前位置沿磁臂的移動方向選擇距當前位置最近的請求,當前進方向無請求時才改變移動方向。
旋轉延遲調度
當磁頭到達某柱面時,該柱面上可能有多個請求,對它們的調度通常是按這些請求旋轉通過磁頭的順序進行調度。
裝置的啟動和I/O中斷處理
- 通道:通道相當於一個功能單一的處理機,代替CPU對I/O操作進行控制,專門負責資料輸入輸出工作,從而使I/O操作可以與CPU並行工作。通道是實現計算和傳輸並行的基礎。在一個配備了通道的系統中,主機上可串連多個通道,一個通道串連多個控制器,一個控制器串連多台同類型的裝置;而對某些裝置(象磁碟那樣的快速裝置)往往需串連到多個控制器上,將控制器串連到多個通道上進行交叉串連。(此處通道的單獨編程使用BIOS語言)
- 外圍裝置的啟動:通道具有自己的指令系統,包括讀、寫、控制、轉移、結束、以及空操作等指令,一旦CPU發出"啟動I/O"的指令,通道就可以獨立於CPU工作,執行由通道指令(CCW)形成的通道程式完成I/O。
啟動、控制外圍裝置完成I/O的過程如下:
(1)根據I/O請求,構造通道程式。
(2)中央處理機發出"啟動I/O"指令,通道逐條執行通道程式中的指令實現I/O。
(3)I/O完成後,通道利用中斷機構向中央處理機報告執行情況。
中斷處理常式負責對通道發出的中斷進行處理,對輸入輸出是否正常結束或出現錯誤等進行相應的處理。
通道狀態字(CSW)中記錄通道、控制器、裝置的狀態,當中央處理機接到通道發出的中斷後,利用通道狀態字判斷本次輸入輸出是否正常。
虛擬設備:獨佔型裝置是不利於提高系統效率的,可採用的措施有兩種:離線外圍裝置操作和聯機同時外圍裝置操作。
- 離線外圍裝置操作:離線外圍裝置操作是使用兩台外圍電腦,分別負責把慢速、獨佔裝置上的資訊寫入磁碟以及將磁碟上的資訊傳送到獨佔裝置,作業執行時只與可共用的磁碟進行資訊交換。外圍電腦是獨立於主要電腦的,不是在主要電腦控制下進行的,所以稱作"離線外圍裝置操作"。離線外圍裝置操作雖然提高了系統效率,但也存在一些新問題:外圍電腦的使用,提高了成本;增加了操作員的手工操作;增加了作業的周轉時間。
- 聯機同時外圍裝置操作:聯機同時外圍裝置操作也稱為一種虛擬設備技術,其核心思想是在一台共用裝置(通常是指磁碟)上類比獨佔裝置的操作,把低速的獨佔裝置改造成為若干台可並行操作的虛擬設備。作業系統設計兩個程式:"預輸入程式"和"緩輸出程式";在磁碟上開闢一塊稱為"井"的地區。"預輸入程式"和"緩輸出程式"的執行是在電腦控制下進行的,所以這種技術稱為"聯機同時外圍裝置操作"(縮寫為SPOOL或SPOOLING),還有的系統稱之為"假離線操作"。當使用者作業要進入系統時,由SPOOLing系統的預輸入程式將作業資訊從獨佔的輸入裝置上送到磁碟上指定地區(稱為輸入井);當作業運行時,可以直接從輸入井讀入資料;當執行過程中需要輸出資料時,可以先將輸出資料送往磁碟上另一指定地區(稱為輸出井);最後,當作業完成後由緩輸出程式依次將輸出井上的資料送到獨佔的輸出裝置上。實現"輸入井讀"和"輸出井寫"的程式可統稱為"井管理"程式。SPOOLing系統實際上是以中斷機構和通道作為其硬體基礎的,它由三部分程式組成:"預輸入"程式、"井管理"程式和"緩輸出"程式。
- DMA技術:DMA是Direct Memory Access的縮寫。其意思是"儲存空間直接存取"。它是指一種高速的資料轉送操作,允許在外部裝置和儲存空間之間直接讀寫資料,即不通過CPU,也不需要CPU幹預。整個資料轉送操作在一個稱為"DMA控制器"的控制下進行的。CPU除了在資料轉送開始和結束時作一點處理外,在傳輸過程中CPU可以進行其它的工作。這樣,在大部分時間裡,CPU和輸入輸出都處在並行操作。因此,使整個電腦系統的效率大大提高
檔案管理:
檔案類型:
檔案的結構與組織:
- 邏輯結構:有結構的記錄檔案,無結構的字元流檔案
- 物理結構:連續結構、連結結構、索引結構、多個物理版塊的索引結構
檔案存取方法:順序訪問、隨機訪問
檔案儲存體裝置管理:位元影像法、所引發、連結法
檔案控制區與檔案目錄:FCB檔案存在的唯一標識。檔案目錄是檔案控制區的有序集合。
檔案的使用:目前的目錄(工作目錄)
作業管理:
作業管理與作業機制:作業害死系統為了完成使用者的計算任務(或事物任務)所作的工作總和。由程式、資料、作業說明書三部分組成。作業管理程式時作業系統用來管理作業的進入、執行、撤銷的一組程式。JCB是作業控制塊的唯一標識。
作業狀態與轉換:
作業調度以及常用調度方法:
作業調度是完成從後備狀態到執行狀態的轉變。常用的調度方法有:先來先服務、響應比高優先、優先順序調度、均衡調度。
使用者介面:
網路作業系統:
網路作業系統(NOS):使網路中各個電腦能方便而有效地共用網路資源,為使用者提供各種服務的軟體以及有關規則的集合。
網路作業系統的特徵:
硬體獨立性、多使用者支援性、支援網路使用程式及其管理、多種用戶端支援、目錄服務、增值服務。
網路作業系統的分類:
集線模式、c/S模式、對等模式。