大學操作系統第一講【入門概述】

(一) 操作系統概述

(1) 計算機系統層次結構

通過上下兩張計算機系統的層次結構圖,我們快速的定位到了我們所學習操作系統的位置——硬件之上,軟件之下

由於硬件的支持,系統軟件得以運行,而應用軟件的運行又同樣依賴系統軟件的幫助

(2) 操作系統基本概念

操作系統(英語:Operating System,縮寫:OS)是管理計算機硬件與軟件資源的系統軟件,同時也是計算機系統的內核與基石。操作系統需要處理如管理與配置內存、決定系統資源供需的優先次序、控制輸入與輸出設備、操作網絡與管理文件系統等基本事務。操作系統也提供一個讓用戶與系統交互的操作界面。

—— 維基百科

度娘、維基百科的定義已經非常清楚了,說白了,操作系統起到的作用就是,承上啓下,對於用戶一切從友好,易操作出發,同時把用戶一系列的高級操作轉化爲低級操作

  • 從另一個角度來看,操作系統又好像計算機中的核心管家,它掌管以及控制計算機上所有的軟硬件資源
  • 還有一個角度來看,操作系統的引入,可以爲計算機系統的擴展提供平臺支撐,也就是說,更新點新服務或者功能的時候,不會影響原有的服務或者功能

下面是分類更加細緻的一種定義

  • 科普觀點:操作系統是計算機系統的管理指揮機構和控制中心

  • 功能觀點:操作系統是計算機資源的管理系統,負責對計算機的全部軟、硬件資源進行分配、控制、調度和回收

  • 用戶觀點:操作系統是用戶使用計算機的一個界面

  • 管理員觀點:操作系統是計算機工作流程得以自動高效運行的組織者,系統軟硬件資源合理協調的管理者

  • 軟件觀點:操作系統是由程序和數據集合組成的大型系統軟件

補充:現代操作系統的特點:併發性、共享性、虛擬性、不確定性

(二) 操作系統的發展

(1) 手工操作階段

手工操作:先把程序紙帶(或卡片)裝上輸入機,然後啓動輸入機把程序和數據送入計算機,接着通過控制檯開關啓動程序運行。計算完畢,打印機輸出計算結果,用戶取走並卸下紙帶(或卡片)

  • 計算機運算速度慢,沒有操作系統,甚至沒有任何軟件

  • 用戶直接用機器語言編制程序,並在上機時獨佔全部計算機資源

(2) 早期批處理

A:如何提高 CPU 效率

如何在單位時間內提升計算機 CPU 的執行效率,一直是人們熱衷於研究的,早期的時候,人們想到的方案有這麼幾種:

  • 配備專門的計算機操作員,程序員不再直接操作機器,減少操作機器的錯誤
  • 使用批處理,即操作員把用戶提交的作業分類,把一批中的作業編成一個作業執行序列
  • 每一批作業將有專門編制的監督程序(monitor)自動依次處理

B:批處理/非批處理 的區別

非批處理:單個作業由用戶輸入到輸入設備後,要轉換成主機能夠接受的形式輸入主機,主機處理後,輸出到輸出設備,在輸出設備上轉換成用戶可識別的形式輸出

批處理:則是用戶輸入一批作業到輸入設備,主機處理後,數據成批輸出

C:批處理分類

早期的批處理分爲 ① 聯機批處理 ② 脫機批處理

本來這裏打算提一下就好了,但是還是把具體執行方法貼上來了,可以直觀的瞭解早期批處理的一個執行流程,不想看這裏就當我在水字數哈哈哈哈

① 機批處理

慢速的輸入輸出(I/O)設備是和主機直接相連

作業的執行過程爲:

(1) 用戶提交作業:作業程序、數據,用作業控制語言編寫的作業說明書

(2) 作業被作成穿孔紙帶或卡片

(3) 操作員有選擇地把若干作業合成一批,通過輸入設備(紙帶輸入機或讀卡機) 把它們存入磁帶

