最近看到一篇新聞,龍芯 LoongArch64 架構支持 .NET 3.1,文章日期 2021-09-25
https://www.oschina.net/news/161641/loongson-loongarch64-dot-net-3-1-released?p=1
我在里面有幾次發言,事后覺得,有必要整理成一篇博客文章,說明我的觀點,
一般人的理解,作業系統才需要去適配芯片的指令集,而應用軟體不用去適配芯片的指令集,應用軟體只需要適配作業系統即可, .NET 屬于應用軟體范疇,
這樣的呼叫層次:
CPU/指令集 <---> 作業系統及作業系統API 函式 <---> 應用軟體(.Net 3.1 及其它),
龍芯公司同時有龍芯芯片硬體、龍芯作業系統軟體,適配作業 .NET ,應該只集中在龍芯作業系統上,不涉及指令集,他們的作業方向,好像錯了,
舉例來說,
統信UOS 可直接下載使用微軟官網發布的 .net core 的 ubuntu 版,統信UOS 也支持多種芯片,其中包括龍芯芯片,然后統信UOS + 龍芯芯片 就可以運行 .net core 程式了,
如果說,有什么適配作業的話,那也發生在“統信UOS 支持龍芯芯片” 這一步驟上,當然,這一步是之前已經完成了的(2019-12),
按照這樣的邏輯,如果龍芯公司的 .NET 團隊,做作業去適配 .Net Core 3.1 ,那他們的著眼點,應該是“龍芯作業系統與 .net core 的適配上”,.Net Core 3.1 屬于應用軟體,它不需要去直接呼叫 CPU 的指令集,只需要呼叫作業系統的 API 函式就行了,微軟已經為 .Net Core 3.1 做了呼叫 Windows API 及 Linux API 的作業,接下來,應該是改龍芯作業系統,新增一些作業系統 API 函式,以兼容Windows API 或 Linux API ,然后就行了,
或者龍芯公司可以考慮做一個通用的編譯器,把只能運行在 Windows/Linux 的軟體源代碼,重新編譯成能在龍芯作業系統上運行的,順便在這個編譯器中,做一些針對龍芯芯片的優化,我記得 Intel 干過這類事情,做過 C++ 編譯器,當然好像沒有持續,說明這不是芯片廠商必須要做到的事情,
龍芯公司,犯不著組織人,去逐個適配單個應用軟體,比如 .Net Core 3.1, .Net 5.0, .Net 6.0 ..., 7-zip 1.0, 2.0... 8.0..., Gedit 1.0,2.0,..., LibreOffice 1.0,2.0....,那樣作業量很大,不是最佳方案,沒見過 Intel/AMD 這樣的芯片公司,出新聞說,我組織了一批人,去適配某個應用軟體的某個特定版本,
-----------------------------------------
2021/10/18 補充,
剛看到, Mono 官網上,也支持 MIPS,那倒也簡單了,龍芯也是 MIPS 芯片體系的,更何況,使用 Mono 寫 C# 程式,還可以寫有用戶界面的單機版程式,比對當前這個龍芯適配版的 .net core 更多了一些功能,
相關鏈接參考:
a. Mono Supported Platforms:
https://www.mono-project.com/docs/about-mono/supported-platforms/
b. 龍芯的UOS是否支持.net core (2020-03), 論壇中的答案是肯定的,網址:
https://bbs.chinauos.com/zh/post/713
c. 國產化之路-統信UOS /Nginx /Asp.Net Core+ EF Core 3.1/達夢DM8實作簡單增刪改查操作, 2020-10 轉載,
https://blog.csdn.net/sD7O95O/article/details/108957532?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7Edefault-9.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7Edefault-9.no_search_link
d. dotnet 在 UOS 國產系統上使用 Xamarin Forms 創建 xaml 界面的 GTK 應用,2020-09
https://blog.csdn.net/sD7O95O/article/details/108877848?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7Edefault-16.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7Edefault-16.no_search_link
此為轉載文章,原文發布于:https://my.oschina.net/jacklondon/blog/5280256
轉載請注明出處: http://www.cnblogs.com/jacklondon ; 歡迎訪問 http://www.zheguisoft.com/ 并提建議,轉載請註明出處,本文鏈接:https://www.uj5u.com/net/325208.html
標籤:.NET Core
