作業系統概念筆記

2021-09-08 21:27:00 字數 2193 閱讀 6836

1.記憶體與cpu的互動

通過load和store指令:load將記憶體中的字移到cpu的暫存器中,store將暫存器的內容移到記憶體。

2.指令執行週期(馮諾依曼)

首先從記憶體中獲取指令--將指令儲存在指令暫存器中--對指令解碼--從記憶體中獲取運算元--將運算元存在某個暫存器中--在指令完成對運算元的執行後,其結果可以存回到記憶體

3.記憶體(memory)

記憶體是cpu所能直接定址和訪問的唯一大容量儲存器。例如,cpu需要處理磁碟內的資料,那麼這些資料必須首先通過cpu生成的i/o呼叫傳送到記憶體中。同樣,如果cpu需要執行指令,那麼這些指令必須在記憶體中。如果乙個程式要執行,必須先變換成絕對位址並裝入記憶體,隨著程式的執行,程序可以通過產生絕對位址來訪問記憶體中的程式指令和資料,最後程式終止時,其記憶體空間得以釋放,並且下乙個程式可以裝入並執行。

作業系統複雜下述有關記憶體管理的活動:

4.dma(直接記憶體訪問)

在為i/o裝置設定好快取、指標和計數器後,裝置控制器能在本地快取和記憶體之間傳送一整塊資料,而無須cpu干預。每塊只產生乙個中斷,來告知裝置驅動程式操作已完成,而不是像低速裝置那樣每個位元組產生乙個中斷。當裝置控制器在執行這些操作時,cpu可去完成其他工作。

5.smp(symmetric multiprocessing對稱多處理)

每個處理器都要完成作業系統中的所有任務。

6.道程式設計

作業系統選擇乙個位於記憶體中的作業並開始執行,該作業可能必須等待另乙個任務(如i/o操作)的完成。對於非多道程式系統,cpu會空閒。對於多道程式系統,cpu會簡單地切換到另乙個作業並執行,當該作業需要等待時,再切換到下乙個作業。最後,第乙個作業完成等待且重新獲得cpu。但是它並沒有提供與計算機系統直接互動的能力。分時系統(或多工)是多道程式設計的延伸,它通過排程演算法實現作業之間快速的切換,就好像每個作業在同時進行一樣。

7.程序(process)

裝入記憶體並執行的程式稱為程序。需要強調的是:程式本身不是程序,程式是乙個被動的實體,如同儲存在磁碟上的檔案內容,而程序是乙個活動的實體。

單執行緒程序具有乙個程式計數器來明確下乙個執行的指令;多執行緒程序具有多個程式計數器,每乙個指向下乙個給的執行緒要執行的指令。

8.擬記憶體(virtual memory)

虛擬記憶體允許乙個執行的作業不必完全在記憶體中。主要優點是:可以比物理記憶體大,它將記憶體抽象成乙個龐大且同意的儲存器陣列,將使用者所理解的邏輯記憶體與真正的物理記憶體區分開來。 

9.trap指令

系統呼叫通常採用陷阱(或異常)到中斷向量的乙個指定位置的方式。該陷阱可以由trap指令來執行。它不是特權指令。

linux的trap指令:用於指定在接收到訊號後將要採取的動作。常見的用途是在指令碼程式被中斷時完成清理工作。不過,這次我遇到它,是因為客戶有個需求:從終端訪問伺服器的使用者,其登陸伺服器後會自動執行某個命令,例如開啟應用(命令寫在.bashrc等檔案中),最後退出,並斷開連線;期間是不能允許其使用ctrl+c等中斷退出應用,而回到shell環境,否則可能會帶來安全問題。

當然,解決的方式有很多,如在應用中遮蔽中斷訊號、使用chroot方式訪問等。但這些方法都有一些限制,如需要修改應用,讓telnet等支援chroot方式(ssh可支援chroot)等。而使用trap也是一種比較好的解決方法。

10.快取記憶體一致性(cache coherency)

對於多處理器環境,每個cpu不但有自己的內部暫存器,還有本地快取記憶體。對於這種環境a的副本會同時出現在多個快取記憶體中。由於多個cpu可併發執行,必須確保在乙個快取記憶體中對a值的更新必須馬上反映到a的所有其他副本所在的快取記憶體中。

11.雙重模式操作:使用者模式和核心模式

兩種模式的轉換是通過乙個稱為模式位的位,增加到計算機硬體以表示當前模式:核心模式(0)和使用者模式(1)。

多模式操作是為了防止使用者干預系統的正常操作。

許多指令(如i/o指令和停機指令)具有特權,且只能在核心模式下執行。

12.分布式系統和集群系統

分布式系統:是一組物理上分開的、可能是各個異構的計算機系統通過網路連線在一起,為使用者提供系統所維護的各種資源的計算機的集合。允許使用者共享地理位置上分散的通過網路連線的計算機資源。

集群系統:將多台同構或異構的計算機連線起來協同完成特定的任務就構成了集群系統。多個機器可以完全駐留在共享儲存器上的資料的計算,基本某些集群的子集出錯,計算仍可繼續。

13.計算機系統組成

作業系統 作業系統的概念

3 作業系統的目標和功能 作業系統用做擴充機器 計算機系統自上而下可區分為 從作業系統的角度 計算機系統的概述 在計算機中的cpu 記憶體 輸入 輸出裝置等硬體,提供了基本的計算機資源 應用程式等規定了按何種方式來使用這些資源來為使用者服務 作業系統控制和協調各使用者程式對硬體的分配和呼叫。所以作業...

作業系統概念閱讀筆記3

新的 程序正在被建立 執行 指令正在被執行 等待 程序等待某個事件的發生 如等待i o讀取 就緒 程序等待分配cpu 終止 程序完成執行 包括 程序狀態 標誌前面5個狀態 程式計數器 下個指令位址 cpu暫存器 累加器 索引暫存器 堆疊指標 通用暫存器和其他條件碼資訊暫存器 cpu排程資訊 程序優先...

作業系統概念筆記1 導論

對稱多處理 smp 每個處理器擁有自己的控制單元 算數邏輯單元和暫存器,通過匯流排訪問共享的主存和i o裝置 非均勻記憶體訪問 numa 每個處理器訪問本地儲存空間快,訪問其他處理器的本地儲存空間更慢 大規模並行處理 mpp 多個 smp 通過網路連解起來,每個節點只訪問本地資源,將任務分散到各個節...