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