王旭輝,李堯
(內江師范學院,四川 內江 641000)
NOOS操作系統在教學應用的研究與改進
王旭輝,李堯
(內江師范學院,四川 內江 641000)
操作系統的研發已經成為當前熱點,現在幾乎所有的電子設備都需要一個操作系統作為平臺來發揮它的功能性作用,無論是基于嵌入式還是桌面操作系統都是一個比較具有前景的研究方向。本項目展開對新式操作系統的學習、分析、研究、總結,進而發掘出一種新的思路作為操作系統教學的模型。
操作系統;開源;NOOS;比較;教學
現在,操作系統進入了社會生活的各個方面,其研究取得了長足進展。在幾十年的發展歷程中,各種操作系統應運而生,現在最具代表性的是Windows、Unix和Linux三種操作系統。我們的項目,將會應用在教學上,實現教學工具的應用與完善,協助老師在操作系統課堂上讓同學們更好的理解操作系統組成、結構、原理以及開發。本項目可以提升參與人員的實踐與理論結合的能力,本項目的成果能夠實現一些例如計算、顯示圖形、畫圖、簡單小游戲的功能、具有現代操作系統大部分基本功能。本項目的思路來源于互聯網上的一些新的思路、我們加以整理并結合一些學者開發操作系統的一些經驗、并結合一些參與人員獨特的想法、從而著手本項目的研究與開發。
操作系統(Operating System,簡稱OS)是管理和控制計算機硬件與軟件資源的計算機程序,是直接運行在計算機硬件上的最基本的軟件,任何其他應用軟件都必須在操作系統的支持下才能運行。
操作系統位于硬件之上、所有其他系統軟件層之下的一個系統軟件,使得管理系統中的各種軟件和硬件資源得以充分利用,方便用戶使用計算機系統。系統軟件操作系統是用戶和計算機的橋梁,同時也是計算機硬件和操作系統上運行的應用軟件的橋梁。
1.1 Windows與Linux的比較
Windows與Linux最大的區別是:Windows操作系統是閉源的商業化操作系統,除微軟之外任何組織及個人都不能獲得Windows操作系統的源代碼,使得用戶只能付費使用Windows操作系統而不能對系統的進行修改。Linux操作系統是開源的免費操作系統,任何人都可以免費獲得操作系統的源代碼,并且可以免費是使用,而且用戶可以對Linux操作系統進行修改,甚至可以在GNU公共許可權限下發行,所以市面上可以見到很多Linux的發行版,如紅帽Linux、centos及Ubuntu。
1.2 Unix操作系統與Linux操作系統的區別
UnixLinux和UNIX的最大的區別是,前者是開發源代碼的自由軟件,而后者是對源代碼實行知識產權保護的傳統商業軟件。這應該是他們最大的不同,這種不同體現在用戶對前者有很高的自主權,而對后者卻只能去被動的適應;這種不同還表現在前者的開發是處在一個完全開放的環境之中,而后者的開發完全是處在一個黑箱之中,只有相關的開發人員才能夠接觸的產品的原型。
1.3 NOOS操作系統與Linux、Windows操作系統的區別
NOOS操作系統是基于haribote開發的開源操作系統,類似于Linux對于Unix的關系。NOOS目前初于原型階段,在迭代開發下功能將不斷完善,開發方向為Windows路線的非專業操作系統,而非Linux、Unix操作系統面向較為專業性的用戶。
2.1 運行平臺
目前NOOS操作系統基于x86架構CPU平臺,已經支持32位指令集,x86架構平臺是家用電腦市場占有率最高的平臺,而且教學中也基本使用x86架構計算機,在NOOS的底層部分,使用匯編語言,可以使使用者更好地理解系統底層對寄存器的操作,64位指令集暫不支持。arm架構平臺的移植還在開發中,目前教學中常見的嵌入式教學中使用的都是Linux,Linux的可移植性目前是做得最好的,NOOS也將朝可移植性方向發展。通常交叉編譯環境都是建立在Linux操作系統上的,使用NOOS可以以Windows為主機進行NOOS開發編譯,可以減少構建復雜編譯環境的時間,大大提高教學效率。
2.2 開發語言
NOOS底層使用匯編語言,絕大部分采用C語言。Java虛擬機移植到NOOS之后,Java也將可以運行在NOOS操作系統上。因為Java語言的受歡迎程度最高,而且使用者目前是所有語言中最多的,使用Java開發應用程序無疑是一個很好的選擇,就像android操作系統。多種語言的使用可以使NOOS在教學過程中不僅僅只停留在系統代碼的分析上,還可以讓學習者結合系統底層開發新的應用軟件,增強學生動手能力,增強創新意識,現有計算機語言課程過度使用黑箱概念,削弱了底層運行過程對軟件的影響,當然Java運行在虛擬機上在本文不做闡述。
2.3 文字編碼
NOOS文字編碼英文主要使用ASCII編碼,中文使用gb2312。中文編碼的使用,將大大方便國內的開發者及用戶的使用,使用在教學上也將非常便捷學生的理解及操作。字庫使用的DOS時期中文常用的HZK16字庫,是16*16的字符,可以顯示絕大多數常用漢子
2.4 用戶接口
NOOS用戶界面采用C語言編寫的基本界面,介于以shell為主的Linux操作系統與以界面為主的Windows操作系統之間。目前國內操作系統課程很少直接分析系統級源碼,很多都是在設計思路和諸多操作系統內常用算法的案例性分析,學生理解起來較為困難,存在學習片面概念性知識,而非深度理解,從而造成操作系統課程教學過于枯燥,如果使用NOOS作為教學模型,實例化分析操作系統運行原理和操作系統模塊化編寫,那么學生積極性和理解能力將大大提高,甚至可以提升學生的創新能力。
總之,操作系統的發展是一個永不停歇的過程。第三次工業革命是信息產業,而幾乎所有與信息產業有關的技術變革都會依賴操作系統,可見操作系統的重要性,相信未來將會涌現更多的友好高效的操作系統。
注釋:
① NOOS.作者在haribote基礎上開發的教學操作系統.
[1] 左萬歷,周長林,彭濤.計算機操作系統教程[M].高等教育出版社,2010.7:3.
[2] 劉瑩,趙海濤.操作系統教學之實驗內容探索[J].高校講壇,2010:17.
王旭輝(1994—),男,漢族,河北張家口人,大學本科,內江師范學院計算機科學學院物聯網工程專業。 李堯(1965.12—),男,漢族,四川內江人,教授,內江師范學院計算機學學院,研究方向:計算機信息系統、網絡安全、數據庫的應用。
TP316
A
1671-1602(2016)24-0227-01