作業系統(operating system,簡稱os)是管理和控制計算機硬體與軟體資源的電腦程式,是直接執行在「裸機」上的最基本的系統軟體,任何其他軟體都必須在作業系統的支援下才能執行。
手工操作——穿孔卡片
2023年第一台計算機誕生--20世紀50年代中期,計算機工作還在採用手工操作方式。此時還沒有作業系統的概念。
程式設計師將對應於程式和資料的已穿孔的紙帶(或卡片)裝入輸入機,然後啟動輸入機把程式和資料輸入計算機記憶體,接著通過控制台開關啟動程式針對資料執行;計算完畢,印表機輸出計算結果;使用者取走結果並卸下紙帶(或卡片)後,才讓下乙個使用者上機。
手工操作的兩個特點:
20世紀50年代後期,出現人機矛盾:手工操作的慢速度和計算機的高速度之間形成了尖銳矛盾,手工操作方式已嚴重損害了系統資源的利用率(使資源利用率降為百分之幾,甚至更低),不能容忍。唯一的解決辦法:只有擺脫人的手工操作,實現作業的自動過渡。這樣就出現了成批處理。
批處理——磁帶儲存
批處理系統:載入在計算機上的乙個系統軟體,在它的控制下,計算機能夠自動地、成批地處理乙個或多個使用者的作業(這作業包括程式、資料和命令)。
主機與輸入機之間增加乙個儲存裝置——磁帶,在執行於主機上的監督程式的自動控制下,計算機可自動完成:成批地把輸入機上的使用者作業讀入磁帶,依次把磁帶上的使用者作業讀入主機記憶體並執行並把計算結果向輸出機輸出。完成了上一批作業後,監督程式又從輸入機上輸入另一批作業,儲存在磁帶上,並按上述步驟重複處理。
監督程式不停地處理各個作業,從而實現了作業到作業的自動轉接,減少了作業建立時間和手工操作時間,有效克服了人機矛盾,提高了計算機的利用率。
但是,在作業輸入和結果輸出時,主機的高速cpu仍處於空閒狀態,等待慢速的輸入/輸出裝置完成工作: 主機處於「忙等」狀態。
離線批處理系統
為克服與緩解:高速主機與慢速外設的矛盾,提高cpu的利用率,又引入了離線批處理系統,即輸入/輸出脫離主機控制。
功能特點
優點:所謂多道程式系統,就是指允許多個程式同時進入記憶體並執行。即同時把多個程式放入記憶體,並允許它們交替在cpu中執行,它們共享系統中的各種硬、軟體資源。當一道程式因i/o請求而暫停執行時,cpu便立即轉去執行另一道程式的系統。缺點:
多道程式系統的出現,標誌著作業系統漸趨成熟的階段,先後出現了作業排程管理、處理機管理、儲存器管理、外部裝置管理、檔案系統管理等功能。由於多個程式同時在計算機中執行,開始有了空間隔離的概念,只有記憶體空間的隔離,才能讓資料更加安全、穩定。除了空間隔離之外,多道技術還第一次體現了時空復用的特點,遇到io操作就切換程式,使得cpu的利用率提高了,計算機的工作效率也隨之提高。
作業系統的分類
分時系統:把處理機的執行時間分成很短的時間片,按時間片輪流把處理機分配給各聯機作業使用的一種作業系統。
實時系統:系統能夠及時響應隨機發生的外部事件,並在嚴格的時間範圍內完成對該事件的處理的作業系統。
網路作業系統:通過通訊設施,將地理上分散的、具有自治功能的多個計算機系統互連起來,實現資訊交換、資源共享、互操作和協作處理的系統。
分布式作業系統:將地理上分散的具有自治功能的資料處理系統或計算機系統互連起來,實現資訊交換和資源共享,協作完成任務的系統。
其它系統:嵌入式開發系統,個人作業系統等。
作業系統基礎之系統呼叫
使用者程式是如何呼叫核心程式的呢?考慮實現下面的乙個whoami的系統呼叫 在核心中100位址處有乙個使用者 lizhijun whoami函式的功能是要列印出這個使用者名稱,那可以直接列印出100位址處的內容嗎?答案當然是否定的,因為使用者程式不能隨意的訪問核心程式,核心態可以訪問任何資料,使用者...
python基礎 作業系統簡介
不同應用領域的主流作業系統 桌面作業系統 伺服器作業系統 嵌入式作業系統 移動裝置作業系統 桌面作業系統 windows系列 使用者群體很大 macos 適合於開發人員 linux 應用軟體比較少 伺服器作業系統 所謂的伺服器就是一台電腦。linux 安全 穩定 免費 占有率高 windows se...
作業系統之作業系統引論
掌握作業系統的概念 特徵 功能和提供的服務,作業系統的發展與分類 作業系統是計算機硬體與使用者的橋梁,是計算機硬體上的的第一層軟體,是對硬體系統的首次擴充.作業系統是一組控制和管理計算機硬體和軟體資源.合理地對各類作業 job 進行排程,以及方便使用者的程式的集合.無作業系統 單批道作業系統 多批道...