关系经济人类预测化学自然
中准网
自然科学
知识物理
化学生物
地理解释
预测理解
本质社会
人类现象
行为研究
经济政治
心理结构
关系指导
人文遗产

专访施继成RustforLinux要来了,这对我们意味着什么

3月7日 无镇楼投稿
  众所周知,Linux是C语言的代言人。但是,时代变了,Rust正在兴起并赢得越来越多人的支持,它开始逐渐扮演Linux系统语言的角色。
  在今年的Linux基金会开源峰会上,LinusTorvalds提到他希望看到在LinuxKernel5。20中融入Rust。内核发布周期一般是9到10周,这意味着我们可能会在8月初看到5。19。然后,如果一切顺利的话,我们将在10月下旬或2022年11月上旬在5。20中看到Rust。而仅在去年,LinusTorvalds才刚对Rust发表过评论,表示自己绝不会推动Linux中的Rust运动,Rust优势的背后肯定存在复杂性,所以我会采取观望的态度,看看这些优势是否真的奏效。
  那么为什么Rust会如此快进入到Linux内核之中?这对社区、对使用Linux和Rust的公司来说意味着什么?对解答这些疑问,我们采访了跨云存储厂商达坦科技(DatenLord)的联合创始人施继成。
  采访嘉宾:
  施继成,达坦科技(DatenLord)联合创始人兼CTO,曾供职于Google、Alibaba等国际知名科技公司。擅长操作系统内核开发、分布式系统、嵌入式系统,对分布式数据一致性有深入的研究。发表多篇操作系统内核相关论文,累计数百次引用。
  InfoQ:几年前,有一些声音表示是时候用Rust重写操作系统了。以您的观察来看,这能够实现吗?为什么?
  施继成:如果我们将用Rust重写操作系统定义为从零开始搭建一个基于Rust语言的操作系统且希望其能够商业化是不太现实的。原因就在于商业化的操作系统是需要应用场景的,某一个应用场景在相当长的时间内都会主流流行一个或几个操作系统,不轻易改变,比如桌面操作系统中的Windows和MacOS,手机操作系统中的Android和iOS,以及服务器操作系统Linux,BSD和WindowsServer等。我们可以发现这些主流的操作系统是陪伴着该领域的发展成长起来的,往往都有长达几十年的历史,一旦形成主导地位不易撼动。
  用户不愿意更换操作系统的原因主要是生态依赖许许多多基于这些操作系统开发的应用程序和开发框架。如果说从零开始写一个操作系统还有可能由一家商业公司完成,那么完整迁移操作系统上层生态则是一个需要全人类参与的浩瀚工程。因此我认为用Rust语言从头写一个全新的基于现有成熟场景的操作系统是不现实的。
  那么RustforLinux(以下简称R4L)是另外一条可行的方案,该方法之所以可行,主要原因就是不改变Linux操作系统的接口,完全兼容现有Linux上的所有应用程序。R4L仅仅是替换掉Linux内部的某些内核模块,这些用Rust完成的内核模块可以与其他内核组件完美结合,通过慢慢蚕食的方法,使得Linux中越来越多的组件使用Rust语言实现,最终达到提高Linux安全性的目的。当然现阶段R4L还在初级阶段,后续还有许多不确定性,需要社区和大家共同完善。
  InfoQ:编写安全的C代码是可能的,那为什么还会很多人认为将Rust添加到Linux内核很重要?另外,将Rust添加到内核中,对社区、对贵司来说分别意味着什么?
  施继成:编写安全的C代码是可能的这句话本身没有错,使用任何语言都有可能写出安全的代码,但程序员们为什么还要选择一种安全的语言呢?因为程序员也是人,是人就会犯错,程序员在代码中犯下的错就是众所周知的Bug。优秀的程序员会使用各种方法避免或减少自己犯错,选择一种安全的语言,例如Rust,就是这些努力中的一种。Rust语言提供了一些特性,保证了程序员不犯内存错误和线程并发访问错误,而这些错误在内核开发中往往占据了大多数。以Windows操作系统为例,在微软2019年的一次演讲中有提到,Windows的安全漏洞有70是内存安全问题,我相信Linux中的现象应该类似。基于此,将Rust添加到Linux内核中对提高其安全性至关重要。
  R4L项目对于Rust语言社区而言是重大利好,因为任何主流的语言都需要一个或几个应用场景来发展壮大,Rust已经被证明可以用以构建浏览器Firefox,R4L项目则证明了Rust可以被用来构建操作系统。随着这些主流应用场景的不断拓展,Rust会被越来越多人使用,相应的Rust语言的生态也会越来越好,最终降低Rust语言的使用难度,吸引更多人来使用Rust,这是一个正向循环。
  对于我司(北京达坦科技)而言,R4L项目也帮助我们更容易构建安全的存储系统。由于我司主打软硬件结合的存储系统,所以和Linux内核打交道是不可避免的,也需要写系统内核模块来完成硬件适配工作,R4L让我们的安全相关工作变得更加简单了,也提高了系统层的安全性。由于R4L还处在初级阶段,我们在使用过程中也会向Linux社区提交Patch,帮助R4L系统不断完善。
  InfoQ:RustforLinux发展至今已经实现了哪些功能,还有哪些功能有待完善?
  施继成:RustforLinux项目主要分为两个部分,第一个部分是将Kernel中原来的C语言接口用unsafe的Rust代码分装出来,我们俗称binding,这一部分工作大部分由代码自动生成,相对比较简单。另外一部分是如何将unsafe的Rust代码封装成为safe的Rust代码,即如果通过Rust语言的特性来保证Linux中方法的安全性,这一部分的工作则完成度较低。
  由于kernel模块实在过于繁杂,这里只能列举其中的一些来说明情况,已经部分完成功能的模块包括内存分配管理模块和链表等基础数据结构模块等,而未完成的模块包括内核线程抽象和异步任务执行器等。
  InfoQ:这个发展历史当中,存在哪些权衡?
  施继成:据我所知,在R4L项目中现在的主要权衡点仍然在安全性上。因为LinuxC语言模块的安全性大多由良好的编程规范和调用范式来达到,所以很多安全性的保证都是隐含在代码逻辑中的;例如,内存被正确释放需要内存调用者自己来保证,大家往往采用的范式是在所有可能退出的地方都加上内存释放代码,或者将退出出口控制在一个地方。内核很多安全点比上述例子要复杂许多,如何将这些隐含的逻辑封装在Rust代码中有非常大的挑战,在安全的同时提供和C语言一样的性能则对功能实现者提出了更大的挑战。不过我坚信随着时间的推移和贡献者的增多,这些问题最终都能够得到完美的解决。
  InfoQ:Linus对Rust有一些态度上的转变,比如从最开始的观望,到承认Rust将出现在Linux中。主要原因,您认为是什么?
  施继成:我个人觉得有以下几个原因:Linus早年间尝试用C写内核代码的体验不好,只尝试了两周时间,最终放弃使用C写内核。这一段经历会让Linus在接受新的语言上更加谨慎。R4L的尝试在最开始让大家觉得风险很高,质疑声音也很多,不过随着这几年社区的不断努力,大家看到更多的希望,包括Linus在内的内核开发和维护者对R4L的信心也更充足。
  InfoQ:您认为如果在5。20版本中出现Rust,这其中还存在什么挑战?
  施继成:当R4L进入主分支后,真正的故事才刚刚开始。就像之前我们介绍的一样,R4L项目更多的是给内核开发搭建脚手架,真正的内核模块还需要一个一个替换和重写,例如文件系统和网络通信模块等等。这些模块有的历史悠久,代码结构的复杂性导致了任何语言级别的切换都不会是一个简单的任务。如何对这些大型模块进行平稳的迁移将会是整个社区面临的巨大挑战。
  InfoQ:Rust对开发者来说,难度还比较大,并且熟悉Rust的人目前还不多,如果下一个版本中出现了Rust,对于维护者来说是否构成一些问题?
  施继成:这个问题可以从两方面回答。首先,Rust语言的使用者已经从2020年初的60万增长到2022年初的220万,语言使用者的增多意味着有更多人能够投入到内核开发和维护工作中,能为维护工作提供不少的帮助。另外一个方面,Linus也从语言难度的角度讨论过Rust,他认为比起Rust语言,系统内核的复杂度更大,因此Rust语言不应该成为内核开发中最困难的问题。同时Linus还以Perl语言举例,认为这是一门极难阅读的语言,不过这并不妨碍Perl语言在Linux项目中的使用。
  InfoQ:说到Rust的现在和未来,您认为该语言现在处于什么位置?
  施继成:Rust语言已经连续7年蝉联StackOverflow网站(全球最大的编程问答网站)最受欢迎语言,Rust语言的受欢迎程度是不言而喻的。现在随着Rust马上(Linus原话是:Itsgettingtothepointwhererealsoonnow)将成为Linux的官方第二语言,再一次验证了Rust语言的实用价值,必然会吸引更多的程序员来学习和尝试Rust。我们看到了Rust非常好的增长势头,相信随着Rust社区的不断发展,其将会成为最主流的几门编程语言之一,就像现在的C和C一样。
