目錄
- 軟考官網 報名通道
- 軟考架構師筆記(一):計算機系統基礎
- 軟考架構師筆記(二):計算機網絡基礎與信息安全
- 軟考架構師筆記(三):操作系統基礎
- 軟考架構師筆記(四):企業信息化與系統規划
- 軟考架構師筆記(五):系統需求工程 需求分析
- 軟考架構師筆記(六):數據庫
- 軟考架構師筆記(七):系統分析 系統設計
- 軟考架構師筆記(八):系統架構
- 軟考架構師筆記(九):軟件工程與項目管理
- 軟考架構師筆記(十):系統測試 維護 穩定性
進程管理
進程狀態轉換圖
前驅圖
前驅圖是一個有向無循環圖,記為DAG。用於這種圖可以描述多個程序或進程之間的執行順序關系。
- 〇 表示一個程序、進程或是語句的結點。
- → 表示結點間的執行順序。
PV操作
臨界資源:進程間需要互斥方式對其進行共享的資源
臨界區:每個進程中訪問臨界資源的那段代碼稱為臨界區
信號量:是一種特殊的變量
死鎖問題
互斥,保持等待,不剝奪,環路等待
避免死鎖的方法:
有序分配資源, 銀行家算法
存儲管理
分區存儲組織,頁式存儲,段式存儲,段頁式存儲
頁面淘汰算法
最優(Optimal,OPT)算法
隨機(RAND)算法
先進先出(FIFO)算法:有可能產生“抖動”與Belady奇異現象。
最近最少使用(LRU)算法:LRU的理論依據是“局部性原理”。要求較多硬件支持,成本高。
CLOCK算法:LRU近似算法。
簡單CLOCK算法:循環隊列,每頁有訪問位,淘汰訪問位為0的頁。
改進型CLOCK算法:同時考慮訪問位與修改位。
時間局部性:剛被訪問的內容,立即又被訪問。
空間局部性:剛被訪問的內容,臨近的空間很快被訪問。
程序訪問具有時間局部性,即最近將要用的信息很可能是正在使用的信息
程序訪問具有空間局部性,即最近將要用的信息很可能與正在使用的信息在存儲空間上是相鄰的
程序訪問局部性是構成層次結構的存儲系統的主要依據
存取方式
存儲器中數據常用的存取方式有順序存取、直接存取、隨機存取和相聯存取等4種。
(1)順序存取:存儲器的數據以記錄的形式進行組織。對數據的訪問必須按特定的線性順序進行。磁帶存儲器采用順序存取的方式。
(2)直接存取:與順序存取相似,直接存取也使用一個共享的讀寫裝置對所有的數據進行訪問。但是,每個數據塊都擁有唯一的地址標識,讀寫裝置可以直接移動到目的數據塊的所在位置進行訪問。存取時間也是可變的。磁盤存儲器采用直接存取的方式。
(3)隨機存取:存儲器的每一個可尋址單元都具有自己唯一的地址和讀寫裝置,系統可以在相同的時間內對任意一個存儲單元的數據進行訪問,而與先前的訪問序列無關。主存儲器采用隨機存取的方式。
(4)相聯存取:相聯存取也是一種隨機存取的形式,但是選擇某一單元進行讀寫是取決於其內容而不是其地址。與普通的隨機存取方式一樣,每個單元都有自己的讀寫裝置,讀寫時間也是一個常數。使用相聯存取方式,可以對所有的存儲單元的特定位進行比較,選擇符合條件的單元進行訪問。為了提高地址映射的速度,Cache采取相聯存取的方式。
文件管理
索引文件結構
位示圖法
某文件管理系統在磁盤上建立了位示圖(bitmap),記錄磁盤的使用情況。
若磁盤上物理塊的編號依次為:0、1、2、…;系統中的字長為32位,字的編號依次為:0、1、2、…,
字中的一位對應文件存儲器上的一個物理塊,取值0和1分別表示空閑和占用,
如下圖所示。假設操作系統將2053號物理塊分配給某文件,那么該物理塊的使用情況在位示圖中編號為 64 ,系統應該將該字的位號5的位置“1"
2053號物理塊對應字的編號是64號,前面的0-2047位已經占滿,因此第64號字的第0位是2048,第1位是2049,第2位是2050,第3位2051,第4位2052,第5位2053。
設備管理
IO層級划分
嵌入式系統
系統初始化過程可以分為3個主要環節,按照自底向上、從硬件到軟件的次序依次為:
片級初始化、板級初始化和系統級初始化。
系統初始化:該初始化過程以軟件初始化為主,主要進行操作系統的初始化。BSP將對嵌入式微處理器的控制權轉交給嵌入式操作系統,由操作系統完成余下的初始化操作,包含加載和初始化與硬件無關的設備驅動程序,建立系統內存區,加載並初始化其他系統軟件模塊,如網絡系統、文件系統等。最后,操作系統創建應用程序環境,並將控制權交給應用程序的入口。
在嵌入式開發過程中有主機和目標機的角色之分。
主機是執行編譯、鏈接和定址過程的計算機;
目標機是指運行嵌入式軟件的硬件平台。首先須把應用程序轉換成可以在目標機上運行的二進制代碼。
這一過程包含3個步驟,分別為編譯、鏈接和定址。
①編譯過程由交叉編譯器實現。所謂交叉編譯器就是運行在一個計算機平台上並為另一個平台產生代碼的編譯器。
②編譯過程產生的所有目標文件被鏈接成一個目標文件,稱為鏈接過程。
③定址過程會把物理存儲器地址指定給目標文件的每個相對偏移處。該過程生成的文件就是可以在嵌入式平台上執行的二進制文件。
微內核OS
在設計微內核OS時,采用了面向對象的技術,其中的“封裝”,“繼承”,“對象類”和“多態性”,以及在對象之間采用消息傳遞機制等,都十分有利於提高系統的“正確性”、“可靠性”、”易修改性”、“易擴展性”等,而且還能顯著地減少開發系統所付出的開銷。采用微內核結構的操作系統與傳統的操作系統相比,其優點是提高了系統的靈活性、可擴充性,增強了系統的可靠性,提供了對分布式系統的支持。其原因如下。
①靈活性和可擴展性:由於微內核OS的許多功能是由相對獨立的服務器軟件來實現的,當開發了新的硬件和軟件時,微內核OS只需在相應的服務器中增加新的功能,或再增加一個專門的服務器。與此同時,也必然改善系統的靈活性,不僅可在操作系統中增加新的功能,還可修改原有功能,以及刪除已過時的功能,以形成一個更為精干有效的操作系統。
②增強了系統的可靠性和可移植性:由於微內核是出於精心設計和嚴格測試的,容易保證其正確性;另一方面是它提供了規范而精簡的應用程序接口(APl),為微內核外部的程序編制高質量的代碼創造了條件。此外,由於所有服務器都是運行在用戶態,服務器與服務器之間采用的是消息傳遞通信機制,因此,當某個服務器出現錯誤時,不會影響內核,也不會影響其他服務器。另外,由於在微內核結構的操作系統中,所有與特定CPU和I/O設備硬件有關的代碼,均放在內核和內核下面的硬件隱藏層中,而操作系統其他絕大部分(即各種服務器)均與硬件平台無關,因而,把操作系統移植到另一個計算機硬件平台上所需作的修改是比較小的。
③提供了對分布式系統的支持:由於在微內核OS中,客戶和服務器之間以及服務器和服務器之間的通信,是采用消息傳遞通信機制進行的,致使微內核OS能很好地支持分布式系統和網絡系統。事實上,只要在分布式系統中賦予所有進程和服務器唯一的標識符,在微內核中再配置一張系統映射表(即進程和服務器的標識符與它們所駐留的機器之間的對應表),在進行客戶與服務器通信時,只需在所發送的消息中標上發送進程和接收進程的標識符,微內核便可利用系統映射表將消息發往目標,而無論目標是駐留在哪台機器上。
嵌入式系統特點:
嵌入式系統具備以下7個特點:
(1)系統專用性強。
(2)系統實時性強。
(3)軟硬件依賴性強。
(4)處理器專用。
(5)多種技術緊密結合。
(6)系統透明性。
(7)系統資源受限。