- 樂學Windows操作系統
- 王振世編著
- 1754字
- 2022-07-29 14:33:21
1.1 操作系統的一個重任,兩個角色
電小白第一次知道有操作系統(Operating System, OS)這個詞,是在用計算機玩游戲很長時間以后。當時電小白很不理解運行的游戲程序和操作系統程序之間的界限在哪里,覺得很抽象。
自從電小白自己安裝了一次Windows操作系統后,才明白了兩點:①操作系統是直接運行在裸機(沒有安裝任何軟件的計算機硬件)上的系統軟件;②盡管初級玩家并沒有在意它的存在,但任何應用軟件的運行離不開它的支持。
在電小白和計算機硬件之間,始終有一個“操作系統”橫在中間。
電小白:“清青老師,我感覺操作系統是存在的,但說不清楚它到底是什么?!?/p>
清青老師告訴電小白:“很多剛開始學習計算機的人都說不清楚操作系統是什么。但我們只要記住操作系統有‘一個重任,兩個角色’就可以了?!?/p>
“一個重任?”電小白迫不及待地想了解一個重任到底是什么。
“‘一個重任’是指操作系統擔負著用戶和計算機軟硬件之間的交互的重任,”清青老師告訴電小白,“操作系統有時候就是生意雙方(用戶和計算機軟硬件)的中介,所有的交易細節都要經過它,它的粗暴干涉讓人不悅;可有時操作系統又像湍急河流兩岸間的橋梁(如圖1-1所示),用戶和計算機軟硬件之間的交流全靠它,它的默默奉獻讓人獲得便利。”
“那么,兩個角色又是什么?”電小白接著問道。
清青老師:“兩個主要的角色是接待員和管家婆。”
“有點意思了,愿聞其詳。”電小白說。
“操作系統的接待員角色,就是用戶使用計算機系統的操作界面。這個接待員的出現,屏蔽了計算機系統內部的復雜性,使用戶很容易操作計算機,而無須了解計算機內部復雜的細節。”清青老師繼續說。
清青老師停頓了一下,接著說:“操作系統的管家婆角色,是負責管理計算機系統內部各種資源的。這些資源,一般用戶可以不了解,但計算機系統必須能夠有效調度。”

圖1-1 操作系統是用戶和軟硬件之間溝通的橋梁
“這樣的操作系統形象比較可愛,我喜歡!”電小白說。
“不管你喜歡還是不喜歡操作系統,它就在那里,不知疲倦地完成著它的使命。”清青老師笑著說。
1.1.1 兩個角色:接待員和管家婆
大家都有去飯店點菜的經歷。我們只需要告訴服務員點什么菜即可,至于菜是從哪里買來的,放了哪些調料,師傅是用哪個鍋炒的,老板允許哪些人進廚房,允許哪些人收銀,要求哪些人給你擦桌子,我們從不關心。我們只關心菜上得快不快,味道好不好。
也就是說,飯店也存在至少兩個關鍵角色:接待員和管家婆。接待員是負責接待客戶的服務員,對客戶屏蔽了飯菜準備過程和飯店經營過程的復雜性,給客戶提供了用餐的便利性;管家婆則是管理廚房運作的老板,她負責調度廚房內部的人力資源、食材資源,管理上菜進度和財務流水等,如圖1-2所示。
雖然有些飯店提供了透明廚房,進一步給客戶提供了內部運作的細節,但這是飯店系統的高級設置,并不意味著很多人真的會去了解。如同計算機操作系統里有很多高級設置,但一般人很少去探索一樣。

圖1-2 飯店的操作系統
1.1.2 屏蔽內部業務運行的復雜性
很多人都有去銀行辦理業務的經歷。銀行給用戶提供的選擇有多種,你可以去營業員那里辦理業務,也可以在自助銀行辦理。你只需要告訴營業員你是存錢還是取錢,存多少,取多少;或者你在自助機上選擇相應功能,按提示進行操作即可。至于銀行里的錢是哪個客戶存入的,錢放在哪個金庫里,是由哪個運鈔車運到營業廳的,你完全不用了解。也就是說,銀行給用戶提供了便利的業務操作界面,同時屏蔽了內部業務運行的復雜性,如圖1-3所示。

圖1-3 屏蔽內部業務運行的復雜性
1.1.3 知識一點通:計算機的操作系統
計算機的操作系統給用戶提供了與計算機硬件之間的接口,屏蔽了計算機內部運行的復雜性,如圖1-4所示。從這個角度來看,操作系統更像計算機的接待員,它負責接待用戶,提供了用戶與計算機的交互接口。用戶必須通過這個接待員才能與計算機打交道。

圖1-4 操作系統的接待員和管家婆角色
計算機系統經常會運行一些程序或提供一些服務,如同飯店內部也要進行運營管理一樣。從這個角度來看,操作系統是計算機的管家婆,它負責管理計算機的硬件資源和軟件資源,合理地組織計算機的工作流程,協調計算機內部硬件和軟件之間、計算機與用戶之間,以及多個用戶之間的關系。
總之,提供用戶界面和進行計算機資源的管理是任何操作系統最重要的兩個角色,其屏蔽了計算機內部的軟硬件資源的復雜性,邏輯結構如圖1-5所示。

圖1-5 計算機操作系統的邏輯結構
- Red Hat Enterprise Linux 8系統管理實戰
- 阿里云數字新基建系列:云原生操作系統Kubernetes
- UNIX操作系統設計
- 蘋果電腦玩全攻略 OS X 10.8 Mountain Lion
- 無蘋果不生活 OS X Mountain Lion隨身寶典
- 白話區塊鏈
- Instant Handlebars.js
- 精解Windows 8
- Haskell Financial Data Modeling and Predictive Analytics
- Mastering KVM Virtualization
- 計算機系統開發與優化實戰
- Windows Server 2019 Administration Fundamentals
- Learn CUDA Programming
- Learning BeagleBone
- Linux內核API完全參考手冊(第2版)