1 操作系统导论
目錄
1.1 操作系統做什么
計算機系統架構
計算機系統可分為四個組成部分
一個計算機系統的四個組成部分
什么是操作系統
1.2 計算機系統組成
總線結構
主機型
1.2.1計算機系統操作
計算機啟動
中斷的常見功能
中斷(重點)
中斷處理(Interrupt Handling)
中斷時間軸
1.2.2 存儲結構(storage structure)
存儲層次結構
高速緩存(Cashing)
存儲設備層次結構
1.2.3 I/O結構
I/O中斷
兩種I/O方式
現代計算機是如何工作的
設備狀態表
1.3 計算機系統架構
單處理器系統(Single-Processor Systems)
多處理器(Multiprocessor Systems)
對稱的多重處理架構
雙核設計
計算機系統組件的定義
非同一內存訪問(NUMA)
集群系統(Clustered Systems)
集群系統
1.4 操作系統的執行(Operating-System Operations
特權指令(重點)
內核態與用戶態
i386支持Ring0-Ring3
定時器(Timer)
1.5 資源管理(resource management)
操作系統功能部件
進程管理(Process Management)
進程管理活動
內存管理(Memory management)
文件系統管理(File-system Management)
大規模存儲管理(Mass-Storage-Management)
緩存(Caching)
各種存儲類型的特點
將數據“A”從磁盤遷移到寄存器
I/O子系統
1.6 安全和保護(Security And Protection)
1.7 虛擬化(Virtualization)
計算環境
1.8 分布式系統(Distributed Systems)
1.9 內核數據結構
鏈表
二叉樹
Hash Map
1.10 計算環境(Computing Environment)
一、傳統計算(Trational)
1 大型機系統(Mainframe Systems)
2 分時系統(Time-Sharing System)
3 桌面系統(Desktop System)
二、移動計算
計算機應用領域
三、客戶機-服務器計算(Client-Server)
四、點對點計算(Peer-Peer)
五、虛擬化計算
六、云計算
多種類型
服務方式
由傳統操作系統、vmm和云管理工具組成的云計算環境
七、實時嵌入式系統(Real-Time Embedded Systems)
嵌入式系統
操作系統市場格局
國內操作系統發展情況
操作系統長期由國外廠商壟斷
Windows為什么成功
1.11 自由和開源操作系統
開源操作系統(Open-Source Operating Systems)
1.12 總結
? 操作系統的名稱:
? 監控(督)程序(系統)(Monitor)
? 執行系統(程序)(Executive System(program))
? 控制系統(程序)(Control System program))
? 管理程序(Supervisor, Supervisory System)
? 內核(Kernel)
? 操作系統(Operating System)
1.1 操作系統做什么
作為計算機用戶和計算機硬件之間的中介的程序。
操作系統的目標:
執行用戶程序,使解決用戶問題更容易。
使計算機系統方便使用。
能夠有效地使用計算機硬件。
計算機系統架構
計算機系統可分為四個組成部分
硬件-提供基本的計算資源:CPU,memory,I/O設備
操作系統:控制和協調各種應用程序和用戶之間的硬件使用
系統和應用程序-定義使用系統資源來解決用戶的計算問題的方法:Word處理器,編譯器,網頁瀏覽器,數據庫系統,視頻游戲
用戶:人,機器,其他電腦
一個計算機系統的四個組成部分
什么是操作系統
1、計算機系統組成觀點——操作系統是系統軟件
計算機系統組成:
軟件:
應用軟件
中間件(Middleware)
系統軟件:操作系統、...
硬件:
輸入/輸出(I/O)設備
存儲器(內存)
中央處理器(CPU)
2、User View :操作系統是用戶與計算機硬件之間接口
? Computer計算機硬件
? 個人計算機
? 大型機(服務器)或迷你計算機
? 移動計算機
? 操作系統提供的接口有:
? 命令級接口
? 鍵盤或鼠標等命令。
? 移動設備的用戶界面,如觸摸屏,語音識別
? 程序級接口,它提供一組系統調用System calls ,即操作系統服務,供用戶程序和其它程序調用。
3.System View:操作系統是計算機系統資源的管理者
操作系統是一個資源分配器
管理所有的資源
為了高效和公平的資源使用,在沖突請求之間做決定
操作系統是一個控制程序
控制程序的執行,以防止錯誤和計算機使用不當
? 4. 從軟件分層、擴充機器的觀點:操作系統是擴充裸機的第一層系統軟件
5、操作系統的定義:沒有普遍接受的定義
”當你訂購操作系統時供應商提供的一切“是很好的近似
但差別很大
其他一切都是系統程序(系統程序,操作系統附帶)或應用程序,移動計算也包括中間件
“在計算機上一直運行的一個程序”是內核
? 操作系統是一組有效控制和管理計算機各種硬件和軟件資源,合理的組織計算機的工作流程 ,以及方便用戶的程序的集合。 ——很多中文書的描述
? 體現:
? 有效(efficient):系統效率高,資源利用率高
(如:CPU使用率,內存、外部設備是否忙)
? 合理:公平,如果不公平則會產生“死鎖”或“饑餓”
? 方便(convenience):用戶界面,編程接口
1.2 計算機系統組成
總線結構
微型計算機是以總線為紐帶來構成計算機系統,中央處理機(CPU)、存儲器、 I/O設備(包括外存磁盤、磁帶)都掛接在總線。
主機型
這類計算機以存儲器為中心,CPU和各種通道都與存儲器相連。
1.2.1計算機系統操作
■I/O設備和CPU可以并行運行(execute concurrently)。
■每個設備控制器負責一種特定的設備類型。
■每個設備控制器都有一個本地緩沖區。
■每種設備控制器類型都有一個操作系統的設備驅動程序(device driver)來管理它
■CPU將數據從主存移動到本地緩沖區或從本地緩沖區移動到主存
■I/O從設備移動到控制器的本地緩沖區。
■設備控制器通過引起中斷(interrupt)(通過系統總線)通知CPU它已經完成了操作。
計算機啟動
?引導程序在通電或重新啟動時加載
?通常存儲在只讀存儲器(ROM)或可擦寫可編程只讀存儲器(EEPROM)中,通常稱為固件(firmware)
?初始化系統的所有方面
?加載操作系統內核并開始執行
中斷的常見功能
? 中斷(Interrupt):指系統發生某個異步/同步事件后,處理機暫停正在執行的程 序,轉去執行處理該事件程序的過程.
?通常通過中斷向量(中斷向量)將中斷控制傳輸到中斷服務例程,該中斷向量包含所有服務例程的地址。
?中斷體系結構必須保存被中斷指令的地址。
?當正在處理另一個中斷時,傳入中斷被禁用,以防止丟失的中斷。
?陷入(trap)是由錯誤或用戶請求引起的軟件生成的中斷(software-generated interrupt)。
?一個操作系統是由中斷驅動的。
中斷(重點)
? 外部中斷(interrupt),異步中斷:
? 外部設備(如鼠標,鍵盤)所發出的I/O請求
? 分為可屏蔽的和不可屏蔽的兩類,由一些硬件設備產生,可以在指令執行的任意時刻產生。
? 異常(exception),內部中斷,同步中斷:
? 由CPU(正在執行的進程)產生,一條指令終止執行后CPU才會發出中斷。
? 常見的異常有除零、溢出及頁面異常(fault出錯)等。另一種情況是使用
int指令(trap陷入),Linux使用該指令來實現系統調用。 fault與trap區別
中斷處理(Interrupt Handling)
■操作系統通過存儲寄存器和程序計數器來保持CPU的狀態。
■確定發生了哪種類型的中斷:
通過一個通用例程進行輪詢(polling)
矢量化中斷系統(vectored interrupt system)
■單獨的代碼段確定對每種類型的中斷應該采取什么操作
中斷時間軸
1.2.2 存儲結構(storage structure)
?主存(main memory)-只有CPU可以直接訪問的大型存儲介質。
?輔存(secondary storage)-主存的擴展,提供較大的非易失性存儲容量。?硬盤驅動器(HDD,Hard Disk Drives)-覆蓋著磁性記錄材料的剛性金屬或玻璃磁盤,
?磁盤表面在邏輯上被劃分為軌道,并被細分為扇區。
?磁盤控制器確定設備和計算機之間的邏輯交互。
?非易失性存儲器(NVM,Non-volatile memory)設備-比硬盤快,非易失性
?各種技術
?隨著容量和性能的提高,價格的下降,變得更加流行
存儲層次結構
按分層組織的存儲系統。
?速度
?成本
?易失性
?緩存(Cashing)(高速緩存)-將信息復制到更快的存儲系統中;主存可以視為輔助存儲的最后一個緩存。
持久內存(consistent memory):可以作為第二主存;非易失的;速度、容量、成本均在動態隨機存取存儲器(DRAM,Dynamic Random Access Memory)和固態硬盤(SSD,Solid State Disk)之間,12GB、256GB、512GB
高速緩存(Cashing)
?重要原則,執行在許多級別在計算機(硬件、操作系統、軟件)
?信息使用從慢到快的存儲暫時
?加快存儲(緩存)檢查確定信息存在
?如果是,信息直接從緩存(快速)
?如果不是,數據復制到緩存和使用
?緩存小于存儲緩存
?緩存管理重要設計問題
?緩存大小和替換策略
存儲設備層次結構
1.2.3 I/O結構
?I/O方式
?程序I/O(Programmed I/O)
?中斷I/O(Interrupt I/O):同步I/O和異步I/O
?DMA方式
?通道方式
?同步I/O(Synchronous I/O):在I/O啟動后,控制僅在I/O完成時才返回到用戶程序。
?等待I/O完成,兩種方法:
?等待指令空閑的CPU,直到下一個中斷
?等待循環(循環: jmp循環)
?一次最多未完成一個I/O請求,不同時進行一個I/O處理。
I/O中斷
?異步I/O(Asynchronous I/O):在I/O啟動后,控件返回到用戶程序,而不等待I/O完成。
?System call系統調用-請求到操作系統,允許用戶等待I/O完成。
?設備狀態表(Device-status table)包含每個I/O設備的條目,指示其類型、地址和狀態。
?操作系統索引到I/O設備表中,以確定設備狀態,并修改表條目,以包括中斷。
兩種I/O方式
現代計算機是如何工作的
設備狀態表
直接內存訪問(DMA,Direct Memory Access Structure)
?用于能夠以接近內存速度傳輸信息的高速I/O設備。
?設備控制器將數據塊從緩沖區存儲直接傳輸到主存,而不需要CPU干預。
?每個塊只在中斷時生成,而不是每個字節生成一個中斷。
1.3 計算機系統架構
單處理器系統(Single-Processor Systems)
?許多年前,大多數計算機系統使用一個處理器,其中包含一個CPU和一個處理器核心。
?大多數系統使用單一的通用處理器(single general-purpose processor)
多處理器(Multiprocessor Systems)
?多處理器系統的使用情況和重要性都在不斷增長
?也被稱為并行系統,緊密耦合系統
優點包括:
1、提高了吞吐量
2、規模經濟
3、提高可靠性——優雅的退化或容錯能力
兩種類型:
1、不對稱的多重處理
2、對稱多重處理
對稱的多重處理架構
雙核設計
多個芯片(Muti-chip)和多核(multicore)
包含所有芯片的系統
包含多個獨立系統的機箱
計算機系統組件的定義
CPU——執行指令的硬件
處理器——包含一個或多個cpu的物理芯片。
內核——CPU的基本計算單元。
多核技術——包括在同一個CPU上的多個計算內核。
多處理器——包括多個處理器。
一個CPU可能有多個核。
雖然現在幾乎所有的系統都是多核的,但是當提到計算機系統和內核的單個計算單元時,我們使用通用術語CPU,當特別提到CPU上的一個或多個核時,我們使用多核。
非同一內存訪問(NUMA)
non-uniform memory access
集群系統(Clustered Systems)
集群系統(Cluster) :是由一組互聯的主機(節點)構成統一的計算機資源,
通過相應軟件協調工作的計算機機群,給人以一臺機器的感覺。
通常通過存儲區域網絡(SAN,storage-area network)共享存儲
提供可克服故障故障的高可用性服務
非對稱集群(Asymmetric clustering)有一臺機器處于熱備模式
對稱集群(Symmetric clustering)有多個節點運行應用程序,相互監控
集群系統
有些集群是用于高性能計算的(HPC,high-performance computing)
必須編寫應用程序才能使用并行化
有些還帶有分布式鎖管理器(DLM,distriburted lock manager),以避免相互沖突的操作
其他形式的集群:解析集群,通過廣域網(WAN)進行的集群。
集群技術正在迅速發生變化。
一些集群產品支持一個集群中的數千個系統,以及以英里分隔的集群節點。
存儲區域網(Storage-Area Network)
1.4 操作系統的執行(Operating-System Operations
硬件驅動的中斷
軟件錯誤或請求會創建異常(exception)或陷入(trap)
除以零,對操作系統服務的請求
其他進程問題包括無限循環、進程相互修改或進程修改操作系統
特權指令(重點)
特權指令只能在監控(內核)模式下發出。
? 特權指令:不允許用戶程序中直接使用的指令。例如:I/O指令、設置時鐘、
置控制寄存器等指令都是特權指令。
? 非特權指令:用戶程序中所使用的指令。
雙模式操作允許操作系統保護自身和其他系統組件
用戶模式(用戶態,User mode)和內核模式(kernel mode)(也包括監視模式或系統模式或監督模式或特權模式)(內核模式、內核態)
重要概念:狀態指CPU的狀態,不是內存的狀態
?用戶態:執行用戶程序時
?內核態(管態、核心態、系統態、特權模式):執行操作系統程序時
內核態與用戶態
內核態與用戶態之間的區別
? 內核態
? 能夠訪問所有系統資源,可以執行特權指令,可以直接操作和管理硬件設備。
? 操作系統內核程序運行在內核態下
? 使用內核棧
? 用戶態
? 只能訪問屬于它的存儲空間和普通寄存器,只能執行普通指令。
? 用戶程序以及操作系統核外服務程序運行在用戶態下
? 使用用戶棧
i386支持Ring0-Ring3
RISC-V的架構:用戶模式(User Mode)和監督模式(Supervisor Mode)、超級監督模式(Hypervisor-mode)、機器模式(Machine Mode)
定時器(Timer)
定時器被設置為在一段時間后中斷計算機
定時器用來防止無限循環/進程占用資源
在特定時段后設置中斷
操作系統遞減計數器
當計數器為零時,就會產生一個中斷
在調度進程之前進行設置,以重新獲得控制或終止超過分配時間的程序
1.5 資源管理(resource management)
操作系統功能部件
? 進程管理 Process Management
? 主存管理 Main Memory Management
? 文件系統管理 File-System Management
? 大容量儲存管理 Mass-Storage Management
? 高速緩存管理 Cache Management
? I/O系統管理 I/O System Management
進程管理(Process Management)
一個進程是一個正在執行中的程序。它是系統內的一個工作單位。程序是一個被動實體,進程是一個主動實體。
進程需要資源來完成其任務
CPU、內存、I/O、文件
初始化數據
進程終止需要回收任何可重用的資源
單線程進程有一個程序計數器,用來指定下一個要執行的指令的位置
進程依次執行指令,一次一個,直到完成
多線程進程,每個線程有一個程序計數器
通常系統有許多進程,一些用戶,一些操作系統并發地運行在一個或多個cpu上
通過在進程/線程之間多路復用cpu來實現并發性
進程管理活動
該操作系統負責以下與進程管理有關的活動:
同時創建和刪除用戶進程和系統進程
暫停和恢復進程
提供實現進程同步的機制
提供進程交互的機制
提供可進行死鎖處理的機制
內存管理(Memory management)
要執行程序,所有(或部分)指令必須在內存中
程序所需的所有(或部分)數據必須在內存中
內存管理決定了內存中是什么和什么時候在內存中
優化CPU利用率和計算機對用戶的響應
內存管理活動
跟蹤當前正在使用內存的哪些部分以及正在被誰使用
決定哪些進程(或其部分)和數據進出內存
根據需要分配和釋放內存空間
文件系統管理(File-system Management)
操作系統提供統一的信息存儲邏輯視圖
將物理屬性抽象到邏輯存儲單元-文件
每個介質都由設備(如磁盤驅動器、磁帶機)控制
不同的屬性包括訪問速度、容量、數據傳輸速率、訪問方法(順序或隨機)
文件系統管理
通常被組織到目錄中的文件
訪問大多數系統上的控制,以確定誰可以訪問什么
操作系統活動包括
創建和刪除文件和目錄
用于操作文件和目錄的基語
將文件映射到輔助存儲器上
將文件備份到穩定的(非易失性)存儲介質上
大規模存儲管理(Mass-Storage-Management)
通常磁盤用于存儲不適合主存的數據或必須保存“長時間”的數據
正確的管理工作至關重要
計算機操作的整個速度取決于磁盤子系統及其算法
操作系統活動
安裝和卸載
自由空間管理
存儲分配
磁盤調度
分割
保護
有些存儲空間不需要速度較快
三級存儲包括光盤存儲、磁帶
仍然必須由操作系統或應用程序進行管理
緩存(Caching)
重要原則,在計算機(硬件、操作系統、軟件)中執行
使用中的信息暫時從慢存儲復制到快存儲
快存儲(緩存)首先被檢查以確定是否存在信息
如果是,則直接使用緩存中的信息(快速)
如果沒有,數據復制到緩存并在那里使用
緩存比正在緩存的存儲空間小
緩存管理的重要設計問題
高速緩存大小和替換策略
各種存儲類型的特點
存儲層次結構級別之間的移動
可以是顯式的或隱式的
將數據“A”從磁盤遷移到寄存器
多任務環境必須小心使用最新值,無論它存儲在存儲層次結構的位置
多處理器環境必須在硬件中提供緩存一致性(cache coherency),以便所有cpu在緩存中具有最新的值
分布式環境的情況甚至更加復雜
可以存在幾個數據副本
第19章中涵蓋的各種解決方案
I/O子系統
操作系統的一個目的是向用戶隱藏硬件設備的特性
I/O子系統負責
I/O的內存管理,包括緩沖(在傳輸時臨時存儲數據)、緩存(將部分數據存儲在快速存儲中以提高性能)、假脫機(一個任務的輸出與其他任務輸入的重疊)
通用設備驅動接口
針對特定硬件設備的驅動程序
1.6 安全和保護(Security And Protection)
保護-由操作系統定義的控制進程或用戶訪問資源的任何機制
安全-防御系統的內部和外部攻擊
涉及范圍很廣,包括拒絕服務,蠕蟲,病毒,身份盜竊,服務盜竊
系統通常首先區分用戶,以確定誰可以做什么
用戶標識(user IDs、security IDs)包括名稱和關聯的號碼,每個用戶一個
用戶ID與所有文件關聯,該用戶的進程確定訪問控制
組標識符(組ID)允許定義和管理一組用戶,然后還與每個進程、文件相關聯
特權提升允許用戶以更多的權限更改到有效的ID
1.7 虛擬化(Virtualization)
允許操作系統在其他操作系統中運行應用程序
龐大而不斷增長的產業
當源CPU類型與目標類型不同時使用的仿真(比如PowerPC到Intel x86)
一般最慢的方法
當計算機語言沒有被編譯成本地代碼時-解釋
虛擬化-為CPU本地編譯的操作系統,運行也是本地編譯的客戶操作系統
考慮VMware運行WinXP客戶,每個運行的應用程序,都在本機WinXP主機操作系統上
虛擬機管理器(VMM,virtual machine Manager)提供虛擬化服務
使用案例涉及運行多個操作系統的筆記本電腦和臺式機為了探索或兼容性
蘋果筆記本電腦運行Mac OS X主機,Windows作為客戶
在沒有多個系統的情況下為多個操作系統開發應用程序
在沒有多個系統的情況下對應用進行質量評價測試
在數據中心內執行和管理計算環境
VMM可以本機運行,在這種情況下,它們也是主機
那么就沒有通用的主機了(VMware ESX and Citrix XenServer)
計算環境
1.8 分布式系統(Distributed Systems)
分布式計算
單獨的、可能是異構的系統聯網在一起的集合
網絡是一種通信路徑,TCP/IP最為常見
局域網(LAN,Local Area Network)
廣域網(WAN,Wide Area Network)
城域網(MAN,Metropolian Area Network)
個人區域網絡(PAN,Personal Area Network)
網絡操作系統提供了跨網絡的系統之間的特性
通信原理允許系統交換消息
對單一系統的錯覺
1.9 內核數據結構
許多類似于標準的編程數據結構
鏈表
單鏈表
雙鏈表
循環鏈表
二叉樹
左邊小于右邊
搜索性能為O (n)
平衡二叉樹為O(lg n)
Hash Map
哈希函數可以創建一個哈希圖
位圖-n個二進制數字的字符串,表示n個項目的狀態
Linux 數據結構定義在include文件中<linux/list.h>, <linux/kfifo.h>, <linux/rbtree.h>
1.10 計算環境(Computing Environment)
? Traditional(傳統計算)
? Mobile (移動計算)
? Client-Server(客戶機-服務器計算)
? Peer-to-Peer(點對點計算)
? Virtualization(虛擬化計算)
? Cloud Computing(云計算)
? Real-Time Embedded Systems(實時嵌入式系統)
? 國內操作系統現狀
一、傳統計算(Trational)
獨立的通用機器
但由于大多數系統與其他系統的相互連接而變得模糊(如互聯網)
門戶網站提供對內部系統的網絡訪問
網絡計算機(瘦客戶機)就像Web終端一樣
移動計算機通過無線網絡互連
網絡變得無處不在——甚至家庭系統也使用防火墻來保護家庭電腦免受互聯網攻擊
1 大型機系統(Mainframe Systems)
大型機(主機)的操作系統有:批處理系統、分時系統
Batch System批處理系統
? 單道批處理系統 :一個程序直到運行結束
單道批處理系統的內存:
? 多道批處理系統:多個程序同時運行
多道程序系統(Multiprogrammed Systems)
多道程序(Multiprogramming)
重要概念:
多個任務同時保存在主存中,CPU在它們之間進行多路復用。
2 分時系統(Time-Sharing System)
分時共享(Timesharing)(multitasking,多任務)是一種邏輯擴展,其中CPU頻繁地切換任務,用戶可以在每個任務運行時與之交互,從而創建交互式計算
? 所謂分時是指多個用戶分時共享使用同一臺計算機,也就是說把計算機的系統資源(尤其是CPU時間)進行時間上分割,即將整個工作時間分成一個個的時間片,每個時間片分給一個用戶(不是人,通常是進程)使用,這樣將CPU工作時間分別提供給多個用戶使用,每個用戶依次地輪流且使用一個時間片。
single core
? 1961年11月MIT實現了第一個分時系統CTSS
響應時間=T1+T2+T3+T4
時間片為T1
響應時間
? 響應時間是分時系統的重要指標,它是用戶發出終端命令到系統作出響應的時間間隔。系統的響應時間主要是根據用戶所能接受的等待時間確定的。假
設分時系統中進程數(用戶數)為n,每個進程的運行時間片為q,則系統的響
應時間為 S=n×q。
? UNIX、Linux、Windows
3 桌面系統(Desktop System)
個人電腦---------專門針對單個用戶使用的計算機系統。
輸入/輸出設備-鍵盤、鼠標、顯示屏、小型打印機
用戶的便利性和響應性。
可以采用為大型操作系統開發的技術,通常個人只使用計算機,不需要保護功能的高級CPU利用率
可以運行幾種不同類型的操作系統
Windows,Mac OS X,UNIX,Linux
PC 主要操作系統
? Windows系列:DOS, Windows 3.x, Window 95/98/2000/XP/7/8/10, Windows NT/2000/2003/2008/2013/2017 server;
? UNIX大家庭:BSD, Open Solaris, AIX, HP_UX , SVR4;Mac OS X,Linux。
二、移動計算
手持式智能手機、平板電腦等
它們和“傳統”筆記本電腦在功能上有什么區別?
額外功能-更多的操作系統功能(GPS、陀螺儀)
允許使用增強現實技術等新型應用程序
使用IEEE 802.11無線,或蜂窩數據網絡進行連接
智能手機、平板電腦操作系統
Android、iOS 、Windows phone、鴻蒙OS
計算機應用領域
三、客戶機-服務器計算(Client-Server)
客戶機-服務器計算
啞巴終端被智能個人電腦所取代
許多系統現在是服務器,響應客戶端生成的請求
計算機-服務器系統為客戶端提供了一個請求服務(如數據庫)的接口
文件-服務器系統為客戶端提供了存儲和檢索文件的接口
四、點對點計算(Peer-Peer)
分布式系統的另一個模型
P2P不區分客戶端和服務器
相反,所有的節點都被認為是對等節點
可以每個節點都充當客戶端、服務器或兩者
節點必須加入P2P網絡
使用網絡上的中央查找服務注冊其服務,或者
通過發現協議來廣播服務請求并響應服務請求
例如Napster和Gnutella,IP語音(VoIP)(如Skype)
區塊鏈技術(Blockchain technology)
五、虛擬化計算
允許操作系統在其他操作系統中運行應用程序
龐大而不斷增長的產業
當源CPU類型與目標類型不同時使用的仿真(比如PowerPC到Intel x86)
一般最慢的方法
當計算機語言沒有被編譯成本地代碼時-解釋
虛擬化-為CPU本地編譯的操作系統,運行也是本地編譯的客戶操作系統
考慮VMware運行WinXP客戶,每個運行的應用程序,都在本機WinXP主機操作系統上
虛擬機管理器(VMM,virtual machine Manager)提供虛擬化服務
使用案例涉及運行多個操作系統的筆記本電腦和臺式機為了探索或兼容性
蘋果筆記本電腦運行Mac OS X主機,Windows作為客戶
在沒有多個系統的情況下為多個操作系統開發應用程序
在沒有多個系統的情況下對應用進行質量評價測試
在數據中心內執行和管理計算環境
VMM可以本機運行,在這種情況下,它們也是主機
那么就沒有通用的主機了(VMware ESX and Citrix XenServer)
六、云計算
跨網絡提供計算、存儲、甚至應用程序等服務
基于虛擬化的虛擬化邏輯擴展
Amazon EC2擁有數千臺服務器,數百萬臺虛擬機,PB數量級的可用存儲,根據使用情況付費
多種類型
公共云(Public cloud)-任何愿意付費的人都可以通過互聯網使用
私有云(Private cloud)-由一家公司運營,供該公司自己使用
混合云(Hybrid cloud)—包括公共云組件和私有云組件
服務方式
軟件即服務(SaaS、Software as a Service)——一個或一個可通過互聯網提供的多個應用程序(如文字處理器)
平臺即服務(PaaS,Platform as a Servie)——軟件堆棧通過互聯網供應用程序使用(如數據庫服務器)
基礎設施即服務(IaaS、Infrastructure as a Service)——通過互聯網提供可用的服務器或存儲器(如可用于備份使用的存儲空間)
由傳統操作系統、vmm和云管理工具組成的云計算環境
互聯網連接需要像防火墻這樣的安全性
負載平衡器將流量分散到多個應用程序中
七、實時嵌入式系統(Real-Time Embedded Systems)
實時嵌入式系統是最普遍的計算機形式
不同數量的,特殊用途的,有限用途的操作系統,實時操作系統
使用擴展
還有許多其他特殊的計算環境
有些有操作系統,有些沒有操作系統就能執行任務
有些有操作系統,有些沒有操作系統就能執行任務
處理必須在約束范圍內完成
只有在滿足約束條件時才會進行正確的操作
嵌入式系統
? 嵌入式系統是以應用為中心,以計算機技術為基礎,采用可剪裁軟硬件,適用于對功能、可靠性、成本、體積、功耗等有嚴格要求的專用計算機系統,
用于實現對其他設備的控制、監視或管理等功能
? 嵌入式操作系統:運行在嵌入式系統環境中,對整個嵌入式系統以及它所操作、控制的各種部件裝置等資源進行統一協調、調度和控制的系統軟件
? 幾種主流嵌入式操作系統
? 嵌入式Linux :
? μCLinux
? RT-Linux
? XLinux
? 紅旗嵌入式Linux
? Montavista linux
? 風河linux ......
? VxWorks
? QNX
? Windows CE
? uC/OS
? Palm OS
? L4
操作系統市場格局
? 當前四大體系:
? 服務器:Unix/Linux
? 桌面:Windows、Mac OS X
? 手機、平板電腦:iOS、Windows phone,Android,Harmony鴻蒙
? 嵌入式系統:Linux系列
國內操作系統發展情況
? 我國信息系統對Windows的依賴度是全世界最高的
? “核高基”重大專項
? 16項國家科技重大專項的第一項
? 核心電子器件、高端通用芯片、基礎軟件(二件一芯)
? 本質:OS、CPU
? COSIX失敗
? 1989-1997:17家單位、200多位科技人員、4000多萬元
? 處于同期研制的Windows和Linux大獲成功
? 1990:windows 3.0, 1991:Linux kernel 0.11
操作系統長期由國外廠商壟斷
? 微軟以及谷歌、蘋果OS在國內具有絕對的壟斷地位
? 據工信部電信研究院的調研報告,國內自主操作系統裝機普遍未超過市場份額的1%
? 據2014年2月證券日報報道,有機構對我國130萬套軟硬件設備的統計數據顯示,采用國外產品的比例為:操作系統97.25%、數據庫95.06%、服務器
86.72%、數據處理設備83.38%、網絡設備62.28%
? 去IOE化(去掉IBM的小型機、Oracle數據庫、EMC存儲設備)已成為國內
互聯網產業界( 如阿里、百度、騰訊等)的共識,并取得顯著成效。而在操
作系統領域,去“WINTEL聯盟”還未取得顯著成效,又引來了“雙A聯盟(
Android+ARM)”
? 操作系統產品缺乏有效供給,成為國產自主替代的重要制約因素
? 2018年中興通信事件有什么啟發?
Windows為什么成功
? 80年代后期至90年代初期PC操作系統
? Mac OS, IBM OS/2, Windows
? 目前Windows市場份額逾80%
? 成功原因
? 使用方便,易于操作
? 固定硬件平臺,確保基本用戶群
? 針對IBM PC開放硬件平臺和Intel CPU特點進行針對性設計和優化
? 在市場利益驅動下形成了軟硬件一體的產業鏈
? 硬件及外設廠商基于微軟接口開發設備驅動
? 應用軟件廠商基于微軟接口開發應用系統
1.11 自由和開源操作系統
開源操作系統(Open-Source Operating Systems)
操作系統以源代碼格式提供,而不僅僅是二進制封閉源代碼
對抗復制保護和數字版權管理(DRM,Digital Rights Management)運動
由自由軟件基金會(FSF,Free Software Foundation)發起,它擁有“版權的”GNU公共許可證(GPL,GNU Public License)
例如GNU/Linux和BSDUNIX(包括MacOSX的核心),等等
可以使用VMM,如VMware Player(在窗口上免費),Virtualbox(開源和在許多平臺上免費- virtualbox.com is for sale | www.brandforce.com)
用于運行客戶操作系統以進行探索
1.12 總結
操作系統是執行兩種功能的軟件(程序):
它擴展了計算機硬件的“使用”
它管理計算機系統的資源
? batch system(批處理系統) 、time-sharing system (分時系統)、real-time system (實時系統)
? interrupt(中斷)、trap(陷入)
? kernel(內核)、microkernel(微內核)、monolithic kernel(單內核)
? multiprogramming(多道程序設計)
? privileged instruction(特權指令)
? kernel mode(內核模式)、user mode(用戶模式)
? symmetric multiprocessing(SMP 對稱多處理器)
? swapping(交換)
? system call(系統調用)
? Cloud Computing (云計算)
總結
- 上一篇: 电源功耗压力测试软件,开关电源负载测试经
- 下一篇: PowerDesigner 逆向工程 从