Windows還是Linux?這是一個問題。前者是多數(shù)人接觸第一款操作系統(tǒng),甚至于對于這部分人來講,Windows就是電腦的代名詞,我們熟悉該系統(tǒng)的操作邏輯,他有完整的軟件生態(tài),即使是再小眾的軟件移植到PC首先考慮的必然是Win的兼容性,Windows仿佛是開發(fā)平臺的必然選擇,是這樣嗎?
Win與Linux學(xué)習(xí)曲線
如上圖所示,Windows的生態(tài)對于娛樂、辦公、學(xué)習(xí)等有廣泛的適應(yīng)性,但是有他有多項缺點是不能容忍的。第一,對于本項目而言,Windows環(huán)境軟件少之又少,相關(guān)參考資料由于系統(tǒng)閉源的特性又語焉不詳;第二,系統(tǒng)函數(shù)封裝過度,用戶調(diào)用極其困難;第三,一個工作需要切換多個軟件界面,需要點擊多次鼠標,筆者認為如果鍵盤能解決問題沒必要轉(zhuǎn)到鼠標。
Linux上手是一件困難的事情,如果是選擇不帶圖形化界面的更是如此,但失之東隅收之桑榆,當(dāng)跨過攔路虎后,你會發(fā)現(xiàn)Linux世界如此廣闊,同樣的選擇Linux作為開發(fā)環(huán)境也有幾個理由。第一,適合本項目的軟件眾多,而且Linux提供的包管理工具可以很方便的下載和使用,Linux的man手冊也給軟件學(xué)習(xí)提供官方的學(xué)習(xí)途徑,同時Linux世界有齊全的技術(shù)文檔且易于檢索;第二,Linux高度健壯的社區(qū)為解決問題提供了思路;第三,大多數(shù)操作可以使用鍵盤操作,一條命令可以解決多數(shù)問題
微內(nèi)核與宏內(nèi)核
操作系統(tǒng)內(nèi)核實現(xiàn)有兩種實現(xiàn)途徑:微內(nèi)核與宏內(nèi)核。用戶進程需要操作系統(tǒng)協(xié)作完成一些工作,若所有工作通過系統(tǒng)調(diào)用交給內(nèi)核態(tài)完成的做法稱為宏內(nèi)核;相反地,將工作剝離交給系統(tǒng)調(diào)用而非內(nèi)核完成,內(nèi)核只需要進行諸如進程調(diào)度的簡單工作的思想便稱為微內(nèi)核。簡而言之內(nèi)核承擔(dān)大部分任務(wù)稱為宏內(nèi)核,承擔(dān)部分工作即為微內(nèi)核。
Liunx是宏內(nèi)核操作系統(tǒng)的代表,在宏內(nèi)核操作系統(tǒng)中完成具體任務(wù),用戶進程通過各種調(diào)用門、系統(tǒng)調(diào)用例程指揮內(nèi)核完成工作。
以Minix為代表的微內(nèi)核操作系統(tǒng)進行系統(tǒng)調(diào)用過程較為復(fù)雜,在微內(nèi)核中內(nèi)核類似于一個指揮者。例如進程A需要讀取一個文件,需要通過內(nèi)核告知進程B,進程B通過內(nèi)核告知硬盤驅(qū)動程序C讀取,通過棧對數(shù)據(jù)傳遞。顯然在此過程中進程通信很重要。
本項目的操作系統(tǒng)將基于微內(nèi)核而實現(xiàn),宏內(nèi)核的直截了當(dāng)使他具備一定優(yōu)勢,但從長期來看內(nèi)核逐漸變大時,微內(nèi)核的結(jié)構(gòu)會更加清晰,實現(xiàn)邏輯雖然復(fù)雜但又顯得嚴謹,結(jié)構(gòu)上十分優(yōu)雅且精致,程序模塊化也更加容易,可移植性高。最重要的一點,該操作系統(tǒng)以后是需要在嵌入式系統(tǒng)中使用的,或者是需要在嵌入式系統(tǒng)中重構(gòu)的,微內(nèi)核的勝利不言而喻。
-
PC
+關(guān)注
關(guān)注
9文章
2098瀏覽量
154419 -
Linux
+關(guān)注
關(guān)注
87文章
11330瀏覽量
209978 -
WINDOWS
+關(guān)注
關(guān)注
4文章
3554瀏覽量
89012
發(fā)布評論請先 登錄
相關(guān)推薦
評論