此章節(jié)不會出現(xiàn)綜合題
第一節(jié):什么是操作系統(tǒng)
操作系統(tǒng)概念:操作系統(tǒng)是一種復(fù)雜的系統(tǒng)軟件,是不同程序代碼锭碳、數(shù)據(jù)結(jié)構(gòu)、初始化文件的集合砌们,可執(zhí)行。
操作系統(tǒng)是提供計(jì)算機(jī)用戶與計(jì)算機(jī)硬件之間的接口嘉熊,并管理計(jì)算機(jī)軟件和硬件資源非驮,并且通過這個(gè)接口使應(yīng)用程序的開發(fā)變得簡單壕鹉、高效垄开。
操作系統(tǒng)是覆蓋在裸機(jī)上的第一層軟件琴许,編譯程序、數(shù)據(jù)庫管理系統(tǒng)以及其他應(yīng)用程序都運(yùn)行在操作系統(tǒng)之上溉躲,操作系統(tǒng)為這些軟件提供運(yùn)行環(huán)境榜田。
操作系統(tǒng)處于硬件與應(yīng)用程序之間。
一锻梳、用戶與硬件之間的接口
接口是兩個(gè)不同部分的交接面串慰。接口分為硬件接口和軟件接口。
計(jì)算機(jī)的所有功能最終都是由硬件的操作來實(shí)現(xiàn)的唱蒸。
應(yīng)用程序在操作系統(tǒng)上運(yùn)行,對硬件的控制過程都封裝在了操作系統(tǒng)的核心程序中灸叼。
有操作系統(tǒng)對硬件的抽象神汹,且操作系統(tǒng)為應(yīng)用程序提供運(yùn)行環(huán)境,在操作系統(tǒng)上編寫和運(yùn)行應(yīng)用程序就簡單了古今。
操作系統(tǒng)屏蔽了對硬件操作的細(xì)節(jié)屁魏,提供了計(jì)算機(jī)用戶與計(jì)算機(jī)硬件之間的接口,并且通過這個(gè)接口使應(yīng)用程序的開發(fā)變得簡單捉腥、高效氓拼。
操作系統(tǒng)必須完成的兩個(gè)主要目標(biāo)如下:
????(1)與硬件部分相互作用,為包含在硬件平臺上的所有底層可編程部分提供服務(wù)。
????(2)為運(yùn)行在計(jì)算機(jī)系統(tǒng)上的應(yīng)用程序提供執(zhí)行環(huán)境桃漾。
二坏匪、資源的管理者
現(xiàn)代計(jì)算機(jī)特點(diǎn)是支持多任務(wù),允許在同一個(gè)系統(tǒng)內(nèi)同時(shí)駐留多個(gè)應(yīng)用程序撬统。
多個(gè)應(yīng)用程序共同使用計(jì)算機(jī)軟硬件資源時(shí)适滓,需要操作系統(tǒng)對這些資源進(jìn)行有效的管理。
操作系統(tǒng)的主要功能:
????(1)處理機(jī)管理
????程序的執(zhí)行須依靠處理機(jī)恋追,任意時(shí)刻處理機(jī)都只能執(zhí)行一個(gè)程序流凭迹。
????在單處理機(jī)系統(tǒng)中執(zhí)行多個(gè)程序流,須由操作系統(tǒng)的處理機(jī)調(diào)度程序來管理處理機(jī)的分配苦囱,以使多個(gè)程序共享處理機(jī)嗅绸,從宏觀上看多個(gè)程序能同時(shí)順利執(zhí)行。
????(2)內(nèi)存管理
????在多任務(wù)系統(tǒng)中撕彤,內(nèi)存可被多個(gè)應(yīng)用程序共同占用鱼鸠,如何分配內(nèi)存,如何回收內(nèi)存喉刘,以及完成邏輯地址到物理地址的轉(zhuǎn)換瞧柔,以上都是內(nèi)存管理要完成的功能。
????(3)設(shè)備管理
????設(shè)備管理主要完成接受用戶的I/O請求睦裳、為用戶分配I/O設(shè)備造锅、管理I/O緩存和驅(qū)動I/O設(shè)備等功能。
????(4)文件管理
大量需長時(shí)間保存的信息以文件的形式存放在外存中操作系統(tǒng)通過文件管理程序完成外存空間的分配廉邑、回收哥蔚、文件的按名存取、文件的組織蛛蒙、共享與保護(hù)等功能
第二節(jié):操作系統(tǒng)的發(fā)展
操作系統(tǒng)的發(fā)展從時(shí)間順序上經(jīng)歷了從無操作系統(tǒng)到單道批處理系統(tǒng)糙箍、多道程序系統(tǒng)(多道批處理系統(tǒng)、分時(shí)系統(tǒng))牵祟、微機(jī)操作系統(tǒng)深夯,實(shí)時(shí)操作系統(tǒng)的發(fā)展過程。
一诺苹、無操作系統(tǒng)
第一代計(jì)算機(jī)(1945~1955)使用電子管作為主要的電子器件咕晋,無內(nèi)存,無操作系統(tǒng)收奔。
1946年賓夕法尼亞大學(xué)的埃尼阿克掌呜。
二、單道批處理系統(tǒng)
第二代計(jì)算機(jī)(1955~1965)使用的主要電子器件是晶體管坪哄,開始使用磁性存儲設(shè)備质蕉,內(nèi)外存容量增加計(jì)算機(jī)運(yùn)算速度势篡,出現(xiàn)了早期的單道批處理系統(tǒng)。
三模暗、多道程序系統(tǒng)
早期的多道程序系統(tǒng)不具有交互功能禁悠,被稱為多道批處理系統(tǒng)。程序員提交作業(yè)后汰蓉,在作業(yè)運(yùn)行結(jié)束輸出結(jié)果之前绷蹲,無法觀察和控制作業(yè)的運(yùn)行。
解決這一問題的需求非常迫切顾孽,于是出現(xiàn)了分時(shí)操作系統(tǒng)祝钢。
在分時(shí)操作系統(tǒng)的支持下,多個(gè)用戶可以同時(shí)通過不同的終端使用主機(jī)若厚,主機(jī)可以快速響應(yīng)常用命令拦英。
終端用戶感覺自己獨(dú)占計(jì)算機(jī)資源,并且實(shí)現(xiàn)用戶與主機(jī)的及時(shí)交互测秸。
在分時(shí)系統(tǒng)中同時(shí)登陸系統(tǒng)的多個(gè)用戶提交的作業(yè)輪流執(zhí)行疤估,每個(gè)作業(yè)都是運(yùn)行一小段時(shí)間就把主機(jī)資源讓給另一個(gè)作業(yè)運(yùn)行一段時(shí)間,多個(gè)作業(yè)交替執(zhí)行霎冯,分時(shí)使用主機(jī)資源铃拇。
四、微機(jī)操作系統(tǒng)
隨著個(gè)人計(jì)算機(jī)的出現(xiàn)沈撞,微機(jī)操作系統(tǒng)應(yīng)運(yùn)而生慷荔。第一個(gè)微機(jī)操作系統(tǒng)是Intel公司的CP/M系統(tǒng),用于Intel8080缠俺。
20世紀(jì)80年代形成了新DOS版本MS-DOS显晶。
1985年微軟開始構(gòu)建windows操作系統(tǒng)。
另壹士,還有l(wèi)inux磷雇,mac os等一些支持個(gè)人計(jì)算機(jī)操作系統(tǒng)。
五躏救、實(shí)時(shí)操作系統(tǒng)
隨著計(jì)算機(jī)的廣泛應(yīng)用唯笙,出現(xiàn)了各種實(shí)時(shí)操作系統(tǒng)。實(shí)時(shí)操作系統(tǒng)是支持實(shí)時(shí)計(jì)算的系統(tǒng)盒使。
實(shí)時(shí)系統(tǒng)不僅要求系統(tǒng)能正確地計(jì)算出結(jié)果睁本,而且要求必須在規(guī)定的時(shí)間內(nèi)計(jì)算出正確結(jié)果。
如果計(jì)算結(jié)果正確忠怖,但是時(shí)間超過了規(guī)定時(shí)間,依然被認(rèn)為計(jì)算出錯(cuò)抄瑟。
六凡泣、批處理系統(tǒng)枉疼、分時(shí)系統(tǒng)、實(shí)時(shí)系統(tǒng)的特點(diǎn):
1.單道批處理系統(tǒng)的特點(diǎn)
單道批處理系統(tǒng)內(nèi)存中只有一道作業(yè)鞋拟,可以自動處理作業(yè)骂维,其特點(diǎn)如下:
(1)自動性
單道批處理系統(tǒng)使計(jì)算機(jī)能夠在操作系統(tǒng)控制下,自動地將作業(yè)從外存裝入內(nèi)存運(yùn)行贺纲。當(dāng)作業(yè)運(yùn)行完畢后航闺,自動撤銷已運(yùn)行完畢的作業(yè),并依次從外存裝入下一個(gè)作業(yè)猴誊,使之運(yùn)行潦刃。
(2)順序性
存放在外存中的作業(yè)按順序依次被裝入內(nèi)存運(yùn)行,先進(jìn)入內(nèi)存的作業(yè)先運(yùn)行完畢懈叹。
(3)單道性
任何時(shí)刻內(nèi)存中只有一道作業(yè)乖杠。
優(yōu)點(diǎn):減少了等待人工操作的時(shí)間。
缺點(diǎn):CPU資源不能得到有效的利用澄成。
2.多道批處理系統(tǒng)的特點(diǎn)
在多道批處理系統(tǒng)中胧洒,用戶所提交的作業(yè)都先存放在外存中并排成一個(gè)隊(duì)列,該隊(duì)列被稱為“后備作業(yè)隊(duì)列”墨状。由操作系統(tǒng)的作業(yè)調(diào)度程序按一定策略從后備作業(yè)隊(duì)列中選擇若干個(gè)作業(yè)調(diào)入內(nèi)容卫漫,使它們共享CPU和系統(tǒng)中的各種資源,以達(dá)到提高資源利用率和系統(tǒng)吞吐量的目的肾砂。其特點(diǎn)如下:
(1)多道性
(2)無序性
多個(gè)作業(yè)完成的先后的順序與它們進(jìn)入內(nèi)存的順序之間沒有嚴(yán)格的對應(yīng)關(guān)系列赎,先進(jìn)入內(nèi)存的作業(yè)不一定先被調(diào)度。
(3)調(diào)度性
多道程序系統(tǒng)必須具有作業(yè)調(diào)度和進(jìn)程調(diào)度功能通今。
作業(yè)調(diào)度用來從后備作業(yè)隊(duì)列中選擇一個(gè)或多個(gè)要被裝入內(nèi)存的作業(yè)粥谬。
進(jìn)程調(diào)度程序用來從內(nèi)存中選擇一個(gè)或多個(gè)進(jìn)程,使其在CPU上運(yùn)行辫塌。
(4)復(fù)雜性
優(yōu)點(diǎn):能夠使CPU和內(nèi)存IO資源得到充分利用漏策,提供系統(tǒng)吞吐量。
缺點(diǎn):系統(tǒng)平均周轉(zhuǎn)時(shí)間長臼氨,缺乏交互能力掺喻。
3.分時(shí)系統(tǒng)的特點(diǎn)
分時(shí)操作系統(tǒng)允許多個(gè)用戶通過終端同時(shí)使用計(jì)算機(jī)。是多道批處理系統(tǒng)的自然延伸储矩,支持多個(gè)用戶任務(wù)同時(shí)駐留內(nèi)存感耙,每個(gè)用戶通過終端與主機(jī)交互時(shí)都能得到快速響應(yīng)。
分時(shí)系統(tǒng)的特點(diǎn)是:多路性持隧、獨(dú)立性即硼、及時(shí)性和交互性。
優(yōu)點(diǎn):提供了人機(jī)交互屡拨,可以使用戶通過不同終端分享主機(jī)只酥。
缺點(diǎn):不能及時(shí)接收及時(shí)處理用戶命令褥实。
4.實(shí)時(shí)系統(tǒng)的特點(diǎn)
實(shí)時(shí)系統(tǒng)主要用于實(shí)時(shí)控制和實(shí)時(shí)信息處理領(lǐng)域。
實(shí)時(shí)系統(tǒng)必須能及時(shí)響應(yīng)外部事件的請求裂允,在規(guī)定的時(shí)間內(nèi)完成對該事件的處理损离,并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致地運(yùn)行。
特點(diǎn)如下:
(1)多路性
(2)獨(dú)立性
每個(gè)終端用戶獨(dú)立向?qū)崟r(shí)系統(tǒng)提出服務(wù)請求绝编,彼此互不干擾僻澎。
(3)及時(shí)性
實(shí)時(shí)信息系統(tǒng)對實(shí)時(shí)性的要求是以人所能接受的等待時(shí)間來確定的。
(4)交互性
(5)可靠性
七十饥、操作系統(tǒng)產(chǎn)品現(xiàn)狀
1.主機(jī)操作系統(tǒng)
2.服務(wù)器操作系統(tǒng)
3.微機(jī)操作系統(tǒng)
4.嵌入式操作系統(tǒng)
第三節(jié):操作系統(tǒng)的特征
現(xiàn)代操作系統(tǒng)都支持多任務(wù)窟勃,具有并發(fā)、共享绷跑、虛擬和異步性特征拳恋。
1.并發(fā)
并發(fā)是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生,而并行是指多個(gè)事件同時(shí)發(fā)生砸捏。
2.共享
指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程共同使用谬运。
資源共享有兩種方式:互斥共享和同時(shí)共享。
3.虛擬
值通過某種技術(shù)把一個(gè)物理實(shí)體變成若干邏輯上的對應(yīng)物垦藏。
4.異步性
內(nèi)存中的每個(gè)程序何時(shí)執(zhí)行梆暖、暫停,何時(shí)完成都是不可預(yù)知的掂骏。
第四節(jié):操作系統(tǒng)的功能
一轰驳、內(nèi)存管理
內(nèi)存管理的主要任務(wù)是為多道程序的運(yùn)行提供良好的環(huán)境,方便用戶使用內(nèi)存弟灼,提高內(nèi)存的利用率级解,以及從邏輯上擴(kuò)充內(nèi)存以實(shí)現(xiàn)虛擬存儲。
1.內(nèi)存分配
主要任務(wù)是為每到程序分配內(nèi)存空間田绑。
有靜態(tài)分配和動態(tài)分配兩種方式勤哗。
靜態(tài)方式:內(nèi)存劃分成固定大小和數(shù)量的區(qū)域;
動態(tài)方式:根據(jù)進(jìn)程的請求分配掩驱,內(nèi)存中分區(qū)大小和數(shù)量都是動態(tài)變化的芒划。
2.內(nèi)存保護(hù)
一是使操作系統(tǒng)內(nèi)核的空間不會被用戶隨意訪問,以保證系統(tǒng)的安全和穩(wěn)定欧穴;
二是確保每道用戶程序都在自己的內(nèi)存空間中運(yùn)行民逼,互不干擾。
3.地址映射
CPU執(zhí)行程序過程中訪問內(nèi)存時(shí)涮帘,需要把程序的邏輯地址轉(zhuǎn)變?yōu)槲锢淼刂菲床裕@個(gè)轉(zhuǎn)換的過程稱為地址映射。
(1)邏輯地址與物理地址
目標(biāo)程序中的地址稱為邏輯地址调缨,從0開始映屋。
內(nèi)存中的單元地址稱為物理地址苟鸯。CPU訪問內(nèi)存需要將物理地址送入地址總線,以選中要訪問的內(nèi)存單元棚点。
(2)地址映射
將邏輯地址轉(zhuǎn)換為對應(yīng)的物理地址。
4.內(nèi)存擴(kuò)充
借助于虛擬存儲技術(shù)湾蔓,從邏輯上擴(kuò)充內(nèi)存容量瘫析,使系統(tǒng)能夠向用戶提供比物理內(nèi)存大的存儲容量。
(1)請求調(diào)入功能
(2)置換功能
二默责、進(jìn)程管理
進(jìn)程使程序的執(zhí)行實(shí)體贬循。(進(jìn)程的內(nèi)容將在第二章講解)
三、設(shè)備管理
主要完成用戶的I/O請求桃序,為用戶分配I/O設(shè)備杖虾。
設(shè)備管理的功能:
(1)緩沖管理
(2)設(shè)備分配
(3)設(shè)備處理
由設(shè)備驅(qū)動程序來實(shí)現(xiàn)CPU與設(shè)備控制器之間的通信。
(4)設(shè)備獨(dú)立性和虛擬設(shè)備
設(shè)備獨(dú)立性功能使應(yīng)用程序獨(dú)立于物理設(shè)備媒熊。
虛擬設(shè)備的功能是把一個(gè)物理設(shè)備變換為多個(gè)對應(yīng)的邏輯設(shè)備奇适,使一個(gè)物理設(shè)備能供多個(gè)用戶共享。
四芦鳍、文件管理
1.文件存儲空間的管理
為每個(gè)文件分配必要的外存空間嚷往,提高外存利用率,并能有助于提高訪問文件的速度柠衅。
2.目錄管理
為每個(gè)文件建立目錄項(xiàng)并對眾多目錄項(xiàng)進(jìn)行有效組織皮仁。
3.文件的讀、寫管理和存取控制
根據(jù)用戶的請求菲宴,從外存中讀取數(shù)據(jù)或?qū)?shù)據(jù)寫入外存贷祈。
五、提供用戶接口
為了方便用戶使用操作系統(tǒng)喝峦,操作系統(tǒng)向用戶提供了用戶與操作系統(tǒng)之間的接口势誊。
1.命令接口
便于用戶與計(jì)算機(jī)系統(tǒng)的交互。
分為聯(lián)機(jī)用戶接口和脫機(jī)用戶接口愈犹。
聯(lián)機(jī)用戶接口為聯(lián)機(jī)用戶設(shè)計(jì)
脫機(jī)用戶接口為批處理作業(yè)的用戶提供键科。
2.圖形用戶接口
圖形化(窗口)用戶接口
3.程序接口
操作系統(tǒng)提供給程序員的接口是系統(tǒng)調(diào)用。
第五節(jié):操作系統(tǒng)的體系結(jié)構(gòu)
一漩怎、軟件體系結(jié)構(gòu)簡介
軟件體系結(jié)構(gòu)勋颖,是一個(gè)復(fù)雜軟件系統(tǒng)的高層結(jié)構(gòu),為軟件系統(tǒng)提供了一個(gè)結(jié)構(gòu)勋锤、行為和屬性的高級抽象饭玲。
明確清晰的軟件體系結(jié)構(gòu)是一個(gè)貫穿軟件體系整個(gè)生命周期的主線,是軟件設(shè)計(jì)成功的基礎(chǔ)和關(guān)鍵叁执,也是對軟件大型化茄厘、復(fù)雜化趨勢的一種很好的應(yīng)對決策矮冬。
二、操作系統(tǒng)體系結(jié)構(gòu)的分析
操作系統(tǒng)體系結(jié)構(gòu)研究整個(gè)操作系統(tǒng)內(nèi)各組成成分次哈,以及成分間和成分內(nèi)部存在的相互關(guān)系胎署。
幾種操作系統(tǒng)體系結(jié)構(gòu)模型:
(1)簡單的監(jiān)控程序模型,任意時(shí)刻系統(tǒng)中只能運(yùn)行一個(gè)任務(wù)窑滞,整個(gè)系統(tǒng)的所有功能全部集中在一個(gè)單一模塊中琼牧。
(2)單體結(jié)構(gòu)模型,是軟件工程出現(xiàn)以前的早期操作系統(tǒng)及目前一些小型操作系統(tǒng)采用的體系結(jié)構(gòu)哀卫,所有的軟件和數(shù)據(jù)結(jié)構(gòu)都放在在一個(gè)邏輯模塊中巨坊,對外層的用戶程序提供一個(gè)完整的內(nèi)核界面——系統(tǒng)調(diào)用。
具有單體內(nèi)核結(jié)構(gòu)的典型操作系統(tǒng)有UNIX此改,MS-DOS趾撵,Linux等。
(3)層次結(jié)構(gòu)模型共啃,將操作系統(tǒng)分解為多個(gè)小的占调。容易理解的層,系統(tǒng)功能被隔閡在不同的層中勋磕,每一層提供對系統(tǒng)功能的部分抽象妈候,然后采用單向調(diào)用的順序,形成一連串彼此連續(xù)的對系統(tǒng)功能的“抽象串”挂滓。最終形成對整個(gè)系統(tǒng)的完整抽象苦银。
(4)客戶/服務(wù)器模型與微內(nèi)核結(jié)構(gòu),把傳統(tǒng)操作系統(tǒng)內(nèi)核中的一些組成部分放到內(nèi)核之外作為一個(gè)獨(dú)立的服務(wù)器進(jìn)程來實(shí)現(xiàn)赶站,在微內(nèi)核中只保留了操作系統(tǒng)最基本的功能幔虏。
目前微內(nèi)核的操作系統(tǒng)——是向通用方向發(fā)展,如Windows NT贝椿,另一個(gè)是嵌入式操作系統(tǒng)想括。
(5)動態(tài)可擴(kuò)展結(jié)構(gòu)模型,在運(yùn)行的過程中烙博,能夠動態(tài)地實(shí)現(xiàn)系統(tǒng)行為擴(kuò)展的結(jié)構(gòu)瑟蜈,也可稱之為彈性結(jié)構(gòu)。