- Linux網絡程序設計:基于龍芯平臺
- 趙洪 李兆斌 魏占禎編著
- 1291字
- 2024-04-24 17:35:18
1.2.4 信創操作系統
2020年,龍芯基于近20年的CPU研發和生態建設經驗推出了LoongArch架構,包括基礎架構部分和向量指令、虛擬化、二進制翻譯等擴展部分,涉及近2000條指令。LoongArch架構具有較好的自主性、先進性與兼容性。從整個架構的頂層規劃,到各部分的功能定義,再到每條指令的編碼、名稱、含義,都進行了自主設計。LoongArch架構摒棄了傳統指令系統中部分不適應當前軟硬件設計技術發展趨勢的陳舊內容,吸納了近年來指令系統設計領域中諸多先進的技術發展成果。同原有兼容指令系統相比,LoongArch構架不僅在硬件方面更易于實現高性能、低功耗設計,而且在軟件方面更易于實現編譯優化和操作系統、虛擬機的開發。LoongArch架構在設計時充分考慮了兼容生態需求,融合了國際主流指令系統的主要功能特性,同時依托龍芯團隊在二進制翻譯方面10余年的技術積累、創新經驗,能夠實現多種國際主流指令系統的高效二進制翻譯。龍芯從2020年起研發的CPU均支持LoongArch架構。
如今,LoongArch架構已得到國際開源軟件界的廣泛認可與支持,成為與x86、ARM并列的頂層開源生態系統,獲得大量開源社區的支持。指令系統是軟件生態的起點,只有從指令系統的根源上實現自主,才能打破軟件生態發展受制于人的瓶頸。LoongArch架構的推出,是龍芯長期堅持自主研發理念的重要成果體現,是全面轉向生態建設歷史關頭的重大技術跨越。
Loongnix操作系統是龍芯開源社區推出的一款基于Linux內核,并針對LoongArch架構進行優化和定制的操作系統。其作為龍芯軟件生態建設的成果驗證和展示環境,集成了內核、工具鏈、龍芯瀏覽器、Java虛擬機、音視頻庫、圖形庫、云計算、打印機驅動等操作系統基礎設施方面的最新研發成果,可直接應用于日常辦公、生產、生活等應用環境。編者編寫此書時Loongnix最新的桌面版本為Loongnix-20.3.loongarch64,該版本支持的GNU編譯器套件(GNU Compiler Collection,GCC)的最高版本為8.3.0。此版本的GCC已經可以比較完整地支持C++17的特性。Loongnix支持的GNU調試器(The GNU Project Debugger,GDB)的最高版本為8.1.50。目前支持的GCC和GDB版本都不是最新的,但完全可滿足C語言開發需求。
Loongnix實行“以開源社區版為基礎支持商業版和定制版發展”的生態模式,即龍芯發布開源的社區版操作系統Loongnix,以此作為技術和產品源頭,一方面支持品牌操作系統廠商研發其商業版產品,另一方面支持云廠商、原始設備制造商(Original Equipment Manufacturer,OEM)等企業根據需求研發其定制版產品。
Loongnix包括Loongnix-Server、Loongnix-Client和Loongnix-Cloud這3個產品系列,分別面向服務器、個人計算機和云計算領域。
Loongnix的發展采用了“遵循統一系統架構和規范API”的技術路線。其中“系統架構”是操作系統和整機硬件間的界面,“API”是操作系統與應用軟件間的界面。基于《龍芯CPU統一系統架構規范》,龍芯發布支持高級配置和電源管理接口(Advanced Configuration and Power Management Interface,ACPI)標準的統一可擴展固體接口(Unified Extensible Firmware Interface,UEFI)固件和系統,實現操作系統跨主板整機兼容和CPU代際兼容,達到“任意一套龍芯操作系統都可以安裝在不同廠商、不同時期的龍芯整機”的目標。龍芯為此建立了專業團隊,研發和維護Java虛擬機、瀏覽器、圖形庫等重要應用程序接口(Application Program Interface,API),通過規范API建立操作系統平臺對API環境支持的版本識別度,在技術創新的同時保持API兼容。
在云計算方面,龍芯平臺完全支持OpenStack/KVM、Docker/Kubernetes等典型云計算方案,已經發布了Loongnix和Alpine等龍芯平臺操作系統容器鏡像,用戶可以直接下載使用。
- 軟件安全技術
- Git Version Control Cookbook
- Spring 5企業級開發實戰
- Android 9 Development Cookbook(Third Edition)
- Building Minecraft Server Modifications
- C語言程序設計案例精粹
- 新一代SDN:VMware NSX 網絡原理與實踐
- HTML5+CSS3+jQuery Mobile APP與移動網站設計從入門到精通
- 并行編程方法與優化實踐
- Java 9 Programming By Example
- Node.js區塊鏈開發
- 高效使用Greenplum:入門、進階與數據中臺
- 創新工場講AI課:從知識到實踐
- Moodle 3.x Developer's Guide
- C# 7 and .NET Core 2.0 Blueprints