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