操作系統的基本概念

操作系統的概念

計算機系統自下而上可以粗分爲4個部分:硬件、操作系統、應用程序和用戶(這裏的劃分和計算機組成原理的分層不同)

操作系統管理各種計算機硬件,爲應用程序提供基礎,並充當計算機硬件與用戶之間的中介
硬件,如中央處理器、內存、輸入\輸出設備等,提供了基本的計算資源
應用程序,如字處理程序、電子製表軟件、編譯器、網絡瀏覽器等,規定了按何種方式使用這些資源來解決用戶的計算問題
操作系統控制和協調各用戶的應用程序對硬件的分配和使用
在計算機系統的運行過程中,操作系統提供了正確使用這些資源的方法
總結:
操作系統是指控制和管理整個計算機系統的硬件和軟件資源,併合理地組織調度計算機的工作和資源的分配,
以提供給用戶和其它軟件的方便接口和環境的程序集合。
計算機操作系統是隨着計算機研究和應用的發展逐步形成並發展起來的,他是計算機系統中最基本的系統軟件

操作系統的特徵

操作系統的基本特徵包括併發、共享、虛擬和異步

1. 併發
	併發是指兩個或多個事件在同一時間間隔內發生。
	操作系統的併發性是指計算機系統中同時存在着多個運行着的程序,因此它具有處理和調度多個程序同時執行的能力。
	在操作系統中,引入進程的目的是使程序能併發執行。
	在多道程序環境下,一段時間內,宏觀上有多道程序在同時執行
	而在每一個時刻,單處理機環境下實際僅能有一道程序執行,
	故微觀上這些程序還是在分時地交替執行。操作系統的併發性是通過分時得以實現的。
	
	並行性是指系統具有同時進行運算或操作的特性,在同一時刻完成兩種或兩種以上的工作。
	並行性需要有相關硬件的支持,如多流水線或多處理機硬件環境

2.共享
	資源共享即共享,是指系統中的資源可供內存中多個併發執行的進程共同使用。
	共享可以分爲互斥共享方式 和 同時訪問方式。
	a. 互斥共享方式
		系統中的某些資源,如打印機、磁帶機,雖然它們可以提供給多個進程使用,但爲使所打印或記錄的結果
		不致造成混淆,應規定在一段時間內只允許一個進程訪問該資源。
		
		爲此,當進程A訪問某資源時,必須先提出請求,如果此時該資源空閒,系統便可以將其分配給進程A使用,
		此後若再有其他進程也要訪問該資源時(只要A爲用完)則必須等待。
		僅當進程A訪問並釋放該資源後,才允許另一個進程對該資源進行訪問。
		我們把這種資源共享方式稱爲 互斥式共享。
		把在一段時間內只允許一個進程訪問的資源稱爲臨界資源或獨佔資源。
		計算機系統中的大多數物理設備,以及某些軟件中所用的棧、變量和表格,都屬於臨界資源,它們都要求被互斥地共享。
	b. 同時訪問方式
		系統中還有另一類資源,允許在一段時間內由多個進程 “同時" 對它們進行訪問。
		這裏所謂的”同時“ 往往是宏觀上的,而在微觀上,這些進程可能交替地對該資源進行訪問 即”分時共享"
		典型的可供多個進程“同時”訪問的資源是磁盤設備,一些用重入碼編寫的文件也可以被“同時”共享,
		即若干個用戶同時訪問該文件。
	
	併發和共享是操作系統兩個最基本的特徵,這兩者之間又是互爲存在條件的:
		1. 資源共享是以程序的併發爲條件的,若系統不允許程序併發執行,則自然不存在資源共享問題。
		2. 若系統不能對資源共享實施有效的管理,也必將影響到程序的併發執行,甚至根本無法併發執行

3.虛擬
	虛擬是指把一個物理上的實體變爲若干個邏輯上的對應物。
	物理實體(前者)是實的,即實際存在的
	而後者是虛的,是用戶感覺上的事物。
	用於實現虛擬的技術,稱爲虛擬技術。
	在操作系統中利用了多種虛擬技術,分別用來實現虛擬處理器,虛擬內存和虛擬外部設備等

	在虛擬處理器技術中,是通過多道程序設計技術,讓多道程序併發執行的方法,來分時使用一個處理器的。
	此時,雖然只有一個處理器,但它能同時爲多個用戶服務,使每個終端用戶都感覺有一箇中央處理器爲他服務。
    利用多道程序設計技術,把一個物理上的CPU虛擬爲多個邏輯上的CPU,稱爲虛擬處理器。
	
	類似地,可以通過虛擬存儲技術,將一臺機器的物理存儲器變爲虛擬存儲器,以便從邏輯上來擴充存儲器的容量。
	當然,這時用戶所感覺到的內存容量是虛的。我們把用戶所感覺到的存儲器(實際是不存在的)稱爲虛擬存儲器。

	還可以通過虛擬設備技術,將一臺物理I/O 設備虛擬爲多臺邏輯上的I/O設備,並允許每個用戶佔用
	一臺邏輯上的I/O設備,這樣便可以使原來僅允許在一段時間內由一個用戶訪問的設備(即臨界資源),
	變爲在一段時間內允許多個用戶同時訪問的共享設備。

	因此,操作系統的虛擬技術可以歸納爲:時分複用技術,如處理器的分時共享;空分複用技術,如虛擬存儲器。

4.異步
	在多道程序環境下,允許多個程序併發執行,但由於資源有限,進程的執行不是一貫到底,而是走走停停,
	以不可預知的速度向前推進。這就是進程的異步性。
	異步性使得操作系統允許在一種隨機的環境下,可能導致進程產生與時間有關的錯誤(就像對全局變量的
	訪問順序不當會導致程序出錯一樣)。但是隻要運行環境相同,操作系統必須保證多次運行進程,都獲得相同結果
	
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章