操作系統--從人工到智能
自微處理器問世以來,強大的運算能力,使手動操作計算機成為歷史,操作系統作為面向用户,接受用户指令的,並將用户指令傳達給處理器的“翻譯”,已經成為一台計算機必不可少的配置。
計算機硬件經過60幾年的發展,歷經電子管時代、晶體管時代、集成電路時代、大規模集成電路時代和超大集成電路時代,相對應用的操作方法也從手工傳送變成了高度集成。
電子管時代(1946-1958年)的計算機操作系統,計算員將工程師寫的代碼手工裝入計算機,然後再將計算結果從計算機中取出,做好記錄,執行下一次操作。每次只能完成一個作業。這個時期,是沒有操作系統的。類似於現在在工廠用手工製造一個螺絲,材料、工具和操作方法都交給工人,工人一步一步按照操作方法將螺絲做好。這個時期,主要是滿足“能用”的基本條件。
打孔帶
晶體管時代(1957-1964年)計算機造價依然昂貴,為了能提高計算機利用率,應儘量保持系統的連接運行。於是為了實現作業的批量處理,就把作業順序以脱機的方式錄入到磁帶機,並在系統中配置監督(Monitor)程序,在監督的控制下,使作業可以批量完成。這個監督程序,為後來處理器的資源管理提供了參考,也就是調度權。
三極管
當批量作業完成後,監督程序又收回控制權,繼續下一個批處理作業。這樣的作業方法被稱為單道批處理。隨着硬件的不斷提升,單道批處理也不能充分利用計算機,於是就發明了將多個作業一起放進計算機,監督程序再按照之前設計好的調度原則分配作業,進行處理,從作業結束開始,退出運行和繼續下一作業都由系統自動完成,從而實現一個自動轉接和連續的作業流。
類似於現在在工廠,有了機牀了,加工螺絲的速度雖然上來了,但中間還需要更換材料,於是就將材料放在送料口,材料一用完,便自動將下一個材料送上機牀。隨着生意越來越好,螺絲的產能需要提高,但沒有更先進的機牀可供選擇,於是就改造現有機牀,利用現有的機牀配置,增加了一些工具,使機牀一次可以加工多組螺絲。
批處理
晶體管時代的操作系統被稱為批處理操作系統。
集成電路時代(1964--1972年),德州儀器的工程師基爾比(Jack Kilby,1923--2005)於1958年發明了集成電路(integrated circuit),集成電路將更多的電容、電阻、電感等元件結合到硅片,使計算機變得更小、能耗更低,價格下降。
集成電路
隨着計算機處理能力越來越強大,一台計算機閒置的時間變得更長,為了充分利用計算機,於是將計算機按照使用時間分配給不同的用户,一台計算機可以為幾人甚至幾百人共用。集成電路時代的操作系統被稱為分時操作系統,值得注意的是,後期的UNIX就是分時操作系統,可以讓用户通過終端同時訪問同一台主機,CPU再根據用户優先級處理用户作業。
分時操作系統
同時誕生的還有實時操作系統,實時操作系統是保證在一個時間期限下完成特定任務的操作系統。多用於需要實時查看或調度資源的領域,如服務器系統、衞星定位系統、時間同步系統等。
實時操作系統
大規模和超大規模集成電路時代(1974--現在)的操作系統,是隨着計算機應用在不同領域的劃分而不斷擴展的。同時出現了用於特定功能的嵌入式操作系統、用於網絡操作的分佈式操作系統和用於辦公和娛樂的桌面操作系統。
嵌入式操作系統
嵌入式操作系統(Embedded Operating System),是目前應用領域最廣泛的操作系統,如手機、數控機牀、各種交換機等。嵌入式操作系統管理着硬件的底層驅動程序、系統內核、設備驅動接口調用、通訊、用户界面等功能。我們使用的Android、iOS等手機操作系統也歸屬於嵌入式操作系統。
嵌入式操作系統
分佈式操作系統(Distributed Software Systems)被用於服務器集羣、協同工作等領域,分佈式操作系統集成了分佈式語言設計及編譯、分佈式文件、分佈式數據庫等核心內容。
分佈式操作系統
國產企業和公司通過改良類UNIX操作系統,精簡了一些不必要的指令和功能,使這些操作系統更適配自己的硬件,並將這些自研設備廣泛應用於如軍工、航天、鐵路等行業。但作為商業前景並不明顯的桌面操作,依然值得努力,畢竟十四億人的市場在未來還是有巨大商業潛力的。接下的後續文章裏,實習生將繼續總結整理我們建國以來計算機領域的發展歷程和取得的成就!請多多關注“莫爾小組實習生”!