国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
操作系統(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ī)的第一個程序,如果沒有操作系統(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年前臺式計(jì)算機(jī)的功能還要強(qiáng)大。因此這種進(jìn)步很有意義,也是自然發(fā)展不可避免的趨勢。在任何一臺裝有操作系統(tǒng)的設(shè)備中,通常都提供了更改該設(shè)備工作方式的方法。這絕不是一個幸運(yùn)的巧合,操作系統(tǒng)之所以采用可移植的代碼,而不采用永久性的物理電路,原因之一就是通過代碼對其進(jìn)行更改或修改時(shí)可避免拆卸整臺設(shè)備。
獲得微軟公司許可重新印制的包裝盒
2003Microsoft Corporation。保留所有權(quán)利。
微軟Windows XP操作系統(tǒng)
對于臺式計(jì)算機(jī)用戶來說,這意味著在進(jìn)行更改時(shí)只需添加一個新的安全更新、系統(tǒng)補(bǔ)丁、新的應(yīng)用程序,甚至是整個新的操作系統(tǒng),而無須淘汰計(jì)算機(jī)去購買全新的一臺。只有在了解操作系統(tǒng)的工作原理并知道如何利用時(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)。
操作系統(tǒng)的本質(zhì)
并不是所有的計(jì)算機(jī)都具有操作系統(tǒng)。例如,廚房中控制微波爐的計(jì)算機(jī)就不需要操作系統(tǒng)。微波爐有一組要執(zhí)行的任務(wù),用戶可直接輸入所期望執(zhí)行的操作(數(shù)字按鍵和一些預(yù)設(shè)置的按鈕),并且它還具有可以控制的簡單且無需更改的硬件。對于此類計(jì)算機(jī),操作系統(tǒng)反而會成為不必要的負(fù)擔(dān)——它將大幅增加產(chǎn)品的開發(fā)和生產(chǎn)成本,而且增添不必要的復(fù)雜性。因此,微波爐中裝入的計(jì)算機(jī)只需一直運(yùn)行一個簡單的固化程序即可。
對于其他設(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)等的操作系統(tǒng)。
操作系統(tǒng)的功能
簡單來說,操作系統(tǒng)的功能有兩個:
它管理系統(tǒng)的硬件和軟件資源。在臺式計(jì)算機(jī)中,這些資源包括處理器、存儲器、磁盤空間等。(在手機(jī)中,這些資源則包括鍵盤、屏幕、通訊簿、電話拔號器、電池和網(wǎng)絡(luò)連接。)
在無需了解硬件的所有詳細(xì)信息情況下,為應(yīng)用程序提供穩(wěn)定、一致的方式來處理硬件。
第一個任務(wù)(即管理硬件和軟件資源)非常重要,因?yàn)槎鄠€程序和輸入方法會出于自己的目的競相爭奪CPU(中央處理單元)的資源,并且使用內(nèi)存、存儲器及輸入/輸出帶寬。在此功能中,操作系統(tǒng)扮演著出色的指揮者角色,它既要確保每個應(yīng)用程序都得到所需的資源,又要保證與所有其他應(yīng)用程序的兼容,同時(shí)還要充分利用有限的系統(tǒng)容量,從而最大程度地滿足所有用戶和應(yīng)用程序的需要。
如果有多個特定類型的計(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)商所提供的硬件上運(yùn)行。因?yàn)楫?dāng)今的系統(tǒng)可以配置成千上萬種不同種類的打印機(jī)、磁盤驅(qū)動器以及任何可能組合的特殊外設(shè)。
操作系統(tǒng)的種類
操作系統(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的一個重要作用是管理計(jì)算機(jī)資源,從而在每次執(zhí)行某種特定的操作時(shí),都嚴(yán)格使用相同的時(shí)間。在一臺復(fù)雜的機(jī)器中,由于其具備可用系統(tǒng)資源而使機(jī)器的某一部分以更快的速度運(yùn)行,這將與因系統(tǒng)繁忙而無法運(yùn)行一樣具有相同的災(zāi)難性。
單用戶,單任務(wù)——顧名思義,該操作系統(tǒng)設(shè)計(jì)用于管理計(jì)算機(jī),使單個用戶每次只能高效地執(zhí)行一個操作。用于掌上電腦的Palm OS是現(xiàn)代單用戶、單任務(wù)操作系統(tǒng)的一個良好示例。
單用戶,多任務(wù)——這就是目前多數(shù)用戶在他們的臺式計(jì)算機(jī)或筆記本電腦中使用的操作系統(tǒng)類型。微軟公司的Windows操作系統(tǒng)和蘋果公司的MacOS操作系統(tǒng)平臺均為一個用戶可以同時(shí)運(yùn)行多個程序的操作系統(tǒng)的范例。例如,一個Windows用戶一邊在文字處理軟件上撰寫日記,一邊從互聯(lián)網(wǎng)下載文件,同時(shí)還在打印一封電子郵件消息的文本,這是完全可能的。
多用戶——多用戶操作系統(tǒng)允許多個不同用戶同時(shí)使用計(jì)算機(jī)的資源。操作系統(tǒng)必須確保均衡地滿足各個用戶的要求,他們使用的各個程序都具有足夠且獨(dú)立的資源,從而使一個用戶的問題不會影響到整個用戶群。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)程用戶均可登錄到網(wǎng)絡(luò),這些都屬于由管理員用戶運(yùn)行的程序。
在了解了各種不同類型的操作系統(tǒng)后,現(xiàn)在我們將進(jìn)一步介紹操作系統(tǒng)所提供的基本功能。
操作系統(tǒng)的任務(wù)
打開計(jì)算機(jī)的電源時(shí),通常運(yùn)行的第一個程序是保存在計(jì)算機(jī)只讀存儲器(ROM)中的一組指令。此代碼檢驗(yàn)系統(tǒng)硬件,從而確保一切運(yùn)行正常。上電自檢(POST)將檢測CPU、內(nèi)存和基本輸入輸出系統(tǒng)(BIOS) 是否存在錯誤并將結(jié)果存儲在某個特殊的內(nèi)存位置。一旦成功完成POST,載入ROM的軟件(有時(shí)則稱為BIOS或固件)將開始激活計(jì)算機(jī)的磁盤驅(qū)動器。在大多數(shù)現(xiàn)代計(jì)算機(jī)中,當(dāng)計(jì)算機(jī)激活硬盤驅(qū)動器時(shí),該計(jì)算機(jī)將運(yùn)行第一個操作系統(tǒng):引導(dǎo)裝入程序。
這種引導(dǎo)裝入程序是具有單一功能的小程序:它將操作系統(tǒng)載入到內(nèi)存并使之開始運(yùn)行。引導(dǎo)裝入程序通過最基本的形式設(shè)置與之交互的小驅(qū)動程序,并控制計(jì)算機(jī)的各個硬件子系統(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í)用程序及輔助功能集成到他們的操作系統(tǒng)中,但這六項(xiàng)任務(wù)幾乎涵蓋了所有操作系統(tǒng)的核心內(nèi)容。下面我們將介紹操作系統(tǒng)執(zhí)行每項(xiàng)功能所使用的工具。
管理處理器
管理處理器的核心內(nèi)容可以歸結(jié)為兩個相關(guān)問題:
確保每個進(jìn)程及應(yīng)用程序得到足夠的處理器時(shí)間來實(shí)現(xiàn)其正常功能。
實(shí)際工作中盡可能使用更多的處理器周期。
在由處理器完成工作的計(jì)劃中,操作系統(tǒng)處理的軟件基本單元為進(jìn)程或線程,具體取決于操作系統(tǒng)。
通常,人們傾向于將進(jìn)程看作是一個應(yīng)用程序,但這并沒有全面給出進(jìn)程與操作系統(tǒng)和硬件之間的關(guān)聯(lián)。實(shí)際上,我們所了解的應(yīng)用程序(文字處理器、電子數(shù)據(jù)表或游戲)的確是一個進(jìn)程,但該應(yīng)用程序可能會導(dǎo)致幾個其他進(jìn)程開始運(yùn)行,比如,與其他設(shè)備或計(jì)算機(jī)進(jìn)行通信的任務(wù)。然而,此外還有大量我們察覺不到的運(yùn)行的進(jìn)程,因?yàn)樗鼈儾粫峁┲庇^的證據(jù)。例如,Windows XP和UNIX可以同時(shí)運(yùn)行十幾個后臺進(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)注。有時(shí)操作系統(tǒng)通過安排進(jìn)程的優(yōu)先級,從而使中斷被屏蔽——換言之,操作系統(tǒng)將忽略來自于某些源的中斷,從而能夠盡快完成特定的任務(wù)。然而有一些中斷(比如出現(xiàn)錯誤或內(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ù)千次。下面我們來介紹它的過程:
一個進(jìn)程占用一定量的RAM,同時(shí)還會使用CPU和操作系統(tǒng)內(nèi)存空間中的寄存器、堆棧和隊(duì)列。
當(dāng)兩個進(jìn)程具有多個任務(wù)時(shí),操作系統(tǒng)將為一個程序分配一定數(shù)量的CPU執(zhí)行周期。
在運(yùn)行該數(shù)量的周期后,操作系統(tǒng)將備份該進(jìn)程所使用的所有寄存器、堆棧和隊(duì)列,并標(biāo)明進(jìn)程執(zhí)行中止的位置。
然后加載第二個進(jìn)程所使用的所有寄存器、堆棧和隊(duì)列,并允許它運(yùn)行一定數(shù)量的CPU周期。
當(dāng)這些步驟完成后,操作系統(tǒng)將備份第二個程序所使用的所有寄存器、堆棧和隊(duì)列,然后加載第一個程序。
在將切換數(shù)據(jù)存儲在稱為進(jìn)程控制塊的數(shù)據(jù)包中后,所有信息都將用于跟蹤一個進(jìn)程。進(jìn)程控制塊通常包括:
可識別進(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)
每個進(jìn)程都具有與之相關(guān)聯(lián)的狀態(tài),很多進(jìn)程在獲得某類輸入之前不會消耗CPU時(shí)間。例如,一個進(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ā)生改變(例如,從等待到活動狀態(tài),或從中止?fàn)顟B(tài)到運(yùn)行狀態(tài))時(shí),必須像使用任何其他程序中的數(shù)據(jù)一樣使用進(jìn)程控制塊中的信息,從而直接執(zhí)行操作系統(tǒng)的任務(wù)切換部分。
執(zhí)行此進(jìn)程切換無需進(jìn)行直接的用戶干涉,每個進(jìn)程可以獲得足夠的CPU周期,從而在適量的時(shí)間內(nèi)完成任務(wù)。但是,如果用戶試圖同時(shí)運(yùn)行太多的進(jìn)程,那么就會出現(xiàn)問題。操作系統(tǒng)本身需要一些CPU周期來執(zhí)行應(yīng)用程序進(jìn)程中所有寄存器、堆棧和隊(duì)列的保存及切換。如果啟動太多的進(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ì)人員降低發(fā)生系統(tǒng)顛簸幾率的一個方法是,減少新進(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)。一個進(jìn)程可能啟用很多線程或其他進(jìn)程,但線程卻不能啟動進(jìn)程。
到目前為止,我們所討論的所有安排都是關(guān)于單個CPU的。在一個具有兩個或更多CPU的系統(tǒng)中,操作系統(tǒng)必須在各個CPU之間分配工作量,試圖平衡不同CPU可用周期所需進(jìn)程的需求。不對稱的操作系統(tǒng)針對自身需求使用一個CPU,并在剩余的CPU中分配應(yīng)用程序的進(jìn)程。對稱的操作系統(tǒng)則將自身分配到各個CPU中,即使在只有操作系統(tǒng)本身運(yùn)行的情況下,也要平衡需求和CPU可用性。
雖然操作系統(tǒng)是需要執(zhí)行的唯一軟件,但CPU卻不是需要安排的唯一資源。內(nèi)存管理是確保所有進(jìn)程平穩(wěn)運(yùn)行的下一個關(guān)鍵步驟。
內(nèi)存存儲器管理
當(dāng)操作系統(tǒng)管理計(jì)算機(jī)的內(nèi)存時(shí),有兩個主要任務(wù)需要完成:
每個進(jìn)程必須具有足夠的內(nèi)存以執(zhí)行操作,并且既不可以在其他進(jìn)程的內(nèi)存空間中運(yùn)行,也不可以讓其他進(jìn)程在這一內(nèi)存空間運(yùn)行。
必須合理使用系統(tǒng)中不同類型的內(nèi)存,以使每個進(jìn)程可以高效運(yùn)行。
第一項(xiàng)任務(wù)需要操作系統(tǒng)為不同類型的軟件和單個應(yīng)用程序設(shè)置內(nèi)存邊界。
我們以一個虛擬的小型系統(tǒng)為例來進(jìn)行分析,該系統(tǒng)有1兆字節(jié)(1,000千字節(jié))的RAM。在啟動進(jìn)程過程中,我們將虛擬計(jì)算機(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ū)動程序軟件開始創(chuàng)建。在我們虛擬的計(jì)算機(jī)中,驅(qū)動程序占用了200千字節(jié)。因此,在將操作系統(tǒng)完全加載后,還有剩余的500千字節(jié)可用于應(yīng)用程序進(jìn)程。
當(dāng)應(yīng)用程序開始載入內(nèi)存時(shí),它們以操作系統(tǒng)確定的塊大小進(jìn)行載入。如果塊大小為2千字節(jié),那么每個已載入的進(jìn)程將會獲得多個大小為2千字節(jié)的內(nèi)存塊。應(yīng)用程序?qū)赃@些固定的塊大小載入,并開始和結(jié)束于由4或8個字節(jié)的字創(chuàng)建的邊界。這些塊和邊界有助于確保各應(yīng)用程序不會因?yàn)橐粌蓚€字節(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ì)算的一個基本現(xiàn)狀,即由應(yīng)用程序存儲在內(nèi)存中的多數(shù)信息在給定時(shí)間內(nèi)并不會被使用。處理器一次只能訪問處于一個位置的內(nèi)存,因此大多數(shù)的RAM不會在任意時(shí)段使用。因?yàn)榇疟P空間相對于RAM更為充足,所以將RAM中的信息移動到硬盤可以在不花費(fèi)任何代價(jià)的情況下大大擴(kuò)展RAM空間,這項(xiàng)技術(shù)被稱為虛擬內(nèi)存管理。
磁盤存儲是必須由操作系統(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)存之間移動。
驅(qū)動程序
操作系統(tǒng)和所有不位于計(jì)算機(jī)主板上的硬件是通過一種稱為驅(qū)動程序的特殊程序進(jìn)行通信的。驅(qū)動程序的主要作用是充當(dāng)硬件子系統(tǒng)的電子信號、操作系統(tǒng)及應(yīng)用程序的高級編程語言之間的轉(zhuǎn)換器。驅(qū)動程序?qū)⒉僮飨到y(tǒng)已定義的數(shù)據(jù)視為文件,然后將它們轉(zhuǎn)換成存儲設(shè)備上特定位置處的比特流,或打印機(jī)中的一系列激光脈沖。
因?yàn)樵谟沈?qū)動程序控制的硬件之間存在著很大的差異,因此驅(qū)動程序運(yùn)行的方式也存在差異,但大多數(shù)驅(qū)動程序都會根據(jù)設(shè)備的要求運(yùn)行,并且運(yùn)行方式也與任何其他進(jìn)程類似。操作系統(tǒng)頻繁地將擁有較高優(yōu)先級的塊分配給驅(qū)動程序,以使硬件資源盡可能快地得到釋放并準(zhǔn)備進(jìn)一步使用。
驅(qū)動程序與操作系統(tǒng)之所以分開,其中一個原因是為了將新增功能添加到驅(qū)動程序(從而添加到硬件子系統(tǒng)),而無需對操作系統(tǒng)本身進(jìn)行修改、重新編譯以及重新分配。通過開發(fā)新的硬件設(shè)備驅(qū)動程序,通常由子系統(tǒng)的制造商執(zhí)行開發(fā)或付費(fèi),而不是操作系統(tǒng)的發(fā)行商,整個系統(tǒng)的輸入/輸出功能將得到大幅度提高。
管理輸入和輸出很大程度上是管理隊(duì)列和緩沖器,從某一設(shè)備接收字節(jié)流的特殊存儲設(shè)備(可能是鍵盤或串行端口)將存儲這些字節(jié),再將其以CPU可以處理的足夠慢的速度釋放到CPU。當(dāng)大量進(jìn)程同時(shí)運(yùn)行并占用處理器時(shí)間時(shí),這個功能尤其的重要。該操作系統(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)程再一次激活時(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)大的硬件是它們存在的一個重要原因。
應(yīng)用程序接口
應(yīng)用程序接口
正如驅(qū)動程序?yàn)閼?yīng)用程序提供了一種無需了解硬件運(yùn)行的每個細(xì)節(jié)即可使用硬件子系統(tǒng)的方法,應(yīng)用程序接口(API)使每位應(yīng)用程序員可以使用計(jì)算機(jī)和操作系統(tǒng)的功能,而無需直接跟蹤C(jī)PU運(yùn)行的所有細(xì)節(jié)。讓我們看一個有關(guān)創(chuàng)建保存數(shù)據(jù)的硬盤文件的例子,以了解它的重要性。
一位正在編寫一個從科學(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)建一個允許隨機(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)換成操作。
操作系統(tǒng)向磁盤驅(qū)動器發(fā)送請求,以確定第一個可用空白存儲空間的位置。
使用該信息,操作系統(tǒng)在文件系統(tǒng)中創(chuàng)建一個項(xiàng)以顯示文件的起始與結(jié)束位置、文件名、文件類型、文件是否歸檔、哪些用戶具有查看或修改文件的權(quán)限,以及文件的創(chuàng)建日期和時(shí)間。
操作系統(tǒng)在標(biāo)識文件的起始位置編寫信息,設(shè)置可能的訪問類型,并包含將文件捆綁到應(yīng)用程序的其他信息。在所有信息中,發(fā)送到磁盤驅(qū)動器的請求和文件起始與結(jié)束點(diǎn)的地址在格式方面很大程度上取決于制造商和磁盤驅(qū)動器的型號。
由于程序員編寫了程序來使用磁盤存儲的API,因此程序員不需要跟蹤指令代碼、數(shù)據(jù)類型以及每個可能的硬盤和磁帶驅(qū)動器的響應(yīng)代碼。與各硬件子系統(tǒng)的驅(qū)動程序相關(guān)聯(lián)的操作系統(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)則提供了一個用戶與計(jì)算機(jī)進(jìn)行交互的結(jié)構(gòu)。在過去十年中,幾乎所有用戶界面的發(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外殼和C外殼的程序是添加了重要實(shí)用程序的基于文本的界面,但它們的主要目的是使用戶可以更輕松地利用操作系統(tǒng)的功能。也有一些圖形用戶界面,如X-Windows和Gnome,可以使Unix和Linux操作起來更像是Windows和Macintosh計(jì)算機(jī)。
在所有這些示例中,用戶界面作為一個層面是位于操作系統(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)一步影響它們。
操作系統(tǒng)的新增功能
日益增長的網(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)更新和錯誤修復(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ī)上移除。而這在先前只有那些多用戶平臺(如UNIX)上經(jīng)驗(yàn)豐富的超級用戶以及使用特殊應(yīng)用程序套件才可以實(shí)現(xiàn)。NetBooting允許一臺計(jì)算機(jī)的操作系統(tǒng)通過網(wǎng)絡(luò)中所連接任意位置的一臺遠(yuǎn)程計(jì)算機(jī)服務(wù)于整個網(wǎng)絡(luò)連接。一臺NetBoot服務(wù)器可以同時(shí)為幾十臺客戶端計(jì)算機(jī)和每臺客戶端計(jì)算機(jī)的用戶提供操作系統(tǒng),使用戶得到類似于使用他們熟知的桌面操作系統(tǒng)(如Windows或MacOS)的體驗(yàn)。
開源軟件技術(shù)
有關(guān)軟件分發(fā)的特殊理念是操作系統(tǒng)未來發(fā)展所需關(guān)注的一個問題,即開發(fā)一種同時(shí)適用于公司和消費(fèi)者的操作系統(tǒng)。
大家普遍認(rèn)為Linux作為一種根據(jù)開源軟件技術(shù)的原則創(chuàng)建和分發(fā)的操作系統(tǒng),已經(jīng)對操作系統(tǒng)產(chǎn)生了較大的影響。大多數(shù)操作系統(tǒng)、驅(qū)動程序和實(shí)用程序由分發(fā)其軟件可執(zhí)行版本(這些版本不可以研究或更改)的商業(yè)組織編寫。開源軟件技術(shù)需要分發(fā)可以研究、更改以及在其基礎(chǔ)上創(chuàng)建的原始源材料,并且其結(jié)果也可再次自由分發(fā)。在臺式計(jì)算機(jī)領(lǐng)域內(nèi),這將導(dǎo)致無數(shù)有用的和無成本的應(yīng)用程序(如圖像操作程序GIMP和廣受歡迎的網(wǎng)絡(luò)服務(wù)器Apache)的開發(fā)及分發(fā)。在消費(fèi)者設(shè)備領(lǐng)域,Linux的使用已經(jīng)在更大程度上為個人用戶控制其設(shè)備的工作方式鋪平了道路。
Linux徽標(biāo)
了解操作系統(tǒng)
許多消費(fèi)電子設(shè)備(如手機(jī)和路由器)都有意避免用戶訪問其中的操作系統(tǒng),很大程度上是為了確保操作系統(tǒng)不會在無意中被破壞或刪除。在許多情況下,他們保留了一種“開發(fā)人員模式”或“程序員模式”,這允許具有相應(yīng)知識的用戶可以進(jìn)行更改。通常這些系統(tǒng)的編程方式是使之可以在僅有的范圍內(nèi)進(jìn)行更改。但有些設(shè)備保留訪問模式以及進(jìn)行增強(qiáng)功能的更改方式都是開放的,特別是在使用Linux時(shí)較為常見。下面介紹幾個例子:
TiVo DVR運(yùn)行在Linux的修改版本上。所有的修改都是公開的,您可以在此處下載它們,以及用于操作代碼的一些特殊工具。很多大膽的TiVo用戶也是那樣做的,他們?yōu)樽约旱南到y(tǒng)上添加了很多功能,包括增大存儲容量,進(jìn)入到UNIX外殼將模式從NTSC更改為PAL。
Amazon.com供圖
Philips HDR312 TiVo30小時(shí)數(shù)碼錄像機(jī)和Linksys EZXS55W EtherFast 10/100 5端口工作組交換機(jī)
很多家庭路由器也使用Linux,包括Linksys公司的路由器。本文由G4TechTV提供,其中將討論如何改編您的Linksys路由器以及控制其中的Linux。
[責(zé)任編輯:小敏]
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
408計(jì)算機(jī)組考研:操作系統(tǒng)的基本概念
計(jì)算機(jī)中的操作系統(tǒng)
操作系統(tǒng)核心概念第二彈來了!
【計(jì)算機(jī)】操作系統(tǒng)的基本概念與特征
編程思想之多線程與多進(jìn)程(1)——以操作系統(tǒng)的角度述說線程與進(jìn)程
操作系統(tǒng)復(fù)習(xí)練習(xí)(答案)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服