1、Revisiting as a better system programming language Feng Li(李枫李枫) Mar 30,2024An indie developer from China:uThe main translator of the book Gray Hat Hacking The Ethical Hackers Handbook,Fourth Edition(ISBN:9787302428671)&Linux Hardening in Hostile Networks,First Edition(ISBN:9787115544384)u Pure soft
2、ware development for 15 years (11 years on Mobile dev)u Actively participating Open Source Communities:https:/ https:/ Recently,focus on infrastructure of Cloud/Edge Computing,AI,IoT,Programming Languages&Runtimes,Network,Virtualization,RISC-V,EDA,5G/6GWho Am I AgendaI.BackgroundAn overview of The l
3、atest updateTestbedsII.for Operating SystemMultiplixRevisorSerpent OSIII.-based system SW/HW development Compiler development with for HW verification +Next generation system languageIV.Wrap-up1)An Overview of DlangI.Backgrounduhttps:/en.wikipedia.org/wiki/D_(programming_language)uhttps:/dlang.org/o
4、verview.htmluPlease may refer to corresponding part in my previous talks as below for related content:Will D be a better system programming language at OpenInfra Days China 2022(Online).First exploration of D for HW-SW co-designed system at 1st OSEDA Workshop 2022.uOrigins of the D Programming Langu
5、age https:/dl.acm.org/doi/abs/10.1145/338632 https:/ I.Background 2)The latest updateSecure programming languageu .I.BackgroundWho will replace C/C+?u .u One idea:Why Modern Alternative Languages Never Replace C/C+https:/ I.Background3)TestbedsTestbed1u Intel NUC X15 LAPAC71H(32GB DDR5-4800)with Fed
6、ora 39(Linux Kernel 6.7.9)Testbed2u Raspberry Pi 4B(8GB LPDDR4-3200)/Raspberry Pi 5(8GB LPDDR4X-4267)with Fedora/UbuntuI.Background1)Multiplix1.1 OverviewII.D for Operating Systemuhttps:/ An operating system kernel for RISC-V and AArch64 SBCs.uhierarchical structureII.D for Operating System1.2 Why D
7、 for bare-metal programming?u.II.D for Operating SystemsSource:“Multiplix:Using D for Kernel Development”,Zachary Yedidia,DConf 2023.uUsing both LDC and GDCII.D for Operating SystemSource:“Multiplix:Using D for Kernel Development”,Zachary Yedidia,DConf 2023.1.3 Development1.3.1 KnitII.D for Operatin
8、g Systemuhttps:/ A simple and flexible build tool using Lua,similar to make/mk.Example:1.3.2 Toolchainuhttps:/ for Operating Systems1.3.3 On boardu.II.D for Operating SystemsSource:“Multiplix:Using D for Kernel Development”,Zachary Yedidia,DConf 2023.2)Revisor2.1 OverviewII.D for Operating Systemuht
9、tps:/ A hypervisor that exposes a Unix-like API to its guest kernel via hypercalls.II.D for Operating Systemuhierarchical structureII.D for Operating System3)Serpent OS3.1 OverviewII.D for Operating Systemuhttps:/ for Operating SystemuMoving to Rust https:/ for Operating System1)Compiler development
10、 with D 1.1 NihangIII.D-based system SW/HW development uhttps:/ Experimental compiler for exploring better compiler architecture.uhierarchical structureIII.D-based system SW/HW development 1.1.1 Voxuhttps:/ Vox language compiler.AOT/JIT/Linker.Zero dependencies.III.D-based system SW/HW development h
11、ttps:/munity/t/overview-of-jai/128https:/inductive.no/jai/https:/ system SW/HW development uproject goalsIII.D-based system SW/HW development uhierarchical structureIII.D-based system SW/HW development 1.2 How about DLLVMuA long-term plan with some initial ideas as below:III.D-based system SW/HW dev
12、elopment 2)D for HW verification2.1 VlangIII.D-based system SW/HW development uhttps:/ Next Generation Verification Language that base on Source:https:/fdocuments.in/document/vlang-flyer.html?page=2 (Date Post 28-Dec-2015)uTop Down Verification Stack Vlang vs SystemVerilog vs SystemC:https:/fdocumen
13、ts.in/document/vlang-flyer.html?page=2(Date Post 28-Dec-2015)Just as a reference since it is a little out of date For more details,you may refer to our report D-based Next Generation Verification Language and its update.III.D-based system SW/HW development Source:https:/dvcon-proceedings.org/wp-cont
14、ent/uploads/introduction-to-next-generation-verification-language-vlang-presentation.pdf (DVCon Europe 2014)uEmbedded UVM http:/uvm.io/III.D-based system SW/HW development 2.2 RISCV-DVuhttps:/ III.D-based system SW/HW development uhttps:/ system SW/HW development https:/ Python package providing a l
15、ibrary for Verification Stimulus and Coverage.eUVMuhttps:/ III.D-based system SW/HW development For more details of ESDL and eUVM,you may refer to our previous report D-based Next Generation Verification Language and its update.3)D+Zig 3.1 An overview of ZigIII.D-based system SW/HW development uhttp
16、s:/ziglang.org/A general-purpose programming language and toolchain for maintaining robust,optimal and reusable software.Self-hosted compileruhttps:/ make the main zig executable no longer depend on LLVM,LLD,and Clang libraries III.D-based system SW/HW development III.D-based system SW/HW developmen
17、t Zig for system programminguhttps:/ III.D-based system SW/HW development https:/ 3.1.1 zig ccuhttps:/ziglang.org/learn/build-systemuhttps:/andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.htmluhttps:/zig.news/kristoff/compile-a-c-c-project-with-zig-368juhttps:/ III.D-based system
18、SW/HW development 3.1.2 Zig for Linuxuhttps:/ziggit.dev/t/the-linux-kernel-community-is-discussing-convert-the-linux-kernel-from-c-to-modern-c/2824 uhttps:/ Exploiting a bug in the Linux kernel with Zig.III.D-based system SW/HW development How about build Linux kernel with Zig?uhttps:/ III.D-based s
19、ystem SW/HW development 3.1.3 Better interoperability between D and ZiguAdd support for ImportZ,extern(Z)etc in DuAdd support for betterC zig to provide another alternative to C with Zig in DuAdd support to build D project with Zig III.D-based system SW/HW development 4)Next generation system langua
20、geuOur vision:III.D-based system SW/HW development Currently,our technology roadmaps are mainly inspired by Python,Red,D,Zig,Rust,Nim and MojoIV.Wrap-upu We do think is one of the best candidate for next generation system programming,especially in the HW/SW Co-designed Edge Computing Infrastructure which has more freedom to innovate.u has great potential,but still has a long way to goethods together with AIu u +intro will be awesome!