通過上下兩張計算機系統的層次結構圖,我們快速的定位到了我們所學習作業系統的位置——硬體之上,軟體之下
由於硬體的支援,系統軟體得以執行,而應用軟體的執行又同樣依賴系統軟體的幫助
作業系統(英語:operating system,縮寫:os)是管理計算機硬體與軟體資源的系統軟體,同時也是計算機系統的核心與基石。作業系統需要處理如管理與配置記憶體、決定系統資源供需的優先次序、控制輸入與輸出裝置、操作網路與管理檔案系統等基本事務。作業系統也提供乙個讓使用者與系統互動的操作介面。度娘、維基百科的定義已經非常清楚了,說白了,作業系統起到的作用就是,承上啟下,對於使用者一切從友好,易操作出發,同時把使用者一系列的高階操作轉化為低階操作下面是分類更加細緻的一種定義—— 維基百科
補充:現代作業系統的特點:併發性、共享性、虛擬性、不確定性
手工操作:先把程式紙帶(或卡片)裝上輸入機,然後啟動輸入機把程式和資料送入計算機,接著通過控制台開關啟動程式執行。計算完畢,印表機輸出計算結果,使用者取走並卸下紙帶(或卡片)
如何在單位時間內提公升計算機 cpu 的執行效率,一直是人們熱衷於研究的,早期的時候,人們想到的方案有這麼幾種:
非批處理:單個作業由使用者輸入到輸入裝置後,要轉換成主機能夠接受的形式輸入主機,主機處理後,輸出到輸出裝置,在輸出裝置上轉換成使用者可識別的形式輸出
批處理:則是使用者輸入一批作業到輸入裝置,主機處理後,資料成批輸出
早期的批處理分為① 聯機批處理 ② 離線批處理
本來這裡打算提一下就好了,但是還是把具體執行方法貼上來了,可以直觀的了解早期批處理的乙個執行流程,不想看這裡就當我在水字數哈哈哈哈
① 機批處理
慢速的輸入輸出(i/o)裝置是和主機直接相連
作業的執行過程為:
(1) 使用者提交作業:作業程式、資料,用作業控制語言編寫的作業說明書優點:作業自動轉接,從而減少作業建立和人工操作時間(2) 作業被作成穿孔紙帶或卡片
(3) 操作員有選擇地把若干作業合成一批,通過輸入裝置(紙帶輸入機或讀卡機) 把它們存入磁帶
(4)監督程式讀入乙個作業(若系統資源能滿足該作業要求)
(5) 從磁帶調入匯程式設計序或編譯程式,將使用者作業源程式翻譯成目標**
(6) 連線裝配程式把編譯後的目標**及所需的子程式裝配成乙個可執行程式
(7) 啟動執行
(8) 執行完畢,由善後處理程式輸出計算結果
(9) 再讀入乙個作業,重複(5)—(9)各步
(10) 一批作業完成,返回到(3),處理下一批作業
缺點:在作業的輸入和執行結果的輸出過程中,主機cpu仍處在停止等待狀態,這樣慢速的輸入輸出裝置和快速主機之間仍處於序列工作,cpu的時間仍有很大的浪費
② 離線批處理
離線批處理為了解決上面的浪費情況:所以增加了一台不與主機直接相連而專門用於與輸入輸出裝置打交道的衛星機
衛星機的功能:
優點:
做了個流程圖,更直觀一點
但是這種情況下,如果採用單道程式系統同樣會限制系統的效率
所以為提高主機處理的效率,應該將離線批處理與多道程式系統結合起來
下面我們要說的就是單道程式和多道程式,這裡大家不要搞混
「 批處理 」 指的是輸入輸出的方式,而 「 單道程式 」 和 「 多道程式 」 指的是外設與主機之間的資料傳輸方式
① 單道批處理系統
在批處理中,操作員把使用者提交的作業分類,把一批中的作業編成乙個作業執行序列,每一批作業將有專門編制的監督程式自動一次處理
簡單的形容就是:每次只呼叫乙個使用者作業程式進入記憶體並執行
② 多道批處理系統
在計算機記憶體中同時存放幾道相互獨立的程式
特點:
優點:
缺點:
分時就是把計算機的系統資源(尤其是cpu時間)進行時間上的分割,每個時間段稱為乙個時間片,每個使用者依次輪流使用時間片
分時具有互動性、多使用者同時性和獨立性的特徵,cpu 利用率提高了
實時作業系統是指當外界事件或資料產生時,能夠接受並以足夠快的速度予以處理,其處理的結果又能在規定的時間之內來控制生產過程或對處理系統做出快速響應,排程一切可利用的資源完成實時任務,並控制所有實時任務協調一致執行的作業系統。提供及時響應和高可靠性是其主要特點
同時兼有多道批處理、分時、實時處理的功能,或其中兩種以上的功能。
首先保證優先處理任務,插空進行批作業處理。通常把實時任務稱為前台作業,批處理作業稱為後台作業。將批處理和分時處理相結合可構成分時批處理系統
在保證分時使用者的前提下,沒有分時使用者時可進行批量作業的處理
舉乙個多使用者分時互動型作業系統的例子:unix例如批處理,以及分時,實時的乙個基本說明在前面已經提到過,具體展開將這每乙個作業系統,篇幅過長而且比較枯燥,這一部分就大家根據需要查閱一下吧它首先建立的是乙個精幹的核心,而其功能卻足以與許多大型的作業系統相媲美,在核心層以外可以支援龐大的軟體系統。
目前廣泛使用的各種工作站級的作業系統如sun公司的solaris,ibm公司的aix等都是基於unix的作業系統。windows系列作業系統,其主要原理也是基於unix系統的。linux系統也是從unix演變而成的。
在多道程式或多使用者的情況下,要組織多個作業同時執行,即需要完成處理機資源的分配、排程和**等功能
處理機排程的單位可為程序或執行緒
由於處理機排程策略不同,出現不同型別的作業系統,如批處理系統、分時系統、實時系統
對內部儲存器進行分配,保護和擴充
裝置管理是通道、控制器和輸入輸出裝置的分配和管理,以及實現裝置獨立性
這裡要做的就是,資訊的共享、保密和保護
如果系統允許多個使用者協同工作,那麼就應該允許使用者共享資訊檔案。但這種共享應該是受控制的,應該有授權和保密機制
保證系統安全可靠:有一定的保護機制以免檔案被非授權使用者呼叫和修改,即使在意外情況下,如系統失效、使用者對檔案使用不當,也能盡量保護資訊免遭破壞
使用者介面的目標是:提供乙個友好的使用者訪問作業系統的介面。
作業系統向上提供兩種介面:
通過這些命令和呼叫,向作業系統提出申請,由作業系統呼叫內部功能來
完成相應的操作
併發性
共享性
虛擬性
非同步性
在這裡的我們素不相識,卻都在為了自己的夢而努力 ❤
《作業系統》 第一講 什麼是作業系統
螢幕上輸出hello是如何實現的呢?首先假定我們計算機的記憶體位址300處儲存著h的ascii碼0x68,視訊記憶體的位址是777。cup傳送指令給記憶體,這條指令告訴記憶體,將資料傳送到位址777處。接下來上電,執行這條指令,匯流排工作以及合作,就把0x68放到顯示器了。其他字元依次執行。這樣he...
第一講 大資料概述
內容來自廈門大學林子雨教授的 大資料技術原理 課程,作為學習筆記。1.1大資料時代 1.2大資料概念 1.3大資料的影響 1.4大資料的應用 1.5大資料關鍵技術 1.6大資料計算模式 1.7大資料產業 1.8大資料與雲計算 物聯網的關係 1.1.1第三次資訊化浪潮 第一次 1980年前後 個人計算...
mongoDB第一講 入門介紹
如果你在linux下安裝的mongodb,則需要在 下設立 data db 即 data db 安裝好資料庫之後就需要啟動mongodb資料庫。以自身為例,進入 d mongodb server 3.4 bin 雙擊 mongod 開啟資料庫。當視窗最後出現了 waiting for connect...