作業系統的主要任務,是為多道程式的執行提供良好的執行環境,以保證多道程式能有條不紊地、高效地執行,並能最大程度的提高系統中各種資源的利用率和方便使用者的使用。
處理機管理的主要功能是建立和撤銷程序(執行緒),對諸程序的執行進行協調,實現程序(執行緒)之間的資訊交換,以及按照一定的演算法把處理機分配給程序(執行緒)。
在傳統的多道程式環境下,要使作業執行,必須先為它建立乙個或幾個程序, 並為之分配必要的資源。 當程序執行結束時,立即撤消該程序,以便能及時**該程序所占用的各類資源。程序控制的主要功能是為作業建立程序,撤消已結束的程序,以及控制程序在執行過程中的狀態轉換。在現代os中,程序控制還應具有為乙個程序建立若干個執行緒的功能和撤消(終止)已完成任務的執行緒的功能。
前已述及,程序是以非同步方式執行的,並以人們不可預知的速度向前推進。為使多個程序能有條不紊地執行,系統中必須設定程序同步機制。程序同步的主要任務是為多個程序(含執行緒)的執行進行協調。有兩種協調方式:
為了實現程序同步, 系統中必須設定程序同步機制,最簡單的用於實現程序互斥的機制是為每乙個臨界資源配置一把鎖 w,當鎖開啟時,程序(執行緒)可以對該臨界資源進行訪問;而當鎖關上時,則禁止程序(執行緒)訪問該臨界資源。而實現程序同步的最常用的機制則是訊號量機制。
在多道程式環境下,為了加速應用程式的執行,應在系統中建立多個程序,並且再為乙個程序建立若干個執行緒, 由這些程序(執行緒)相互合作去完成乙個共同的任務。而在這些程序(執行緒)之間,又往往需要交換資訊,例如,有三個相互合作的程序,它們是輸入程序、計算程序和列印程序。輸入程序負責將所輸入的資料傳送給計算程序;計算程序利用輸入資料進行計算,並把計算結果傳送給列印程序;最後,由列印程序把計算結果列印出來。程序通訊的任務就是用來實現在相互合作的程序之間的資訊交換。
當相互合作的程序(執行緒)處中同一計算機系統時,通常在它們之間是採用直接通訊方式,即由源程序利用傳送命令直接將訊息(message)掛到目標程序的訊息佇列上,以後由目標程序利用接收命令從其訊息佇列中取出訊息。
在後備佇列上等待的每個作業都需經過排程才能執行。在傳統的作業系統中,包括作業排程和程序排程兩步。
主要任務是確保每道使用者程式都只在自己的記憶體空間內執行,彼此互不干擾;不允許使用者程式訪問作業系統的程式和資料,要設定記憶體保護機制。
主要任務:
計算機作業系統的主要功能
作業系統的主要任務,是為多道程式的執行提供良好的執行環境。作業系統應具有這樣幾方面的功能 處理機管理,儲存器管理,裝置管理和檔案管理。此外還需提供面向使用者的介面以及面向網路的服務。一 處理機管理功能 1 處理機管理功能的本質 在傳統的多道程式系統中,處理機的分配和執行都是以程序為基本單位,因而對處...
作業系統的基本特徵和主要功能
所謂併發是指在記憶體中放多道作業,在乙個時間段上來看,每一道作業都能不同程度地向前推進,但在任何乙個時間點上只能有一道占用cpu。作業系統是乙個併發系統,各程序間的併發,系統與應用間的併發。與併發相關的倆個概念 共享 系統中的資源可供記憶體中多個併發執行的程序 執行緒 同時使用。兩種資源共享方式 併...
作業系統介紹之主要功能以及特性
儲存管理的主要任務是管理儲存器資源,為多道程式執行提供有力支撐,主要功能包括 裝置管理的主要任務是管理各類外圍裝置,完成使用者提出的i o請求,加快i o資訊的傳送速度,發揮i o裝置的並行性,提高i o裝置的利用率,以及提供每種裝置的裝置驅動程式和中斷處理程式。上面的三種管理就是針對計算機硬體資源...