




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、操作系統(tǒng)工作原理如果您擁有一臺計(jì)算機(jī),那么您對操作系統(tǒng)一定不陌生。人們購買的任何臺式或便攜式PC通常都預(yù)先安裝了Windows XP;Macintosh計(jì)算機(jī)預(yù)先安裝的是OS X;許多企業(yè)的服務(wù)器使用Linux或UNIX操作系統(tǒng)。操作系統(tǒng)(OS)是裝入計(jì)算機(jī)的第一個(gè)程序,如果沒有操作系統(tǒng),計(jì)算機(jī)將毫無用處。 最近,操作系統(tǒng)也開始出現(xiàn)在更小型的計(jì)算機(jī)中。如果您平時(shí)喜歡擺弄電子設(shè)備,會很高興地發(fā)現(xiàn),如今操作系統(tǒng)可以安裝在我們?nèi)粘J褂玫暮芏嘣O(shè)備中,從手機(jī)到多種無線訪問終端。這些小型設(shè)備中的計(jì)算機(jī)的功能非常強(qiáng)大,它們都可以運(yùn)行操作系統(tǒng)和應(yīng)用程序?,F(xiàn)在的一部普通手機(jī)中所包含的計(jì)算機(jī)功能甚至比20年前臺式
2、計(jì)算機(jī)的功能還要強(qiáng)大。因此這種進(jìn)步很有意義,也是自然發(fā)展不可避免的趨勢。在任何一臺裝有操作系統(tǒng)的設(shè)備中,通常都提供了更改該設(shè)備工作方式的方法。這絕不是一個(gè)幸運(yùn)的巧合,操作系統(tǒng)之所以采用可移植的代碼,而不采用永久性的物理電路,原因之一就是通過代碼對其進(jìn)行更改或修改時(shí)可避免拆卸整臺設(shè)備。 獲得微軟公司許可重新印制的包裝盒2003Microsoft Corporation。保留所有權(quán)利。微軟Windows XP操作系統(tǒng)對于臺式計(jì)算機(jī)用戶來說,這意味著在進(jìn)行更改時(shí)只需添加一個(gè)新的安全更新、系統(tǒng)補(bǔ)丁、新的應(yīng)用程序,甚至是整個(gè)新的操作系統(tǒng),而無須淘汰計(jì)算機(jī)去購買全新的一臺。只有在了解操作系統(tǒng)的工作原理并知
3、道如何利用時(shí),您才可以在許多方面對計(jì)算機(jī)的一些工作方式進(jìn)行更改。此外,手機(jī)中操作系統(tǒng)的工作原理與計(jì)算機(jī)的實(shí)際上沒有什么區(qū)別。 操作系統(tǒng)用于組織和控制硬件、軟件,從而使安裝操作系統(tǒng)的設(shè)備以一種靈活但可預(yù)期的方式運(yùn)行。在本文中,我們將講述必須具備什么功能的軟件才稱為操作系統(tǒng),并向您介紹臺式計(jì)算機(jī)中操作系統(tǒng)的工作原理,以及舉例說明如何控制身邊的其他操作系統(tǒng)。 并不是所有的計(jì)算機(jī)都具有操作系統(tǒng)。例如,廚房中控制微波爐的計(jì)算機(jī)就不需要操作系統(tǒng)。微波爐有一組要執(zhí)行的任務(wù),用戶可直接輸入所期望執(zhí)行的操作(數(shù)字按鍵和一些預(yù)設(shè)置的按鈕),并且它還具有可以控制的簡單且無需更改的硬件。對于此類計(jì)算機(jī),操作系統(tǒng)反而會
4、成為不必要的負(fù)擔(dān)它將大幅增加產(chǎn)品的開發(fā)和生產(chǎn)成本,而且增添不必要的復(fù)雜性。因此,微波爐中裝入的計(jì)算機(jī)只需一直運(yùn)行一個(gè)簡單的固化程序即可。 對于其他設(shè)備,操作系統(tǒng)需要具有滿足以下條件的功能: · 實(shí)現(xiàn)多種用途 · 以更復(fù)雜的方式與用戶進(jìn)行交互 · 滿足隨時(shí)間而改變的需求 所有的臺式計(jì)算機(jī)都具有操作系統(tǒng)。其中最普遍的是微軟開發(fā)的Windows操作系統(tǒng)、蘋果公司開發(fā)的Macintosh操作系統(tǒng)以及UNIX系列操作系統(tǒng)(由若干開發(fā)人員、公司及合作者共同開發(fā))。此外,還有針對特殊應(yīng)用領(lǐng)域的數(shù)以百計(jì)的其他操作系統(tǒng),包括專門用于大型機(jī)、機(jī)器人技術(shù)、生產(chǎn)制造和實(shí)時(shí)控制系統(tǒng)等的操作
5、系統(tǒng)。簡單來說,操作系統(tǒng)的功能有兩個(gè): 1. 它管理系統(tǒng)的硬件和軟件資源。在臺式計(jì)算機(jī)中,這些資源包括處理器、存儲器、磁盤空間等。(在手機(jī)中,這些資源則包括鍵盤、屏幕、通訊簿、電話拔號器、電池和網(wǎng)絡(luò)連接。) 2. 在無需了解硬件的所有詳細(xì)信息情況下,為應(yīng)用程序提供穩(wěn)定、一致的方式來處理硬件。 第一個(gè)任務(wù)(即管理硬件和軟件資源)非常重要,因?yàn)槎鄠€(gè)程序和輸入方法會出于自己的目的競相爭奪CPU(中央處理單元)的資源,并且使用內(nèi)存、存儲器及輸入/輸出帶寬。在此功能中,操作系統(tǒng)扮演著出色的指揮者角色,它既要確保每個(gè)應(yīng)用程序都得到所需的資源,又要保證與所有其他應(yīng)用程序的兼容,同時(shí)還要充分利用有限的系統(tǒng)容量
6、,從而最大程度地滿足所有用戶和應(yīng)用程序的需要。 如果有多個(gè)特定類型的計(jì)算機(jī)使用操作系統(tǒng),或者要更換計(jì)算機(jī)硬件時(shí),第二項(xiàng)任務(wù)(即提供兼容的應(yīng)用程序接口)就變得格外重要。一致的應(yīng)用程序接口(API)使軟件開發(fā)人員在一臺計(jì)算機(jī)上編寫應(yīng)用程序時(shí),有信心保證此應(yīng)用程序可以在另一臺同一類型的計(jì)算機(jī)上運(yùn)行,盡管兩臺計(jì)算機(jī)的內(nèi)存容量或存儲器數(shù)量各不相同。 即使某種特殊計(jì)算機(jī)是唯一的,操作系統(tǒng)也可以確保在硬件升級和更新時(shí)應(yīng)用程序得以正常運(yùn)行。這是因?yàn)?,操作系統(tǒng)(而不是應(yīng)用程序)負(fù)責(zé)管理硬件和分配其資源。開發(fā)人員面臨的挑戰(zhàn)之一是要保證他們的操作系統(tǒng)具有足夠的靈活性,從而可以在成千上萬的計(jì)算機(jī)設(shè)備供應(yīng)商所提供的硬件
7、上運(yùn)行。因?yàn)楫?dāng)今的系統(tǒng)可以配置成千上萬種不同種類的打印機(jī)、磁盤驅(qū)動(dòng)器以及任何可能組合的特殊外設(shè)。 操作系統(tǒng)擁有廣泛的系列,根據(jù)它們所控制的計(jì)算機(jī)類型和所支持應(yīng)用程序的類型,大致可分為四類。這些廣泛的分類包括: · 實(shí)時(shí)操作系統(tǒng)(RTOS)實(shí)時(shí)操作系統(tǒng)用于控制機(jī)械設(shè)備、科學(xué)儀器以及工業(yè)系統(tǒng)。由于RTOS在交付使用時(shí)采用的是“全封閉”形式,因此在通常情況下,該系統(tǒng)幾乎沒有什么用戶界面功能,也沒有最終用戶實(shí)用程序。RTOS的一個(gè)重要作用是管理計(jì)算機(jī)資源,從而在每次執(zhí)行某種特定的操作時(shí),都嚴(yán)格使用相同的時(shí)間。在一臺復(fù)雜的機(jī)器中,由于其具備可用系統(tǒng)資源而使機(jī)器的某一部分以更快的速度運(yùn)行,這將與
8、因系統(tǒng)繁忙而無法運(yùn)行一樣具有相同的災(zāi)難性。 · 單用戶,單任務(wù)顧名思義,該操作系統(tǒng)設(shè)計(jì)用于管理計(jì)算機(jī),使單個(gè)用戶每次只能高效地執(zhí)行一個(gè)操作。用于掌上電腦的Palm OS是現(xiàn)代單用戶、單任務(wù)操作系統(tǒng)的一個(gè)良好示例。 · 單用戶,多任務(wù)這就是目前多數(shù)用戶在他們的臺式計(jì)算機(jī)或筆記本電腦中使用的操作系統(tǒng)類型。微軟公司的Windows操作系統(tǒng)和蘋果公司的MacOS操作系統(tǒng)平臺均為一個(gè)用戶可以同時(shí)運(yùn)行多個(gè)程序的操作系統(tǒng)的范例。例如,一個(gè)Windows用戶一邊在文字處理軟件上撰寫日記,一邊從互聯(lián)網(wǎng)下載文件,同時(shí)還在打印一封電子郵件消息的文本,這是完全可能的。 · 多用戶多用戶操
9、作系統(tǒng)允許多個(gè)不同用戶同時(shí)使用計(jì)算機(jī)的資源。操作系統(tǒng)必須確保均衡地滿足各個(gè)用戶的要求,他們使用的各個(gè)程序都具有足夠且獨(dú)立的資源,從而使一個(gè)用戶的問題不會影響到整個(gè)用戶群。Unix、VMS和大型機(jī)操作系統(tǒng)(如 MVS)是多用戶操作系統(tǒng)的范例。 蘋果公司供圖Mac OS X Panther操作系統(tǒng)屏幕截圖區(qū)分多用戶操作系統(tǒng)和支持網(wǎng)絡(luò)的單用戶操作系統(tǒng)很重要。Windows 2000和Novell Netware均可以支持成千上萬的網(wǎng)絡(luò)用戶,但操作系統(tǒng)本身并不是真正的多用戶操作系統(tǒng)。系統(tǒng)管理員是Windows 2000或Netware的唯一“用戶”。從操作系統(tǒng)的整體計(jì)劃來看,網(wǎng)絡(luò)支持和所有遠(yuǎn)程用戶均可
10、登錄到網(wǎng)絡(luò),這些都屬于由管理員用戶運(yùn)行的程序。 在了解了各種不同類型的操作系統(tǒng)后,現(xiàn)在我們將進(jìn)一步介紹操作系統(tǒng)所提供的基本功能。 打開計(jì)算機(jī)的電源時(shí),通常運(yùn)行的第一個(gè)程序是保存在計(jì)算機(jī)只讀存儲器(ROM)中的一組指令。此代碼檢驗(yàn)系統(tǒng)硬件,從而確保一切運(yùn)行正常。上電自檢(POST)將檢測CPU、內(nèi)存和基本輸入輸出系統(tǒng)(BIOS) 是否存在錯(cuò)誤并將結(jié)果存儲在某個(gè)特殊的內(nèi)存位置。一旦成功完成POST,載入ROM的軟件(有時(shí)則稱為BIOS或固件)將開始激活計(jì)算機(jī)的磁盤驅(qū)動(dòng)器。在大多數(shù)現(xiàn)代計(jì)算機(jī)中,當(dāng)計(jì)算機(jī)激活硬盤驅(qū)動(dòng)器時(shí),該計(jì)算機(jī)將運(yùn)行第一個(gè)操作系統(tǒng):引導(dǎo)裝入程序。 這種引導(dǎo)裝入程序是具有單一功能的小
11、程序:它將操作系統(tǒng)載入到內(nèi)存并使之開始運(yùn)行。引導(dǎo)裝入程序通過最基本的形式設(shè)置與之交互的小驅(qū)動(dòng)程序,并控制計(jì)算機(jī)的各個(gè)硬件子系統(tǒng)。它設(shè)置存放操作系統(tǒng)、用戶信息及應(yīng)用程序的內(nèi)存分區(qū),也建立裝有大量信號、標(biāo)記和信號量(用于在子系統(tǒng)和計(jì)算機(jī)應(yīng)用程序內(nèi)部及之間通信)的數(shù)據(jù)結(jié)構(gòu),然后再將其對計(jì)算機(jī)的控制轉(zhuǎn)移給操作系統(tǒng)。 在一般情況下,操作系統(tǒng)的任務(wù)基本分為六種類型: · 處理器管理 · 內(nèi)存管理 · 設(shè)備管理 · 存儲器管理 · 應(yīng)用程序接口 · 用戶界面 盡管有人爭論操作系統(tǒng)應(yīng)執(zhí)行比這六項(xiàng)任務(wù)更多的功能,并且確實(shí)也有一些操作系統(tǒng)供應(yīng)商將更多的實(shí)
12、用程序及輔助功能集成到他們的操作系統(tǒng)中,但這六項(xiàng)任務(wù)幾乎涵蓋了所有操作系統(tǒng)的核心內(nèi)容。下面我們將介紹操作系統(tǒng)執(zhí)行每項(xiàng)功能所使用的工具。管理處理器的核心內(nèi)容可以歸結(jié)為兩個(gè)相關(guān)問題: · 確保每個(gè)進(jìn)程及應(yīng)用程序得到足夠的處理器時(shí)間來實(shí)現(xiàn)其正常功能。 · 實(shí)際工作中盡可能使用更多的處理器周期。 在由處理器完成工作的計(jì)劃中,操作系統(tǒng)處理的軟件基本單元為進(jìn)程或線程,具體取決于操作系統(tǒng)。 通常,人們傾向于將進(jìn)程看作是一個(gè)應(yīng)用程序,但這并沒有全面給出進(jìn)程與操作系統(tǒng)和硬件之間的關(guān)聯(lián)。實(shí)際上,我們所了解的應(yīng)用程序(文字處理器、電子數(shù)據(jù)表或游戲)的確是一個(gè)進(jìn)程,但該應(yīng)用程序可能會導(dǎo)致幾個(gè)其他進(jìn)
13、程開始運(yùn)行,比如,與其他設(shè)備或計(jì)算機(jī)進(jìn)行通信的任務(wù)。然而,此外還有大量我們察覺不到的運(yùn)行的進(jìn)程,因?yàn)樗鼈儾粫峁┲庇^的證據(jù)。例如,Windows XP和UNIX可以同時(shí)運(yùn)行十幾個(gè)后臺進(jìn)程以處理網(wǎng)絡(luò)、內(nèi)存管理、磁盤管理和病毒檢查等。 因此,進(jìn)程是執(zhí)行一些操作的軟件,并且可由用戶、其他應(yīng)用程序或操作系統(tǒng)進(jìn)行控制。 操作系統(tǒng)控制進(jìn)程(而不是應(yīng)用程序),并由CPU安排執(zhí)行。在單任務(wù)系統(tǒng)中,計(jì)劃表簡明易懂,操作系統(tǒng)允許應(yīng)用程序開始運(yùn)行,只有在要處理中斷和用戶輸入時(shí),才會暫停足夠長的時(shí)間。 中斷是由硬件或軟件發(fā)送給CPU的特殊信號。就好比在某一次現(xiàn)場會議上,計(jì)算機(jī)的某部分突然舉手示意以引起CPU的關(guān)注。有
14、時(shí)操作系統(tǒng)通過安排進(jìn)程的優(yōu)先級,從而使中斷被屏蔽換言之,操作系統(tǒng)將忽略來自于某些源的中斷,從而能夠盡快完成特定的任務(wù)。然而有一些中斷(比如出現(xiàn)錯(cuò)誤或內(nèi)存故障)非常重要,因此不能忽略。無論當(dāng)前正在執(zhí)行什么其他任務(wù),都必須立即處理這些非屏蔽中斷(NMI)。 盡管在單任務(wù)系統(tǒng)中,中斷為進(jìn)程的執(zhí)行增加了一些復(fù)雜性,但操作系統(tǒng)的任務(wù)在多任務(wù)系統(tǒng)中更為復(fù)雜。那么,操作系統(tǒng)必須安排應(yīng)用程序的執(zhí)行,從而使人們相信這幾件事看上去是同時(shí)發(fā)生的。因?yàn)镃PU在某一時(shí)間只能做一件事情,這就變得很復(fù)雜。為了制造同時(shí)做多件事的假象,操作系統(tǒng)必須每秒在不同的進(jìn)程之間轉(zhuǎn)換數(shù)千次。下面我們來介紹它的過程: · 一個(gè)進(jìn)程
15、占用一定量的RAM,同時(shí)還會使用CPU和操作系統(tǒng)內(nèi)存空間中的寄存器、堆棧和隊(duì)列。 · 當(dāng)兩個(gè)進(jìn)程具有多個(gè)任務(wù)時(shí),操作系統(tǒng)將為一個(gè)程序分配一定數(shù)量的CPU執(zhí)行周期。 · 在運(yùn)行該數(shù)量的周期后,操作系統(tǒng)將備份該進(jìn)程所使用的所有寄存器、堆棧和隊(duì)列,并標(biāo)明進(jìn)程執(zhí)行中止的位置。 · 然后加載第二個(gè)進(jìn)程所使用的所有寄存器、堆棧和隊(duì)列,并允許它運(yùn)行一定數(shù)量的CPU周期。 · 當(dāng)這些步驟完成后,操作系統(tǒng)將備份第二個(gè)程序所使用的所有寄存器、堆棧和隊(duì)列,然后加載第一個(gè)程序。· 在將切換數(shù)據(jù)存儲在稱為進(jìn)程控制塊的數(shù)據(jù)包中后,所有信息都將用于跟蹤一個(gè)進(jìn)程。進(jìn)程控制塊通
16、常包括: · 可識別進(jìn)程的識別號碼 · 指向程序中的位置及上次處理處的數(shù)據(jù)的指針 · 寄存器內(nèi)容 · 各種標(biāo)記和切換的狀態(tài) · 指向進(jìn)程所需內(nèi)存的上界和下界 · 由進(jìn)程打開的一系列文件 · 進(jìn)程的優(yōu)先級 · 進(jìn)程所需的所有I/O設(shè)備的狀態(tài) 每個(gè)進(jìn)程都具有與之相關(guān)聯(lián)的狀態(tài),很多進(jìn)程在獲得某類輸入之前不會消耗CPU時(shí)間。例如,一個(gè)進(jìn)程可能需要用戶按鍵才會啟用,而等待按鍵時(shí),該進(jìn)程不消耗任何CPU時(shí)間。處于等待狀態(tài)時(shí),該進(jìn)程被“中止”;當(dāng)開始按鍵時(shí),OS會改變其狀態(tài)。比如,當(dāng)該進(jìn)程的狀態(tài)發(fā)生改變(例如,從等待到活動(dòng)狀態(tài),
17、或從中止?fàn)顟B(tài)到運(yùn)行狀態(tài))時(shí),必須像使用任何其他程序中的數(shù)據(jù)一樣使用進(jìn)程控制塊中的信息,從而直接執(zhí)行操作系統(tǒng)的任務(wù)切換部分。 執(zhí)行此進(jìn)程切換無需進(jìn)行直接的用戶干涉,每個(gè)進(jìn)程可以獲得足夠的CPU周期,從而在適量的時(shí)間內(nèi)完成任務(wù)。但是,如果用戶試圖同時(shí)運(yùn)行太多的進(jìn)程,那么就會出現(xiàn)問題。操作系統(tǒng)本身需要一些CPU周期來執(zhí)行應(yīng)用程序進(jìn)程中所有寄存器、堆棧和隊(duì)列的保存及切換。如果啟動(dòng)太多的進(jìn)程,并且操作系統(tǒng)又沒有經(jīng)過精心設(shè)計(jì),系統(tǒng)便可能會占用大多數(shù)可用的CPU周期在進(jìn)程之間進(jìn)行切換,而不是運(yùn)行進(jìn)程。當(dāng)出現(xiàn)此種情況(稱為系統(tǒng)顛簸)時(shí),通常需要某種直接的用戶干涉以停止進(jìn)程,從而使系統(tǒng)恢復(fù)秩序。 操作系統(tǒng)設(shè)計(jì)人
18、員降低發(fā)生系統(tǒng)顛簸幾率的一個(gè)方法是,減少新進(jìn)程執(zhí)行多項(xiàng)任務(wù)的需求。一些操作系統(tǒng)允許“小進(jìn)程”(稱為線程),可以處理普通進(jìn)程的所有CPU密集型任務(wù),但通常不會處理各種類型的I/O,并且也不會創(chuàng)建要求常規(guī)進(jìn)程的大量進(jìn)程控制塊的結(jié)構(gòu)。一個(gè)進(jìn)程可能啟用很多線程或其他進(jìn)程,但線程卻不能啟動(dòng)進(jìn)程。 到目前為止,我們所討論的所有安排都是關(guān)于單個(gè)CPU的。在一個(gè)具有兩個(gè)或更多CPU的系統(tǒng)中,操作系統(tǒng)必須在各個(gè)CPU之間分配工作量,試圖平衡不同CPU可用周期所需進(jìn)程的需求。不對稱的操作系統(tǒng)針對自身需求使用一個(gè)CPU,并在剩余的CPU中分配應(yīng)用程序的進(jìn)程。對稱的操作系統(tǒng)則將自身分配到各個(gè)CPU中,即使在只有操作系
19、統(tǒng)本身運(yùn)行的情況下,也要平衡需求和CPU可用性。 雖然操作系統(tǒng)是需要執(zhí)行的唯一軟件,但CPU卻不是需要安排的唯一資源。內(nèi)存管理是確保所有進(jìn)程平穩(wěn)運(yùn)行的下一個(gè)關(guān)鍵步驟。 當(dāng)操作系統(tǒng)管理計(jì)算機(jī)的內(nèi)存時(shí),有兩個(gè)主要任務(wù)需要完成: 1. 每個(gè)進(jìn)程必須具有足夠的內(nèi)存以執(zhí)行操作,并且既不可以在其他進(jìn)程的內(nèi)存空間中運(yùn)行,也不可以讓其他進(jìn)程在這一內(nèi)存空間運(yùn)行。 2. 必須合理使用系統(tǒng)中不同類型的內(nèi)存,以使每個(gè)進(jìn)程可以高效運(yùn)行。 第一項(xiàng)任務(wù)需要操作系統(tǒng)為不同類型的軟件和單個(gè)應(yīng)用程序設(shè)置內(nèi)存邊界。 我們以一個(gè)虛擬的小型系統(tǒng)為例來進(jìn)行分析,該系統(tǒng)有1兆字節(jié)(1,000千字節(jié))的RAM。在啟動(dòng)進(jìn)程過程中,我們將虛擬計(jì)
20、算機(jī)的操作系統(tǒng)設(shè)計(jì)為位于所有可用內(nèi)存的頂部,然后充分進(jìn)行“備份”以滿足操作系統(tǒng)本身的需求。例如,操作系統(tǒng)運(yùn)行需要300千字節(jié)。那么現(xiàn)在,操作系統(tǒng)進(jìn)入到RAM池的底部,并使用控制計(jì)算機(jī)硬件子系統(tǒng)的各驅(qū)動(dòng)程序軟件開始創(chuàng)建。在我們虛擬的計(jì)算機(jī)中,驅(qū)動(dòng)程序占用了200千字節(jié)。因此,在將操作系統(tǒng)完全加載后,還有剩余的500千字節(jié)可用于應(yīng)用程序進(jìn)程。 當(dāng)應(yīng)用程序開始載入內(nèi)存時(shí),它們以操作系統(tǒng)確定的塊大小進(jìn)行載入。如果塊大小為2千字節(jié),那么每個(gè)已載入的進(jìn)程將會獲得多個(gè)大小為2千字節(jié)的內(nèi)存塊。應(yīng)用程序?qū)赃@些固定的塊大小載入,并開始和結(jié)束于由4或8個(gè)字節(jié)的字創(chuàng)建的邊界。這些塊和邊界有助于確保各應(yīng)用程序不會因
21、為一兩個(gè)字節(jié)的計(jì)算誤差而載入彼此內(nèi)存空間的頂部。在確保滿足這一條件后,更重要的問題是,當(dāng)500千字節(jié)的應(yīng)用程序空間被填滿之后應(yīng)當(dāng)采取什么措施。 在多數(shù)計(jì)算機(jī)中,可以在原有內(nèi)存空間的基礎(chǔ)上添加內(nèi)存。例如,您可以將RAM從1兆字節(jié)擴(kuò)展到2兆字節(jié)。這是可行的,但通常比較昂貴。此外,這忽視了計(jì)算的一個(gè)基本現(xiàn)狀,即由應(yīng)用程序存儲在內(nèi)存中的多數(shù)信息在給定時(shí)間內(nèi)并不會被使用。處理器一次只能訪問處于一個(gè)位置的內(nèi)存,因此大多數(shù)的RAM不會在任意時(shí)段使用。因?yàn)榇疟P空間相對于RAM更為充足,所以將RAM中的信息移動(dòng)到硬盤可以在不花費(fèi)任何代價(jià)的情況下大大擴(kuò)展RAM空間,這項(xiàng)技術(shù)被稱為虛擬內(nèi)存管理。 磁盤存儲是必須由操
22、作系統(tǒng)管理的唯一一種內(nèi)存類型,并且也是最慢的一種類型。按速度排序,計(jì)算機(jī)系統(tǒng)中的內(nèi)存類型可分為: · 高速緩存它是通過快速連接,從而使CPU可用的、相對少量的內(nèi)存。緩存控制器預(yù)先判斷CPU下一步將需要哪些數(shù)據(jù),并將這些數(shù)據(jù)從主內(nèi)存調(diào)入高速緩存,從而提高系統(tǒng)性能。 · 主內(nèi)存這是購買計(jì)算機(jī)時(shí)所能看到的以兆字節(jié)為單位的RAM。 · 輔助存儲器這就是大多數(shù)情況下使所有應(yīng)用程序和數(shù)據(jù)可用的旋轉(zhuǎn)電磁存儲,它的作用是充當(dāng)操作系統(tǒng)控制下的虛擬RAM。 操作系統(tǒng)必須使用不同類型內(nèi)存的可用性來平衡各進(jìn)程的需求,按照進(jìn)行的指示計(jì)劃將數(shù)據(jù)以塊(稱為頁面)的形式在可用內(nèi)存之間移動(dòng)。操作系
23、統(tǒng)和所有不位于計(jì)算機(jī)主板上的硬件是通過一種稱為驅(qū)動(dòng)程序的特殊程序進(jìn)行通信的。驅(qū)動(dòng)程序的主要作用是充當(dāng)硬件子系統(tǒng)的電子信號、操作系統(tǒng)及應(yīng)用程序的高級編程語言之間的轉(zhuǎn)換器。驅(qū)動(dòng)程序?qū)⒉僮飨到y(tǒng)已定義的數(shù)據(jù)視為文件,然后將它們轉(zhuǎn)換成存儲設(shè)備上特定位置處的比特流,或打印機(jī)中的一系列激光脈沖。 因?yàn)樵谟沈?qū)動(dòng)程序控制的硬件之間存在著很大的差異,因此驅(qū)動(dòng)程序運(yùn)行的方式也存在差異,但大多數(shù)驅(qū)動(dòng)程序都會根據(jù)設(shè)備的要求運(yùn)行,并且運(yùn)行方式也與任何其他進(jìn)程類似。操作系統(tǒng)頻繁地將擁有較高優(yōu)先級的塊分配給驅(qū)動(dòng)程序,以使硬件資源盡可能快地得到釋放并準(zhǔn)備進(jìn)一步使用。 驅(qū)動(dòng)程序與操作系統(tǒng)之所以分開,其中一個(gè)原因是為了將新增功能添
24、加到驅(qū)動(dòng)程序(從而添加到硬件子系統(tǒng)),而無需對操作系統(tǒng)本身進(jìn)行修改、重新編譯以及重新分配。通過開發(fā)新的硬件設(shè)備驅(qū)動(dòng)程序,通常由子系統(tǒng)的制造商執(zhí)行開發(fā)或付費(fèi),而不是操作系統(tǒng)的發(fā)行商,整個(gè)系統(tǒng)的輸入/輸出功能將得到大幅度提高。 管理輸入和輸出很大程度上是管理隊(duì)列和緩沖器,從某一設(shè)備接收字節(jié)流的特殊存儲設(shè)備(可能是鍵盤或串行端口)將存儲這些字節(jié),再將其以CPU可以處理的足夠慢的速度釋放到CPU。當(dāng)大量進(jìn)程同時(shí)運(yùn)行并占用處理器時(shí)間時(shí),這個(gè)功能尤其的重要。該操作系統(tǒng)將對緩沖器發(fā)出指令,使之可以繼續(xù)接收該設(shè)備的輸入,但當(dāng)使用該輸入的進(jìn)程處于中止?fàn)顟B(tài)時(shí),操作系統(tǒng)會停止向CPU發(fā)送數(shù)據(jù)。那么,當(dāng)需要輸入的進(jìn)程
25、再一次激活時(shí),操作系統(tǒng)將會命令緩沖器發(fā)送數(shù)據(jù)。該進(jìn)程允許使用鍵盤或調(diào)制解調(diào)器處理外部用戶或高速運(yùn)行的計(jì)算機(jī)的需求,盡管有時(shí)CPU不能使用那些來源的輸入。 管理計(jì)算機(jī)系統(tǒng)的所有資源是操作系統(tǒng)的主要功能,對于實(shí)時(shí)操作系統(tǒng),可能需要所有的功能。但是對于其他操作系統(tǒng),為應(yīng)用程序提供相對簡單、一致的方式以及人們使用功能強(qiáng)大的硬件是它們存在的一個(gè)重要原因。 應(yīng)用程序接口正如驅(qū)動(dòng)程序?yàn)閼?yīng)用程序提供了一種無需了解硬件運(yùn)行的每個(gè)細(xì)節(jié)即可使用硬件子系統(tǒng)的方法,應(yīng)用程序接口(API)使每位應(yīng)用程序員可以使用計(jì)算機(jī)和操作系統(tǒng)的功能,而無需直接跟蹤C(jī)PU運(yùn)行的所有細(xì)節(jié)。讓我們看一個(gè)有關(guān)創(chuàng)建保存數(shù)據(jù)的硬盤文件的例子,以了
26、解它的重要性。 一位正在編寫一個(gè)從科學(xué)儀器記錄數(shù)據(jù)應(yīng)用程序的程序員,可能希望科學(xué)家能夠指定所創(chuàng)建文件的名稱。操作系統(tǒng)可能提供一種稱為MakeFile的API功能來創(chuàng)建文件。當(dāng)編寫該程序時(shí),該程序員可能會插入一行,如: MakeFile 1, %Name, 2在此示例中,該指令告訴操作系統(tǒng)創(chuàng)建一個(gè)允許隨機(jī)訪問其數(shù)據(jù)的文件(以1表示,對于序列文件中的其他選項(xiàng)可以用0表示),將由用戶(%Name)鍵入名稱,并且其大小取決于存儲在該文件中的數(shù)據(jù)多少(以2表示,其他選項(xiàng)中的固定大小可能用0表示,并且用1表示文件在添加數(shù)據(jù)時(shí)變大,但在數(shù)據(jù)刪除時(shí)卻不會減?。,F(xiàn)在,讓我們了解一下操作系統(tǒng)如何將指令轉(zhuǎn)換成操作
27、。 操作系統(tǒng)向磁盤驅(qū)動(dòng)器發(fā)送請求,以確定第一個(gè)可用空白存儲空間的位置。 使用該信息,操作系統(tǒng)在文件系統(tǒng)中創(chuàng)建一個(gè)項(xiàng)以顯示文件的起始與結(jié)束位置、文件名、文件類型、文件是否歸檔、哪些用戶具有查看或修改文件的權(quán)限,以及文件的創(chuàng)建日期和時(shí)間。 操作系統(tǒng)在標(biāo)識文件的起始位置編寫信息,設(shè)置可能的訪問類型,并包含將文件捆綁到應(yīng)用程序的其他信息。在所有信息中,發(fā)送到磁盤驅(qū)動(dòng)器的請求和文件起始與結(jié)束點(diǎn)的地址在格式方面很大程度上取決于制造商和磁盤驅(qū)動(dòng)器的型號。 由于程序員編寫了程序來使用磁盤存儲的API,因此程序員不需要跟蹤指令代碼、數(shù)據(jù)類型以及每個(gè)可能的硬盤和磁帶驅(qū)動(dòng)器的響應(yīng)代碼。與各硬件子系統(tǒng)的驅(qū)動(dòng)程序相關(guān)聯(lián)
28、的操作系統(tǒng),可以處理硬件更改的細(xì)節(jié)程序員必須簡單編寫API的代碼并相信操作系統(tǒng)可以完成剩下的任務(wù)。 近年來,API已成為計(jì)算機(jī)行業(yè)競爭最為激烈的領(lǐng)域之一。很多公司認(rèn)識到,使用API的程序員會最終將其轉(zhuǎn)換成一種控制并從該行業(yè)的某一特定領(lǐng)域獲利的能力。這就是為什么目前有這么多的公司愿意為公眾免費(fèi)提供閱讀器和查看器之類的應(yīng)用程序的原因之一。他們了解消費(fèi)者將會要求這類程序可以利用免費(fèi)的閱讀器,而應(yīng)用程序公司就準(zhǔn)備要求支付使用費(fèi)才可以使用提供消費(fèi)者要求的各種功能的軟件。 用戶界面正如API為應(yīng)用程序提供了可以一直使用計(jì)算機(jī)系統(tǒng)資源的方法,用戶界面(UI)則提供了一個(gè)用戶與計(jì)算機(jī)進(jìn)行交互的結(jié)構(gòu)。在過去十年
29、中,幾乎所有用戶界面的發(fā)展都出現(xiàn)在圖形用戶界面(GUI)領(lǐng)域。蘋果公司的Macintosh和微軟公司的Windows都引起了眾多關(guān)注并占領(lǐng)了多數(shù)市場份額。廣受歡迎的開源軟件技術(shù)Linux操作系統(tǒng)也支持圖形用戶界面功能。 Screen shot copyright 2003 Red Hat, Inc. 保留所有權(quán)利。獲得Red Hat, Inc.許可,重新印刷Red Hat Linux操作系統(tǒng)的屏幕截圖還有用于其他操作系統(tǒng)的其他用戶界面,有些是圖形界面,有些則不是。 例如,Unix具有稱為外殼的用戶界面,相對于標(biāo)準(zhǔn)操作系統(tǒng)基于文本的界面,該用戶界面具有更大的靈活性以及更強(qiáng)大的功能。諸如Korn外
30、殼和C外殼的程序是添加了重要實(shí)用程序的基于文本的界面,但它們的主要目的是使用戶可以更輕松地利用操作系統(tǒng)的功能。也有一些圖形用戶界面,如X-Windows和Gnome,可以使Unix和Linux操作起來更像是Windows和Macintosh計(jì)算機(jī)。 在所有這些示例中,用戶界面作為一個(gè)層面是位于操作系統(tǒng)本身之上的程序或程序集,記住這一點(diǎn)很重要。對于具備不同機(jī)制的Windows和Macintosh操作系統(tǒng)而言,原理也是一樣的。核心操作系統(tǒng)工作功能,即計(jì)算機(jī)系統(tǒng)的管理,在于操作系統(tǒng)的內(nèi)核。盡管顯示管理器與位于下方的內(nèi)核緊密相連,但它是獨(dú)立的。操作系統(tǒng)內(nèi)核和用戶界面、實(shí)用程序以及其他軟件之間的聯(lián)系決定了當(dāng)今操作系統(tǒng)的很多差異,并且將會在未來進(jìn)一步影響它們。 日益增長的網(wǎng)絡(luò)的重要性對于桌面系統(tǒng)而言,訪問局域網(wǎng)或互聯(lián)網(wǎng)已經(jīng)成為一種必備的功能,從而在很多方面只要談及操作系統(tǒng),就不能不說它與其他計(jì)算機(jī)和服務(wù)器的連接。操作系統(tǒng)開發(fā)人員已經(jīng)使互聯(lián)網(wǎng)成為能夠提供重要操作系統(tǒng)更新和錯(cuò)誤修復(fù)的標(biāo)準(zhǔn)方法。盡管可以通過CD接受這些更新,但使用這種方式的人越來越少。事實(shí)上,一些完整的操作系統(tǒng)本身只能通過互聯(lián)網(wǎng)發(fā)布來獲得。 其次,一種稱為NetBooting的進(jìn)程可以很輕松地將普通消費(fèi)者的臺式計(jì)算機(jī)中正在運(yùn)行的操作系統(tǒng)(內(nèi)核、用戶界面及所有其他內(nèi)容)從它所控制的計(jì)算機(jī)上移除
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司協(xié)議書范本格式字體
- 精細(xì)化管理班組施工安全責(zé)任合同范本
- 燒烤店試用期配菜員燒烤技藝聘用合同
- 留學(xué)行前準(zhǔn)備協(xié)議:出國留學(xué)全方位輔導(dǎo)服務(wù)
- 科技園區(qū)場地租賃與研發(fā)創(chuàng)新合作合同
- 場地監(jiān)管與廉政責(zé)任落實(shí)合同
- 超聲回彈綜合法測強(qiáng)技術(shù)
- 溶洞區(qū)樁基注漿壓力調(diào)控
- 大數(shù)據(jù)管理能力評估和數(shù)據(jù)工程資料分享
- 醫(yī)院重點(diǎn)部位消防安全培訓(xùn)
- 生產(chǎn)工單結(jié)單管理制度
- 北京市2025年第一次普通高中學(xué)業(yè)水平合格性考試政治試題(原卷版)
- 2025年陜西、山西、青海、寧夏高考物理試卷真題(含答案解析)
- 2025年全國統(tǒng)一高考數(shù)學(xué)試卷(全國一卷)含答案
- 2025-2030中國過程自動(dòng)化系統(tǒng)行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析研究報(bào)告
- 2025-2030中國臘味行業(yè)市場發(fā)展現(xiàn)狀及發(fā)展趨勢與投資風(fēng)險(xiǎn)研究報(bào)告
- 2025年心理咨詢師資格考試試題及答案
- 北京市西城區(qū)三年級下學(xué)期數(shù)學(xué)期末試卷(含答案)
- 惜時(shí)教育主題班會課件
- DL∕T 5776-2018 水平定向鉆敷設(shè)電力管線技術(shù)規(guī)定
- 2024年江西省中考生物·地理合卷試卷真題(含答案)
評論
0/150
提交評論