單從技術上講,開發一個單獨的操作系統內核并沒有想象中的那么困難。網上搜一下 至少能找到幾十個甚至上百個OS內核實現,雖然絕大多數只是玩具級別的,但很多都是麻雀雖小,五臟俱全,基本的功能都有實現。
成都創新互聯制作網站網頁找三站合一網站制作公司,專注于網頁設計,成都網站設計、成都網站制作,網站設計,企業網站搭建,網站開發,建網站業務,680元做網站,已為成百上千服務,成都創新互聯網站建設將一如既往的為我們的客戶提供最優質的網站建設、網絡營銷推廣服務!
先說下自己的一些經歷吧。
我在幾年前曾經從零開始寫過一個簡單的操作系統內核,實現了基本的boot, 內存管理,進程管理,中斷管理,IPC,簡單的文件系統,簡單的磁盤驅動,鍵盤驅動,簡單的終端等基本功能,還實現了一個簡單的調試器,支持斷點等基本功能。當時對操作系統簡直達到了癡迷的程度,只要工作上的事情一做完就去看操作系統方面的書籍資料,晚上下班和周末更是幾乎宅在家里不出門,真的可謂是廢寢忘食。
終于在參考了Linux, VxWorks還有國外一些大牛寫的OS內核之后,最后搞出來了一個玩具級的OS內核,前后大概持續了半年左右。當時也純粹是為了學習的目的,也是覺得比較好玩,基本功能實現后,就慢慢遺忘在在磁盤的角落里積灰了。。。
所以,從技術上說,開發一個OS內核并沒有想象中的那么困難,很多大公司其實技術上都完全有能力開發一個具備基本功能的OS內核。當然,功能完備性、安全性、性能等方面能不能搞好就另說了。
我現在所在的公司,就有完全自主開發的微內核OS,并且在公司上百萬臺的電信級的分布式集群服務器產品上已經穩定運行了二十多年。并且,還圍繞這個OS建立了一系列配套生態,比如基礎開發庫,一系列配套的開發調試工具,甚至還有專門為這個系統開發的編程語言和編譯器等。我曾經有幾年的主要工作,就是在維護這個OS內核。可惜的是,這幾年公司已經在慢慢用Linux替換這個OS了,估計幾年之后就要徹底退役了。
開發一個操作系統的真正難點在于創建圍繞在這個內核周邊的生態系統。一個單獨的內核遠遠不能構成一個完整的系統,它需要大量的支持環境,如系統支持庫,應用程序,開發調試工具等等,此外還要能夠推廣出去,要有其他上下游的公司愿意使用,能夠被廣大開發者認可并愿意為其開發新的應用等等,這才是真正的難點所在,是需要投入大量人力物力財力才有可能完成的。
很多公司也正是從技術積累上,時間上,成本上,風險上來考慮,不愿意花大力氣在這上面。所以才有了如今Windows,Linux,Apple三分天下的局面。
咱們國家雖然急切渴望能有一個自研的OS,但現狀是,有實力的廠商更愿意投資一些能看得到摸得著的實實在在的應用產品上,這樣來錢快,才能在最短的時間內看到收益回報,也就是更高的投入回報比。
對于像操作系統,編譯器之類的基礎軟件,除了需要雄厚的技術實力外,還需要耗費大量的人力財力物力,而且失敗的風險較大。即便開發成功,還要花大力氣進行推廣,建立周邊生態,這更是需要更大投資,時間成本也更大,往往需要幾年甚至十幾年時間才能看得到收益。
這對于習慣吃快餐、賺快錢的國內企業來說,根本無法接受。這也需要企業決策層領導具有很大的魄力和戰略眼光,但現實中,這樣的領導簡直是鳳毛麟角。
這也正是國內廠商大都不愿觸碰自研OS的主要原因,也造成了我國至今仍沒有自己的操作系統編譯器的局面。
此外,現在市場上對一個新的OS的需求其實也沒有那么急迫,沒有需求,就沒有利益,自然就沒有動力。尤其在快餐文化盛行的今天,更是很少有公司愿意去觸碰這吃力不討好的事情。
當然也無須太過悲觀,任何東西,只要有需求,就會有利益吸引力,就會給企業研究機構足夠的動力。相信將來某一天,一旦Windows, Linux, Apple三巨頭不再適用市場需求,馬上就會有新的操作系統出現。
或許也用不了等很久吧,畢竟微軟已經宣布Win10之后將不會再有大的Windows更新版本,而Linux雖然現在社區的開發仍然很活躍,新的功能仍在被源源不斷的添加進去,但也正是由于這個原因,它現在變成了一個大而全的通用操作系統,已經變得越來越臃腫,很多場景其實已經不是很適用了,只是沒有更好的替代品,很多公司又不愿意投入自研OS,所以只能選擇相對成熟并且生態資源豐富的Linux。
Google不是幾年前就已經開始開發Fuchsia了嗎? 咱們拭目以待吧。也希望國內有實力的企業和科研機構能夠迎頭趕上,早日實現自研OS夢。
github上放出來的只是一個迷你的嵌入式OS內核LiteOS,翻看過代碼,本身并沒有很大的難度。至于鴻蒙OS,源碼還沒開放,目前為止還只是在PPT上出現過,所以不好評價,但愿能夠不負眾望吧。
Hongmeng OS是基于Linux內核源代碼的開發。 OS實現代碼主要是C語言,內核提供的本機系統調用接口肯定也是C語言接口。上層APP應用程序與現有的Android JAVA程序兼容,可能需要重新編譯JAVA應用程序。程序代碼將運行。至于應用程序編程SDK不支持JAVA以外的編程語言,還需要等待系統正式發布后才能發布,但是你可以先了解下面的編譯器,據說這是一個業界開源編譯器,用于編譯APP程序。 。但是,我仍然希望鴻蒙操作系統的應用程序編程接口支持更多的編程語言(如CC等),這樣程序可以有更多的選擇。
操作系統從運行效率 和 可控性來看是要用C語言。 解釋性語言,比如python、PHP就不大可能的。Java 也不太可能,一方面運行效率不如C語言,另外不可控:在內存方面,C語言內存申請和釋放都很實時,不像Java 語言內存釋放 要等GC。在操作系統層面,內存申請和釋放是很頻繁的,不能用GC定時釋放,萬一來不及釋放 就OOM了,另外的萬一發生full GC 那就更糟糕了,操作系統底層指令運行稍微一抖動,應用程序的執行性能就震了三震。
希望對你有所幫助!
從技術上講,操作系統是一個沒有多少技術含量的事情。一個明白操作系統原理的人用幾個月就可以寫出一個操作系統。
這個世界上的操作系統成千上萬,到處都是,任何一個自動設備中都可以認為里面有一個操作系統,電話、門禁、共享自行車中都有。
鴻蒙系統是否好寫要看他的目標是什么,只是簡單使用當然簡單,但要成為一個流行的系統則難度非常的高。
個人看法是鴻蒙系統有天生的缺陷,他是對抗美國產生的,華為一家獨大,包括國內的其它廠商都不能干涉,同時他并非開源,他想怎么辦就怎么辦。這樣就造成開發者特別是國外的開發者面臨的風險非常的大。要是和誰鬧翻了給禁用那怎么辦?
安卓有一個最大的優勢在于開源,世界上的開發者都可以使用,共同推進發展。當然本次事件更多的來源于政府的制裁,作為google當然要遵守政府的規定。但鴻蒙同時要遵守政府及企業的雙層管制。
因此鴻蒙更多的是國內華為的系統,無論是阿里、小米還是誰想用都面臨具體的風險,國外的開發者更是這樣,要是他的國家一不小心辱華了,華為就給他們禁用,他們就死定了。
操作系統沒有一個可以用好寫來形容。
首先從代碼量上來講,操作系統作為一個系統,其代碼量工作是非常龐大的,如果由單個開發者來完成,會是一項非常艱巨的任務。比如Windows內核的代碼在5000萬行以上,Linux目前在2500萬行左右。如果題主從事開發工作的話,可以大概估計一下代碼量的多少。
作為操作系統來說,兼容不同設備以及不同代的設備是必須的,向上和向下兼容保證了操作系統可以運行在不同的平臺上,而向后兼容則保證了開發者的產品不會由于系統升級而出現不能使用的情況。
鴻蒙是分布式系統,顯然需要支持不止一種類型的設備,這意味著操作系統本身需要考慮大量的底層硬件區別并給予支持。
操作系統最主要的一個功能是調度,即使在微內核架構里,調度依然被保留為內核的功能之一。
而調度在不同的負載下面,不同的設備上面以及不同的使用場景下面,都應該表現出不同的性能,那么開發者需要考慮到這其中最優并且最穩定的方案,最簡單的方法不夠智能,最智能的方法又可能引入一些問題。
所以總體來講,不論操作系統本身性能優劣,從頭開發一套系統就是一件工程量極其龐大的工作。
對于像華為這種公司來說,寫出一個基于Linux的類似于安卓的系統應該是沒有什么難度。但為什么鴻蒙系統到現在還沒有正式退出使用?
其次一個系統主要是的就是它的生態系統,就是我們使用的各種app,就像當初微軟的手機系統,就是死在軟件生態不全,而形成生態就需要比較長時間和財力的投入,要吸引開發者去適配新的系統,而華為目前正在做這件事,通過高于其他系統的收益分成或者收益全部讓利開發者的方式慢慢完善自己的生態。目前國內外已經有很多軟件及 游戲 廠商已經開始適配HMS服務了,相信不久我們就能看到生態完善的華為新的系統了[贊]
聽到鴻蒙,華為都不知道是誰家系統,也許根本就不存在
湊合吧,筆畫有點多[捂臉]
難!
但對任何一家世界級體量的公司,都寫得出!連黑莓手機都能寫得出!
但生態很難!收費沒人用,開源也沒人用[捂臉]
不好寫
參考 鴻蒙官方文檔(點擊傳送門) ,做一下流程梳理簡化,及踩坑記錄
華為將真機調試分成物理真機和遠程真機。這里說的都是物理真機(手機、平板)。鴻蒙真機調試巨復雜,不像Android那么容易方便。
貼一下官方的調試流程圖:
總結一下:
上面這個流程可以忽略,沒講到重點。真機調試是需要在 ? AppGallery Connect 中創建應用的,調試應用需要的cer和p7b文件是從這里生成的。
先決條件:
1. 鴻蒙手機通過USB連接電腦,并開啟USB調試。
2. 一個華為開發者賬號,實名認證
3. APP開發工具DevEco-Studio
關鍵流程:
1. Studio創建應用
2. 如果未登錄過,File Project Structure Project Signing Configs簽名配置頁,點擊“Sign In”
3. AppGallery創建應用(包名和Studio創建的一樣)
4. 官方文檔到這在簽名配置頁就點Try Again可以自動簽名,我試了不行,以下全是手動
5. Studio中Build Generate key and CSR? ?生成p12和csr文件
6. 獲取手機udid,命令行hdc shell bm get -udid(下一步設備管理要用)
7. AppGallery主頁 用戶與訪問 左側設備管理添加udid的設備(生成p7b時要用)
8. AppGallery主頁 用戶與訪問 左側證書管理生成cer文件(生成p7b和簽名配置要用)
9. AppGallery主頁 我的項目 左側HarmonyOS應用 HAP provision profile,生成p7b文件
10. 最后在簽名配置頁配好 p12、p7b、cer等參數,運行鴻蒙應用到真機就行了
1、兩者的構架不同
安卓系統是基于linux的宏內核設計:宏內核包含了操作系統絕大多數的功能和模塊,而且這些功能和模塊都具有最高的權限,只要一個模塊出錯,整個系統就會崩潰,這也是安卓系統容易崩潰的原因。
鴻蒙操作系統是微內核設計:微內核僅包括了操作系統必要的功能模塊(任務管理、內存分配等)處在核心地位具有最高權限,其他模塊不具有最高權限,也就是說其他模塊出現問題,對于整個系統的運行是沒有阻礙的。
2、開發難度不同
安卓系統的開發難度低,但穩定性差。
鴻蒙系統的開發難度很大,但是系統的穩定性很高。
3、速度不同
安卓系統程序員寫APP使用的是JAVA高級語言,打包成APK到安卓系統。由于安卓系統讀不懂JAVA高級語言,必須借助實時翻譯(JAVA虛擬機)進行理解(轉換成機器語言)。因為多了"翻譯"這個步驟,所以安卓系統的流暢速度較低。
鴻蒙系統是用C、C++語言編寫即直接使用機器語言編寫app,取消安卓系統的ART虛擬機,直接編譯為二進制機器碼,這樣做的好處就是不需要中轉,執行速度快。
4、適用范圍不同
安卓系統適用于手機。
鴻蒙系統對設備兼容性更強,同時支持智能手機、智能穿戴設備、電腦、電視等智能家居設備,形成一個無縫的、統一的操作系統,并且兼容所有的安卓應用,適應當下的5G和物聯網時代。
鴻蒙和安卓的特點:
鴻蒙操作系統采用微內核,天然無Root,細粒度權限控制從源頭提升系統安全。而安卓系統有Root權限,用戶可以完全掌控經過Root之后的安卓系統。而鴻蒙則沒有Root這一選項。
同時據華為終端公司官微消息,鴻蒙基于微內核技術的可信執行環境,通過形式化方法顯著提升了內核安全等級,全面提升全場景終端設備的安全能力。
對此余承東曾表示過:微內核可以把每一個單獨加鎖,不可能一個鑰匙攻破所有地方。而外核的相互隔離更加安全也更加高效。
從全球最權威的安全機構評測看,現在外面的操作系統只能達到二三級,而我們的系統能達到5和5+最高級別。這是最高級別的安全OS。所以鴻蒙系統的安全性遠高于安卓系統。
網頁題目:開發鴻蒙app復雜嗎,開發鴻蒙app復雜嗎知乎
本文地址:http://m.newbst.com/article22/dsighjc.html
成都網站建設公司_創新互聯,為您提供云服務器、用戶體驗、軟件開發、App設計、定制網站、網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