摘要:介紹了大學(xué)計(jì)算機(jī)基礎(chǔ)課程中操作系統(tǒng)功能這一章節(jié)的三個(gè)教學(xué)案例。在進(jìn)程管理的教學(xué)中,借用醫(yī)生給病人看病的例子介紹為何引入進(jìn)程、進(jìn)程的概念以及進(jìn)程調(diào)度是如何進(jìn)行的。在文件系統(tǒng)管理中,澄清了一些容易混淆的概念,對(duì)分區(qū)、分區(qū)格式化、文件系統(tǒng)及簇的概念作了介紹,并介紹了如何設(shè)定簇的大小。最后介紹了虛擬存儲(chǔ)器的概念及虛擬存儲(chǔ)器太小時(shí)的解決辦法。
關(guān)鍵詞:大學(xué)計(jì)算機(jī)基礎(chǔ);教學(xué)案例;進(jìn)程調(diào)度;文件系統(tǒng);虛擬存儲(chǔ)器
引言
大學(xué)計(jì)算機(jī)基礎(chǔ)作為大學(xué)的第一門(mén)計(jì)算機(jī)課程,在指導(dǎo)和規(guī)劃學(xué)生在大學(xué)期間學(xué)習(xí)一系列計(jì)算機(jī)課程具有重要作用。對(duì)于非計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生,大學(xué)計(jì)算機(jī)基礎(chǔ)的教學(xué)應(yīng)該:在課程內(nèi)容的選擇上強(qiáng)調(diào)在廣度優(yōu)先的基礎(chǔ)上增加深度,讓學(xué)生不僅知其然而且知其所以然。要讓學(xué)生不僅掌握基本的操作技能,而且有一定的理論基礎(chǔ)。課程的講授要有別于計(jì)算機(jī)專(zhuān)業(yè),尤其對(duì)于理論性較強(qiáng)的內(nèi)容,例如在講解操作系統(tǒng)這一章時(shí),多道程序設(shè)計(jì)概念、進(jìn)程概念、文件系統(tǒng)的概念及虛擬內(nèi)存的概念,這些對(duì)非計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生來(lái)說(shuō)都是很抽象的。應(yīng)更多地從應(yīng)用的角度,用學(xué)生更能理解的方法和手段深入淺出地講解。下面就是筆者在講解操作系統(tǒng)功能時(shí)的三個(gè)教學(xué)案例。
1 案例一:進(jìn)程及進(jìn)程調(diào)度
首先,我們知道計(jì)算機(jī)系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成,而軟件系統(tǒng)中最重要和最基礎(chǔ)的就是操作系統(tǒng),它是對(duì)計(jì)算機(jī)硬件第一層次的擴(kuò)充,是用戶(hù)與計(jì)算機(jī)的接口,也是其它應(yīng)用軟件與計(jì)算機(jī)硬件的接口。假如把CPU比喻為人的心臟,那么操作系統(tǒng)就是人的大腦,計(jì)算機(jī)的一切操作都是由操作系統(tǒng)在指揮、控制和調(diào)度的。課堂講授中可由此引入操作系統(tǒng)的定義:操作系統(tǒng)(c)perating System)是管理和維護(hù)計(jì)算機(jī)的軟硬件各個(gè)資源,合理組織計(jì)算機(jī)工作流程和為用戶(hù)提供一個(gè)方便、有效、良好的使用環(huán)境的一種系統(tǒng)軟件。
定義中說(shuō)管理和維護(hù)計(jì)算機(jī)的軟硬件資源,那么計(jì)算機(jī)的軟硬件資源有哪些呢?我們可把它一一羅列出來(lái)。硬件資源有CPU(中央處理器)、存儲(chǔ)器、外部設(shè)備;軟件資源有程序、數(shù)據(jù)、文本等。與之相應(yīng)的,管理CPU資源就是處理機(jī)管理,管理內(nèi)存資源就是存儲(chǔ)管理,管理外設(shè)資源就是外設(shè)管理,管理軟件資源即信息管理,這就是操作系統(tǒng)的四大功能。接下去就分別介紹這四大功能。
講解處理機(jī)管理從講解單道程序設(shè)計(jì)入手。單道程序設(shè)計(jì)的意思是:任一時(shí)刻只允許一個(gè)程序在系統(tǒng)中執(zhí)行,一個(gè)程序執(zhí)行結(jié)束后才能執(zhí)行下一個(gè)程序。我們舉一個(gè)現(xiàn)實(shí)的例子:醫(yī)院里醫(yī)生給人看病,若這家醫(yī)院只有一個(gè)醫(yī)生,醫(yī)生看病的流程是從病人掛號(hào)、排隊(duì)進(jìn)入候診區(qū)開(kāi)始,醫(yī)生始終是一個(gè)一個(gè)接診,其間病人驗(yàn)血、x光檢查等,醫(yī)生都要等待,只有當(dāng)醫(yī)生為這個(gè)病人開(kāi)完處方,病人離開(kāi),醫(yī)生才能接診下一個(gè)病人。這就是單道程序設(shè)計(jì)原理,這里的醫(yī)生就相當(dāng)于處理機(jī)。顯然這個(gè)過(guò)程中醫(yī)生這個(gè)資源利用率非常低,經(jīng)常處于空等狀態(tài)。
隨著操作系統(tǒng)的發(fā)展,后來(lái)出現(xiàn)了多道程序設(shè)計(jì)技術(shù)。所謂多道程序設(shè)計(jì)技術(shù)是指:計(jì)算機(jī)內(nèi)存中同時(shí)存放了幾道相互獨(dú)立的程序,這幾個(gè)程序在宏觀上并行,即同時(shí)在執(zhí)行;而在微觀上是串行的,即各程序輪流地占有CPU,交替執(zhí)行。還是拿上面的醫(yī)生看病為例,這時(shí)當(dāng)醫(yī)生當(dāng)前接診的病人A去驗(yàn)血或作其它檢查時(shí),醫(yī)生就接診下一位病人B,若病人B需要作進(jìn)一步的x光檢查時(shí),醫(yī)生就再接診下一位病人c,這時(shí)宏觀上這三個(gè)病人A,B,C都處于就診狀態(tài),這就是多道程序設(shè)計(jì)的原理。為了描述程序的動(dòng)態(tài)執(zhí)行過(guò)程,引入了一個(gè)叫進(jìn)程的概念。進(jìn)程是程序在數(shù)據(jù)集上的一次動(dòng)態(tài)執(zhí)行過(guò)程,它動(dòng)態(tài)地創(chuàng)建。動(dòng)態(tài)地消亡,而且在生存期間有三個(gè)不同狀態(tài):就緒、執(zhí)行、等待。這就象是在醫(yī)生的工作臺(tái)上通常有二個(gè)排序的醫(yī)療本隊(duì)列,一個(gè)隊(duì)列是等待叫號(hào)的候診病人,他們處于就緒狀態(tài),還有一個(gè)隊(duì)列是去驗(yàn)血或做其它檢查末完成的病人,他們處于等待狀態(tài)。當(dāng)前正在診療的病人則處于執(zhí)行狀態(tài)。病人在這三種狀態(tài)問(wèn)不斷地切換,而醫(yī)生從末停止忙碌,這就是系統(tǒng)的目標(biāo):讓處理機(jī)資源充分地忙碌,充分地發(fā)揮效率。由此看出多道程度設(shè)計(jì)在很大程度上提高了系統(tǒng)的執(zhí)行效率。
對(duì)于單CPU的計(jì)算機(jī)而言,處于執(zhí)行態(tài)的進(jìn)程只有一個(gè),當(dāng)這個(gè)進(jìn)程因等待某個(gè)事件發(fā)生(如申請(qǐng)某個(gè)外部設(shè)備資源)時(shí)放棄處理機(jī)進(jìn)入等待狀態(tài);一個(gè)處于等待狀態(tài)的進(jìn)程因所等待事件的發(fā)生而被喚醒,又因不可能立即得到處理機(jī)而進(jìn)入就緒狀態(tài);處于就緒狀態(tài)的進(jìn)程已經(jīng)得到除CPU之外的其他資源,只要一旦由調(diào)度得到處理機(jī),便可立即投入執(zhí)行狀態(tài)。
這里處理機(jī)始終只有一個(gè)。隨著硬件設(shè)計(jì)能力的提高,現(xiàn)在市場(chǎng)上出現(xiàn)了多盒處理器,相當(dāng)于醫(yī)院里同時(shí)接診的有多個(gè)醫(yī)生,這樣可以真正實(shí)現(xiàn)進(jìn)程在微觀上也能并發(fā),整機(jī)性能得到了更大的提高。
2 案例二:文件系統(tǒng)
對(duì)于文件系統(tǒng),經(jīng)常有同學(xué)這樣說(shuō):“我的硬盤(pán)是FAT32格式的”,“c盤(pán)是NTFS格式”等,這樣的說(shuō)法是錯(cuò)誤的。錯(cuò)在NTFS或是FAT32并不是格式,而是管理文件的系統(tǒng)。其次剛買(mǎi)回來(lái)的硬盤(pán)并沒(méi)有文件系統(tǒng),必須使用FDISK或Windows2000/XP的分區(qū)工具對(duì)其進(jìn)行分區(qū)并格式化后才會(huì)有管理文件的系統(tǒng),因此文件系統(tǒng)是對(duì)應(yīng)分區(qū)的,而不對(duì)應(yīng)硬盤(pán),不管是將硬盤(pán)分成一個(gè)分區(qū),還是幾個(gè)分區(qū)。舉個(gè)通俗的比喻,一塊硬盤(pán)就像一塊空地,文件就像不同的材料,我們首先得在空地上建起倉(cāng)庫(kù)(分區(qū)),并且指定好(格式化)倉(cāng)庫(kù)對(duì)材料的管理規(guī)范(文件系統(tǒng)),這樣才能將材料運(yùn)進(jìn)倉(cāng)庫(kù)保管。文件不會(huì)受所在分區(qū)的文件系統(tǒng)影響,就像同樣是汽車(chē)輪胎在A倉(cāng)庫(kù)可能直接堆在地上,而B(niǎo)倉(cāng)庫(kù)則會(huì)掛在墻上,僅僅是放置和管理方法不同而已。因此,在NTFS分區(qū)和FAT32分區(qū)的文件可以隨意在分區(qū)間移動(dòng),內(nèi)容不會(huì)因此產(chǎn)生任何不同。NTFS隨著1996年7月的Windows NT 4.0誕生,但直到Windows 2000,它才開(kāi)始在個(gè)人用戶(hù)中間得以推廣,跨入了主力分區(qū)文件系統(tǒng)的行列。今天,Windows XP/2003和NTFS早已是“如膠似漆”了。我們知道,當(dāng)初FAT32文件系統(tǒng)的出現(xiàn)對(duì)于FAT16而言,可以說(shuō)是有了比較明顯的改善,但NTFS對(duì)FAT32的改進(jìn),就必須得用“卓越”來(lái)形容了。NTFS最大分區(qū)上限已達(dá)到了2TB(1TB=1024GB),從誕生到現(xiàn)在經(jīng)歷了多個(gè)版本,Windows NT4.0中的版本為1.2,Windows 2000為3.0,Windows XP為3.1。
另外,文件存儲(chǔ)時(shí)以簇為單位,那么簇又是什么呢?簇是文件系統(tǒng)中基本的儲(chǔ)存單位。在Windows對(duì)分區(qū)進(jìn)行格式化時(shí),會(huì)有簇大小的選擇,如果設(shè)置的值比較大,那么文件保存時(shí)占用的簇就會(huì)少,從而文件讀取性能就越高。打個(gè)比方,簇就像倉(cāng)庫(kù)中的柜子,如果你選擇的是小號(hào)柜子,那么一批材料可能一個(gè)柜子裝不滿(mǎn),還得用三到四個(gè),如果是大號(hào)柜子,那么可能只用一個(gè)或兩個(gè)就裝下了。這樣裝和取材料時(shí),柜子越少效率就越高。但是,不少批次的材料可能一個(gè)大柜子都裝不滿(mǎn),這樣柜子就只能空著許多空間,積少成多,會(huì)浪費(fèi)不少空間。簇到底應(yīng)該選擇多少更合適呢?一個(gè)簡(jiǎn)單的辦法就是,首先確定分區(qū)主要用來(lái)保存什么樣的文件,如果是體積很大的視頻和多媒體文件,那么最好將簇設(shè)置得大一些,這樣可以提高性能。如果分區(qū)主要存儲(chǔ)網(wǎng)頁(yè)或文本等文件,建議簇小一些,推薦使用Windows的“默認(rèn)值”,這樣會(huì)減少空間浪費(fèi)。如果想更改當(dāng)前分區(qū)的簇的大小,同時(shí)又不想重新格式化,可以使用PQMagic工具來(lái)完成(“高級(jí)一調(diào)整簇的大小”)。
3 案例三:虛擬存儲(chǔ)器
電腦中所有運(yùn)行的程序都需要在內(nèi)存中執(zhí)行,如果執(zhí)行的程序很大或很多,就會(huì)導(dǎo)致內(nèi)存的不足。為了解決這個(gè)問(wèn)題,操作系統(tǒng)運(yùn)用了虛擬內(nèi)存技術(shù)。關(guān)于虛擬內(nèi)存,書(shū)上是這樣說(shuō)的:虛擬內(nèi)存就是指從硬盤(pán)劃分一部分空間來(lái)從邏輯上擴(kuò)充內(nèi)存,但物理上,這部分空間仍然是屬于硬盤(pán)的。我們說(shuō)得通俗一點(diǎn),物理內(nèi)存就是插在主板上的那個(gè)內(nèi)存條的內(nèi)存。物理內(nèi)存是相對(duì)于虛擬內(nèi)存來(lái)說(shuō)的,因?yàn)橐恍┏绦蛐枰褂么罅績(jī)?nèi)存,而電腦配置的物理內(nèi)存往往滿(mǎn)足不了要求,于是系統(tǒng)就在硬盤(pán)上劃定一定的區(qū)域來(lái)作為備用的內(nèi)存,這就是虛擬內(nèi)存。
當(dāng)物理內(nèi)存不夠用時(shí),系統(tǒng)便會(huì)將當(dāng)前暫時(shí)不執(zhí)行的程序段存儲(chǔ)到虛擬內(nèi)存里,當(dāng)需要運(yùn)行時(shí)再調(diào)入內(nèi)存,這個(gè)過(guò)程由系統(tǒng)自動(dòng)完成,對(duì)用戶(hù)來(lái)說(shuō)對(duì)程序的調(diào)入調(diào)出毫不知情,用戶(hù)只是感覺(jué)可用的內(nèi)存很大,比實(shí)際內(nèi)存大了很多。舉例來(lái)說(shuō),如果電腦只有128MB物理內(nèi)存的話(huà),當(dāng)讀取一個(gè)容量為200MB的文件時(shí),就必須要用到比較大的虛擬內(nèi)存,文件被讀取之后就會(huì)先儲(chǔ)存到虛擬內(nèi)存,當(dāng)文件全部?jī)?chǔ)存到虛擬內(nèi)存之后,虛擬內(nèi)存里儲(chǔ)存的文件會(huì)釋放到原來(lái)的安裝目錄里。
Windows操作系統(tǒng)用交換文件模擬虛擬內(nèi)存。所以,計(jì)算機(jī)的內(nèi)存大小等于實(shí)際物理內(nèi)存容量加上“分頁(yè)文件”(就是交換文件pagefde.sys)的大小。如果系統(tǒng)虛擬內(nèi)存太低,可以鼠標(biāo)右擊“我的電腦”選擇“屬性→高級(jí)→性能下設(shè)置→高級(jí)→打開(kāi)虛擬內(nèi)存設(shè)置”,重新設(shè)置最大值和最小值,按物理內(nèi)存的1.5—2倍來(lái)設(shè)置值。用戶(hù)也可以更改虛擬內(nèi)存的存放位置,可以設(shè)置到其他容量較大的硬盤(pán)分區(qū),讓系統(tǒng)虛擬內(nèi)存有充分的空間,讓系統(tǒng)運(yùn)行更快。
若感覺(jué)虛擬內(nèi)存太低,有以下三種解決辦法:
(1)自定義的虛擬內(nèi)存的容量(系統(tǒng)默認(rèn)是自動(dòng))太小,可以重新劃分大小。
(2)系統(tǒng)所在的盤(pán)(一般是c盤(pán))空余的容量太小而運(yùn)行的程序卻很大,并且虛擬內(nèi)存通常被默認(rèn)創(chuàng)建在系統(tǒng)盤(pán)目錄下,我們通??梢詣h除一些不用的程序,并把文檔圖片以及下載的資料等有用文件移動(dòng)到其他盤(pán)中,并清理“回收站”,使系統(tǒng)盤(pán)保持1GB以上的空間,或者將虛擬內(nèi)存定義到其他剩余空間多的盤(pán)符下。
(3)系統(tǒng)盤(pán)空余的容量并不小,但因?yàn)榻?jīng)常安裝、下載軟件,并反復(fù)刪除造成文件碎片太多,也是容易造成虛擬內(nèi)存不足的原因之一。虛擬內(nèi)存需要一片連續(xù)的空間,盡管磁盤(pán)空余容量大,但沒(méi)有連續(xù)的空間,也無(wú)法建立虛擬內(nèi)存區(qū)??梢杂么疟P(pán)工具整理碎片。
4 結(jié)束語(yǔ)
大學(xué)計(jì)算機(jī)基礎(chǔ)作為大學(xué)的第一門(mén)計(jì)算機(jī)課程,應(yīng)該有別于中學(xué)的信息技術(shù)課,無(wú)論在內(nèi)容的深度還是在內(nèi)容的廣度上都應(yīng)該體現(xiàn)大學(xué)課程的特點(diǎn)。教學(xué)中要使學(xué)生不僅學(xué)會(huì)基本的操作技能,而且要有一定的理論基礎(chǔ);不僅要掌握教材上的內(nèi)容更要擴(kuò)大知識(shí)面,掌握相應(yīng)的學(xué)習(xí)方法。大學(xué)第一門(mén)計(jì)算機(jī)課程的教學(xué)對(duì)學(xué)生有一個(gè)方向標(biāo)的作用,把握得好,對(duì)學(xué)生大學(xué)期間相關(guān)計(jì)算機(jī)課程的學(xué)習(xí)都將起到一個(gè)很好的示范和促進(jìn)作用。