(4) 監督程序讀入一個作業(若系統資源能滿足該作業要求)

(5) 從磁帶調入彙編程序或編譯程序,將用戶作業源程序翻譯成目標代碼

(6) 連接裝配程序把編譯後的目標代碼及所需的子程序裝配成一個可執行程序

(7) 啓動執行

(8) 執行完畢,由善後處理程序輸出計算結果

(9) 再讀入一個作業,重複(5)—(9)各步

(10) 一批作業完成,返回到(3),處理下一批作業

優點:作業自動轉接,從而減少作業建立和人工操作時間

缺點:在作業的輸入和執行結果的輸出過程中,主機CPU仍處在停止等待狀態,這樣慢速的輸入輸出設備和快速主機之間仍處於串行工作,CPU的時間仍有很大的浪費

② 脫機批處理

脫機批處理爲了解決上面的浪費情況:所以增加了一臺不與主機直接相連而專門用於與輸入輸出設備打交道的衛星機

衛星機的功能:

  • 輸入設備通過它把作業輸入到輸入磁帶

  • 輸出磁帶將作業執行結果輸出到輸出設備

優點

  • 主機不是直接與慢速的輸入輸出設備打交道,而是與速度相對較快的磁帶機發生關係。
  • 主機與衛星機可以並行工作,二者分工明確,以充分發揮主機的高速度計算能力

做了個流程圖,更直觀一點

D:思考

但是這種情況下,如果採用單道程序系統同樣會限制系統的效率

所以爲提高主機處理的效率,應該將脫機批處理與多道程序系統結合起來

下面我們要說的就是單道程序和多道程序,這裏大家不要搞混

“ 批處理 ” 指的是輸入輸出的方式,而 “ 單道程序 ” 和 “ 多道程序 ” 指的是外設與主機之間的數據傳輸方式

E:單/多道批處理系統

① 單道批處理系統

在批處理中,操作員把用戶提交的作業分類,把一批中的作業編成一個作業執行序列,每一批作業將有專門編制的監督程序自動一次處理

簡單的形容就是:每次只調用一個用戶作業程序進入內存並運行

② 多道批處理系統

在計算機內存中同時存放幾道相互獨立的程序

特點

  • 宏觀上並行:同時進入系統的幾道程序都處於運行過程中,即它們先後開始了各自的運行,但都未運行完畢

  • 微觀上串行:實際上,各道程序輪流使用CPU,交替執行:

優點

  • 資源利用率高:CPU 和內存利用率較高

  • 作業吞吐量大:單位時間內完成的工作總量大

缺點

  • 無交互性,用戶一旦提交作業,就失去了對其運行的控制能力,同時批處理週期時間長,用戶不方便

(3) 分時操作系統

分時就是把計算機的系統資源(尤其是CPU時間)進行時間上的分割,每個時間段稱爲一個時間片,每個用戶依次輪流使用時間片

分時具有交互性、多用戶同時性和獨立性的特徵,CPU 利用率提高了

(4) 實時操作系統

實時操作系統是指當外界事件或數據產生時,能夠接受並以足夠快的速度予以處理,其處理的結果又能在規定的時間之內來控制生產過程或對處理系統做出快速響應,調度一切可利用的資源完成實時任務,並控制所有實時任務協調一致運行的操作系統。提供及時響應和高可靠性是其主要特點

(5) 通用操作系統

同時兼有多道批處理、分時、實時處理的功能,或其中兩種以上的功能。

  • 例如,將實時處理和批處理相結合構成實時批處理系統

首先保證優先處理任務,插空進行批作業處理。通常把實時任務稱爲前臺作業,批處理作業稱爲後臺作業。將批處理和分時處理相結合可構成分時批處理系統

在保證分時用戶的前提下,沒有分時用戶時可進行批量作業的處理

舉一個多用戶分時交互型操作系統的例子:UNIX

