1. 程式人生 > 其它 >2020-2021-1學期 20212311《網路空間安全專業導論》第五週學習總結

2020-2021-1學期 20212311《網路空間安全專業導論》第五週學習總結

第10章 作業系統

作業系統是其他軟體依附的基礎,並且允許我們編寫與機器進行互動的程式。

10.1 作業系統的角色

現代軟體可以分為兩類,即應用軟體和系統軟體。

應用軟體(Application software):幫助我們解決現實世界問題的程式。

系統軟體(System software):管理計算機系統並與硬體進行互動的程式。

作業系統(Operating system):管理計算機資源併為系統互動提供介面的系統軟體。

一臺計算機通常只有一個活動的作業系統,在系統執行中負責控制工作。具有兩個或多個作業系統的配置稱為雙引導或多引導系統 。不過,任何時候都只有一個作業系統在控制計算機。以Mac為例吧,登入時會要求選擇系統,而兩個系統之間又互不干擾。又如虛擬機器,在操作虛擬機器時,指令預設輸入到虛擬機器而非物理機,兩個的轉換又需要過程。

作業系統的各種角色通常都圍繞著一箇中心思想“良好的共享”。

多道程式設計(multi programming):同時在主存中駐留多個程式,由它們競爭CPU的技術。

記憶體管理(memory management):瞭解主存中載有多少個程式以及它們的位置的動作。

程序(process):程式執行過程中的動態表示法。

程序管理(process management):瞭解活動程序中的資訊的動作。

CPU排程(CPU scheduling):確定主存中的哪個程序可以訪問CPU以便執行的動作。

記憶體管理、程序管理和CPU排程是本章的三個重點。作業系統自身也是必須執行的程式,所以在記憶體中也要和其它系統程式軟體及應用程式一起管理和維護OS程序,執行OS的CPU就是執行其他程式的CPU。因此也要把OS程序排進競爭CPU的佇列中。

分時(timesharing):多個互動使用者同時共享CPU時間的系統。

虛擬機器(virtual machine):分時系統建立的每個使用者都有專有機器的假象。

主機(mainframe):一個大型的多使用者計算機,通常與早期的分時系統相關。

啞終端(dumb terminal):在早期的分時系統中使用者用於訪問主機的一套顯示器和鍵盤。

每個使用者由主機上執行的一個登入系統程序表示。

微型機第一次採用單個的整合晶片作為CPU,成了可以放在書桌上的計算機,從而引發了個人計算機(PC)的想法。

實時系統(real-time system):應用程式的特性決定了響應時間至關重要的系統。

響應時間(response time)

:收到訊號和生成響應之間的延遲時間。

10.2 記憶體管理

作業系統必須採用技術來執行以下任務:

跟蹤一個程式駐留在記憶體的什麼位置以及是如何駐留的

把邏輯程式地址轉換成實際的記憶體地址

邏輯地址(logical address):對一個儲存值的引用,是相對於引用它的程式的。

實體地址(physical address):主儲存裝置中的真實地址。

地址聯編(address binding):邏輯地址和實體地址間的對映。

單塊記憶體管理(single contiguous memory management):把應用程式載入一段連續的記憶體區域的記憶體管理方法。

單塊記憶體管理法的優點在於實現和管理都很簡單,但卻大大浪費了記憶體空間和CPU時間。

固定分割槽法(fixed-partition technique):把記憶體分成特定數目的分割槽以載入程式的記憶體管理方法。

動態分割槽法(dynamic-partition technique):根據容納程式的需要對記憶體分割槽的記憶體管理方法。

基址暫存器(base register):存放當前分割槽的起始地址的暫存器。

** 界限暫存器(bounds register)**:存放當前分割槽的長度的暫存器。

有三種常用分割槽選擇法:

  • 最先匹配(first fit):把第一個足夠存放程式的分割槽分配給它。

  • 最佳匹配(best fit):把最小的能夠容納程式的分割槽分配給它。

  • 最差匹配(worst fit):把最大的能夠容納程式的分割槽分配給它。

在動態分割槽中作業可以在記憶體中移動,以建立較大的空白分割槽。這個過程叫作壓縮(compaction)。難怪在建立虛擬機器時一般選擇動態分配。

