系統知識:從八個方面來探討計算機操作系統
內容簡介:本文主要從硬碟引導、操作系統引導、載入基本操作系統、定義臨時目錄、定義虛擬內存檔、載入系統服務、載入自定義服務、定義GUI這八個方面來說明針對操作系統的優化。
不管您使用的是Windows也好,Linux也好,或者是Freebsd(為避免語言煩瑣,以下如同時指代Linux和FreeBSD的地方,一律以UNIX進行替代)也好,肯定都想尋求盡可能快的速度,那麼,在有些特定環境下就只有對系統進行優化。在前面的幾期網管筆記中,我們已經介紹了好幾篇網管系列的文章,這次我們推出了操作系統的保護系列中的系統優化篇。
任何技術,只要掌握了方法則都能舉一反三,「師傅領進門,修行在個人」。天極網上關於系統優化的文章相當多,但這次講的內容和其它優化文章比起來,還是有較大的不同。各位如果在閱讀下面的內容時,遇到技術疑難,都可以在天極網的操作系統欄目的相關文章中尋找到答案——學會查詢資料,也是提高的必要技巧之一呢。
一個操作系統,必定是建立在硬體基礎上的。而硬體,則可大致分為CPU、主板、內存、外存幾個部分。關於CPU超頻、內存在BIOS中的設置,開啟硬碟的DMA66支持等等的介紹已經相當多,在此我就不贅述了。
一個操作系統的使用,依次會涉及到硬碟引導、操作系統引導、載入基本操作系統、定義臨時目錄、定義虛擬內存檔、載入系統服務、載入自定義服務、定義GUI這幾個步驟,這是不管Windows、Linux還是Freebsd等操作系統都是如此。也就是說,我們如果能盡量優化上面每個步驟,則就能把系統的性能提升起來。接下來,就讓我們一起把每個步驟做到最優。
主要
內容 硬碟引導
操作系統引導
載入基本操作系統
定義臨時目錄
定義虛擬內存檔
載入系統服務
載入自定義服務
定義GUI
1、硬碟引導
從硬碟的0磁軌開始的第一個扇區處讀取信息,以載入操作系統引導程序,在這一步上,由於系統能讀取的只是一個扇區的數據資料,只有512Kb,因此不能直接將操作系統的引導程序放入其中,而只能讀入一個很小巧的程序,再由那個程序來引導操作系統,以Windows為例,在這一步被讀入的是IO.SYS和MSDOS.SYS(安裝了Win98後有這個)。由於一般來說這個程序都是由各個基礎操作系統所默認的,因此一般沒有辦法進行自定義優化。不過值得一提的是如果使用的是Windows98系統,那麼通過定製MSDOS.SYS文件,可以在速度上達到一定的提高,讓我們打開瞧瞧:
WinDir=C:\Windows ;Windows所在的目錄
WinBootDir=C:\Windows ; 引導目錄
HostWinBootDrv=C ;引導盤(建議這三個別改動)
BootMulti=1 ;是否按f8出菜單,以及是否f4/f2快捷功能菜單有效,值得注意,美萍等管理軟體之所以能屏蔽啟機時候按f8/f4/f2無效果就是在這里動的手腳
BootGUI=1 ;是否圖形引導
DoubleBuffer=1 ;雙倍緩沖,建議設置為1
AutoScan=1 ;是否每次啟機檢查硬碟,這對非法關機後修復磁碟很有幫助,不過如果對自己的Win98很有信心,不妨設置成0
WinVer=4.10.2222 ;Windows的版本號
BootWin=1 ;以Windows方式引導
DrvSpace=1 ;(這個選項功能不明)
DblSpace=1;這個選項功能不明)
LOGO=1 ; 是否顯示開機畫面,事實上Windows的啟機畫面載入大概會花費1秒左右的時間,既然我們想優化,那麼就設置成0吧
BootDelay=0;引導延遲,設置成0最快
DisableLog=0;不記錄引導時候的log,如果追求速度,可以設置成1
2、操作系統引導
Windows2000/XP的Boot、Linux和Freebsd的LILO、Grub都是非常出色的操作系統引導程序。如果想優化,就把自己最常使用的操作系統設置為默認項目,並將默認的啟動時間修改為1秒。以Windows2k/xp 為例,可以用記事本等文字編輯工具打開系統盤根目錄下的boot.ini文件(注意,這個文件本身是系統+隱藏屬性),其中有一行為timeout=xx,其中這里的xx,就是系統在引導系統時候的等待時間。為了達到減少時間的目的,我們可以寫成timeout=1,注意別寫timeout=0,這表示無限等待,直到用戶手工選定了為止。同樣的,在grub中有一個menu.lst文件,其中的timeout參數的值與上面提到的Windows系統中boot.ini的timeout參數作用、設置方法上完全一樣(這也是天緣提倡地學好一個操作系統貴在了解其原理和工作流程,自然就會一通百通的道理。)
3、載入基本操作系統
這一部分中,操作系統將自身的程序、連接文件載入,由於載入的是基本文件,在Windows中就是Windows的內核,而在UNIX中,則可以把這步理解為內核的載入。由於Windows的內核是保密的,因此沒有辦法擅自修改,而在UNIX中,則可以利用重新生成內核的命令,嘗試去掉自己不需要的驅動、設備支持和功能來縮減內核的功能並減少啟動時間。這也就是為什麼人們很看好Linux在嵌入式行業發展的原因——由於內核完全可以定製,所以可以只保留需要的功能,整個內核可以做得非常小巧。Ok,回過來,因為內核程序速度非常快,所需要的時間本身就很少,而關於定製Linux的內核,可以參考天極網的相關文章。各位朋友切記一點:「由於操作系統所在的分區本身就時常進行讀寫操作,因此最好為操作系統單獨劃分一個分區,而把臨時目錄、暫存檔、文件、游戲、備份等放到其他分區去。」這一點是我們進行下面的優化步驟的大前提,以下我們的幾步操作,都是以此為大前提來進行的。
4、定義臨時目錄
由於操作系統在執行一些煩瑣的運算、解壓縮文件的時候,都是先將文件臨時放在某個目錄下,在任務執行完後再刪除。Windows下默認是放在操作系統下的temp目錄中,UNIX下默認是放在/tmp中。如果我們能想辦法提高其讀寫速度,則就能在這步中達到優化的效果。由於硬碟的物理形態因素,導致硬碟在內區讀寫速度會比外區更快一些,因此考慮將臨時目錄放在靠近磁碟內區物理位置的地方。在Windows、UNIX等大多數操作系統情況下,都是越分在前面的分區越靠近內區,越分在後面的分區越靠近外區。UNIX下可在劃分了/boot後,馬上劃分/tmp分區;在Windows下由於根據第3條中提到的盡量減少操作系統所在分區的讀寫操作,因此我們將臨時目錄建在D盤, 針對Win9x和2000的方法略有出入:
Win9x:
1.在D盤下新建立一個目錄temp;
2.用記事本打開c:\autoexec.bat(如沒有,可自行建立一個),輸入以下兩行;
@set temp=d:\temp
@ set tmp=d:\temp
Win2000/XP:
1.在D盤下新建立一個目錄temp;
2.打開「控制面板」——「屬性」——「高級」;
3.在「系統變數」這里,將temp和tmp的值,都改為d:\temp;
好了,重新啟機之後,就生效了。不過由於Windows仍然有某些程序的默認臨時目錄不是我們所指定的temp目錄,所以還需要手工指定一下。以IE為例:「工具」——「Internet選項」——「Internet臨時文件」這里的「設置」——「移動文件夾」,將臨時目錄指定成我們的d:\temp就行了。
值得一提的是,不管是Windows也好,UNIX也好,相當一部分用了臨時文件後沒有清除它,因此可以定期每周把d:\temp清空。在UNIX下對於這樣的定期命令可以通過cron來完成。
5、定義虛擬內存檔
我們的操作系統在調用程序,相關的資源文件的時候,都需要將程序由速度較慢的外存,調用到速度較快的內存中之後再進行操作。由於外存的價格相對內存為低,因此大多數用戶在內存不夠充裕的條件下,一般會選擇用外存硬碟來虛擬內存使用。需要說明的是,這只是在技術上的虛擬內存,並不能真正使這部分硬碟的讀寫速度有任何提升。因此在資金允許的情況下,建議用戶能夠升級到512M內存為比較適合。天緣常常見到很多用戶盲目追求高速cpu,而忽略了對內存的需求。事實上只有類似Photoshop、3D MAX、WinAMP等需要即時演算、解碼操作(圖形類的渲染大多可以通過顯卡來完成來減輕cpu負擔),大多數常用的辦公軟體、第三方工具其實對CPU並沒有很大的消耗,而是需要大量高速內存的支持。按照我們上一步中的知識,自然虛擬內存檔的讀寫速度也應該是越快越好了?所以很多書上在介紹unux安裝的時候,會建議swap分區靠前;而Windows下,我們則可以指定把虛擬目錄放到d盤下去。同樣,針對Win9x和Win2k/xp有兩種方式來完成。
Win 9x:
1. 打開「控制面板」——「屬性」——「性能」——「虛擬內存」;
2.將虛擬內存指定為自定義,選擇d盤;
3. 重新啟動計算機;
Win 2k:
1. 打開「控制面板」——「屬性」——「高級」——「性能選項」;
2. 在這里,如果您的機器是自己用,就選「應用程序」,如果是提供Ftp或者Web服務,就選擇「後台服務」。(由此可見,微軟是為了節約開發成本,將Win2k的pro/server/advance server三種版本用同樣的構架搭建出來的)
3. 選中「虛擬內存」這里的「更改」
4. 將c盤的虛擬內存去掉,將d盤的虛擬內存根據需要進行適當設置;
5. 重新啟動計算機;
恩,經過這么一來。當計算機發現內存不夠的時候,就會在d盤下建立虛擬磁碟來模擬內存使用了。虛擬出來的內存是一個在Win9x下名為Win386.swp,Win2k下名為pagefile.sys的文件。別忘記將原來的c盤下的同名文件刪除,以增加c盤的可用空間喲。當然,硬碟的讀寫速度是遠遠不及內存的,因此這只是權宜之計,添置更多的物理內存才是正解。
6、載入系統服務
在這一步中,系統將會載入基本的服務。例如Win2k下的「控制面版」——「控制工具」——「服務」中的項目;UNIX下也類似。在這里,一般來說我們不能對服務的內部進行改造以增加效率,但是我們只選擇需要的服務,而關閉不必要的服務。在這里,個人用戶和伺服器管理員都要記住的一條定律會起作用「可開可不開的一定不開,可用可不用的一定不用」,這樣不但會減少系統的啟動時間、增加系統的可用內存、並且也盡量地避免了安全漏洞。記得前輩曾經指點過我:「伺服器提供的服務越多,則可能存在的漏洞也越多,越容易被攻擊」。但是不管在w2k還是在UNIX中,默認打開的一些服務是我們所不需要的,甚至是危險的。以Win2k為例,「遠程式控制制注冊表」、「dhcp伺服器」等等這些功能居然都是默認開著的,而UNIX下的不少操作系統默認時候「sendmail」、「smaba」也是開著的。
所以,根據自己的選擇,恰當的選擇必要的服務。這一步會相當消耗時間,而且也會遇到對某些服務的疑問,但性能的提升也具有最大潛力。值得一提的是,一些後台運行的程序也將自己添加到其中,常見的例如殺毒軟體,以及令人討厭的沖擊波病毒。關於詳細的介紹,天極網上介紹操作系統的一些文章中都有詳細描述,我在這里一一寫出,就有騙稿費的嫌疑了。
7、載入自定義服務
之所以要把這一步與上面的一步分開,一來是因為他們存放的啟動文件位置有差異,二來有的系統服務是必須啟動的,如果不啟動則連操作系統也無法按照常規方式運行起來。例如Win2k服務中的「Logical Disk Manager(邏輯磁碟管理器監視狗服務)」就是專門對硬碟進行管理的。自定義的服務項目,在Windows中,存在注冊表的run系列鍵中(Software\Microsoft\Windows\CurrentVersion\Run、Software\Microsoft\Windows\CurrentVersion\Runonce、SOFTWARE\Microsoft\Windows\CurrentVersion\Run、SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce、SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx、SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices);而在UNIX則是用特定位置的文本文件來保存,例如redhat下是/etc/rc.local文件,一行一條shell命令,非常簡單明了。一般來說,這一部分的服務即使全部去掉,也不會影響系統的啟動,但有的操作系統「原裝」服務可以令我們使用的時候更得心應手。同時在這里,也是很多Windows木馬藏身的地方。
在自定義服務中,可以將自己不需要,或者很少用到的一些服務去掉(例如天緣就把音量調節的服務去掉了,因為我從來都喜歡直接擺弄音響);也可以把自己每次啟動系統都要運行的一些程序加入進去(例如天緣在Linux下的fvwm啟動就加在/etc/rc.local中)。合理的使用它,選擇恰當的程序去掉無用的程序,也可以達到相當好的性能優化目的。順便為Windows的朋友們推薦一個我很喜歡的注冊表編輯工具,名字是RegHance,非常簡單方便。
8、定義GUI
在這里,為什麼特別提到GUI呢?Windows的用戶可能比較有疑惑,因為Windows的圖形界面是嵌入內核的,不過在UNIX下則是獨立的。在這一部分上,由於操作系統的獨立性,因此要詳細地講解不大可能。我只給出一個思路:「盡量縮減無用的資源消耗」。例如:控制GUI的載入字體數量。事實的確如此,任何載入的資源都會消耗掉系統的內存,由於中文的特殊性(文字眾多,非字母組合),導致一個中文字型檔比一個英文字型檔大上很多,自然消耗的內存也大了很多(現在明白了為什麼傳呼機、手機、嵌入系統等等rom/ram受限的場合一般採用英語了吧?因為它總共就26個字母,在這點上,的確比漢字具有優越性。同樣的道理從我們所用的鍵盤也能體現出來)。
天緣認識幾個從事藝術行業的朋友,經常習慣將用到的字體都放在Font目錄中,其實這樣在每次啟動的時候都會載入到內存中(順便一提,我們曾經試過,Win98下Font目錄Copy字體到400m左右就無法再增加了)會嚴重地影響到啟動速度。值得採納的做法是將一些不常用的字體Copy到其他目錄中備用,在需要的時候再調入到Font目錄中,然後重新計算機就可以了。雖然的確是煩瑣了一點,不過在有錢購買1G的內存前,節約幾百M的內存也是很有必要的。類似的道理,UNIX管理員都知道在伺服器上不需要跑xWindows就不要跑的道理。以上的小例子希望可以幫助大家開動自己的腦筋,好好想想其他值得優化的地方。
當文章寫到這里,已是接近尾聲。油然想起當我告訴原野編輯我要寫操作系統優化的時候他對我說的:「介紹系統優化的文章已經很多了呀。」這句略帶警醒的話。是的,Windows平台下、UNIX平台下介紹系統優化的文章數不勝數;「超級兔子」、「優化大師」、「webmin」這些優秀的系統設置/優化工具不斷更新。但正如「鞋子只有自己買的才最合腳」這個道理一樣,天緣嘗試將自己優化系統的心得總結與大家分享。IT行業日新月異,新的操作系統層出不窮,掌握了一個優化軟體,或許在新的操作系統面前依然束手無策。學習學習,不在於學其形,貴在學其神。明白了操作系統優化的原理,依照著以上的8個環節,針對自己的機器情況進行思考分析,那麼即使面對的是一個全新的操作系統,也能很快地將其優化,提高自己工作、學習、娛樂的效率。中國人的習俗,春節吃魚代表「年年有餘」。而授人予魚不如授人以漁,希望這篇小文能幫助大家把自己愛機的潛力充分發揮到極致。
B. 為什麼要用64位操作系統
64位操作系統是一種能夠利用更多內存和處理器資源的操作系統。為了安裝64位操作系統,電腦需要滿足一些硬體要求。
1. 64位處理器:電腦必須搭載64位的處理器,如Intel的x86-64、AMD的AMD64等。常見的64位處理器有Intel Core i系列和AMD Ryzen系列。
2. 64位主板:主板也需要支持64位操作系統。大部分現代主板都支持64位操作系統,但一些老舊的主板可能只支持32位操作系統。
3. 內存要求:64位操作系統能夠管理更多內存,因此需要更多的內存支持。通常推薦安裝64位操作系統時至少擁有4GB以上的內存。
4. 硬碟空間:64位操作系統需要更多的硬碟空間來存儲系統文件和應用程序。通常建議至少有20GB的可用硬碟空間。
5. 顯卡要求:64位操作系統對顯卡並沒有特殊要求,通常與32位操作系統相同即可。但如果計劃進行高性能圖形處理或者游戲,建議選擇支持最新圖形技術的顯卡。
6. 其他硬體要求:除了上述要求,安裝64位操作系統並沒有其他特殊的硬體要求。但為了獲得更好的性能和兼容性,建議使用最新的硬體設備和驅動程序。
總結起來,要安裝64位操作系統,電腦需要64位處理器、64位主板、足夠的內存和硬碟空間。其他硬體要求並不特殊,但使用最新的硬體設備和驅動程序能夠提供更好的性能和兼容性。
希望這篇文章能對您有所幫助!