計算機基礎系列之何爲操做系統

what's the 操做系統?

  首先,咱們要知道,爲何要有操做系統。現代的計算機系統主要是由一個或者多個處理器,主存、硬盤、鍵盤、鼠標、顯示器、打印機、網絡接口及其餘輸入輸出設備組成。現代計算機的組成部分極其複雜,咱們不可能所有了解完再去寫開發,因此就須要用到操做系統。程序員只須要作本身的本職開發工做,應用軟件直接使用操做系統提供的功能來間接使用硬件。程序員

  操做系統位於計算機硬件與應用軟件之間,本質也是一個軟件。操做系統由操做系統的內核(運行於內核態,管理硬件資源)以及系統調用(運行於用戶態,爲應用程序員寫的應用程序提供系統調用接口)兩部分組成,因此,單純的說操做系統是運行於內核態的話,是不許確的。網絡

  操做系統的功能主要有兩個,一個是隱藏了醜陋的硬件調用接口,爲應用程序員提供調用硬件資源的更好,更簡單,更清晰的模型(系統調用接口)。應用程序員有了這些接口後,就不用再考慮操做硬件的細節,專心開發本身的應用程序便可。好比,磁盤資源的抽象是文件系統(C盤,D盤,E盤...下的目錄及文件),有了文件的概念,咱們直接打開文件,讀或者寫就能夠了,無需關心記錄是否應該使用修正的調頻記錄方式,以及當前電機的狀態等細節。操做系統的實際客戶是應用程序(應用程序員負責開發應用程序,於是也能夠說應用程序員是操做系統的客戶)。另外一個是將應用程序對硬件資源的競態請求變得有序化。spa

 


 

 

操做系統的發展。(瞭解便可,記住也並無什麼卵用。。)操作系統

    第一代計算機(1940~1955):真空管和穿孔卡片           特色:沒有操做系統的概念,全部的程序設計都是直接操控硬件。優勢:程序員在申請的時間段內獨享整個資源,能夠即時地調試本身的程序(有bug能夠馬上處理)。缺點:浪費計算機資源,一個時間段內只有一我的用。設計

    第二代計算機(1955~1965):晶體管和批處理系統        特色:有了操做系統的概念,有了程序設計語言。優勢:批量處理,節約時間。缺點:整個流程須要人蔘與控制,計算的過程仍然是順序計算,程序員原來獨享一段時間的計算機,如今必須被統一規劃到一批做業中,等待結果和從新調試的過程都須要等同批次的其餘程序都運做完才能夠(這極大的影響了程序的開發效率,沒法及時調試程序)。調試

    第三代計算機(1965~1980):集成電路芯片和多道程序設計         第三代計算機的操做系統普遍應用了第二代計算機的操做系統沒有的關鍵技術——多道技術(須要記住的知識)。cpu在執行一個任務的過程當中,若須要操做硬盤,則發送操做硬盤的指令,指令一旦發出,硬盤上的機械手臂滑動讀取數據到內存中,這一段時間,cpu須要等待,時間可能很短,但對於cpu來講已經很長很長,長到可讓cpu作不少其餘的任務,若是咱們讓cpu在這段時間內切換到去作其餘的任務,這樣cpu不就充分利用了嗎。這正是多道技術產生的技術背景。多道技術中的多道指的是多個程序,多道技術的實現是爲了解決多個程序競爭或者說共享同一個資源(好比cpu)的有序調度問題,解決方式即多路複用,多路複用分爲時間上的複用空間上的複用。空間上的複用:將內存分爲幾部分,每一個部分放入一個程序,這樣,同一時間內存中就有了多道程序。時間上的複用:當一個程序在等待I/O時,另外一個程序可使用cpu,若是內存中能夠同時存放足夠多的做業,則cpu的利用率能夠接近100%。空間上的複用最大的問題是:程序之間的內存必須分割,這種分割須要在硬件層面實現,由操做系統控制。若是內存彼此不分割,則一個程序能夠訪問另一個程序的內存。爲了解決這個問題,第三代計算機普遍採用了必須的保護硬件(程序之間的內存彼此隔離)。接口

     第四代計算機(1980~至今):我的計算機內存

 總結:

  操做系統是有古人類寫的爲現代人類提供方便的軟件,要寫出一份完善的操做系統是一件很是人能作到的事。資源

  操做系統的做用是使咱們在不瞭解硬件爲什麼物的狀況下能方便的對硬件進行操控,有了操做系統應用程序員就不用再考慮操做硬件的細節,專心開發本身的應用程序便可,用戶使用電腦進行平常操做也顯得邊界無疑。重點是,操做系統能將應用程序對硬件資源的競態請求變得有序化,即多路複用。開發

相關文章
相關標籤/搜索