現代計算機系統是由乙個或者多個處理器,主存,磁碟,印表機,鍵盤,滑鼠顯示器,網路介面以及各種其他輸入2.1作業系統發展圖譜輸出裝置組成的複雜系統,每位程式設計師不可能掌握所有系統實現的細節,並且管理優化這些部件是一件挑戰性極強
的工作。所以,我們需要為計算機安裝一層軟體,成為作業系統,任務就是使用者程式提供乙個簡單清晰的計算機模
型,並管理以上所有裝置。
定義也就有了:作業系統是乙個用來協調、管理和控制計算機硬體和軟體資源的系統程式,它位於硬體和應用程式之間。
作業系統的核心的定義:作業系統的核心是乙個管理和控制程式,負責管理計算機的所有物理資源,其中包括:檔案系
統、記憶體管理、裝置管理和程序管理。
2.2 真空管與穿孔卡片(無作業系統)
過程:萬能程式設計師們將對應於程式和資料的已穿孔的紙帶(或卡片)裝入輸入機,然後啟動輸入機把程式和資料輸入計算機
記憶體,接著通過控制台開關啟動程式針對資料執行;計算完畢,印表機輸出計算結果;使用者取走結果並卸下紙帶(或
卡片)後,才讓下乙個使用者上機。
注意點:
1 程式設計師需要在牆上的計時錶上預約時間
2 同一時刻只有乙個程式在記憶體中被cpu呼叫執行(序列的)
優缺點:
優點:程式設計師在申請的時間段內獨享整個資源,即時的除錯自己的程式,如果有bug可以當場處理,
缺點:這對於計算機提供商來說是一種浪費(你買一台電腦4000塊,那 一年中你用365比只用1天,肯定是省成本的,
物盡其用)
2.3 電晶體和批處理系統
一代計算機的問題:人機互動太多了(輸入--->計算--->輸出 輸入--->計算--->輸出 輸入--->計算--->輸出 )
解決辦法:
把一堆人的輸入攢成一大波輸入,然後順序計算(這是有問題的,但是第二代計算沒有解決)再把計算結果攢成
一大波輸出,這就是批處理系統
作業系統前身:
在收集了大約乙個小時的批量作業之後,這些卡片被讀入磁帶,然後磁帶被送到機房裡並裝到磁帶上。然後磁帶被送到
機房裡並裝到磁帶機上。隨後,操作員裝入乙個特殊的程式(此乃現代作業系統的前身),它負責從磁帶上讀入第乙個
作業(job,乙個或一組程式)並執行,其輸出寫到第二個磁帶上,而且不列印。每個作業結束後,作業系統自動的從
磁帶上讀入下乙個作業並且執行。當一整批的作業全部結束後,操作員去下輸入和輸出磁帶,講輸入磁帶換成下一批作
業,並且把輸出磁帶拿到一台1041機器上進行離線(不與主計算機聯機)列印
優點:批處理
缺點: 1 圖的中間還有倆小人 2 仍然是順序計算
2.4 積體電路晶元和多道程式設計
針對二代計算機的兩個主要問題2.5 個人計算機開發出spooling技術:
卡片被拿到機房後能夠很快的將作業從卡片讀入磁碟,於是任何時刻當乙個作業結束時,作業系統就能將乙個作業從磁
帶讀出,裝進空出啦的記憶體區域執行,這種技術叫做同時的外部裝置聯機操作:spooling該技術同時用於輸出。當採
用了這種技術後,就不在需要ibm1401機了,也不必將磁帶搬來搬去了(中間倆小人失業了),強化了作業系統的功能
開發出多道程式設計,用於解決順序執行的問題:
在7094機上(程式執行的機器),若當前作業因等待磁帶或等待其他io操作而暫停,cpu就處於休閒狀態直至io操作
完成,對於cpu密集的科學計算,io操作少,浪費時間不明顯,對於商業資料處理,io等待能到達80%~90%,所以必
須解決cpu浪費的現象。
解決方案:將記憶體分為幾個部分,每一部分存放不同的作業,如圖1-5所示。當乙個作業等待io完成時,另乙個作業可以
使用cpu,記憶體中放足夠的作業,則cpu的利用率能接近100%
此時的第三代計算機適合大型科學計算和繁忙的商務資料處理,但,本質上其仍是乙個批處理系統。
雖然解決了諸如以上問題,但多個作業必須在全部執行結束後,才能得到結果,從乙個作業的提交到運算結果取回往往
長達數小時。
想象乙個場景:a君 b君 c君 三個程式設計師同時在除錯程式,一旦a君寫錯乙個逗號,那麼可能需要半天的時間才能看到結
果,因為b君c君的結果也同時運算出來了。時間必然要長。一言以蔽之:大家一起存作業,大家一起去資料(磁帶)
許多程式設計師懷念第一代獨享的計算機,可以即時除錯自己的程式。為了滿足程式設計師們很快可以得到響應,出現了分時作業系統
分時作業系統:多個聯機終端+多道技術
20個客戶端同時載入到記憶體,有17在思考,3個在執行,cpu就採用多道的方式處理記憶體中的這3個程式,由於客戶提交的一般
都是簡短的指令而且很少有耗時長的,索引計算機能夠為許多使用者提供快速的互動式服務,所有的使用者都以為自己獨享了計
算機資源
隨著大規模積體電路的發展,每平方厘公尺的矽片晶元上可以整合數千個電晶體,個人計算機的時代就此到來。
作業系統以及計算機網路
作業系統以及計算機網路 一 作業系統 第一代計算機 1940 1955 真空管和穿孔卡片 特點 沒有作業系統的概念 所有的程式設計都是直接操控硬體 工作過程 程式設計師在牆上的機時表預約一段時間,然後程式設計師拿著他的外掛程式版到機房裡,將自己的外掛程式板街道計算機裡,這幾個小時內他獨享整個計算機資...
作業系統及計算機網路
1.程序的有哪幾種狀態,狀態轉換圖,及導致轉換的事件。2.程序與執行緒的區別。3.程序通訊的幾種方式。4.執行緒同步幾種方式。一定要會寫生產者 消費者問題,完全消化理解 5.執行緒的實現方式.也就是使用者執行緒與核心執行緒的區別 6.使用者態和核心態的區別。7.使用者棧和核心棧的區別。8.記憶體池 ...
計算機網路概述 計算機網路基礎
邊緣部分 核心部分 報文交換 報文一般比分組長,報文交換的時延較長。對於廣域網區域網新的理解 不單單從網路覆蓋範圍區分區域網和廣域網,而是在應用技術方面進行區分,應用了區域網技術就是區域網,應用了廣域網技術就是廣域網。區域網一般是自己購買裝置,自己維護,寬頻固定。廣域網 花錢買服務,花錢買頻寬,效能...