999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

對現代操作系統的思考

2011-12-31 00:00:00張鋼何小敏鐘靈劉洪濤
計算機教育 2011年21期


  文章編號:1672-5913(2011)21-0074-04 中圖分類號:G642 文獻標識碼:A
  基金項目:廣東省大學生創新實驗項目(1184510037);廣東工業大學高教研究基金項目(2009C01)。
  作者簡介:張鋼,男,講師,研究方向為機器學習、數據挖掘、知識發現、高級計算機網絡、操作系統。
  
  摘 要:當前,高等院校的操作系統教學過程主要是基于傳統的操作系統基本原理而進行的,與現代操作系統的發展不相適應,在教學過程中很難讓學生理解當前操作系統發展的挑戰和今后的發展方向。本文對現代操作系統的特性進行分析,闡述其在教學過程中的必要性和重要性,并介紹使用微軟公司的Singularity項目進行操作系統教學的經驗。實踐表明,Singularity系統架構清晰簡潔,很好地體現了現代操作系統的理念,適用于高等院校的操作系統教學。
  關鍵詞:現代操作系統;Singularity;教學實踐
  
  
  隨著軟件開發技術和計算機網絡技術的發展,操作系統作為軟件和應用的承載平臺,承擔著越來越重要的任務,也面臨著越來越大的挑戰。操作系統有將近40年的歷史,雖然目前主流使用的操作系統功能強大,能夠支持各種軟件的運行,但遠遠達不到完美的程度,相反,隨著計算機軟件的日益復雜和網絡化應用程度的提高,操作系統表現出越來越多的問題,主要表現在以下幾個方面[1-2]。
  1) 可靠性。現代操作系統十分脆弱,系統經過一段時間的使用之后速度變得越來越慢,使用一段時間之后就需要重裝。對一些非專業用戶而言,為了裝一個軟件而導致整個系統不能使用的情況很常見。
  2) 安全性。病毒、木馬等程序在操作系統的控制范圍內得到運行,但它們卻破壞了整個系統。
  3) 系統配置問題。以Windows為例,DLL錯誤、注冊表表項錯誤、Windows啟動配置錯誤等問題很常見,操作系統本身不能把自身的配置保持在一個穩定且一致的狀態。
  4) 程序隔離問題。操作系統的內存管理中每個進程都有獨立的運行空間,它們之間的通信只能通過特定的機制(管道、消息、共享數據區等)進行,但經常會出現一個程序的運行失敗導致整個操作系統崩潰,或是某些特殊的程序(如木馬程序)能跨越進程的數據空間非法訪問其他進程的數據。
  但與此同時,高等院校的操作系統教學仍然停留在以操作系統的五大管理功能(處理器管理、存儲器管理、文件管理、設備管理、作業管理)為核心內容的教學上,主要進行操作系統理論和基本原理的教學。我們發現,現代操作系統的這些問題幾乎不能從現有的教學內容中找到答案,在學習的過程中,學生一方面會認為這種理論學習與日常操作系統的使用脫節;另一方面學生可能會更加疑惑,這些常見問題是否是操作系統的基本原理本身有問題所導致的。
  必須指出的是,傳統的五大核心管理功能仍然是操作系統的核心,而所出現的問題實際上是源自過于復雜的軟件環境和程序開發語言,操作系統為了滿足應用的多樣性,犧牲了很大部分的安全控制和系統整體性控制。
  我們認為,在高等院校的操作系統教學中,在進行操作系統基本理論教學的同時,應該增加講授復雜軟件和網絡環境下操作系統所面臨困難的內容,以及現有的解決方案,這樣做有以下兩個方面的好處。
  1) 加深學生對操作系統基本原理的理解,同時讓理論與操作系統的日常使用問題銜接。必須指出,操作系統的基本理論是沒有問題的,增加的講授內容能夠加深學生對基本理論的理解并能引起有深度的思考。
  2) 高等院校同時也培養學生的科研能力,通過增加現代操作系統內容的講授,讓學生明白在當前復雜的軟件和網絡環境中操作系統所面臨的困難以及可能的解決辦法,可以培養學生研究操作系統的興趣,并打下一定的理論基礎。
  因此,我們在操作系統的教學中引入了一個現代操作系統研究項目,通過分析該項目,向學生講授現代操作系統對于所面臨的困難有怎樣的解決思路、當前已經做了哪些工作,以及將來的發展方向。同時,在該操作系統研究項目上利用其源代碼,把整個操作系統的實驗遷移到其框架中進行。
  1 Singularity項目
  Singularity項目[3]是微軟公司的一個操作系統研究項目,旨在使用高級程序設計語言創建一個有良好健壯性與可靠性的操作系統。Singularity是一個研究性質的項目,只有非常簡潔的核心代碼適合進行教學和研究。Singularity最主要的優點在于程序并不直接編譯成機器代碼運行,而是先映射到操作系統的一個抽象指令集上,再在操作系統的控制下運行。圖1展示了Singularity系統的結構。
  
  圖1中的MSIL轉換引擎是一個翻譯器,把上層的用戶程序、文件系統、驅動程序等應用相關的代碼段轉換為操作系統的抽象指令集,這種指令抽象層從底層限制了非法操作的執行。系統的運行核心以MSIL抽象指令集為基礎編寫,這從根本上解決了由于操作系統自身程序的運行而導致系統錯誤的這一矛盾[3]。
  在進程通信方面,Singularity進行了限制,不直接允許基于共享內存的進程間信息交換,只能進行基于消息的信息交換,消息的傳送通過通道(channel)進行,防止了跨進程的非法數據訪問,這是很多系統安全問題的源頭。
  在進程管理方面,Singularity不允許在一個正在執行的進程中加載或生成額外的可運行代碼,惡意程序無法以傳統的方式執行。更為重要的是,系統嘗試使用全局的抽象指令集映射,為系統提供一個整體且一致的配置方案,而不會產生配置的前后矛盾[4]。
  內存管理方面,當前普遍采用的是段頁式管理,即程序在內存中以邏輯上有意義的段進行組織,段內分頁使內存的空間可以充分利用不會產生碎片[5]。Singularity采用了類似于Java語言的內存管理機制,即在堆上為進程和線程分配空間,并提供一個核心級的垃圾回收器進程,用于回收不再使用的空間。基于Java內存管理的可靠性與易用性,我們認為這種機制是有希望在操作系統的內存管理方面取得成功的。
  Singularity系統結構清晰,而且基本不含有為了適應不同的軟件配置而編寫的代碼,在教學中學生能夠著眼于其核心部分,并能自行編寫相應的管理程序,通過擴展接口能為操作系統增加功能特性。
  Singularity是使用微軟的Sing#語言編寫的,它是C#語言的一種擴展,支持對程序行為的定義[6]。它具有對面向對象程序設計的完整支持,并能使用XML進行配置,與主流的程序開發技術相一致,有良好的文檔支持,能在課堂上進行代碼級的講解,容易設計出課程相關的實驗。
  2 教學實踐
  我們在本校自動化學院網絡工程系的操作系統課程內容中進行現代操作系統相關內容的教學實踐,我們在2008和2009級網絡信息專業的操作系統教學中進行嘗試,主要包括教學內容和實驗兩方面的內容。
  2.1 教學內容上的改進
  課程原先設置了操作系統結構、進程管理、處理機調度、存儲管理、設備管理、文件系統、操作系統產品介紹和安全管理這七個部分的內容,我們在各部分增加了Singularity相關的理論內容講授。
  在操作系統結構部分,我們在分層操作系統的結構設計基礎上,增加了應用程序抽象層的介紹,這是Singularity中的一個重要特性,通過MSIL把應用程序的代碼映射為一個統一的抽象指令集[7],操作系統本身的執行機制保證了該指令集的執行是絕對安全的,并通過例子講解當前操作系統的不安全性和不可靠性的原因。增加了MSIL的映射機制的介紹,通過Singularity的實現,從代碼級向學生展示如何構造一個可擴展的抽象指令集,并與Java語言的虛擬機機制進行比較。
  
  在進程管理部分,加強了進程數據空間獨立性的介紹,從數據通信的角度分析進程間通信的手段,分析哪些通信方式存在安全的隱患。介紹Singularity的進程管理機制,詳細說明其禁止共享內存的方式進行消息通信的原因。
  在處理機調度方面,引入了多處理機調度的介紹。隨著CPU的多核化,多處理機調度將成為操作系統的一個重要內容。在介紹傳統的處理機調度算法的同時,用流程圖結合程序講授這些算法的多處理機版本實現,并以Sing#語言[6]在Singularity中的程序實現作為課堂例子。
  存儲管理部分,在段式、頁式和段頁式管理的基礎上,增加堆中分配空間和內存垃圾回收器的介紹,通過代碼例子講解在Singularity中如何實現內存空間的動態回收,并與Java的垃圾回收器進行對比。
  在文件系統部分,分析Singularity的文件系統的代碼實現,其實質是一個優化的B+樹實現,并讓學生懂得如何根據快速更新和查找的原理,創建適合自己使用的文件系統。
  在操作系統產品介紹部分,著重介紹Windows系統以及它的配置管理,分析注冊表和DLL中的配置錯誤出現的根本原因,進而介紹在Singularity中的系統配置的實現方案,主要讓學生理解何為操作系統配置的一致性,要達到這種一致性需要怎樣做。通過分析Singularity的代碼抽象層和全局配置模塊幫助學生解決這些問題。
  在安全管理部分,著眼于操作系統自身的安全,講授操作系統執行自身正常的操作應該能夠保持穩定性這種理念,讓學生理解安全性問題的根源在于軟件環境的復雜性和當前操作系統實現對于執行效率的妥協,進一步分析MSIL抽象映射層對系統安全性的重要作用。
  增加程序運行的內在機理部分類容的講授,分析Windows系統的程序運行方式,解釋動態鏈接庫的工作原理,并分析由于程序的動態加載組件或程序段所帶來的風險,講解Singularity系統在程序運行控制方面的機制。
  2.2 實驗內容的改進
  本系的操作系統課程有相應的實驗內容,由于理論教學中增加了Singularity的內容,同時考慮到Singularity有良好的編程界面和技術文檔支持,我們嘗試把整個操作系統的實驗遷移動Singularity系統上進行。我們設置如下的實驗。
  1) Singularity基礎實驗。
  讓學生熟悉Singularity項目的基本結構,安裝系統開發包和查閱技術文檔的方法。
  2) 進程間基于消息的通信實驗。
  實現channel方式的進程間通信實驗,讓學生掌握Singularity的進程間數據交換機制。
  3) 進程數據空間的獨立性驗證實驗。
  設計特定的具有交叉數據空間訪問行為的實驗程序,以驗證操作系統對于進程數據空間的獨立性有完整的保護能力。
  4) 處理機調度算法實驗。
  在Singularity SDK框架中實現經典的處理機調度算法,并編寫基于泊松分布的概率程序進行驗證。
  5) 簡單文件系統實驗。
  參照DOS系統的FAT文件系統,利用SDK所提供的功能實現一個簡單的基于哈希表的文件系統。
  6) MSIL抽象層實驗。
  通過SDK的接口方法展示把一個第三方編寫的程序映射到操作系統抽象指令集的完整過程。
  7) 操作系統命名空間實驗.
  在Singularity系統的開發框架中,我們在實驗學時不變的情況下,大大擴充了操作系統的實驗內容,原因在于Singularity提供了一個功能完善的SDK[8],學生在該框架中可以專注于只與操作系統核心相關的代碼的編寫,且這些代碼都是以C#和XML為基礎的,適合于實驗教學。在以往的實驗中,均使用C++語言進行實驗,學生需要花費較多的精力編寫一些與核心不相關的框架性代碼,限制了實驗的規模和深度。
  3 結語
  操作系統課程是高等院校計算機相關專業的重要教學內容,但傳統的基于五大管理的操作系統理論教學已不能很好地適應當前操作系統的發展趨勢,更難以回答復雜軟件與網絡環境下所出現的一系列操作系統應用上的問題。教學實踐表明,引入Singularity到操作系統教學和實驗中,提高了學生的學習興趣,有一定的教學效果。
  
  參考文獻:
  [1] Martin Abadi. Access control in a world of software diversity[C]//Proceedings of the 10th conference on Hot Topics in Operating Syst

