執行控制功能

執行控制功能

控制是指控制主體按照給定的條件和目標,對控制客體施加影響的過程和行為。計算機系統由硬體和軟體兩部分組成,為了使計算機系統能正常工作,計算機系統中有很多控制功能。執行控制功能是指系統或程式為了使某項任務正常運行,實施一些控制策略。

基本介紹

  • 中文名:執行控制功能
  • 外文名:execute control function
  • 學科:計算機
  • 定義:控制程式或進程運行
  • 目的:使任務正常運行
  • 領域:計算機系統
簡介,執行系統控制功能,進程控制,調度,記憶體保護,設備分配,應用程式控制功能,

簡介

執行控制功能是指系統或程式為了使某項任務正常運行,實施一些控制策略。在系統很多地方多需要執行控制功能。例如,當CPU為一個I/O設備服務時,它允許作業系統中的設備驅動軟體與設備互動作用,並執行控制功能。執行控制功能一般可以分為執行系統控制功能和執行應用程式控制功能。

執行系統控制功能

在作業系統中有很多地方需要執行系統控制功能,以下是一些常見的需要執行系統控制地方:

進程控制

在傳統的多道程式環境下,要使作業運行,必須先為它創建一個或幾個進程,並為之分配必要的資源。當進程運行結束時,立即撤消該進程,以便能及時回收該進程所占用的各類資源。進程控制的主要功能是為作業創建進程,撤消已結束的進程,以及控制進程在運行過程中的狀態轉換。在現代 OS 中,進程控制還應具有為一個進程創建若干個執行緒的功能和撤消(終止)已完成任務的執行緒的功能。

調度

在後備佇列上等待的每個作業都需經過調度才能執行。在傳統的作業系統中,包括作業調度和進程調度兩步。
(1) 作業調度。作業調度的基本任務是從後備佇列中按照一定的算法,選擇出若干個作業,為它們分配運行所需的資源(首先是分配記憶體)。在將它們調入記憶體後,便分別為它們建立進程,使它們都成為可能獲得處理機的就緒進程,並按照一定的算法將它們插入就緒佇列。
(2) 進程調度。 進程調度的任務是從進程的就緒佇列中, 按照一定的算法選出一個進程,把處理機分配給它,並為它設定運行現場,使進程投入執行。值得提出的是,在多執行緒 OS中,通常是把執行緒作為獨立運行和分配處理機的基本單位,為此,須把就緒執行緒排成一個佇列,每次調度時,是從就緒執行緒佇列中選出一個執行緒,把處理機分配給它。

記憶體保護

記憶體保護的主要任務是確保每道用戶程式都只在自己的記憶體空間內運行,彼此互不干擾;絕不允許用戶程式訪問作業系統的程式和數據;也不允許用戶程式轉移到非共享的其它用戶程式中去執行。
為了確保每道程式都只在自己的記憶體區中運行,必須設定記憶體保護機制。一種比較簡單的記憶體保護機制是設定兩個界限暫存器,分別用於存放正在執行程式的上界和下界。系統須對每條指令所要訪問的地址進行檢查,如果發生越界,便發出越界中斷請求,以停止該程式的執行。如果這種檢查完全用軟體實現,則每執行一條指令,便須增加若干條指令去進行越界檢查,這將顯著降低程式的運行速度。因此,越界檢查都由硬體實現。當然,對發生越界後的處理,還須與軟體配合來完成。

設備分配

設備分配的基本任務是根據用戶進程的 I/O 請求、 系統的現有資源情況以及按照某種設備的分配策略,為之分配其所需的設備。如果在 I/O 設備和 CPU 之間還存在著設備控制器和 I/O 通道時,還須為分配出去的設備分配相應的控制器和通道。
為了實現設備分配,系統中應設定設備控制表、控制器控制表等數據結構,用於記錄設備及控制器的標識符和狀態。根據這些表格可以了解指定設備當前是否可用,是否忙碌,以供進行設備分配時參考。在進行設備分配時,應針對不同的設備類型而採用不同的設備分配方式。 對於獨占設備(臨界資源)的分配, 還應考慮到該設備被分配出去後系統是否安全。在設備使用完後,應立即由系統回收。

應用程式控制功能

應用程式控制功能主要是控制用戶程式的執行。一個用戶將他要解決的問題用某一種程式設計語言編寫成一個程式後就連同對程式的執行的要求輸入到計算機內,作業系統就根據要求控制用戶程式的執行直到結束。作業系統控制用戶程式的執行主要有以下一些內容:調入相應的編譯程式將某種設計語言編寫的源程式編譯成計算機可執行的目標程式,分配記憶體資源將程式調入到記憶體並啟動,按用戶指定的要求處理執行中出現的各種事件以及操作員聯繫的請示有關意外事件的處理等。

相關詞條

熱門詞條

聯絡我們