前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的銀行管理系統(tǒng)論文主題范文,僅供參考,歡迎閱讀并收藏。
操作系統(tǒng)是對計(jì)算機(jī)的各類軟、硬件資源進(jìn)行管理以充分利用計(jì)算機(jī)系統(tǒng)中的各類資源,并向用戶提供良好的工作環(huán)境和運(yùn)行界面的系統(tǒng)軟件。操作系統(tǒng)論文作為在計(jì)算機(jī)硬件上鋪設(shè)的第一層軟件,提供了用戶使用計(jì)算機(jī)的接口。因此,操作系統(tǒng)開發(fā)人員既具有軟件開發(fā)方面的知識,也要了解硬件的相關(guān)知識。操作系統(tǒng)是一門綜合性課程,它由許多概念、設(shè)計(jì)思想及算法等構(gòu)成,因此,具有概念抽象、理論性強(qiáng)、知識點(diǎn)多等特點(diǎn)。操作系統(tǒng)是計(jì)算機(jī)專業(yè)一門重要的專業(yè)主干課,其教學(xué)目標(biāo)是幫助學(xué)生了解計(jì)算機(jī)硬件和軟件的關(guān)系、掌握操作系統(tǒng)各種功能的實(shí)現(xiàn)算法,注重通過對操作系統(tǒng)抽象的理論知識及系統(tǒng)結(jié)構(gòu)的學(xué)習(xí),培養(yǎng)學(xué)生開發(fā)和設(shè)計(jì)大型軟件的思維和方法,提高學(xué)生軟件開發(fā)能力。因此,操作系統(tǒng)這門課程配有相應(yīng)的實(shí)驗(yàn)課程。
然而在實(shí)際教學(xué)中發(fā)現(xiàn),該課程并未能有效的提高學(xué)生獨(dú)立開發(fā)軟件的能力,僅僅實(shí)現(xiàn)了讓學(xué)生了解操作系統(tǒng)的構(gòu)成及功能實(shí)現(xiàn)這一基本教學(xué)目標(biāo)。這個(gè)問題的出現(xiàn)與我們課程特點(diǎn)密不可分。首先,課程設(shè)置偏向理論,課程內(nèi)容偏向軟件設(shè)計(jì)和算法實(shí)現(xiàn),雖配套有實(shí)驗(yàn)課程,但比例較低,不利于提高學(xué)生的實(shí)踐能力。其次,操作系統(tǒng)涉及到各類軟硬件資源,因此,需要專門的實(shí)驗(yàn)平臺(tái),否則,直接采用傳統(tǒng)的編碼和調(diào)試方法及有可能導(dǎo)致系統(tǒng)崩潰。最后,對于操作系統(tǒng)這種大型軟件的開發(fā),需要學(xué)生具有較強(qiáng)的編程開發(fā)能力,實(shí)際上,很多學(xué)生并不能快速有效地將算法轉(zhuǎn)化為可執(zhí)行程序,少數(shù)學(xué)生雖能快速實(shí)現(xiàn)局部功能但對軟件的整體思維和開發(fā)能力欠缺,目前大部分的實(shí)驗(yàn)工作主要集中與操作系統(tǒng)部分子系統(tǒng)功能的實(shí)現(xiàn)。本文對操作系統(tǒng)理論教學(xué)及實(shí)驗(yàn)教學(xué)中學(xué)生遇到的各種問題進(jìn)行歸納總結(jié),進(jìn)而探討培養(yǎng)學(xué)生的軟件整體開發(fā)思維和方法,提高學(xué)生的獨(dú)立軟件開發(fā)能力。
1 問題歸納
1.1 局部思維方式
所謂局部思維方式是指學(xué)生在學(xué)習(xí)操作系統(tǒng)知識時(shí),只關(guān)注當(dāng)前學(xué)習(xí)或?qū)嵺`的內(nèi)容與知識點(diǎn),很少能將當(dāng)前知識與前面的知識聯(lián)系起來,這導(dǎo)致學(xué)習(xí)完一個(gè)知識點(diǎn)后,學(xué)生很可能不知道該知識點(diǎn)是為了解決什么樣的問題。這樣的局部思維方式是學(xué)生長期的學(xué)習(xí)過程中養(yǎng)成的不良習(xí)慣,不僅在學(xué)習(xí)操作系統(tǒng)這門課程中出現(xiàn),在其他課程的學(xué)習(xí)中也同樣存在。
操作系統(tǒng)是一個(gè)整體性軟件,各章節(jié)的知識都是相互關(guān)聯(lián)的,因此,在這門課程的學(xué)習(xí)過程中,這種局部思維方式帶來的問題就更加明顯。下面總結(jié)了幾種由局部性思維帶來的普遍性問題。
關(guān)注知識細(xì)節(jié),忽視知識的宏觀應(yīng)用。實(shí)際教學(xué)中發(fā)現(xiàn),很多學(xué)生在學(xué)習(xí)的過程中常常發(fā)生一葉障目的現(xiàn)象,通常的表現(xiàn)是學(xué)習(xí)了當(dāng)前的知識點(diǎn)后,不知道學(xué)習(xí)該內(nèi)容的目的,或者不知道該知識是用于實(shí)現(xiàn)操作系統(tǒng)的哪部分的功能的,因此,常常在學(xué)期結(jié)束后詢問學(xué)生什么是操作系統(tǒng),它有哪些構(gòu)成和基本功能,很多學(xué)生還是一頭霧水。這些主要是由于學(xué)生缺少以宏觀的視角來看待和解決問題的能力,不能正確認(rèn)識每個(gè)細(xì)小知識點(diǎn)在整個(gè)宏觀問題中所處的位置。這就好比學(xué)生們仔細(xì)認(rèn)真的觀察了一磚一瓦(各個(gè)細(xì)小知識點(diǎn))卻不知道磚瓦是用來蓋房子(開發(fā)大型的系統(tǒng)軟件操作系統(tǒng))的,或者即使知道使用磚瓦來蓋房子,也不知道在什么地方什么時(shí)候使用什么材料來蓋房子,概其主要原因就是學(xué)生過于關(guān)注一磚一瓦的實(shí)現(xiàn)細(xì)節(jié)而忘記關(guān)注磚瓦的使用過程,即只關(guān)注微觀的知識細(xì)節(jié),而忘記學(xué)習(xí)宏觀的知識應(yīng)用方式,這也是現(xiàn)在學(xué)生學(xué)習(xí)中的普遍性問題。
關(guān)注知識點(diǎn)個(gè)體,忽視整體聯(lián)系。操作系統(tǒng)課程中,每個(gè)章節(jié)內(nèi)容對應(yīng)部分子功能的實(shí)現(xiàn),每個(gè)子功能相互協(xié)作才能構(gòu)成一個(gè)完整的操作系統(tǒng)軟件。學(xué)生在學(xué)習(xí)過程中較多關(guān)注每個(gè)子功能的實(shí)現(xiàn),而忽視了它們之間的聯(lián)系,因此,無法有效的將各個(gè)子功能拼接成一個(gè)完整的系統(tǒng)軟件。例如,學(xué)生不清楚I/O系統(tǒng)與用戶之間的接口在哪,如何讓處理機(jī)管理系統(tǒng)、存儲(chǔ)管理系統(tǒng)、I/O系統(tǒng)等協(xié)同工作,等等。
1.2 知識儲(chǔ)備不足
實(shí)際教學(xué)中,除了上述局部性思維方式外,學(xué)生知識儲(chǔ)備不足也是影響課程學(xué)習(xí)的另一主要原因。我們知道操作系統(tǒng)是一門綜合性課程,想要學(xué)好操作系統(tǒng),既要了解軟件開發(fā)的相關(guān)知識,也要有硬件的基礎(chǔ),因此,知識儲(chǔ)備不足會(huì)直接影響操作系統(tǒng)的學(xué)習(xí)。其表現(xiàn)歸納如下。
⑴ 常見的概念模糊。例如,邏輯地址空間與物理地址空間、程序的鏈接、數(shù)據(jù)結(jié)構(gòu)、虛擬化等等常見概念的理解模糊。還有很多同學(xué)不了解內(nèi)存單元的地址,更不知道內(nèi)存地址的作用是什么,因此,在介紹地址映射、數(shù)據(jù)裝入內(nèi)存的過程需要花費(fèi)大量的時(shí)間去補(bǔ)充基礎(chǔ)知識。
⑵ 硬件基礎(chǔ)薄弱。計(jì)算機(jī)系統(tǒng)硬件組成知識薄弱,不了解計(jì)算機(jī)系統(tǒng)的工作流程,不了解計(jì)算機(jī)常見硬件的基本功能和基本特性。
⑶ 代碼實(shí)現(xiàn)能力差。操作系統(tǒng)實(shí)驗(yàn)課程的教學(xué)中看到學(xué)生的編程能力普遍較差,且沒有軟件開發(fā)基礎(chǔ)和思維方式,很多學(xué)生只注重功能的實(shí)現(xiàn),不關(guān)注各個(gè)部分的接口,導(dǎo)致各子系統(tǒng)可以正常運(yùn)行,但是,無法拼接成完整系統(tǒng)。主要表現(xiàn)為編碼隨意,亂用GOTO語句,數(shù)據(jù)結(jié)構(gòu)定義不規(guī)范,指針使用隨意。例如,通過printf(“%d\n”,i),學(xué)生編寫輸入語句scanf(“%d\n”,&i),而實(shí)際規(guī)范的語句應(yīng)為scanf("%d",&i)。
2 操作系統(tǒng)課程教學(xué)的幾點(diǎn)思考
基于上述問題,本文針對操作系統(tǒng)教學(xué)提出幾點(diǎn)改進(jìn)意見。
2.1 理論與實(shí)踐相結(jié)合
注重理論教學(xué)的同時(shí),也要加強(qiáng)學(xué)生的實(shí)際應(yīng)用能力的提高?,F(xiàn)在的學(xué)生更加看重知識的實(shí)用性,將自己所學(xué)知識轉(zhuǎn)化為實(shí)際應(yīng)用和實(shí)踐是學(xué)生自主學(xué)習(xí)的主要內(nèi)在推動(dòng)力。單純的進(jìn)行理論教學(xué),會(huì)讓學(xué)生感覺操作系統(tǒng)是一門生澀枯燥毫無用處的一門課程。
在教學(xué)中,我們將理論和實(shí)踐相互結(jié)合,詳細(xì)闡述理論知識,讓學(xué)生充分理解相關(guān)工作原理及實(shí)現(xiàn)算法,再通過配套實(shí)驗(yàn)課程指導(dǎo)學(xué)生將理論知識轉(zhuǎn)化為實(shí)際應(yīng)用,通過這一轉(zhuǎn)化過程,提高學(xué)生對操作系統(tǒng)實(shí)用性的認(rèn)識,激發(fā)學(xué)生自我學(xué)習(xí)的內(nèi)在動(dòng)力。理論轉(zhuǎn)化為實(shí)踐的過程中,學(xué)生會(huì)逐漸發(fā)現(xiàn)只有扎實(shí)的理論基礎(chǔ)積累才能快速的轉(zhuǎn)化成實(shí)踐,提高了學(xué)生對理論知識學(xué)習(xí)的重視程度,從而形成理論指導(dǎo)實(shí)踐,再由實(shí)踐去反思理論的良性循環(huán)。
在理論轉(zhuǎn)化成實(shí)踐的過程中,學(xué)生能夠?qū)⒖辗旱母拍盥涞骄唧w實(shí)處加深印象和理解,例如,內(nèi)存的物理地址空間,可以通過編碼的調(diào)試過程查看每個(gè)內(nèi)存單元的存儲(chǔ)內(nèi)容,充分理解內(nèi)存的數(shù)據(jù)存儲(chǔ)及變化。除此之外,通過理論轉(zhuǎn)化代碼實(shí)現(xiàn)的過程能夠快速有效的提高學(xué)生的編程能力,發(fā)現(xiàn)自己在編碼方面的不足和問題,以及提高自身的軟件設(shè)計(jì)能力。
2.2 整體與局部相結(jié)合
建立學(xué)生對于操作系統(tǒng)的整體概念,關(guān)于處理機(jī)管理、存儲(chǔ)器管理、I/O設(shè)備管理、文件管理及用戶接口等模塊都是操作系統(tǒng)的子系統(tǒng),這些子系統(tǒng)相互關(guān)聯(lián)、相互協(xié)作才能實(shí)現(xiàn)操作系統(tǒng)對各種軟硬件資源進(jìn)行管理并為用戶提供良好工作環(huán)境的功能。
教學(xué)中充分強(qiáng)調(diào)操作系統(tǒng)的整體結(jié)構(gòu)和設(shè)計(jì)方法,在對整體結(jié)構(gòu)和功能充分了解以后,再介紹操作系統(tǒng)的模塊劃分。透徹講解每模塊的設(shè)計(jì)思想和功能實(shí)現(xiàn),讓學(xué)生在潛移默化中學(xué)習(xí)軟件開發(fā)的思維方式和解決方案,逐漸提高學(xué)生運(yùn)用已學(xué)的設(shè)計(jì)思想解決問題的能力。只有對每個(gè)子模塊具體功能原理和實(shí)現(xiàn)方法充分掌握后才能快捷迅速的將它們從理論知識轉(zhuǎn)化成代碼,也只有在每個(gè)子功能的代碼都能充分實(shí)現(xiàn)的情況下,才有可能將它們連接成一個(gè)完整的大型的操作系統(tǒng)軟件。
整體是由局部組成,只有每一子模塊都實(shí)現(xiàn)了才有可能連接成整體,而整體不是對每個(gè)子模塊的簡單拼湊,各個(gè)模塊之間如何相互協(xié)調(diào)共同完成用戶任務(wù)是需要在一開始的軟件整體設(shè)計(jì)中考慮的問題,此外,軟件設(shè)計(jì)之初我們還需考慮各子模塊之間的接口。因此,在整個(gè)教學(xué)過程中,我們遵循“整體-局部-整體”的一個(gè)教學(xué)過程。通過這個(gè)過程,讓學(xué)生充分了解整體與部分之間的相互關(guān)系,加深理解。
2.3 層次式教學(xué)
操作系統(tǒng)課程是按年級統(tǒng)一開課的,但是同一個(gè)年級,不同學(xué)生的差別也很大,比如,他們各自的知識儲(chǔ)備、自身的理解力和領(lǐng)悟力、興趣愛好,比如有的善于思考而有的喜歡動(dòng)手編程等等。因此,對不同學(xué)生采用統(tǒng)一標(biāo)準(zhǔn)顯然是不合適的,對于能力強(qiáng)、精力充沛的學(xué)生,這個(gè)統(tǒng)一的標(biāo)準(zhǔn)不能激發(fā)他們的潛能,而對于知識儲(chǔ)備相對較弱、能力稍差的學(xué)生,這樣的統(tǒng)一標(biāo)準(zhǔn)又會(huì)打擊自信心。因此,對于操作系統(tǒng)無論是理論教學(xué)還是實(shí)驗(yàn)教學(xué),都建議采用層次式教學(xué),對于不同水平的學(xué)生提出不同要求。
在理論教學(xué)中,我們將掌握操作系統(tǒng)的基本概念、設(shè)計(jì)思想和算法作為基本教學(xué)目標(biāo),對于能力較強(qiáng)的學(xué)生在教學(xué)中提示一些課本中沒有的知識點(diǎn)去拓展知識空間和思維方法,比如:在學(xué)習(xí)了用戶空間和內(nèi)核空間的基本概念后,讓有能力的學(xué)生了解用戶空間的數(shù)據(jù)如何與內(nèi)核空間的數(shù)據(jù)進(jìn)行交互,實(shí)現(xiàn)兩者之間數(shù)據(jù)交互的方法有哪些。而對于那些動(dòng)手能力較強(qiáng)的學(xué)生可以引導(dǎo)他們用1~2種方式去實(shí)現(xiàn)將用戶空間的數(shù)據(jù)傳遞到內(nèi)核空間內(nèi)。
在實(shí)驗(yàn)教學(xué)中,基本的教學(xué)目標(biāo)是獨(dú)立實(shí)現(xiàn)操作系統(tǒng)中的基本算法,如進(jìn)程同步、進(jìn)程調(diào)度算法、銀行家算法及內(nèi)存的分配回收算法等等。對于能力較強(qiáng)的學(xué)生可以引導(dǎo)他們?nèi)プx一些開源linux操作系統(tǒng)的源代碼,有選擇的對部分功能模塊進(jìn)行優(yōu)化改進(jìn),然后再編譯鏈接,最終將該改進(jìn)植入操作系統(tǒng)中,以此激發(fā)學(xué)生的學(xué)習(xí)興趣。
3 結(jié)束語
操作系統(tǒng)課程的教學(xué)不僅需要教師不斷更新教學(xué)內(nèi)容和教學(xué)工具,還要求教師能夠根據(jù)學(xué)生的特點(diǎn)因材施教。本文總結(jié)了歸納操作系統(tǒng)在理論教學(xué)和實(shí)驗(yàn)教學(xué)中出現(xiàn)的一些常見問題,如局部思維方式問題和知識儲(chǔ)備不足代碼實(shí)現(xiàn)能力差的問題,并針對這些問題提出三點(diǎn)改進(jìn)建議:強(qiáng)調(diào)整體與局部之間的相互關(guān)系,形成整體-局部-整體的教學(xué)模式;要求理論聯(lián)系實(shí)際,將理論知識應(yīng)用到具體實(shí)踐中去,從理論到代碼實(shí)踐,再通過代碼實(shí)踐過程反思理論方法的有效的教學(xué)方法;針對不同學(xué)生采用層次式教學(xué)手段,設(shè)定基本教學(xué)目標(biāo),對于完成基本教學(xué)目標(biāo)的同學(xué)引導(dǎo)其完成更高層教學(xué)目標(biāo),提高學(xué)生學(xué)習(xí)興趣和能力。
參考文獻(xiàn)(References):