什麼是作業系統
作業系統在維基百科中文版中的定義如下:
作業系統(operating system,簡稱os) , 是電子計算機系統中負責支撐應用程式執行環境以及使用者操作環境的系統軟體,同時也是計算機系統的核心與基石。它的職責常包括對硬體的直接監管、對各種計算 資源(如記憶體、處理器時間等)的管理、以及提供諸如作業管理之類的面向應用程式的服務等等。
作業系統在維基百科英文版的定義 如下:
大家可以很清晰的看到這兩個定義並沒有本質的區別。作業系統的定義很簡單,就是提**用程式的執行環境,提供使用者操作環境的軟體。
作業系統的簡要歷史
在早期的計算機系統裡面是沒有作業系統的,最早的eniac (electronic numerical integrator and computer)沒有鍵盤顯示器等等的,所有的輸入操作都是通過對開關的通斷來實現的,輸出是通過燈泡的亮滅顯示的,改變計算公式甚至需要對線路進行重 新的布置,那個年代是沒有作業系統的。
兩位女士正在操作eniac
eniac裡面並沒有記憶體,只有暫存器,而且控制系統是通過硬接線實現的,想改變公式就需要 對線路重新布置。這樣操作其實非常的不方便。所以,著名的"計算機之父"馮·諾依曼加入這個計畫之後,提出了改進意見edvac (electronic discrete variable automaticcomputer)計畫。edvac實際上就是最早的馮諾依曼結構的雛形,現在我們使用的通用計算機結構仍舊屬於馮諾依曼結構。
談這些歷史,是想讓大家知道,在沒有作業系統的年代,裸機也是可以使用的。而作業系統的產生是為了給應用程式提供乙個執行環境。
作業系統必須直接驅動硬體麼?
我們見到的大部分作業系統都是直接驅動硬體的,這就給人乙個錯覺,所有的作業系統都是必須驅 動硬體的。win31推出的時候,雖然有記憶體管理,程序管理(那時候win系統沒有執行緒概念),有圖形介面,但是仍舊被人質疑是否是作業系統。原因是 win31的檔案系統是dos支援的,引導程式是 dos,換言之,win31不能直接執行在硬體上。這是一種誤解,現代的作業系統大多分層,為了移植和系統的結構化,一般來說作業系統都會分為硬體相關 層,硬體無關層。硬體相關層一般就是io處理和做驅動程式管理。而記憶體管理,程序管理,圖形介面等等一般都是硬體無關層處理的。
對cpu來說,一段普通記憶體位址和一塊硬體埠對映出來的記憶體位址並沒有任何區別。這是因為 從計算邏輯上看,任何功能用硬體實現和用軟體實現並沒有任何的區別。正因為此,我們才能在一台win作業系統的機器上面vmware上面安裝乙個 linux,或者反之。作業系統就是應用程式的執行環境,也就是乙個硬體和軟體之間的層。早期的作業系統比如dos,比如unix之前的那些專用的大型機 作業系統等等,它們根硬體的結合都比較緊密,難以分開,提供的硬體以外的功能也很少。然而unix本身就是為了解決在多種不同型別大型機之間移植而設計, 從概念上就已經跟硬體分離了。windows也很類似, winnt4.0可以用於x86晶元,也可以用於alpha晶元的機器就是因為這個原因。
分布式作業系統更是傳統作業系統思想的變革,分布式作業系統是安裝在整個分布系統裡面的,其中任何一台也可以安裝有自己的本地作業系統。
什麼是作業系統
提要 沒有作業系統的計算機稱之為裸機,無法方便的使用。能夠是計算機硬體工作的只有機器語言,也就是一大串由01兩個數字組成的編碼。1 作業系統的作用是什麼?作業系統的主要作用是直接跟計算機的硬體打交道。作業系統將跟計算機硬體打交道的工作都封裝成乙個乙個的系統呼叫 系統呼叫 將要實現的某些功能通過系統呼...
什麼是作業系統?
os提供的介面 命令的表示方式 命令的使用方式 離線使用方式 off line 和聯機使用方式 on line 特點 監視資源 分配 資源 保護資源 該觀點認為,作業系統是計算機系統工作流程的組織者,它負責協調在系統中執行的各個應用軟體的執行次序。特點 用於巨型機和大型伺服器上,以批檔案方式提交作業...
什麼是作業系統
從使用者角度來說,作業系統是乙個控制軟體,控制應用程式的執行以及限制不同應用程式占用不同大小的資源。作業系統會提供不同的服務,比如i o服務,網絡卡的訪問等等,使得我們能夠更好的操作計算機。對於計算機內部管理來說,作業系統相當於資源管理器,在我們的計算機中有各種各樣的資源,cpu是一種資源,記憶體是...