主站蜘蛛池模板: 激情综合网激情综合| 伊人久久婷婷五月综合97色| 欧美亚洲欧美| 久久6免费视频| 色网站在线免费观看| 99热国产在线精品99| 欧美日本激情| 四虎永久免费在线| 午夜成人在线视频| 免费不卡在线观看av| 欧美日韩免费在线视频| 国产一级毛片网站| h网站在线播放| 国产在线无码一区二区三区| 黄色网站在线观看无码| 伊人91视频| 2018日日摸夜夜添狠狠躁| 国产欧美亚洲精品第3页在线| 91精品国产自产在线观看| 真人高潮娇喘嗯啊在线观看| 精品撒尿视频一区二区三区| 五月激激激综合网色播免费| 国产成人久视频免费| 97视频在线精品国自产拍| 日本久久免费| 欧美亚洲第一页| 亚洲天堂在线免费| 又猛又黄又爽无遮挡的视频网站| 欧美三级视频在线播放| 国产精品第一区在线观看| 欧美成一级| 日韩第九页| 欧美成人A视频| 日韩国产精品无码一区二区三区| 亚洲天堂日韩av电影| 91尤物国产尤物福利在线| 熟女成人国产精品视频| 精品视频第一页| 97超级碰碰碰碰精品| 国产在线自揄拍揄视频网站| 日韩视频精品在线| 国产福利在线免费| 欧洲熟妇精品视频| 国产丰满大乳无码免费播放| 亚洲精品动漫| 中国一级毛片免费观看| 97人妻精品专区久久久久| 欧美成人精品一级在线观看| AV老司机AV天堂| 尤物视频一区| 中文字幕亚洲精品2页| 亚洲欧美日韩成人在线| 亚洲综合色吧| 视频一区视频二区日韩专区| 9999在线视频| 无码av免费不卡在线观看| 亚洲欧美在线看片AI| 美女被躁出白浆视频播放| 欧美va亚洲va香蕉在线| 99re在线免费视频| 999精品在线视频| 狠狠色综合久久狠狠色综合| 在线一级毛片| 风韵丰满熟妇啪啪区老熟熟女| 国内精品久久久久久久久久影视| 91精品国产自产在线老师啪l| 免费看久久精品99| 乱人伦视频中文字幕在线| 亚洲欧洲天堂色AV| 日韩小视频在线播放| 91成人在线免费视频| 久草国产在线观看| 超碰aⅴ人人做人人爽欧美| 啦啦啦网站在线观看a毛片 | 青青草国产在线视频| 新SSS无码手机在线观看| 国产一区亚洲一区| 久久a毛片| 国产JIZzJIzz视频全部免费| 国产91麻豆免费观看| 国产在线自揄拍揄视频网站| 国产精品精品视频|