引言
如果您擁有一臺計算機,那么您對操作系統一定不陌生。人們購買的任何臺式或便攜式PC通常都預先安裝了Windows XP;Macintosh計算機預先安裝的是OS X;許多企業的服務器使用Linux或UNIX操作系統。操作系統(OS)是裝入計算機的第一個程序,如果沒有操作系統,計算機將毫無用處。
最近,操作系統也開始出現在更小型的計算機中。如果您平時喜歡擺弄電子設備,會很高興地發現,如今操作系統可以安裝在我們日常使用的很多設備中,從手機到多種無線訪問終端。這些小型設備中的計算機的功能非常強大,它們都可以運行操作系統和應用程序。現在的一部普通手機中所包含的計算機功能甚至比20年前臺式計算機的功能還要強大。因此這種進步很有意義,也是自然發展不可避免的趨勢。在任何一臺裝有操作系統的設備中,通常都提供了更改該設備工作方式的方法。這絕不是一個幸運的巧合,操作系統之所以采用可移植的代碼,而不采用永久性的物理電路,原因之一就是通過代碼對其進行更改或修改時可避免拆卸整臺設備。
獲得微軟公司許可重新印制的包裝盒 2003Microsoft Corporation。保留所有權利。 微軟Windows XP操作系統 |
對于臺式計算機用戶來說,這意味著在進行更改時只需添加一個新的安全更新、系統補丁、新的應用程序,甚至是整個新的操作系統,而無須淘汰計算機去購買全新的一臺。只有在了解操作系統的工作原理并知道如何利用時,您才可以在許多方面對計算機的一些工作方式進行更改。此外,手機中操作系統的工作原理與計算機的實際上沒有什么區別。
操作系統用于組織和控制硬件、軟件,從而使安裝操作系統的設備以一種靈活但可預期的方式運行。在本文中,我們將講述必須具備什么功能的軟件才稱為操作系統,并向您介紹臺式計算機中操作系統的工作原理,以及舉例說明如何控制身邊的其他操作系統。
操作系統的本質
并不是所有的計算機都具有操作系統。例如,廚房中控制微波爐的計算機就不需要操作系統。微波爐有一組要執行的任務,用戶可直接輸入所期望執行的操作(數字按鍵和一些預設置的按鈕),并且它還具有可以控制的簡單且無需更改的硬件。對于此類計算機,操作系統反而會成為不必要的負擔——它將大幅增加產品的開發和生產成本,而且增添不必要的復雜性。因此,微波爐中裝入的計算機只需一直運行一個簡單的固化程序即可。
對于其他設備,操作系統需要具有滿足以下條件的功能:
- 實現多種用途
- 以更復雜的方式與用戶進行交互
- 滿足隨時間而改變的需求
所有的臺式計算機都具有操作系統。其中最普遍的是微軟開發的Windows操作系統、蘋果公司開發的Macintosh操作系統以及UNIX系列操作系統(由若干開發人員、公司及合作者共同開發)。此外,還有針對特殊應用領域的數以百計的其他操作系統,包括專門用于大型機、機器人技術、生產制造和實時控制系統等的操作系統。
操作系統的功能
簡單來說,操作系統的功能有兩個:
- 它管理系統的硬件和軟件資源。在臺式計算機中,這些資源包括處理器、存儲器、磁盤空間等。(在手機中,這些資源則包括鍵盤、屏幕、通訊簿、電話拔號器、電池和網絡連接。)
- 在無需了解硬件的所有詳細信息情況下,為應用程序提供穩定、一致的方式來處理硬件。
第一個任務(即管理硬件和軟件資源)非常重要,因為多個程序和輸入方法會出于自己的目的競相爭奪CPU(中央處理單元)的資源,并且使用內存、存儲器及輸入/輸出帶寬。在此功能中,操作系統扮演著出色的指揮者角色,它既要確保每個應用程序都得到所需的資源,又要保證與所有其他應用程序的兼容,同時還要充分利用有限的系統容量,從而最大程度地滿足所有用戶和應用程序的需要。
如果有多個特定類型的計算機使用操作系統,或者要更換計算機硬件時,第二項任務(即提供兼容的應用程序接口)就變得格外重要。一致的應用程序接口(API)使軟件開發人員在一臺計算機上編寫應用程序時,有信心保證此應用程序可以在另一臺同一類型的計算機上運行,盡管兩臺計算機的內存容量或存儲器數量各不相同。
即使某種特殊計算機是唯一的,操作系統也可以確保在硬件升級和更新時應用程序得以正常運行。這是因為,操作系統(而不是應用程序)負責管理硬件和分配其資源。開發人員面臨的挑戰之一是要保證他們的操作系統具有足夠的靈活性,從而可以在成千上萬的計算機設備供應商所提供的硬件上運行。因為當今的系統可以配置成千上萬種不同種類的打印機、磁盤驅動器以及任何可能組合的特殊外設。
操作系統的種類
操作系統擁有廣泛的系列,根據它們所控制的計算機類型和所支持應用程序的類型,大致可分為四類。這些廣泛的分類包括:
- 實時操作系統(RTOS)——實時操作系統用于控制機械設備、科學儀器以及工業系統。由于RTOS在交付使用時采用的是“全封閉”形式,因此在通常情況下,該系統幾乎沒有什么用戶界面功能,也沒有最終用戶實用程序。RTOS的一個重要作用是管理計算機資源,從而在每次執行某種特定的操作時,都嚴格使用相同的時間。在一臺復雜的機器中,由于其具備可用系統資源而使機器的某一部分以更快的速度運行,這將與因系統繁忙而無法運行一樣具有相同的災難性。
- 單用戶,單任務——顧名思義,該操作系統設計用于管理計算機,使單個用戶每次只能高效地執行一個操作。用于掌上電腦的Palm OS是現代單用戶、單任務操作系統的一個良好示例。
- 單用戶,多任務——這就是目前多數用戶在他們的臺式計算機或筆記本電腦中使用的操作系統類型。微軟公司的Windows操作系統和蘋果公司的MacOS操作系統平臺均為一個用戶可以同時運行多個程序的操作系統的范例。例如,一個Windows用戶一邊在文字處理軟件上撰寫日記,一邊從互聯網下載文件,同時還在打印一封電子郵件消息的文本,這是完全可能的。
- 多用戶——多用戶操作系統允許多個不同用戶同時使用計算機的資源。操作系統必須確保均衡地滿足各個用戶的要求,他們使用的各個程序都具有足夠且獨立的資源,從而使一個用戶的問題不會影響到整個用戶群。Unix、VMS和大型機操作系統(如 MVS)是多用戶操作系統的范例。
Mac OS X Panther操作系統屏幕截圖 |
區分多用戶操作系統和支持網絡的單用戶操作系統很重要。Windows 2000和Novell Netware均可以支持成千上萬的網絡用戶,但操作系統本身并不是真正的多用戶操作系統。系統管理員是Windows 2000或Netware的唯一“用戶”。從操作系統的整體計劃來看,網絡支持和所有遠程用戶均可登錄到網絡,這些都屬于由管理員用戶運行的程序。
在了解了各種不同類型的操作系統后,現在我們將進一步介紹操作系統所提供的基本功能。
操作系統的任務
打開計算機的電源時,通常運行的第一個程序是保存在計算機只讀存儲器(ROM)中的一組指令。此代碼檢驗系統硬件,從而確保一切運行正常。上電自檢(POST)將檢測CPU、內存和基本輸入輸出系統(BIOS) 是否存在錯誤并將結果存儲在某個特殊的內存位置。一旦成功完成POST,載入ROM的軟件(有時則稱為BIOS或固件)將開始激活計算機的磁盤驅動器。在大多數現代計算機中,當計算機激活硬盤驅動器時,該計算機將運行第一個操作系統:引導裝入程序。
這種引導裝入程序是具有單一功能的小程序:它將操作系統載入到內存并使之開始運行。引導裝入程序通過最基本的形式設置與之交互的小驅動程序,并控制計算機的各個硬件子系統。它設置存放操作系統、用戶信息及應用程序的內存分區,也建立裝有大量信號、標記和信號量(用于在子系統和計算機應用程序內部及之間通信)的數據結構,然后再將其對計算機的控制轉移給操作系統。
在一般情況下,操作系統的任務基本分為六種類型:
- 處理器管理
- 內存管理
- 設備管理
- 存儲器管理
- 應用程序接口
- 用戶界面
盡管有人爭論操作系統應執行比這六項任務更多的功能,并且確實也有一些操作系統供應商將更多的實用程序及輔助功能集成到他們的操作系統中,但這六項任務幾乎涵蓋了所有操作系統的核心內容。下面我們將介紹操作系統執行每項功能所使用的工具。
管理處理器
管理處理器的核心內容可以歸結為兩個相關問題:
- 確保每個進程及應用程序得到足夠的處理器時間來實現其正常功能。
- 實際工作中盡可能使用更多的處理器周期。
在由處理器完成工作的計劃中,操作系統處理的軟件基本單元為進程或線程,具體取決于操作系統。
通常,人們傾向于將進程看作是一個應用程序,但這并沒有全面給出進程與操作系統和硬件之間的關聯。實際上,我們所了解的應用程序(文字處理器、電子數據表或游戲)的確是一個進程,但該應用程序可能會導致幾個其他進程開始運行,比如,與其他設備或計算機進行通信的任務。然而,此外還有大量我們察覺不到的運行的進程,因為它們不會提供直觀的證據。例如,Windows XP和UNIX可以同時運行十幾個后臺進程以處理網絡、內存管理、磁盤管理和病毒檢查等。
因此,進程是執行一些操作的軟件,并且可由用戶、其他應用程序或操作系統進行控制。
操作系統控制進程(而不是應用程序),并由CPU安排執行。在單任務系統中,計劃表簡明易懂,操作系統允許應用程序開始運行,只有在要處理中斷和用戶輸入時,才會暫停足夠長的時間。
中斷是由硬件或軟件發送給CPU的特殊信號。就好比在某一次現場會議上,計算機的某部分突然舉手示意以引起CPU的關注。有時操作系統通過安排進程的優先級,從而使中斷被屏蔽——換言之,操作系統將忽略來自于某些源的中斷,從而能夠盡快完成特定的任務。然而有一些中斷(比如出現錯誤或內存故障)非常重要,因此不能忽略。無論當前正在執行什么其他任務,都必須立即處理這些非屏蔽中斷(NMI)。
盡管在單任務系統中,中斷為進程的執行增加了一些復雜性,但操作系統的任務在多任務系統中更為復雜。那么,操作系統必須安排應用程序的執行,從而使人們相信這幾件事看上去是同時發生的。因為CPU在某一時間只能做一件事情,這就變得很復雜。為了制造同時做多件事的假象,操作系統必須每秒在不同的進程之間轉換數千次。下面我們來介紹它的過程:
- 一個進程占用一定量的RAM,同時還會使用CPU和操作系統內存空間中的寄存器、堆棧和隊列。
- 當兩個進程具有多個任務時,操作系統將為一個程序分配一定數量的CPU執行周期。
- 在運行該數量的周期后,操作系統將備份該進程所使用的所有寄存器、堆棧和隊列,并標明進程執行中止的位置。
- 然后加載第二個進程所使用的所有寄存器、堆棧和隊列,并允許它運行一定數量的CPU周期。
- 當這些步驟完成后,操作系統將備份第二個程序所使用的所有寄存器、堆棧和隊列,然后加載第一個程序。
在將切換數據存儲在稱為進程控制塊的數據包中后,所有信息都將用于跟蹤一個進程。進程控制塊通常包括:
- 可識別進程的識別號碼
- 指向程序中的位置及上次處理處的數據的指針
- 寄存器內容
- 各種標記和切換的狀態
- 指向進程所需內存的上界和下界
- 由進程打開的一系列文件
- 進程的優先級
- 進程所需的所有I/O設備的狀態
每個進程都具有與之相關聯的狀態,很多進程在獲得某類輸入之前不會消耗CPU時間。例如,一個進程可能需要用戶按鍵才會啟用,而等待按鍵時,該進程不消耗任何CPU時間。處于等待狀態時,該進程被“中止”;當開始按鍵時,OS會改變其狀態。比如,當該進程的狀態發生改變(例如,從等待到活動狀態,或從中止狀態到運行狀態)時,必須像使用任何其他程序中的數據一樣使用進程控制塊中的信息,從而直接執行操作系統的任務切換部分。
執行此進程切換無需進行直接的用戶干涉,每個進程可以獲得足夠的CPU周期,從而在適量的時間內完成任務。但是,如果用戶試圖同時運行太多的進程,那么就會出現問題。操作系統本身需要一些CPU周期來執行應用程序進程中所有寄存器、堆棧和隊列的保存及切換。如果啟動太多的進程,并且操作系統又沒有經過精心設計,系統便可能會占用大多數可用的CPU周期在進程之間進行切換,而不是運行進程。當出現此種情況(稱為系統顛簸)時,通常需要某種直接的用戶干涉以停止進程,從而使系統恢復秩序。
操作系統設計人員降低發生系統顛簸幾率的一個方法是,減少新進程執行多項任務的需求。一些操作系統允許“小進程”(稱為線程),可以處理普通進程的所有CPU密集型任務,但通常不會處理各種類型的I/O,并且也不會創建要求常規進程的大量進程控制塊的結構。一個進程可能啟用很多線程或其他進程,但線程卻不能啟動進程。
到目前為止,我們所討論的所有安排都是關于單個CPU的。在一個具有兩個或更多CPU的系統中,操作系統必須在各個CPU之間分配工作量,試圖平衡不同CPU可用周期所需進程的需求。不對稱的操作系統針對自身需求使用一個CPU,并在剩余的CPU中分配應用程序的進程。對稱的操作系統則將自身分配到各個CPU中,即使在只有操作系統本身運行的情況下,也要平衡需求和CPU可用性。
雖然操作系統是需要執行的唯一軟件,但CPU卻不是需要安排的唯一資源。內存管理是確保所有進程平穩運行的下一個關鍵步驟。
內存存儲器管理
當操作系統管理計算機的內存時,有兩個主要任務需要完成:
- 每個進程必須具有足夠的內存以執行操作,并且既不可以在其他進程的內存空間中運行,也不可以讓其他進程在這一內存空間運行。
- 必須合理使用系統中不同類型的內存,以使每個進程可以高效運行。
第一項任務需要操作系統為不同類型的軟件和單個應用程序設置內存邊界。
我們以一個虛擬的小型系統為例來進行分析,該系統有1兆字節(1,000千字節)的RAM。在啟動進程過程中,我們將虛擬計算機的操作系統設計為位于所有可用內存的頂部,然后充分進行“備份”以滿足操作系統本身的需求。例如,操作系統運行需要300千字節。那么現在,操作系統進入到RAM池的底部,并使用控制計算機硬件子系統的各驅動程序軟件開始創建。在我們虛擬的計算機中,驅動程序占用了200千字節。因此,在將操作系統完全加載后,還有剩余的500千字節可用于應用程序進程。
當應用程序開始載入內存時,它們以操作系統確定的塊大小進行載入。如果塊大小為2千字節,那么每個已載入的進程將會獲得多個大小為2千字節的內存塊。應用程序將會以這些固定的塊大小載入,并開始和結束于由4或8個字節的字創建的邊界。這些塊和邊界有助于確保各應用程序不會因為一兩個字節的計算誤差而載入彼此內存空間的頂部。在確保滿足這一條件后,更重要的問題是,當500千字節的應用程序空間被填滿之后應當采取什么措施。
在多數計算機中,可以在原有內存空間的基礎上添加內存。例如,您可以將RAM從1兆字節擴展到2兆字節。這是可行的,但通常比較昂貴。此外,這忽視了計算的一個基本現狀,即由應用程序存儲在內存中的多數信息在給定時間內并不會被使用。處理器一次只能訪問處于一個位置的內存,因此大多數的RAM不會在任意時段使用。因為磁盤空間相對于RAM更為充足,所以將RAM中的信息移動到硬盤可以在不花費任何代價的情況下大大擴展RAM空間,這項技術被稱為虛擬內存管理。
磁盤存儲是必須由操作系統管理的唯一一種內存類型,并且也是最慢的一種類型。按速度排序,計算機系統中的內存類型可分為:
- 高速緩存——它是通過快速連接,從而使CPU可用的、相對少量的內存。緩存控制器預先判斷CPU下一步將需要哪些數據,并將這些數據從主內存調入高速緩存,從而提高系統性能。
- 主內存——這是購買計算機時所能看到的以兆字節為單位的RAM。
- 輔助存儲器——這就是大多數情況下使所有應用程序和數據可用的旋轉電磁存儲,它的作用是充當操作系統控制下的虛擬RAM。
操作系統必須使用不同類型內存的可用性來平衡各進程的需求,按照進行的指示計劃將數據以塊(稱為頁面)的形式在可用內存之間移動。
驅動程序
操作系統和所有不位于計算機主板上的硬件是通過一種稱為驅動程序的特殊程序進行通信的。驅動程序的主要作用是充當硬件子系統的電子信號、操作系統及應用程序的高級編程語言之間的轉換器。驅動程序將操作系統已定義的數據視為文件,然后將它們轉換成存儲設備上特定位置處的比特流,或打印機中的一系列激光脈沖。
因為在由驅動程序控制的硬件之間存在著很大的差異,因此驅動程序運行的方式也存在差異,但大多數驅動程序都會根據設備的要求運行,并且運行方式也與任何其他進程類似。操作系統頻繁地將擁有較高優先級的塊分配給驅動程序,以使硬件資源盡可能快地得到釋放并準備進一步使用。
驅動程序與操作系統之所以分開,其中一個原因是為了將新增功能添加到驅動程序(從而添加到硬件子系統),而無需對操作系統本身進行修改、重新編譯以及重新分配。通過開發新的硬件設備驅動程序,通常由子系統的制造商執行開發或付費,而不是操作系統的發行商,整個系統的輸入/輸出功能將得到大幅度提高。
管理輸入和輸出很大程度上是管理隊列和緩沖器,從某一設備接收字節流的特殊存儲設備(可能是鍵盤或串行端口)將存儲這些字節,再將其以CPU可以處理的足夠慢的速度釋放到CPU。當大量進程同時運行并占用處理器時間時,這個功能尤其的重要。該操作系統將對緩沖器發出指令,使之可以繼續接收該設備的輸入,但當使用該輸入的進程處于中止狀態時,操作系統會停止向CPU發送數據。那么,當需要輸入的進程再一次激活時,操作系統將會命令緩沖器發送數據。該進程允許使用鍵盤或調制解調器處理外部用戶或高速運行的計算機的需求,盡管有時CPU不能使用那些來源的輸入。
管理計算機系統的所有資源是操作系統的主要功能,對于實時操作系統,可能需要所有的功能。但是對于其他操作系統,為應用程序提供相對簡單、一致的方式以及人們使用功能強大的硬件是它們存在的一個重要原因。
應用程序接口
應用程序接口
正如驅動程序為應用程序提供了一種無需了解硬件運行的每個細節即可使用硬件子系統的方法,應用程序接口(API)使每位應用程序員可以使用計算機和操作系統的功能,而無需直接跟蹤CPU運行的所有細節。讓我們看一個有關創建保存數據的硬盤文件的例子,以了解它的重要性。
一位正在編寫一個從科學儀器記錄數據應用程序的程序員,可能希望科學家能夠指定所創建文件的名稱。操作系統可能提供一種稱為MakeFile的API功能來創建文件。當編寫該程序時,該程序員可能會插入一行,如:
MakeFile [1, %Name, 2]
在此示例中,該指令告訴操作系統創建一個允許隨機訪問其數據的文件(以1表示,對于序列文件中的其他選項可以用0表示),將由用戶(%Name)鍵入名稱,并且其大小取決于存儲在該文件中的數據多少(以2表示,其他選項中的固定大小可能用0表示,并且用1表示文件在添加數據時變大,但在數據刪除時卻不會減小)。現在,讓我們了解一下操作系統如何將指令轉換成操作。
操作系統向磁盤驅動器發送請求,以確定第一個可用空白存儲空間的位置。
使用該信息,操作系統在文件系統中創建一個項以顯示文件的起始與結束位置、文件名、文件類型、文件是否歸檔、哪些用戶具有查看或修改文件的權限,以及文件的創建日期和時間。
操作系統在標識文件的起始位置編寫信息,設置可能的訪問類型,并包含將文件捆綁到應用程序的其他信息。在所有信息中,發送到磁盤驅動器的請求和文件起始與結束點的地址在格式方面很大程度上取決于制造商和磁盤驅動器的型號。
由于程序員編寫了程序來使用磁盤存儲的API,因此程序員不需要跟蹤指令代碼、數據類型以及每個可能的硬盤和磁帶驅動器的響應代碼。與各硬件子系統的驅動程序相關聯的操作系統,可以處理硬件更改的細節——程序員必須簡單編寫API的代碼并相信操作系統可以完成剩下的任務。
近年來,API已成為計算機行業競爭最為激烈的領域之一。很多公司認識到,使用API的程序員會最終將其轉換成一種控制并從該行業的某一特定領域獲利的能力。這就是為什么目前有這么多的公司愿意為公眾免費提供閱讀器和查看器之類的應用程序的原因之一。他們了解消費者將會要求這類程序可以利用免費的閱讀器,而應用程序公司就準備要求支付使用費才可以使用提供消費者要求的各種功能的軟件。
用戶界面
正如API為應用程序提供了可以一直使用計算機系統資源的方法,用戶界面(UI)則提供了一個用戶與計算機進行交互的結構。在過去十年中,幾乎所有用戶界面的發展都出現在圖形用戶界面(GUI)領域。蘋果公司的Macintosh和微軟公司的Windows都引起了眾多關注并占領了多數市場份額。廣受歡迎的開源軟件技術Linux操作系統也支持圖形用戶界面功能。
Screen shot copyright 2003 Red Hat, Inc. 保留所有權利。 獲得Red Hat, Inc.許可,重新印刷 Red Hat Linux操作系統的屏幕截圖 |
還有用于其他操作系統的其他用戶界面,有些是圖形界面,有些則不是。
例如,Unix具有稱為外殼的用戶界面,相對于標準操作系統基于文本的界面,該用戶界面具有更大的靈活性以及更強大的功能。諸如Korn外殼和C外殼的程序是添加了重要實用程序的基于文本的界面,但它們的主要目的是使用戶可以更輕松地利用操作系統的功能。也有一些圖形用戶界面,如X-Windows和Gnome,可以使Unix和Linux操作起來更像是Windows和Macintosh計算機。
在所有這些示例中,用戶界面作為一個層面是位于操作系統本身之上的程序或程序集,記住這一點很重要。對于具備不同機制的Windows和Macintosh操作系統而言,原理也是一樣的。核心操作系統工作功能,即計算機系統的管理,在于操作系統的內核。盡管顯示管理器與位于下方的內核緊密相連,但它是獨立的。操作系統內核和用戶界面、實用程序以及其他軟件之間的聯系決定了當今操作系統的很多差異,并且將會在未來進一步影響它們。
操作系統的新增功能
日益增長的網絡的重要性
對于桌面系統而言,訪問局域網或互聯網已經成為一種必備的功能,從而在很多方面只要談及操作系統,就不能不說它與其他計算機和服務器的連接。操作系統開發人員已經使互聯網成為能夠提供重要操作系統更新和錯誤修復的標準方法。盡管可以通過CD接受這些更新,但使用這種方式的人越來越少。事實上,一些完整的操作系統本身只能通過互聯網發布來獲得。
其次,一種稱為NetBooting的進程可以很輕松地將普通消費者的臺式計算機中正在運行的操作系統(內核、用戶界面及所有其他內容)從它所控制的計算機上移除。而這在先前只有那些多用戶平臺(如UNIX)上經驗豐富的超級用戶以及使用特殊應用程序套件才可以實現。NetBooting允許一臺計算機的操作系統通過網絡中所連接任意位置的一臺遠程計算機服務于整個網絡連接。一臺NetBoot服務器可以同時為幾十臺客戶端計算機和每臺客戶端計算機的用戶提供操作系統,使用戶得到類似于使用他們熟知的桌面操作系統(如Windows或MacOS)的體驗。
開源軟件技術
有關軟件分發的特殊理念是操作系統未來發展所需關注的一個問題,即開發一種同時適用于公司和消費者的操作系統。
大家普遍認為Linux作為一種根據開源軟件技術的原則創建和分發的操作系統,已經對操作系統產生了較大的影響。大多數操作系統、驅動程序和實用程序由分發其軟件可執行版本(這些版本不可以研究或更改)的商業組織編寫。開源軟件技術需要分發可以研究、更改以及在其基礎上創建的原始源材料,并且其結果也可再次自由分發。在臺式計算機領域內,這將導致無數有用的和無成本的應用程序(如圖像操作程序GIMP和廣受歡迎的網絡服務器Apache)的開發及分發。在消費者設備領域,Linux的使用已經在更大程度上為個人用戶控制其設備的工作方式鋪平了道路。
Linux徽標
了解操作系統
許多消費電子設備(如手機和路由器)都有意避免用戶訪問其中的操作系統,很大程度上是為了確保操作系統不會在無意中被破壞或刪除。在許多情況下,他們保留了一種“開發人員模式”或“程序員模式”,這允許具有相應知識的用戶可以進行更改。通常這些系統的編程方式是使之可以在僅有的范圍內進行更改。但有些設備保留訪問模式以及進行增強功能的更改方式都是開放的,特別是在使用Linux時較為常見。下面介紹幾個例子:
- TiVo DVR運行在Linux的修改版本上。所有的修改都是公開的,您可以在此處下載它們,以及用于操作代碼的一些特殊工具。很多大膽的TiVo用戶也是那樣做的,他們為自己的系統上添加了很多功能,包括增大存儲容量,進入到UNIX外殼將模式從NTSC更改為PAL。
Amazon.com供圖
Philips HDR312 TiVo30小時數碼錄像機和Linksys EZXS55W EtherFast 10/100 5端口工作組交換機 - 很多家庭路由器也使用Linux,包括Linksys公司的路由器。本文由G4TechTV提供,其中將討論如何改編您的Linksys路由器以及控制其中的Linux。
[責任編輯:小敏]
評論
查看更多