程式猿無法把所有的硬體操作細節都了解到,管理這些硬體並且加以優化使用是非常繁瑣的工作,這個繁瑣的工作就是作業系統來幹的,有了它,程式猿就從這些繁瑣的工作中解脫了出來,只需要考慮自己的應用軟體編寫就可以了,應用軟體直接使用作業系統提供的介面來間接使用硬體。
作業系統位於計算機硬體與應用軟體之間,本質也是乙個軟體。作業系統由作業系統的核心(執行於核心態,管理硬體資源)以及系統呼叫(執行於使用者態,為應用程式猿寫的應用程式提供系統呼叫介面)兩部分組成,所以,單純的說作業系統執行於核心態是不準確的。
作業系統應該分成兩部分功能:
一、為應用程式猿提供呼叫硬體資源的系統呼叫介面。
二、將應用程式對硬體資源的靜態請求變得有序化。
特點:沒有作業系統的概念
所有程式設計都是直接操控硬體
工作原理:
程式猿在牆上的機時表預約一段時間,然後程式猿拿著他的外掛程式板到機房裡,將自己的外掛程式板接到計算機裡,這幾個小時他獨享這個計算機資源,後面的一批人都得等著(兩萬多真空管經常會有被燒壞的情況出現)。
後來出現了穿孔卡片,可以將程式寫在卡片上,然後讀入機而不用外掛程式板。
優點:程式猿在申請的時間段內獨享整個資源,可以及時調整自己的程式(有bug可以立刻處理)
缺點:浪費計算機資源,乙個時間段內只有乙個人用。
特點:設計人員、生產人員、操作人員、程式人員和維護人員直接有了明確的分工,計算機被鎖在專用空調房間中,由專業操作人員執行,這便是『大型機』。
有了作業系統的概念
有了程式語言:fortran語言或組合語言,寫到紙上,然後穿孔打成卡片,再講卡片盒帶到輸入室,交給操作員,然後喝著咖啡等待輸出介面
工作原理:
優點:批處理,節省了機時
缺點:1.整個流程需要人參與控制,將磁帶搬來搬去(中間倆小人)
2.計算的過程仍然是順序計算-》序列
3.程式設計師原來獨享一段時間的計算機,現在必須被統一規劃到一批作業中,等待結果和重新除錯的過程都需要等同批次的其他程式都運作完才可以(這極大的影響了程式的開發效率,無法及時除錯程式)
作用一:為應用程式提供如何使用硬體資源的抽象
作用二:管理硬體資源
多路復用有兩種實現方式
1.時間上的復用
當乙個資源在時間上覆用時,不同的程式或使用者輪流使用它,第乙個程式獲取該資源使用結束後,在輪到第二個。。。第三個。。。
例如:只有乙個cpu,多個程式需要在該cpu上執行,作業系統先把cpu分給第乙個程式,在這個程式執行的足夠長的時間(時間長短由作業系統的演算法說了算)或者遇到了i/o阻塞,作業系統則把cpu分配給下乙個程式,以此類推,直到第乙個程式重新被分配到了cpu然後再次執行,由於cpu的切換速度很快,給使用者的感覺就是這些程式是同時執行的,或者說是併發的,或者說是偽並行的。至於資源如何實現時間復用,或者說誰應該是下乙個要執行的程式,以及乙個任務需要執行多長時間,這些都是作業系統的工作。
2.空間上的復用
每個客戶都獲取了乙個大的資源中的一小部分資源,從而減少了排隊等待資源的時間。
例如:多個執行的程式同時進入記憶體,硬體層面提供保護機制來確保各自的記憶體是分割開的,且由作業系統控制,這比乙個程式獨佔記憶體乙個乙個排隊進入記憶體效率要高的多。
有關空間復用的其他資源還有磁碟,在許多系統中,乙個磁碟同時為許多使用者儲存檔案。分配磁碟空間並且記錄誰正在使用哪個磁碟塊是作業系統資源管理的典型任務。
這兩種方式合起來便是多道技術
計算機基礎 作業系統
作業系統是控制計算機整體執行的軟體。它為使用者提供了可以儲存和檢索檔案的方法,可與請求執行程式的介面,以及執行被請求程式所必須的環境。作業系統用來協調計算機內部活動以及與外部世界的通訊。將計算機硬體轉化為有用的工具。軟體型別 系統軟體提供了應用軟體所需要的基礎架構。作業系統元件 使用者介面 完成與使...
計算機基礎,作業系統
中文 日文 韓文 英文都是人類的語言 語言其實就是人用來溝通交流的媒介 語言就是一種事物與另外一種事物溝通表達的方式 工具 人與計算機之間溝通交流的媒介 人 程式語言 計算機 程式語言的本質就是一門語言 能夠與機器的對話的人 程式設計即程式設計師根據需求把自己的思想流程按照某種程式語言的語法風格編寫...
計算機作業系統總結篇
os的乙個巨集觀比喻 計算機是如何工作的?os是如何啟動的?os的目的和功能 os的發展 os的執行機制 os的特徵 os的體系結構 程序管理 筷子 cpu 記憶體管理 圓桌 記憶體卡 檔案管理 冰箱 磁碟 io管理 門 外設 我們可以將qq google lol 網易雲理解為乙個個小人 程序 他們...