




已閱讀5頁,還剩182頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一章操作系統(tǒng)引論 1 1操作系統(tǒng)的目標(biāo)和作用1 2操作系統(tǒng)的發(fā)展過程1 3操作系統(tǒng)的基本特性 1 1操作系統(tǒng)的目標(biāo)和作用 1 1 1操作系統(tǒng)的目標(biāo)1 1 2操作系統(tǒng)的作用1 1 3推動操作系統(tǒng)發(fā)展的主要動力 軟盤 內(nèi)存 打印機(jī) cpu 由運(yùn)算器和控制器組成 輸入 程序原始數(shù)據(jù) 輸出 運(yùn)算結(jié)果 指令數(shù)據(jù)線 控制信號線 存儲程序并自動執(zhí)行 鍵盤 0 輸入設(shè)備 外部存儲器 輸出設(shè)備 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 1 1 1操作系統(tǒng)的目標(biāo)1 有效性在早期 20世紀(jì)50 60年代 由于計(jì)算機(jī)系統(tǒng)非常昂貴 操作系統(tǒng)最重要的目標(biāo)無疑是有效性 事實(shí)上 那時有效性是推動操作系統(tǒng)發(fā)展最主要的動力 正因如此 現(xiàn)在的大多數(shù)操作系統(tǒng)書籍 都著重于介紹如何提高計(jì)算機(jī)系統(tǒng)的資源利用率和系統(tǒng)的吞吐量問題 操作系統(tǒng)的有效性可包含如下兩方面的含意 1 提高系統(tǒng)資源利用率 在未配置os的計(jì)算機(jī)系統(tǒng)中 諸如cpu i o設(shè)備等各種資源 都會因它們經(jīng)常處于空閑狀態(tài)而得不到充分利用 內(nèi)存及外存中所存放的數(shù)據(jù)太少或者無序而浪費(fèi)了大量的存儲空間 配置了os之后 可使cpu和i o設(shè)備由于能保持忙碌狀態(tài)而得到有效的利用 且可使內(nèi)存和外存中存放的數(shù)據(jù)因有序而節(jié)省了存儲空間 2 提高系統(tǒng)的吞吐量 計(jì)算機(jī)的吞吐量 計(jì)算機(jī)系統(tǒng)的吞吐量是指流入 處理和流出系統(tǒng)的信息的速率 信息能夠多快地輸入內(nèi)存cpu能夠多快地取指令數(shù)據(jù)能夠多快地從內(nèi)存取出或存入所得結(jié)果能夠多快地從內(nèi)存送給一臺外圍設(shè)備這些步驟中的每一步都關(guān)系到主存 因此 系統(tǒng)吞吐量主要取決于主存的存取周期 操作系統(tǒng)還可以通過合理地組織計(jì)算機(jī)的工作流程 而進(jìn)一步改善資源的利用率 加速程序的運(yùn)行 縮短程序的運(yùn)行周期 從而提高系統(tǒng)的吞吐量 2 方便性配置os后可使計(jì)算機(jī)系統(tǒng)更容易使用 一個未配置os的計(jì)算機(jī)系統(tǒng)是極難使用的 因?yàn)橛?jì)算機(jī)硬件只能識別0和1這樣的機(jī)器代碼 用戶要直接在計(jì)算機(jī)硬件上運(yùn)行自己所編寫的程序 就必須用機(jī)器語言書寫程序 用戶要想輸入數(shù)據(jù)或打印數(shù)據(jù) 也都必須自己用機(jī)器語言書寫相應(yīng)的輸入程序或打印程序 如果我們在計(jì)算機(jī)硬件上配置了os 用戶便可通過os所提供的各種命令來使用計(jì)算機(jī)系統(tǒng) 比如 用編譯命令可方便地把用戶用高級語言書寫的程序翻譯成機(jī)器代碼 大大地方便了用戶 從而使計(jì)算機(jī)變得易學(xué)易用 3 可擴(kuò)充性隨著vlsi技術(shù)和計(jì)算機(jī)技術(shù)的迅速發(fā)展 計(jì)算機(jī)硬件和體系結(jié)構(gòu)也隨之得到迅速發(fā)展 相應(yīng)地 它們也對os提出了更高的功能和性能要求 此外 多處理機(jī)系統(tǒng) 計(jì)算機(jī)網(wǎng)絡(luò) 特別是internet的發(fā)展 又對os提出了一系列更新的要求 因此 os必須具有很好的可擴(kuò)充性 方能適應(yīng)計(jì)算機(jī)硬件 體系結(jié)構(gòu)以及應(yīng)用發(fā)展的要求 這就是說 現(xiàn)代os應(yīng)采用新的os結(jié)構(gòu) 如微內(nèi)核結(jié)構(gòu)和客戶服務(wù)器模式 以便于方便地增加新的功能和模塊 并能修改老的功能和模塊 關(guān)于新的os結(jié)構(gòu)將在本章最后一節(jié)中介紹 4 開放性自20世紀(jì)80年代以來 由于計(jì)算機(jī)網(wǎng)絡(luò)的迅速發(fā)展 特別是internet的應(yīng)用的日益普及 使計(jì)算機(jī)操作系統(tǒng)的應(yīng)用環(huán)境已由單機(jī)封閉環(huán)境轉(zhuǎn)向開放的網(wǎng)絡(luò)環(huán)境 為使來自不同廠家的計(jì)算機(jī)和設(shè)備能通過網(wǎng)絡(luò)加以集成化 并能正確 有效地協(xié)同工作 實(shí)現(xiàn)應(yīng)用的可移植性和互操作性 要求操作系統(tǒng)必須提供統(tǒng)一的開放環(huán)境 進(jìn)而要求os具有開放性 開放性是指系統(tǒng)能遵循世界標(biāo)準(zhǔn)規(guī)范 特別是遵循開放系統(tǒng)互連 osi 國際標(biāo)準(zhǔn) 凡遵循國際標(biāo)準(zhǔn)所開發(fā)的硬件和軟件 均能彼此兼容 可方便地實(shí)現(xiàn)互連 開放性已成為20世紀(jì)90年代以后計(jì)算機(jī)技術(shù)的一個核心問題 也是一個新推出的系統(tǒng)或軟件能否被廣泛應(yīng)用的至關(guān)重要的因素 1 1操作系統(tǒng)的目標(biāo)和作用 1 1 1操作系統(tǒng)的目標(biāo)1 1 2操作系統(tǒng)的作用1 1 3推動操作系統(tǒng)發(fā)展的主要動力 1 1 2操作系統(tǒng)的作用1 os作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口os作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間接口的含義是 os處于用戶與計(jì)算機(jī)硬件系統(tǒng)之間 用戶通過os來使用計(jì)算機(jī)系統(tǒng) 或者說 用戶在os幫助下 能夠方便 快捷 安全 可靠地操縱計(jì)算機(jī)硬件和運(yùn)行自己的程序 應(yīng)注意 os是一個系統(tǒng)軟件 因而這種接口是軟件接口 圖1 1是os作為接口的示意圖 由圖可看出 用戶可通過以下三種方式使用計(jì)算機(jī) 圖1 1os作為接口的示意圖 1 命令方式 這是指由os提供了一組聯(lián)機(jī)命令接口 以允許用戶通過鍵盤輸入有關(guān)命令來取得操作系統(tǒng)的服務(wù) 并控制用戶程序的運(yùn)行 2 系統(tǒng)調(diào)用方式 os提供了一組系統(tǒng)調(diào)用 用戶可在自己的應(yīng)用程序中通過相應(yīng)的系統(tǒng)調(diào)用 來實(shí)現(xiàn)與操作系統(tǒng)的通信 并取得它的服務(wù) 3 圖形 窗口方式 這是當(dāng)前使用最為方便 最為廣泛的接口 它允許用戶通過屏幕上的窗口和圖標(biāo)來實(shí)現(xiàn)與操作系統(tǒng)的通信 并取得它的服務(wù) 2 os作為計(jì)算機(jī)系統(tǒng)資源的管理者在一個計(jì)算機(jī)系統(tǒng)中 通常都含有各種各樣的硬件和軟件資源 歸納起來可將資源分為四類 處理器存儲器i o設(shè)備信息 數(shù)據(jù)和程序 2 os作為計(jì)算機(jī)系統(tǒng)資源的管理者相應(yīng)地 os的主要功能也正是針對這四類資源進(jìn)行有效的管理 即 處理機(jī)管理 用于分配和控制處理機(jī) 存儲器管理 主要負(fù)責(zé)內(nèi)存的分配與回收 i o設(shè)備管理 負(fù)責(zé)i o設(shè)備的分配與操縱 文件管理 負(fù)責(zé)文件的存取 共享和保護(hù) 可見 os的確是計(jì)算機(jī)系統(tǒng)資源的管理者 事實(shí)上 當(dāng)今世界上廣為流行的一個關(guān)于os作用的觀點(diǎn) 正是把os作為計(jì)算機(jī)系統(tǒng)的資源管理者 3 os實(shí)現(xiàn)了對計(jì)算機(jī)資源的抽象對于一個完全無軟件的計(jì)算機(jī)系統(tǒng) 即裸機(jī) 它向用戶提供的是實(shí)際硬件接口 物理接口 用戶必須對物理接口的實(shí)現(xiàn)細(xì)節(jié)有充分的了解 并利用機(jī)器指令進(jìn)行編程 因此該物理機(jī)器必定是難以使用的 為了方便用戶使用i o設(shè)備 人們在裸機(jī)上覆蓋上一層i o設(shè)備管理軟件 如圖1 2所示 由它來實(shí)現(xiàn)對i o設(shè)備操作的細(xì)節(jié) 并向上提供一組i o操作命令 如read和write命令 用戶可利用它來進(jìn)行數(shù)據(jù)輸入或輸出 而無需關(guān)心i o是如何實(shí)現(xiàn)的 此時用戶所看到的機(jī)器將是一臺比裸機(jī)功能更強(qiáng) 使用更方便的機(jī)器 這就是說 在裸機(jī)上鋪設(shè)的i o軟件隱藏了對i o設(shè)備操作的具體細(xì)節(jié) 向上提供了一組抽象的i o設(shè)備 圖1 2i o軟件隱藏了i o操作實(shí)現(xiàn)的細(xì)節(jié) 通常把覆蓋了上述軟件的機(jī)器稱為擴(kuò)充機(jī)器或虛機(jī)器 它向用戶 進(jìn)程 提供了一個對硬件操作的抽象模型 用戶可利用抽象模型提供的接口使用計(jì)算機(jī) 而無需了解物理接口實(shí)現(xiàn)的細(xì)節(jié) 從而使用戶更容易地使用計(jì)算機(jī)硬件資源 由該層軟件實(shí)現(xiàn)了對計(jì)算機(jī)硬件操作的第一個層次的抽象 為了方便用戶使用文件系統(tǒng) 人們又在第一層軟件上再覆蓋上一層用于文件的管理軟件 同樣由它來實(shí)現(xiàn)對文件操作的細(xì)節(jié) 并向上提供一組對文件進(jìn)行存取操作的命令 用戶可利用這組命令進(jìn)行文件的存取 此時 用戶所看到的是一臺功能更強(qiáng) 使用更方便的虛機(jī)器 該層軟件實(shí)現(xiàn)了對硬件資源操作的第二個層次的抽象 而當(dāng)人們又在文件管理軟件上再覆蓋一層面向用戶的窗口軟件后 用戶便可在窗口環(huán)境下方便地使用計(jì)算機(jī) 形成一臺功能更強(qiáng)的虛機(jī)器 由此可知 os是鋪設(shè)在計(jì)算機(jī)硬件上的多層系統(tǒng)軟件 它們不僅增強(qiáng)了系統(tǒng)的功能 而且還隱藏了對硬件操作的細(xì)節(jié) 由它們實(shí)現(xiàn)了對計(jì)算機(jī)硬件操作的多個層次的抽象 值得說明的是 對一個硬件在底層進(jìn)行抽象后 在高層還可再次對該資源進(jìn)行抽象 成為更高層的抽象模型 隨著抽象層次的提高 抽象接口所提供的功能就越來越強(qiáng) 用戶使用起來也更加方便 1 1 1操作系統(tǒng)的目標(biāo)1 1 2操作系統(tǒng)的作用1 1 3推動操作系統(tǒng)發(fā)展的主要動力 1 1 3推動操作系統(tǒng)發(fā)展的主要動力1 不斷提高計(jì)算機(jī)資源的利用率在計(jì)算機(jī)發(fā)展的初期 計(jì)算機(jī)系統(tǒng)特別昂貴 人們必須千方百計(jì)地提高計(jì)算機(jī)系統(tǒng)中各種資源的利用率 這就是os最初發(fā)展的推動力 由此形成了能自動地對一批作業(yè)進(jìn)行處理的多道批處理系統(tǒng) 在20世紀(jì)60和70年代 又分別出現(xiàn)了能有效提高i o設(shè)備和cpu利用率的spooling系統(tǒng)和改善存儲器系統(tǒng)利用率的虛擬存儲器技術(shù) 以及在網(wǎng)絡(luò)環(huán)境下 在服務(wù)器上配置了允許所有網(wǎng)絡(luò)用戶訪問的文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng) 2 方便用戶當(dāng)資源利用率不高的問題得到基本解決后 用戶在上機(jī) 調(diào)試程序時的不方便性便又成為主要矛盾 于是人們又想方設(shè)法改善用戶上機(jī) 調(diào)試程序時的環(huán)境 這又成為繼續(xù)推動os發(fā)展的主要因素 隨之便形成了允許進(jìn)行人機(jī)交互的分時系統(tǒng) 或稱為多用戶系統(tǒng) 在20世紀(jì)90年代初出現(xiàn)了受到用戶廣泛歡迎的圖形用戶界面 極大地方便了用戶使用計(jì)算機(jī) 使中小學(xué)生都能很快地學(xué)會上機(jī)操作 這無疑會更加推動計(jì)算機(jī)的迅速普及 3 器件的不斷更新?lián)Q代微電子技術(shù)的迅猛發(fā)展 推動著計(jì)算機(jī)器件 特別是微機(jī)芯片的不斷更新 使得計(jì)算機(jī)的性能迅速提高 規(guī)模急劇擴(kuò)大 從而推動了os的功能和性能也迅速增強(qiáng)和提高 例如 當(dāng)微機(jī)芯片由8位發(fā)展到16位 32位 進(jìn)而又發(fā)展到64位時 相應(yīng)的微機(jī)os也就由8位發(fā)展到16位和32位 進(jìn)而又發(fā)展到64位 此時相應(yīng)os的功能和性能也都有顯著的增強(qiáng)和提高 在多處理機(jī)快速發(fā)展的同時 外部設(shè)備也在迅速發(fā)展 例如 早期的磁盤系統(tǒng)十分昂貴 只能配置在大型機(jī)中 隨著磁盤價格的不斷降低且小型化 很快在中 小型機(jī)以及微型機(jī)上也無一例外地配置了磁盤系統(tǒng) 而且其容量還遠(yuǎn)比早期配置在大型機(jī)上的大得多 現(xiàn)在的微機(jī)操作系統(tǒng) 如windowsxp 能支持種類非常多的外部設(shè)備 除了傳統(tǒng)的外設(shè)外 還可以支持光盤 移動硬盤 閃存盤 掃描儀等 4 計(jì)算機(jī)體系結(jié)構(gòu)的不斷發(fā)展計(jì)算機(jī)體系結(jié)構(gòu)的發(fā)展 也不斷推動著os的發(fā)展并產(chǎn)生新的操作系統(tǒng)類型 例如 當(dāng)計(jì)算機(jī)由單處理機(jī)系統(tǒng)發(fā)展為多處理機(jī)系統(tǒng)時 相應(yīng)地 操作系統(tǒng)也就由單處理機(jī)os發(fā)展為多處理機(jī)os 又如 當(dāng)出現(xiàn)了計(jì)算機(jī)網(wǎng)絡(luò)后 配置在計(jì)算機(jī)網(wǎng)絡(luò)上的網(wǎng)絡(luò)操作系統(tǒng)也就應(yīng)運(yùn)而生 它不僅能有效地管理好網(wǎng)絡(luò)中的共享資源 而且還向用戶提供了許多網(wǎng)絡(luò)服務(wù) 1 2操作系統(tǒng)的發(fā)展過程 1 2 1無操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)1 2 2單道批處理系統(tǒng)1 2 3多道批處理系統(tǒng)1 2 4分時系統(tǒng)1 2 5實(shí)時系統(tǒng)1 2 6微機(jī)操作系統(tǒng)的發(fā)展 1 2 1無操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)1 人工操作方式從第一臺計(jì)算機(jī)誕生 1945年 到20世紀(jì)50年代中期的計(jì)算機(jī) 屬于第一代計(jì)算機(jī) 此時的計(jì)算機(jī)是利用成千上萬個真空管做成的 它的運(yùn)行速度僅為每秒數(shù)千次 但體積卻十分龐大 且功耗也非常高 這時還未出現(xiàn)os 計(jì)算機(jī)操作是由用戶 即程序員 采用人工操作方式直接使用計(jì)算機(jī)硬件系統(tǒng) 即由程序員將事先已穿孔 對應(yīng)于程序和數(shù)據(jù) 的紙帶 或卡片 裝入紙帶輸入機(jī) 或卡片輸入機(jī) 再啟動它們將程序和數(shù)據(jù)輸入計(jì)算機(jī) 然后啟動計(jì)算機(jī)運(yùn)行 當(dāng)程序運(yùn)行完畢并取走計(jì)算結(jié)果之后 才讓下一個用戶上機(jī) 這種人工操作方式有以下兩方面的缺點(diǎn) 1 用戶獨(dú)占全機(jī) 此時 計(jì)算機(jī)及其全部資源只能由上機(jī)用戶獨(dú)占 2 cpu等待人工操作 當(dāng)用戶進(jìn)行裝帶 卡 卸帶 卡 等人工操作時 cpu及內(nèi)存等資源是空閑的 可見 人工操作方式嚴(yán)重降低了計(jì)算機(jī)資源的利用率 此即所謂的人機(jī)矛盾 隨著cpu速度的提高和系統(tǒng)規(guī)模的擴(kuò)大 人機(jī)矛盾變得日趨嚴(yán)重 此外 隨著cpu速度的迅速提高而i o設(shè)備的速度卻提高緩慢 這又使cpu與i o設(shè)備之間速度不匹配的矛盾更加突出 為了緩和此矛盾 曾先后出現(xiàn)了通道技術(shù) 緩沖技術(shù) 但都未能很好地解決上述矛盾 直至后來又引入了脫機(jī)輸入 輸出技術(shù) 才獲得了較為令人滿意的結(jié)果 2 脫機(jī)輸入 輸出方式為了解決人機(jī)矛盾及cpu和i o設(shè)備之間速度不匹配的矛盾 20世紀(jì)50年代末出現(xiàn)了脫機(jī)輸入 輸出 off linei o 技術(shù) 該技術(shù)是事先將裝有用戶程序和數(shù)據(jù)的紙帶 或卡片 裝入紙帶輸入機(jī) 或卡片機(jī) 在一臺外圍機(jī)的控制下 把紙帶 卡片 上的數(shù)據(jù) 程序 輸入到磁帶上 當(dāng)cpu需要這些程序和數(shù)據(jù)時 再從磁帶上將其高速地調(diào)入內(nèi)存 圖1 3脫機(jī)i o示意圖 類似地 當(dāng)cpu需要輸出時 可由cpu直接高速地把數(shù)據(jù)從內(nèi)存送到磁帶上 然后再在另一臺外圍機(jī)的控制下 將磁帶上的結(jié)果通過相應(yīng)的輸出設(shè)備輸出 圖1 3示出了脫機(jī)輸入 輸出過程 由于程序和數(shù)據(jù)的輸入和輸出都是在外圍機(jī)的控制下完成的 或者說 它們是在脫離主機(jī)的情況下進(jìn)行的 故稱為脫機(jī)輸入 輸出方式 反之 在主機(jī)的直接控制下進(jìn)行輸入 輸出的方式稱為聯(lián)機(jī) 輸入 輸出 on linei o 方式 這種脫機(jī)i o方式的主要優(yōu)點(diǎn)如下 1 減少了cpu的空閑時間 裝帶 卡 卸帶 卡 以及將數(shù)據(jù)從低速i o設(shè)備送到高速磁帶 或盤 上 都是在脫機(jī)情況下進(jìn)行的 并不占用主機(jī)時間 從而有效地減少了cpu的空閑時間 緩和了人機(jī)矛盾 2 提高了i o速度 當(dāng)cpu在運(yùn)行中需要數(shù)據(jù)時 是直接從高速的磁帶或磁盤上將數(shù)據(jù)調(diào)入內(nèi)存的 不再是從低速i o設(shè)備上輸入 極大地提高了i o速度 從而緩和了cpu和i o設(shè)備速度不匹配的矛盾 進(jìn)一步減少了cpu的空閑時間 1 2操作系統(tǒng)的發(fā)展過程 1 2 1無操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)1 2 2單道批處理系統(tǒng)1 2 3多道批處理系統(tǒng)1 2 4分時系統(tǒng)1 2 5實(shí)時系統(tǒng)1 2 6微機(jī)操作系統(tǒng)的發(fā)展 1 2 2單道批處理系統(tǒng)1 單道批處理系統(tǒng)的處理過程上世紀(jì)50年代中期發(fā)明了晶體管 人們開始用晶體管替代真空管來制作計(jì)算機(jī) 從而出現(xiàn)了第二代計(jì)算機(jī) 它不僅使計(jì)算機(jī)的體積大大減小 功耗顯著降低 同時可靠性也得到大幅度提高 使計(jì)算機(jī)已具有推廣應(yīng)用的價值 但計(jì)算機(jī)系統(tǒng)仍非常昂貴 為了能充分地利用它 應(yīng)盡量讓該系統(tǒng)連續(xù)運(yùn)行 以減少空閑時間 為此 通常是把一批作業(yè)以脫機(jī)方式輸入到磁帶上 并在系統(tǒng)中配上監(jiān)督程序 monitor 在它的控制下使這批作業(yè)能一個接一個地連續(xù)處理 其自動處理過程是 首先 由監(jiān)督程序?qū)⒋艓系牡谝粋€作業(yè)裝入內(nèi)存 并把運(yùn)行控制權(quán)交給該作業(yè) 當(dāng)該作業(yè)處理完成時 又把控制權(quán)交還給監(jiān)督程序 再由監(jiān)督程序把磁帶 盤 上的第二個作業(yè)調(diào)入內(nèi)存 計(jì)算機(jī)系統(tǒng)就這樣自動地一個作業(yè)一個作業(yè)地進(jìn)行處理 直至磁帶 盤 上的所有作業(yè)全部完成 這樣便形成了早期的批處理系統(tǒng) 由于系統(tǒng)對作業(yè)的處理都是成批地進(jìn)行的 且在內(nèi)存中始終只保持一道作業(yè) 故稱此系統(tǒng)為單道批處理系統(tǒng) simplebatchprocessingsystem 圖1 4示出了單道批處理系統(tǒng)的處理流程 圖1 4單道批處理系統(tǒng)的處理流程 2 單道批處理系統(tǒng)的特征單道批處理系統(tǒng)是最早出現(xiàn)的一種os 嚴(yán)格地說 它只能算作是os的前身而并非是現(xiàn)在人們所理解的os 盡管如此 該系統(tǒng)比起人工操作方式的系統(tǒng)已有很大進(jìn)步 該系統(tǒng)的主要特征如下 1 自動性 在順利情況下 在磁帶上的一批作業(yè)能自動地逐個地依次運(yùn)行 而無需人工干預(yù) 2 順序性 磁帶上的各道作業(yè)是順序地進(jìn)入內(nèi)存 各道作業(yè)的完成順序與它們進(jìn)入內(nèi)存的順序 在正常情況下應(yīng)完全相同 亦即先調(diào)入內(nèi)存的作業(yè)先完成 3 單道性 內(nèi)存中僅有一道程序運(yùn)行 即監(jiān)督程序每次從磁帶上只調(diào)入一道程序進(jìn)入內(nèi)存運(yùn)行 當(dāng)該程序完成或發(fā)生異常情況時 才換入其后繼程序進(jìn)入內(nèi)存運(yùn)行 1 2操作系統(tǒng)的發(fā)展過程 1 2 1無操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)1 2 2單道批處理系統(tǒng)1 2 3多道批處理系統(tǒng)1 2 4分時系統(tǒng)1 2 5實(shí)時系統(tǒng)1 2 6微機(jī)操作系統(tǒng)的發(fā)展 1 2 3多道批處理系統(tǒng)1 多道程序設(shè)計(jì)的基本概念在單道批處理系統(tǒng)中 內(nèi)存中僅有一道作業(yè) 它無法充分利用系統(tǒng)中的所有資源 致使系統(tǒng)性能較差 為了進(jìn)一步提高資源的利用率和系統(tǒng)吞吐量 在20世紀(jì)60年代中期又引入了多道程序設(shè)計(jì)技術(shù) 由此而形成了多道批處理系統(tǒng) multiprogrammedbatchprocessingsystem 在該系統(tǒng)中 用戶所提交的作業(yè)都先存放在外存上并排成一個隊(duì)列 稱為 后備隊(duì)列 然后 由作業(yè)調(diào)度程序按一定的算法從后備隊(duì)列中選擇若干個作業(yè)調(diào)入內(nèi)存 使它們共享cpu和系統(tǒng)中的各種資源 具體地說 在os中引入多道程序設(shè)計(jì)技術(shù)可帶來以下好處 1 提高cpu的利用率 當(dāng)內(nèi)存中僅有一道程序時 每逢該程序在運(yùn)行中發(fā)出i o請求后 cpu空閑 必須在其i o完成后cpu才繼續(xù)運(yùn)行 尤其因i o設(shè)備的低速性 更使cpu的利用率顯著降低 圖1 5 a 示出了單道程序的運(yùn)行情況 從圖中可以看出 在t2 t3 t6 t7時間間隔內(nèi)cpu空閑 在引入多道程序設(shè)計(jì)技術(shù)后 由于同時在內(nèi)存中裝有若干道程序 并使它們交替地運(yùn)行 這樣 當(dāng)正在運(yùn)行的程序因i o而暫停執(zhí)行時 系統(tǒng)可調(diào)度另一道程序運(yùn)行 從而保持了cpu處于忙碌狀態(tài) 圖1 5 b 示出了四道程序時的運(yùn)行情況 圖1 5單道和多道程序運(yùn)行情況 2 可提高內(nèi)存和i o設(shè)備利用率 為了能運(yùn)行較大的作業(yè) 通常內(nèi)存都具有較大容量 但由于80 以上的作業(yè)都屬于中小型 因此在單道程序環(huán)境下 也必定造成內(nèi)存的浪費(fèi) 類似地 對于系統(tǒng)中所配置的多種類型的i o設(shè)備 在單道程序環(huán)境下也不能充分利用 如果允許在內(nèi)存中裝入多道程序 并允許它們并發(fā)執(zhí)行 則無疑會大大提高內(nèi)存和i o設(shè)備的利用率 3 增加系統(tǒng)吞吐量 在保持cpu i o設(shè)備不斷忙碌的同時 也必然會大幅度地提高系統(tǒng)的吞吐量 從而降低作業(yè)加工所需的費(fèi)用 2 多道批處理系統(tǒng)的優(yōu)缺點(diǎn)雖然早在20世紀(jì)60年代就已出現(xiàn)了多道批處理系統(tǒng) 但至今它仍是三大基本操作系統(tǒng)類型之一 在大多數(shù)大 中 小型機(jī)中都配置了它 說明它具有其它類型os所不具有的優(yōu)點(diǎn) 多道批處理系統(tǒng)的主要優(yōu)缺點(diǎn)如下 1 資源利用率高 由于在內(nèi)存中駐留了多道程序 它們共享資源 可保持資源處于忙碌狀態(tài) 從而使各種資源得以充分利用 2 系統(tǒng)吞吐量大 系統(tǒng)吞吐量是指系統(tǒng)在單位時間內(nèi)所完成的總工作量 能提高系統(tǒng)吞吐量的主要原因可歸結(jié)為 第一 cpu和其它資源保持 忙碌 狀態(tài) 第二 僅當(dāng)作業(yè)完成時或運(yùn)行不下去時才進(jìn)行切換 系統(tǒng)開銷小 3 平均周轉(zhuǎn)時間長 作業(yè)的周轉(zhuǎn)時間是指從作業(yè)進(jìn)入系統(tǒng)開始 直至其完成并退出系統(tǒng)為止所經(jīng)歷的時間 在批處理系統(tǒng)中 由于作業(yè)要排隊(duì) 依次進(jìn)行處理 因而作業(yè)的周轉(zhuǎn)時間較長 通常需幾個小時 甚至幾天 4 無交互能力 用戶一旦把作業(yè)提交給系統(tǒng)后 直至作業(yè)完成 用戶都不能與自己的作業(yè)進(jìn)行交互 這對修改和調(diào)試程序是極不方便的 3 多道批處理系統(tǒng)需要解決的問題多道批處理系統(tǒng)是一種有效 但十分復(fù)雜的系統(tǒng) 為使系統(tǒng)中的多道程序間能協(xié)調(diào)地運(yùn)行 必須解決下述一系列問題 1 處理機(jī)管理問題 在多道程序之間 應(yīng)如何分配被它們共享的處理機(jī) 使cpu既能滿足各程序運(yùn)行的需要 又能提高處理機(jī)的利用率 以及一旦把處理機(jī)分配給某程序后 又應(yīng)在何時收回等一系列問題 屬于處理機(jī)管理問題 2 內(nèi)存管理問題 應(yīng)如何為每道程序分配必要的內(nèi)存空間 使它們 各得其所 且不致因相互重疊而丟失信息 以及應(yīng)如何防止因某道程序出現(xiàn)異常情況而破壞其它程序等問題 就是內(nèi)存管理問題 3 i o設(shè)備管理問題 系統(tǒng)中可能具有多種類型的i o設(shè)備供多道程序所共享 應(yīng)如何分配這些i o設(shè)備 如何做到既方便用戶對設(shè)備的使用 又能提高設(shè)備的利用率 這就是i o設(shè)備管理問題 4 文件管理問題 在現(xiàn)代計(jì)算機(jī)系統(tǒng)中 通常都存放著大量的程序和數(shù)據(jù) 以文件形式存在 應(yīng)如何組織這些程序和數(shù)據(jù) 才能使它們既便于用戶使用 又能保證數(shù)據(jù)的安全性和一致性 這些屬于文件管理問題 5 作業(yè)管理問題 對于系統(tǒng)中的各種應(yīng)用程序 其中有的屬于計(jì)算型 即以計(jì)算為主的程序 有的屬于i o型 即以i o為主的程序 又有些作業(yè)既重要又緊迫 而有的作業(yè)則要求系統(tǒng)能及時響應(yīng) 這時應(yīng)如何組織這些作業(yè) 這便是作業(yè)管理問題 1 2操作系統(tǒng)的發(fā)展過程 1 2 1無操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)1 2 2單道批處理系統(tǒng)1 2 3多道批處理系統(tǒng)1 2 4分時系統(tǒng)1 2 5實(shí)時系統(tǒng)1 2 6微機(jī)操作系統(tǒng)的發(fā)展 1 2 4分時系統(tǒng)1 分時系統(tǒng)的產(chǎn)生分時系統(tǒng) timesharingsystem 與多道批處理系統(tǒng)之間有著截然不同的性能差別 它能很好地將一臺計(jì)算機(jī)提供給多個用戶同時使用 提高計(jì)算機(jī)的利用率 它被經(jīng)常應(yīng)用于查詢系統(tǒng)中 滿足許多查詢用戶的需要 用戶的需求具體表現(xiàn)在以下幾個方面 1 人 機(jī)交互 每當(dāng)程序員寫好一個新程序時 都需要上機(jī)進(jìn)行調(diào)試 由于新編程序難免有些錯誤或不當(dāng)之處需要修改 因而希望能像早期使用計(jì)算機(jī)時一樣對它進(jìn)行直接控制 并能以邊運(yùn)行邊修改的方式 對程序中的錯誤進(jìn)行修改 亦即 希望能進(jìn)行人 機(jī)交互 2 共享主機(jī) 在20世紀(jì)60年代計(jì)算機(jī)非常昂貴 不可能像現(xiàn)在這樣每人獨(dú)占一臺微機(jī) 而只能是由多個用戶共享一臺計(jì)算機(jī) 但用戶在使用機(jī)器時應(yīng)能夠像自己獨(dú)占計(jì)算機(jī)一樣 不僅可以隨時與計(jì)算機(jī)交互 而且應(yīng)感覺不到其他用戶也在使用該計(jì)算機(jī) 3 便于用戶上機(jī) 在多道批處理系統(tǒng)中 用戶上機(jī)前必須把自己的作業(yè)郵寄或親自送到機(jī)房 這對于用戶尤其是遠(yuǎn)地用戶來說是十分不便的 用戶希望能通過自己的終端直接將作業(yè)傳送到機(jī)器上進(jìn)行處理 并能對自己的作業(yè)進(jìn)行控制 2 分時系統(tǒng)實(shí)現(xiàn)中的關(guān)鍵問題 1 及時接收 要及時接收用戶鍵入的命令或數(shù)據(jù)并不困難 為此 只需在系統(tǒng)中配置一個多路卡 例如 當(dāng)要在主機(jī)上連接8個終端時 須配置一個8用戶的多路卡 多路卡的作用是使主機(jī)能同時接收各用戶從終端上輸入的數(shù)據(jù) 此外 還須為每個終端配置一個緩沖區(qū) 用來暫存用戶鍵入的命令 或數(shù)據(jù) 2 及時處理 人機(jī)交互的關(guān)鍵 是使用戶鍵入命令后能及時地控制自己作業(yè)的運(yùn)行 或修改自己的作業(yè) 為此 各個用戶的作業(yè)都必須在內(nèi)存中 且應(yīng)能頻繁地獲得處理機(jī)而運(yùn)行 否則 用戶鍵入的命令將無法作用到自己的作業(yè)上 前面介紹的批處理系統(tǒng)是無法實(shí)現(xiàn)人機(jī)交互的 因?yàn)橥ǔ4蠖鄶?shù)作業(yè)都還駐留在外存上 即使是已調(diào)入內(nèi)存的作業(yè) 也經(jīng)常要經(jīng)過較長時間的等待后方能運(yùn)行 因而使用戶鍵入的命令很難及時作用到自己的作業(yè)上 由此可見 為實(shí)現(xiàn)人機(jī)交互 必須徹底地改變原來批處理系統(tǒng)的運(yùn)行方式 首先 用戶作業(yè)不能先進(jìn)入磁盤 然后再調(diào)入內(nèi)存 因?yàn)樽鳂I(yè)在磁盤上不能運(yùn)行 當(dāng)然用戶也無法與機(jī)器交互 因此 作業(yè)應(yīng)直接進(jìn)入內(nèi)存 其次 不允許一個作業(yè)長期占用處理機(jī) 直至它運(yùn)行結(jié)束或出現(xiàn)i o請求后 方才調(diào)度其它作業(yè)運(yùn)行 為此 應(yīng)該規(guī)定每個作業(yè)只運(yùn)行一個很短的時間 例如0 1秒鐘 通常把這段時間稱為時間片 然后便暫停該作業(yè)的運(yùn)行 并立即調(diào)度下一個程序運(yùn)行 如果在不長的時間 如3秒 內(nèi)能使所有的用戶作業(yè)都執(zhí)行一次 一個時間片的時間 便可使每個用戶都能及時地與自己的作業(yè)交互 從而可使用戶的請求得到及時響應(yīng) 3 分時系統(tǒng)的特征分時系統(tǒng)與多道批處理系統(tǒng)相比 具有非常明顯的不同特征 由上所述可以歸納成以下四個特點(diǎn) 1 多路性 允許在一臺主機(jī)上同時聯(lián)接多臺聯(lián)機(jī)終端 系統(tǒng)按分時原則為每個用戶服務(wù) 宏觀上 是多個用戶同時工作 共享系統(tǒng)資源 而微觀上 則是每個用戶作業(yè)輪流運(yùn)行一個時間片 多路性即同時性 它提高了資源利用率 降低了使用費(fèi)用 從而促進(jìn)了計(jì)算機(jī)更廣泛的應(yīng)用 2 獨(dú)立性 每個用戶各占一個終端 彼此獨(dú)立操作 互不干擾 因此 用戶所感覺到的 就像是他一人獨(dú)占主機(jī) 3 及時性 用戶的請求能在很短的時間內(nèi)獲得響應(yīng) 此時間間隔是以人們所能接受的等待時間來確定的 通常僅為1 3秒鐘 4 交互性 用戶可通過終端與系統(tǒng)進(jìn)行廣泛的人機(jī)對話 其廣泛性表現(xiàn)在 用戶可以請求系統(tǒng)提供多方面的服務(wù) 如文件編輯 數(shù)據(jù)處理和資源共享等 1 2操作系統(tǒng)的發(fā)展過程 1 2 1無操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)1 2 2單道批處理系統(tǒng)1 2 3多道批處理系統(tǒng)1 2 4分時系統(tǒng)1 2 5實(shí)時系統(tǒng)1 2 6微機(jī)操作系統(tǒng)的發(fā)展 1 2 5實(shí)時系統(tǒng)所謂 實(shí)時 是表示 及時 而實(shí)時系統(tǒng) realtimesystem 是指系統(tǒng)能及時 或即時 響應(yīng)外部事件的請求 在規(guī)定的時間內(nèi)完成對該事件的處理 并控制所有實(shí)時任務(wù)協(xié)調(diào)一致地運(yùn)行 1 應(yīng)用需求雖然多道批處理系統(tǒng)和分時系統(tǒng)已能獲得較為令人滿意的資源利用率和響應(yīng)時間 從而使計(jì)算機(jī)的應(yīng)用范圍日益擴(kuò)大 但它們?nèi)匀徊荒軡M足以下某些應(yīng)用領(lǐng)域的需要 1 實(shí)時控制 當(dāng)把計(jì)算機(jī)用于生產(chǎn)過程的控制 以形成以計(jì)算機(jī)為中心的控制系統(tǒng)時 系統(tǒng)要求能實(shí)時采集現(xiàn)場數(shù)據(jù) 并對所采集的數(shù)據(jù)進(jìn)行及時處理 進(jìn)而自動地控制相應(yīng)的執(zhí)行機(jī)構(gòu) 使某些 個 參數(shù) 如溫度 壓力 方位等 能按預(yù)定的規(guī)律變化 以保證產(chǎn)品的質(zhì)量和提高產(chǎn)量 類似地 也可將計(jì)算機(jī)用于對武器的控制 如火炮的自動控制系統(tǒng) 飛機(jī)的自動駕駛系統(tǒng) 以及導(dǎo)彈的制導(dǎo)系統(tǒng)等 此外 隨著大規(guī)模集成電路的發(fā)展 已制作出各種類型的芯片 并可將這些芯片嵌入到各種儀器和設(shè)備中 用來對設(shè)備的工作進(jìn)行實(shí)時控制 這就構(gòu)成了所謂的智能儀器和設(shè)備 在這些設(shè)備中也需要配置某種類型的 能進(jìn)行實(shí)時控制的系統(tǒng) 通常把用于進(jìn)行實(shí)時控制的系統(tǒng)稱為實(shí)時系統(tǒng) 2 實(shí)時信息處理 通常 人們把用于對信息進(jìn)行實(shí)時處理的系統(tǒng)稱為實(shí)時信息處理系統(tǒng) 該系統(tǒng)由一臺或多臺主機(jī)通過通信線路連接到成百上千個遠(yuǎn)程終端上 計(jì)算機(jī)接收從遠(yuǎn)程終端上發(fā)來的服務(wù)請求 根據(jù)用戶提出的請求對信息進(jìn)行檢索和處理 并在很短的時間內(nèi)為用戶做出正確的響應(yīng) 典型的實(shí)時信息處理系統(tǒng)有早期的飛機(jī)或火車的訂票系統(tǒng) 情報(bào)檢索系統(tǒng)等 2 實(shí)時任務(wù)1 按任務(wù)執(zhí)行時是否呈現(xiàn)周期性來劃分 1 周期性實(shí)時任務(wù) 外部設(shè)備周期性地發(fā)出激勵信號給計(jì)算機(jī) 要求它按指定周期循環(huán)執(zhí)行 以便周期性地控制某外部設(shè)備 2 非周期性實(shí)時任務(wù) 外部設(shè)備所發(fā)出的激勵信號并無明顯的周期性 但都必須聯(lián)系著一個截止時間 deadline 它又可分為開始截止時間 某任務(wù)在某時間以前必須開始執(zhí)行 和完成截止時間 某任務(wù)在某時間以前必須完成 兩部分 2 根據(jù)對截止時間的要求來劃分 1 硬實(shí)時任務(wù) hardreal timetask 系統(tǒng)必須滿足任務(wù)對截止時間的要求 否則可能出現(xiàn)難以預(yù)測的結(jié)果 2 軟實(shí)時任務(wù) softreal timetask 它也聯(lián)系著一個截止時間 但并不嚴(yán)格 若偶爾錯過了任務(wù)的截止時間 對系統(tǒng)產(chǎn)生的影響也不會太大 3 實(shí)時系統(tǒng)與分時系統(tǒng)特征的比較 1 多路性 實(shí)時信息處理系統(tǒng)也按分時原則為多個終端用戶服務(wù) 實(shí)時控制系統(tǒng)的多路性則主要表現(xiàn)在系統(tǒng)周期性地對多路現(xiàn)場信息進(jìn)行采集 以及對多個對象或多個執(zhí)行機(jī)構(gòu)進(jìn)行控制 而分時系統(tǒng)中的多路性則與用戶情況有關(guān) 時多時少 2 獨(dú)立性 實(shí)時信息處理系統(tǒng)中的每個終端用戶在向?qū)崟r系統(tǒng)提出服務(wù)請求時 是彼此獨(dú)立地操作 互不干擾 而實(shí)時控制系統(tǒng)中 對信息的采集和對對象的控制也都是彼此互不干擾 3 及時性 實(shí)時信息處理系統(tǒng)對實(shí)時性的要求與分時系統(tǒng)類似 都是以人所能接受的等待時間來確定的 而實(shí)時控制系統(tǒng)的及時性 則是以控制對象所要求的開始截止時間或完成截止時間來確定的 一般為秒級到毫秒級 甚至有的要低于100微秒 4 交互性 實(shí)時信息處理系統(tǒng)雖然也具有交互性 但這里人與系統(tǒng)的交互僅限于訪問系統(tǒng)中某些特定的專用服務(wù)程序 它不像分時系統(tǒng)那樣能向終端用戶提供數(shù)據(jù)處理和資源共享等服務(wù) 5 可靠性 分時系統(tǒng)雖然也要求系統(tǒng)可靠 但相比之下 實(shí)時系統(tǒng)則要求系統(tǒng)具有高度的可靠性 因?yàn)槿魏尾铄e都可能帶來巨大的經(jīng)濟(jì)損失 甚至是無法預(yù)料的災(zāi)難性后果 所以在實(shí)時系統(tǒng)中 往往都采取了多級容錯措施來保障系統(tǒng)的安全性及數(shù)據(jù)的安全性 1 2操作系統(tǒng)的發(fā)展過程 1 2 1無操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)1 2 2單道批處理系統(tǒng)1 2 3多道批處理系統(tǒng)1 2 4分時系統(tǒng)1 2 5實(shí)時系統(tǒng)1 2 6微機(jī)操作系統(tǒng)的發(fā)展 1 2 6微機(jī)操作系統(tǒng)的發(fā)展1 單用戶單任務(wù)操作系統(tǒng)單用戶單任務(wù)操作系統(tǒng)的含義是 只允許一個用戶上機(jī) 且只允許用戶程序作為一個任務(wù)運(yùn)行 這是最簡單的微機(jī)操作系統(tǒng) 主要配置在8位和16位微機(jī)上 最有代表性的單用戶單任務(wù)微機(jī)操作系統(tǒng)是cp m和ms dos 1 cp m1974年第一代通用8位微處理機(jī)芯片intel8080出現(xiàn)后的第二年 digitalresearch公司就開發(fā)出帶有軟盤系統(tǒng)的8位微機(jī)操作系統(tǒng) 1977年digitalresearch公司對cp m進(jìn)行了重寫 使其可配置在以intel8080 8085 z80等8位芯片為基礎(chǔ)的多種微機(jī)上 1979年又推出帶有硬盤管理功能的cp m2 2版本 由于cp m具有較好的體系結(jié)構(gòu) 可適應(yīng)性強(qiáng) 且具有可移植性以及易學(xué)易用等優(yōu)點(diǎn) 使之在8位微機(jī)中占據(jù)了統(tǒng)治地位 2 ms dos1981年ibm公司首次推出了ibm pc個人計(jì)算機(jī) 16位微機(jī) 在微機(jī)中采用了微軟公司開發(fā)的ms dos diskoperatingsystem 操作系統(tǒng) 該操作系統(tǒng)在cp m的基礎(chǔ)上進(jìn)行了較大的擴(kuò)充 使其在功能上有很大的增強(qiáng) 1983年ibm推出pc at 配有intel80286芯片 相應(yīng)地 微軟又開發(fā)出ms dos2 0版本 它不僅能支持硬盤設(shè)備 還采用了樹形目錄結(jié)構(gòu)的文件系統(tǒng) 1987年又宣布了ms dos3 3版本 從ms dos1 0到3 3為止的dos版本都屬于單用戶單任務(wù)操作系統(tǒng) 內(nèi)存被限制在640kb 從1989年到1993年又先后推出了多個ms dos版本 它們都可以配置在intel80386 80486等32位微機(jī)上 從20世紀(jì)80年代到90年代初 由于ms dos性能優(yōu)越而受到當(dāng)時用戶的廣泛歡迎 成為事實(shí)上的16位單用戶單任務(wù)操作系統(tǒng)標(biāo)準(zhǔn) 2 單用戶多任務(wù)操作系統(tǒng)單用戶多任務(wù)操作系統(tǒng)的含義是 只允許一個用戶上機(jī) 但允許用戶把程序分為若干個任務(wù) 使它們并發(fā)執(zhí)行 從而有效地改善了系統(tǒng)的性能 目前在32位微機(jī)上配置的操作系統(tǒng)基本上都是單用戶多任務(wù)操作系統(tǒng) 其中最有代表性的是由微軟公司推出的windows 1985年和1987年微軟公司先后推出了windows1 0和windows2 0版本操作系統(tǒng) 由于當(dāng)時的硬件平臺還只是16位微機(jī) 對1 0和2 0版本不能很好的支持 1990年微軟公司又發(fā)布了windows3 0版本 隨后又宣布了windows3 1版本 它們主要是針對386和486等32位微機(jī)開發(fā)的 較之以前的操作系統(tǒng)有著重大的改進(jìn) 引入了友善的圖形用戶界面 支持多任務(wù)和擴(kuò)展內(nèi)存的功能 使計(jì)算機(jī)更好使用 從而成為386和486等微機(jī)的主流操作系統(tǒng) 1995年微軟公司推出了windows95 它較之以前的windows3 1有許多重大改進(jìn) 采用了全32位的處理技術(shù) 并兼容以前的16位應(yīng)用程序 在該系統(tǒng)中還集成了支持internet的網(wǎng)絡(luò)功能 1998年微軟公司又推出了windows95的改進(jìn)版windows98 它已是最后一個仍然兼容以前的16位應(yīng)用程序的windows 其最主要的改進(jìn)是把微軟公司自己開發(fā)的internet瀏覽器整合到系統(tǒng)中 大大方便了用戶上網(wǎng)瀏覽 另一個特點(diǎn)是增加了對多媒體的支持 2001年微軟又發(fā)布了32位版本的windowsxp 同時提供了家用和商業(yè)工作站兩種版本 它是當(dāng)前使用最廣泛的個人操作系統(tǒng) 2001年還發(fā)布了64位版本的windowsxp 微機(jī)操作系統(tǒng) windows系列 windows2 0 windows3 0 windows3 1 windowsnt3 1 windows3 2 windows1 0 windows95 windows98 windowsme windows2000 windowsxp windows2003 windowsnt4 0 windowsvista 1985 1987 1990 1992 1993 1994 1995 1996 1998 2000 2000 2001 2003 2005 微機(jī)操作系統(tǒng) windows系列 3 多用戶多任務(wù)操作系統(tǒng)多用戶多任務(wù)操作系統(tǒng)的含義是 允許多個用戶通過各自的終端使用同一臺機(jī)器 共享主機(jī)系統(tǒng)中的各種資源 而每個用戶程序又可進(jìn)一步分為幾個任務(wù) 使它們能并發(fā)執(zhí)行 從而可進(jìn)一步提高資源利用率和系統(tǒng)吞吐量 在大 中和小型機(jī)中所配置的大多是多用戶多任務(wù)操作系統(tǒng) 而在32位微機(jī)上也有不少是配置的多用戶多任務(wù)操作系統(tǒng) 其中最有代表性的是unixos unixos是美國電報(bào)電話公司的bell實(shí)驗(yàn)室在1969 1970年期間開發(fā)的 1979年推出來的unixv 7已被廣泛應(yīng)用于多種中 小型機(jī)上 隨著微機(jī)性能的提高 人們又將unix移植到微機(jī)上 在1980年前后 將unix第7版本移植到motorola公司的mc680 xx微機(jī)上 后來又將unixv7 0版本進(jìn)行簡化后移植到intel8080上 把它稱為xenix 現(xiàn)在最有影響的兩個能運(yùn)行在微機(jī)上的unix操作系統(tǒng)的變型是solarisos和linuxos 微機(jī)操作系統(tǒng) unix系列 設(shè)計(jì)目標(biāo) 向大的用戶團(tuán)體提供對計(jì)算機(jī)的同時訪問 支持強(qiáng)大的計(jì)算能力與數(shù)據(jù)存儲 在需要時 用戶能夠容易地共享他們的數(shù)據(jù) kenthompson at t貝爾實(shí)驗(yàn)室1983年的turing獎 dennism ritchie 1 solarisos sun公司于1982年推出的sunos1 0是一個運(yùn)行在motorola680 x0平臺上的unixos 在1988年宣布的sunos4 0把運(yùn)行平臺從早期的motorola680 x0平臺遷移到sparc平臺 并開始支持intel公司的intel80 x86 1992年sun發(fā)布了solaris2 0 從1998年開始 sun公司推出64位操作系統(tǒng)solaris2 7和2 8 這幾款操作系統(tǒng)在網(wǎng)絡(luò)特性 互操作性 兼容性以及易于配置和管理方面均有很大的提高 2 linuxos linux是unix的一個重要變種 最初是由芬蘭學(xué)生linustorvalds針對intel80386開發(fā)的 1991年在internet網(wǎng)上發(fā)布第一個linux版本 由于源代碼公開 因此有很多人通過internet與之合作 使linux的性能迅速提高 其應(yīng)用范圍也日益擴(kuò)大 相應(yīng)地 源代碼也急劇膨脹 此時它已是具有全面功能的unix系統(tǒng) 大量在unix上運(yùn)行的軟件 包括1000多種實(shí)用工具軟件和大量的網(wǎng)絡(luò)軟件 被移植到linux上 而且可以在主要的微機(jī)上運(yùn)行 如intel80 x86pentium等 微機(jī)操作系統(tǒng) linux系列 linux與unix linux與unix操作系統(tǒng)類似 不是unix操作系統(tǒng)的變種 在開發(fā)初期其內(nèi)核代碼是仿效unix的 幾乎所有unix的工具與外殼都可以運(yùn)行在linux上 linustorvalds 1991年開始 1994年linux1 0 1 3操作系統(tǒng)的基本特性 1 3 1并發(fā)性1 3 2共享性1 3 3虛擬技術(shù)1 3 4異步性 1 3 1并發(fā)性1 并行與并發(fā)并行性和并發(fā)性 concurrence 是既相似又有區(qū)別的兩個概念 并行性 是指兩個或多個事件在同一時刻發(fā)生 并發(fā)性 是指兩個或多個事件在同一時間間隔內(nèi)發(fā)生 在多道程序環(huán)境下 并發(fā)性是指在一段時間內(nèi)宏觀上有多個程序在同時運(yùn)行 但在單處理機(jī)系統(tǒng)中 每一時刻卻僅能有一道程序執(zhí)行 故微觀上這些程序只能是分時地交替執(zhí)行 倘若在計(jì)算機(jī)系統(tǒng)中有多個處理機(jī) 則這些可以并發(fā)執(zhí)行的程序便可被分配到多個處理機(jī)上 實(shí)現(xiàn)并行執(zhí)行 即利用每個處理機(jī)來處理一個可并發(fā)執(zhí)行的程序 這樣 多個程序便可同時執(zhí)行 2 引入進(jìn)程應(yīng)當(dāng)指出 通常的程序是靜態(tài)實(shí)體 passiveentity 在多道程序系統(tǒng)中 它們是不能獨(dú)立運(yùn)行的 更不能和其它程序并發(fā)執(zhí)行 在操作系統(tǒng)中引入進(jìn)程的目的 就是為了使多個程序能并發(fā)執(zhí)行 例如 在一個未引入進(jìn)程的系統(tǒng)中 在屬于同一個應(yīng)用程序的計(jì)算程序和i o程序之間 兩者只能是順序執(zhí)行 即只有在計(jì)算程序執(zhí)行告一段落后 才允許i o程序執(zhí)行 反之 在程序執(zhí)行i o操作時 計(jì)算程序也不能執(zhí)行 這意味著處理機(jī)處于空閑狀態(tài) 但在引入進(jìn)程后 若分別為計(jì)算程序和i o程序各建立一個進(jìn)程 則這兩個進(jìn)程便可并發(fā)執(zhí)行 由于在系統(tǒng)中具備使計(jì)算程序和i o程序同時運(yùn)行的硬件條件 因而可將系統(tǒng)中的cpu和i o設(shè)備同時開動起來 實(shí)現(xiàn)并行工作 從而有效地提高了系統(tǒng)資源的利用率和系統(tǒng)吞吐量 并改善了系統(tǒng)的性能 引入進(jìn)程的好處遠(yuǎn)不止于此 事實(shí)上可以在內(nèi)存中存放多個用戶程序 分別為它們建立進(jìn)程后 這些進(jìn)程可以并發(fā)執(zhí)行 亦即實(shí)現(xiàn)前面所說的多道程序運(yùn)行 這樣便能極大地提高系統(tǒng)資源的利用率 增加系統(tǒng)的吞吐量 為使多個程序能并發(fā)執(zhí)行 系統(tǒng)必須分別為每個程序建立進(jìn)程 process 簡單說來 進(jìn)程是指在系統(tǒng)中能獨(dú)立運(yùn)行并作為資源分配的基本單位 它是由一組機(jī)器指令 數(shù)據(jù)和堆棧等組成的 是一個能獨(dú)立運(yùn)行的活動實(shí)體 多個進(jìn)程之間可以并發(fā)執(zhí)行和交換信息 一個進(jìn)程在運(yùn)行時需要一定的資源 如cpu 存儲空間及i o設(shè)備等 進(jìn)程管理 includemain inti j k i 4 j 5 k i j printf d k 單道程序技術(shù) 多道程序技術(shù) 進(jìn)程管理 進(jìn)程管理的具體任務(wù) 對進(jìn)程進(jìn)行控制和為進(jìn)程分配cpu 即進(jìn)行進(jìn)程調(diào)度 從而協(xié)調(diào)多道程序之間的關(guān)系 使cpu這一資源得到最充分的利用 什么是進(jìn)程 進(jìn)程是一個具有獨(dú)立功能的程序在一個數(shù)據(jù)集合上的一次運(yùn)行活動 3 引入線程通常在一個進(jìn)程中可以包含若干個線程 它們可以利用進(jìn)程所擁有的資源 在引入線程的os中 通常都是把進(jìn)程作為分配資源的基本單位 而把線程作為獨(dú)立運(yùn)行和獨(dú)立調(diào)度的基本單位 由于線程比進(jìn)程更小 基本上不擁有系統(tǒng)資源 故對它的調(diào)度所付出的開銷就會小得多 能更高效地提高系統(tǒng)內(nèi)多個程序間并發(fā)執(zhí)行的程度 因而近年來推出的通用操作系統(tǒng)都引入了線程 以便進(jìn)一步提高系統(tǒng)的并發(fā)性 并把它視作現(xiàn)代操作系統(tǒng)的一個重要標(biāo)致 進(jìn)程管理 什么是線程 線程是進(jìn)程中的一個實(shí)體 是cpu調(diào)度和分配的基本單位 主存 主存 進(jìn)程 線程1 線程2 線程3 1 3操作系統(tǒng)的基本特性 1 3 1并發(fā)性1 3 2共享性1 3 3虛擬技術(shù)1 3 4異步性 1 3 2共享性1 互斥共享方式系統(tǒng)中的某些資源 如打印機(jī) 磁帶機(jī) 雖然它們可以提供給多個進(jìn)程 線程 使用 但為使所打印或記錄的結(jié)果不致造成混淆 應(yīng)規(guī)定在一段時間內(nèi)只允許一個進(jìn)程 線程 訪問該資源 為此 系統(tǒng)中應(yīng)建立一種機(jī)制 以保證對這類資源的互斥訪問 當(dāng)一個進(jìn)程a要訪問某資源時 必須先提出請求 如果此時該資源空閑 系統(tǒng)便可將之分配給請求進(jìn)程a使用 此后若再有其它進(jìn)程也要訪問該資源時 只要a未用完 則必須等待 僅當(dāng)a進(jìn)程訪問完并釋放該資源后 才允許另一進(jìn)程對該資源進(jìn)行訪問 我們把這種資源共享方式稱為互斥式共享 而把在一段時間內(nèi)只允許一個進(jìn)程訪問的資源稱為臨界資源或獨(dú)占資源 計(jì)算機(jī)系統(tǒng)中的大多數(shù)物理設(shè)備 以及某些軟件中所用的棧 變量和表格 都屬于臨界資源 它們要求被互斥地共享 為此 在系統(tǒng)中必需配置某種機(jī)制來保證諸進(jìn)程互斥地使用獨(dú)占資源 2 同時訪問方式系統(tǒng)中還有另一類資源 允許在一段時間內(nèi)由多個進(jìn)程 同時 對它們進(jìn)行訪問 這里所謂的 同時 在單處理機(jī)環(huán)境下往往是宏觀上的 而在微觀上 這些進(jìn)程可能是交替地對該資源進(jìn)行訪問 典型的可供多個進(jìn)程 同時 訪問的資源是磁盤設(shè)備 一些用重入碼編寫的文件也可以被 同時 共享 即若干個用戶同時訪問該文件 并發(fā)和共享是操作系統(tǒng)的兩個最基本的特征 它們又是互為存在的條件 一方面 資源共享是以程序 進(jìn)程 的并發(fā)執(zhí)行為條件的 若系統(tǒng)不允許程序并發(fā)執(zhí)行 自然不存在資源共享問題 另一方面 若系統(tǒng)不能對資源共享實(shí)施有效管理 協(xié)調(diào)好諸進(jìn)程對共享資源的訪問 也必然影響到程序并發(fā)執(zhí)行的程度 甚至根本無法并發(fā)執(zhí)行 1 3操作系統(tǒng)的基本特性 1 3 1并發(fā)性1 3 2共享性1 3 3虛擬技術(shù)1 3 4異步性 1 3 3虛擬技術(shù)1 時分復(fù)用技術(shù)時分復(fù)用 亦即分時使用方式 它最早用于電信業(yè)中 為了提高信道的利用率 人們利用時分復(fù)用方式 將一條物理信道虛擬為多條邏輯信道 將每條信道供一對用戶通話 在計(jì)算機(jī)領(lǐng)域中 廣泛利用該技術(shù)來實(shí)現(xiàn)虛擬處理機(jī) 虛擬設(shè)備等 以提高資源的利用率 1 虛擬處理機(jī)技術(shù)在虛擬處理機(jī)技術(shù)中 利用多道程序設(shè)計(jì)技術(shù) 為每道程序建立一個進(jìn)程 讓多道程序并發(fā)地執(zhí)行 以此來分時使用一臺處理機(jī) 此時 雖然系統(tǒng)中只有一臺處理機(jī) 但它卻能同時為多個用戶服務(wù) 使每個終端用戶都認(rèn)為是有一個處理機(jī)在專門為他服務(wù) 亦即 利用多道程序設(shè)計(jì)技術(shù) 把一臺物理上的處理機(jī)虛擬為多臺邏輯上的處理機(jī) 在每臺邏輯處理機(jī)上運(yùn)行一道程序 我們把用戶所感覺到的處理機(jī)稱為虛擬處理器 2 虛擬設(shè)備技術(shù)我們還可以通過虛擬設(shè)備技術(shù) 將一臺物理i o設(shè)備虛擬為多臺邏輯上的i o設(shè)備 并允許每個用戶占用一臺邏輯上的i o設(shè)備 這樣便可使原來僅允許在一段時間內(nèi)由一個用戶訪問的設(shè)備 即臨界資源 變?yōu)樵谝欢螘r間內(nèi)允許多個用戶同時訪問的共享設(shè)備 例如 原來的打印機(jī)屬于臨界資源 而通過虛擬設(shè)備技術(shù) 可以把它變?yōu)槎嗯_邏輯上的打印機(jī) 供多個用戶 同時 打印 2 空分復(fù)用技術(shù)早在上世紀(jì)初 電信業(yè)中就使用頻分復(fù)用技術(shù)來提高信道的利用率 它是將一個頻率范圍非常寬的信道 劃分成多個頻率范圍較窄的信道 其中的任何一個頻帶都只供一對用戶通話 早期的頻分復(fù)用只能將一條物理信道劃分為十幾條到幾十條話路 后來又很快發(fā)展成上萬條話路 每條話路也只供一對用戶通話 之后 在計(jì)算機(jī)中也使用了空分復(fù)用技術(shù)來提高存儲空間的利用率 1 虛擬磁盤技術(shù)通常在一臺機(jī)器上只配置一臺硬盤 我們可以通過虛擬磁盤技術(shù)將一臺硬盤虛擬為多臺虛擬磁盤 這樣使用起來既方便又安全 虛擬磁盤技術(shù)也是采用了空分復(fù)用方式 即它將硬盤劃分為若干個卷 例如1 2 3 4四個卷 再通過安裝程序?qū)⑺鼈兎謩e安裝在c d e f四個邏輯驅(qū)動器上 這樣 機(jī)器上便有了四個虛擬磁盤 當(dāng)用戶要訪問d盤中的內(nèi)容時 系統(tǒng)便會訪問卷2中的內(nèi)容 2 虛擬存儲器技術(shù)在單道程序環(huán)境下 處理機(jī)會有很多空閑時間 內(nèi)存也會有很多空閑空間 顯然 這會使處理機(jī)和內(nèi)存的效率低下 如果說時分復(fù)用技術(shù)是利用處理機(jī)的空閑時間來運(yùn)行其它的程序 使處理機(jī)的利用率得以提高 那么空分復(fù)用則是利用存儲器的空閑空間來存放其它的程序 以提高內(nèi)存的利用率 但是 單純的空分復(fù)用存儲器只能提高內(nèi)存的利用率 并不能實(shí)現(xiàn)在邏輯上擴(kuò)大存儲器容量的功能 必須引入虛擬存儲技術(shù)才能達(dá)到此目地 而虛擬存儲技術(shù)在本質(zhì)上就是使內(nèi)存分時復(fù)用 它可以使一道程序通過時分復(fù)用方式 在遠(yuǎn)小于它的內(nèi)存空間中運(yùn)行 例如 一個100mb的應(yīng)用程序可以運(yùn)行在20mb的內(nèi)存空間 下一節(jié)將要介紹的用于實(shí)現(xiàn)內(nèi)存擴(kuò)充的 請求調(diào)入功能 和 置換功能 就是用于每次只把用戶程序的一部分調(diào)入內(nèi)存運(yùn)行 這樣便實(shí)現(xiàn)了用戶程序的各個部分分時進(jìn)入內(nèi)存運(yùn)行的功能 應(yīng)當(dāng)著重指出 如果虛擬的實(shí)現(xiàn)是通過時分復(fù)用的方法來實(shí)現(xiàn)的 即對某一物理設(shè)備進(jìn)行分時使用 設(shè)n是某物理設(shè)備所對應(yīng)的虛擬的邏輯設(shè)備數(shù) 則每臺虛擬設(shè)備的平均速度必然等于或低于物理設(shè)備速度的1 n 類似地 如果是利用空分復(fù)用方法來實(shí)現(xiàn)虛擬 此時一臺虛擬設(shè)備平均占用的空間必然也等于或低于物理設(shè)備所擁有空間的1 n 1 3操作系統(tǒng)的基本特性 1 3 1并發(fā)性1 3 2共享性1 3 3虛擬技術(shù)1 3 4異步性 1 3 4異步性在多道程序環(huán)境下允許多個進(jìn)程并發(fā)執(zhí)行 但只有進(jìn)程在獲得所需的資源后方能執(zhí)行 在單處理機(jī)環(huán)境下 由于系統(tǒng)中只有一臺處理機(jī) 因而每次只允許一個進(jìn)程執(zhí)行 其余進(jìn)程只能等待 當(dāng)正在執(zhí)行的進(jìn)程提出某種資源要求時 如打印請求 而此時打印機(jī)正在為其它某進(jìn)程打印 由于打印機(jī)屬于臨界資源 因此正在執(zhí)行的進(jìn)程必須等待 且放棄處理機(jī) 直到打印機(jī)空閑 并再次把處理機(jī)分配給該進(jìn)程時 該進(jìn)程方能繼續(xù)執(zhí)行 可見 由于資源等因素的限制 使進(jìn)程的執(zhí)行通常都不是 一氣呵成 而是以 停停走走 的方式運(yùn)行 內(nèi)存中的每個進(jìn)程在何時能獲得處理機(jī)運(yùn)行 何時又因提出某種資源請求而暫停 以及進(jìn)程以怎樣的速度向前推進(jìn) 每道程序總共需多少時間才能完成 等等 這些都是不可預(yù)知的 由于各用戶程序性能的不同 比如 有的側(cè)重于計(jì)算而較少需要i o 而
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB23-T2979-2021-大豆對大豆擬莖點(diǎn)種腐病抗病性鑒定技術(shù)規(guī)程-黑龍江省
- DB23-T2904-2021-蔓越莓種植技術(shù)規(guī)程-黑龍江省
- 文化項(xiàng)目招標(biāo)方案(3篇)
- 叉車各項(xiàng)安全管理制度
- 小學(xué)其他安全管理制度
- 儲糧工藝設(shè)備管理制度
- 山區(qū)造林規(guī)劃方案(3篇)
- 公司誠實(shí)守信管理制度
- 黨員培養(yǎng)黨員管理制度
- 公司拉運(yùn)車輛管理制度
- 2025年生態(tài)環(huán)境保護(hù)知識測試題及答案
- 2025年二級建造師考試《礦業(yè)工程管理與實(shí)物》真題及答案
- 活動策劃服務(wù)投標(biāo)方案(技術(shù)方案)
- 湖南省 2023-2024 年普通高中學(xué)業(yè)水平合格性考試(一) 語文試卷(含答案)
- 大理石打磨工程裝飾協(xié)議合同
- 鏈輪齒數(shù)尺寸對照表二
- 國有資產(chǎn)管理情況整改報(bào)告
- 110kV輸電線路工程冬季施工組織設(shè)計(jì)
- 模具中英文對照1
- 蘇教版一年級下冊數(shù)學(xué)易錯題、難題
- 介入導(dǎo)管室應(yīng)急預(yù)案及處理流程
評論
0/150
提交評論