頁式記憶體管理法(paged memory technique):把程序劃分為大小固定的頁,載入記憶體時儲存在幀中的記憶體管理方法。

幀(frame):大小固定的一部分主存,用於存放程序頁。

頁(page):大小固定的一部分程序,儲存在記憶體幀中。

頁對映表(Page Map Table,PMT):作業系統用於記錄頁和幀之間關係的表。

分頁的優點在於不必再把程序儲存在連續的記憶體空間中。

請求分頁(demand paging):頁式記憶體管理法的擴充套件,只有當頁面被引用(請求)時才會被載入記憶體。

頁面交換(page swap):把一個頁面從二級儲存裝置載入記憶體,通常會使另一個頁面從記憶體中刪除。

請求分頁帶來了虛擬記憶體的思想,即對程式大小沒有任何限制的假象。

虛擬記憶體(virtual memory):由於整個程式不必同時處於記憶體而造成的程式大小沒有限制的假象。

系統顛簸(thrashing):連續的頁面交換造成的低效處理。

10.3 程序管理

程序狀態(process state):在作業系統的管理下,程序歷經的概念性階段。

在建立階段,將建立一個新程序。

在準備就緒狀態中,程序沒有任何執行障礙,只是等待使用CPU的機會。

執行狀態下的程序是當前CPU執行的程序。

等待狀態下是當前在等待資源(除CPU以外的資源)的程序。

終止狀態下的程序已經完成了它的執行。

可能有多個程序處於準備就緒或等待狀態,但只有一個程序處於執行狀態。

程序控制塊(Process Control Block,PCB):作業系統管理程序資訊使用的資料結構。

上下文切換(context switch):當一個程序移出CPU,另一個程序取代它時發生的暫存器資訊交換。

10.4 CPU排程

CPU排程就是確定把哪個處於準備就緒狀態的程序移入執行狀態。

  • 非搶先排程(nonpreemptive scheduling):噹噹前執行的程序自願放棄了CPU時發生的CPU排程。

  • 搶先排程(preemptive scheduling):當作業系統決定照顧另一個程序而搶佔當前執行程序的CPU資源時發生的CPU排程。

週轉週期(turnaround time):從程序進入準備就緒狀態到它最終完成之間的時間間隔,是評估CPU排程演算法的標準。

先到先服務(FCFS)排程方法

最短作業優先(SJN)排程方法

輪詢法

時間片(time slice):在CPU輪詢演算法中分配給每個程序的時間量。

第11章 檔案系統和目錄

11.1 檔案系統

檔案(file):資料的有名集合,用於組織二級儲存裝置。

檔案系統(file system):作業系統為它管理的檔案提供的邏輯檢視。

目錄(directory):檔案的有名分組。

可以把檔案看作位序列、位元組序列、行序列或記錄序列。

文字檔案(text file):包含字元的檔案。

二進位制檔案(binary file):包含特定格式的資料的檔案,要求給位串一個特定的解釋。

檔案型別(file type ):檔案中存放的關於型別的資訊。

副檔名(file extension):檔名中說明檔案型別的部分。

改變副檔名不會改變檔案中的資料或它的內部格式。

順序檔案訪問(sequential file access):以線性方式訪問檔案中的資料的方法。

直接檔案訪問(direct file access):通過指定邏輯記錄編號直接訪問檔案中的資料的方法。

在多使用者系統中,檔案保護的重要性居於首要地位。

11.2 目錄

目錄樹(directory tree):展示檔案系統的巢狀目錄組織的結構。

根目錄(root directory):包含其他所有目錄的最高層目錄。

工作目錄(working directory):當前活動的子目錄。

路徑(path):檔案或子目錄在檔案系統中的位置的文字名稱。

絕對路徑(absolute path):從根目錄開始,包括所有後繼子目錄的路徑。

相對路徑(relative path):從當前工作目錄開始的路徑。

11.3 磁碟排程

最重要的二級儲存裝置是磁碟驅動器。把資料傳入或傳出二級儲存裝置是一般的計算機系統的首要瓶頸。

磁碟排程(disk scheduling):決定先滿足哪個磁碟I/O請求的操作。

  • 先到先服務磁碟排程法

  • 最短尋道時間優先磁碟排程法

  • SCAN磁碟排程法

  • LOOK磁碟排程法(變體)