投诉 评论 转载

中国体育代表团装备发放工作启动北京冬奥会开幕在即,中国体育代表团装备发放工作昨天(23日)在首都滑冰馆启动,中国各运动队陆续领取装备,为出征冬奥赛场做好准备。北京冬奥会中国体育代表团装备包括领奖装备、……看了韩国球员的奖金才明白国足为啥不进世界杯韩国2:1胜葡萄牙晋级16强,韩国球员因此每人获一亿韩元约54万人民币的奖金,现在明白了中国队为啥进不了世界杯了,因为54万的奖金对他们来说太没吸引力,在国内他们轻轻松松税后年……经济繁荣的宋朝,人们常用哪些出行工具?探究宋代百姓的出行方式如果您喜欢这篇作品,欢迎点击右上方关注。感谢您的鼓励与支持,希望能给您带来舒适的阅读体验。出行与人们的日常生活息息相关,现代社会交通非常发达,无论人们日常出行还是运送物资……折叠屏OPPOFindN新机登场,OPPOReno7悲惨让路事实证明,OPPOFindN的方向不仅没有错,反而还是对的。市场调研机构统计数据,OPPOFindN单月销量远超华为MateX2、荣耀MagicV等大屏手机,月销在1万台以上,……张嘉倪深夜醉酒被拍,疑似感情出问题,结婚8年不被婆家承认近日有八卦媒体拍到张嘉倪深夜现身街头的画面,照片中,张嘉倪一头粉色头发,穿着宽松的西装外套,与朋友一起从酒店晃晃悠悠地走出来,疑似醉酒,在酒店门口,张嘉倪和朋友拥抱了好久才依依……酷安评分9。0!Reno8Pro3K价位颜值实力派,超万名用纵观当下的手机市场可以发现,3K价位段可谓是百花齐放,各大品牌都瞄准这一庞大的细分市场推出了各式各样的机型,以吸引众多消费者的关注。不过这也让不懂手机的消费者犯难了,每一家的产……阿斯加特女武神RGB游戏内存发布白色主题控的最爱对于游戏玩家来说,一款速度快,性能强大的游戏主机尤其重要!想要DIY一台主机,除了CPU、显卡之外,内存条的作用对电脑性能也是至关重要的!面对市面上各种品牌的内存条有时老司机也……曾冲上畅销榜第24名,又一款跟腾讯分手的游戏宣布复活文秋秋2月15日,《玄中记》官方在多平台发布公告,称在腾讯代理运营期结束后,研发方将重启并自行运营游戏,并表示我们终于可以将更多对于游戏的想法,更多驭灵师们提供的建议,不受阻碍……智能家居消费,为啥这么火?当前,消费者对智能产品的需求快速增长。特别是在智能家居领域,经过快速升级和持续调整,消费者的新需求已经显现并十分迫切。但在智能家居产品高速发展的同时,消费者使用过程中也遇到了多……新手变身伪素颜美女的平价彩妆1、fabloox馥碧诗(80)fabloox底妆用起来都是千人千面,但是这个真的好好用,一点都不像几十块的,少有的一天下来都不怎么氧化的,奶油感的粉霜质地,丝滑细……专访施继成RustforLinux要来了,这对我们意味着什么众所周知,Linux是C语言的代言人。但是,时代变了,Rust正在兴起并赢得越来越多人的支持,它开始逐渐扮演Linux系统语言的角色。在今年的Linux基金会开源峰会上,……新华社五彩斑斓!中国死海的盐值有多高黄河从青藏高原奔腾而下一路向东蜿蜒过山脉和盆地奔涌在平原和丘陵这是在山西省吉县拍摄的黄河壶口瀑布。黄河从山西省永和县和陕西省延川县的晋陕峡谷中流过……
你会使用手机管家吗?它隐藏了10个实用的功能,一定有你不知道莲都有艺思馆,体验诗画江南好去处恭喜,女排四大00后新人露面,天赋极佳,将成为蔡斌未来王牌麦迪谈打CBA我生命中最美好的时刻之一,让我再次爱上了篮球售价14000元苹果VRAR头显,你会买吗?微软宣布XboxPC游戏将登陆GeForceNOW本西2300万美元挂牌其在LA隐山市豪宅比一年前购入价高55让人忽视的有些燥邪也是由湿邪引发的藏蓝色的服装太美了,优雅端庄还大气,怪不得连舒淇也喜欢穿2022年111月合肥房地产企业销售业绩TOP10艺术与技术!乡村爱情16年,9位女星现状,有人丈夫入狱,有人无戏可拍
传奇世界手游野蛮冲撞使用技巧如何种植大棚生菜?冬日的雪作文3篇给即将上一年级的学生家长的建议《题都城南庄》扩写热文聚热点网 我的眼睛里没有星星浮生六记读书笔记自粘性防火包带妈妈你在远方过的好吗作文500字电商引流推广怎么做才能客户精准成本低转化强留存好北京民事律师可以放弃共同财产吗?热闻聚热点网 考勤制度培训通知

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找菏泽德阳山西湖州宝鸡上海茂名内江三亚信阳长春北海西安安徽黄石烟台沧州湛江肇庆鹤壁六安韶关成都钦州