它首先建立的是一個精幹的核心,而其功能卻足以與許多大型的操作系統相媲美,在覈心層以外可以支持龐大的軟件系統。
目前廣泛使用的各種工作站級的操作系統如SUN公司的Solaris,IBM公司的AIX等都是基於UNIX的操作系統。Windows系列操作系統,其主要原理也是基於UNIX系統的。linux系統也是從UNIX演變而成的。

(三) 操作系統的分類

例如批處理,以及分時,實時的一個基本說明在前面已經提到過,具體展開將這每一個操作系統,篇幅過長而且比較枯燥,這一部分就大家根據需要查閱一下吧

(四) 操作系統的功能

(1) 處理機管理功能

在多道程序或多用戶的情況下,要組織多個作業同時運行,即需要完成處理機資源的分配、調度和回收等功能

處理機調度的單位可爲進程或線程

由於處理機調度策略不同,出現不同類型的操作系統,如批處理系統、分時系統、實時系統

(2) 存儲管理功能

對內部存儲器進行分配,保護和擴充

  • 內存分配:分配內存,以保證系統及各用戶程序的存儲區互不衝突

  • 存儲保護:保證一道程序在執行過程中不會有意或無意地破壞另一道程序,保證用戶程序不會破壞系統程序

  • 內存擴充:當用戶作業所需要的內存量超過計算機系統所提供的內存容量時,把內部存儲器和外部存儲器結合起來管理,爲用戶提供一個容量比實際內存大得多的虛擬存儲器

(3) 設備管理功能

設備管理是通道、控制器和輸入輸出設備的分配和管理,以及實現設備獨立性

  • 通道、控制器、輸入輸出設備的分配和管理:設備管理的任務就是根據一定的分配策略,把通道、控制器和輸入輸出設備分配給請求輸入輸出操作的程序,並啓動設備完成實際的輸入輸出操作。爲了儘可能發揮設備和主機的並行工作能力,常需要採用虛擬技術和緩衝技術

  • 設備獨立性:輸入輸出設備種類很多,使用方法各不相同。設備管理應爲用戶提供一個良好的界面,而不必去涉及具體的設備特性,以使用戶能方便、靈活地使用這些設備。

(4) 文件系統管理(信息管理)功能

這裏要做的就是,信息的共享、保密和保護

如果系統允許多個用戶協同工作,那麼就應該允許用戶共享信息文件。但這種共享應該是受控制的,應該有授權和保密機制

保證系統安全可靠:有一定的保護機制以免文件被非授權用戶調用和修改,即使在意外情況下,如系統失效、用戶對文件使用不當,也能儘量保護信息免遭破壞

(5) 提供用戶接口功能

用戶接口的目標是:提供一個友好的用戶訪問操作系統的接口。

操作系統向上提供兩種接口:

  • 程序一級的接口:提供一組廣義指令(或稱系統調用、程序請求)供用戶程序和其他系統程序調用。

  • 作業一級的接口:提供一組控制操作命令(或稱作業控制語言,或像Linux、UNIX中的shell命令語言)供用戶去組織和控制自己作業的運行。

通過這些命令和調用,向操作系統提出申請,由操作系統調用內部功能來

完成相應的操作

(五) 操作系統的特性

併發性

  • 併發性是指同一時間間隔內發生兩個或多個事件。並行性是指同一時刻內發生兩個或多個事件

共享性

  • 共享是指多個進程共同使用有限的計算機系統資源,資源在一個時間段內交替被多個進程所用

虛擬性

  • 虛擬是指一個物理實體映射爲若干個對應的邏輯實體——分時或分空間,操作系統管理系統資源的重要手段,可提高資源利用率

異步性

  • 異步是指進程的執行順序和執行時間的不確定性

(六) 結尾

如果文章中有什麼不足,歡迎大家留言交流,感謝朋友們的支持!

如果能幫到你的話,那就來關注我吧!如果您更喜歡微信文章的閱讀方式,可以關注我的公衆號

在這裏的我們素不相識,卻都在爲了自己的夢而努力 ❤

一個堅持推送原創開發技術文章的公衆號:理想二旬不止

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章