手机版 福缘创业网 - 中国领先的创业项目信息平台,为创业者提供最新、最全、最优质的创业加盟好项目,助力创业成功!

当前位置: 福缘主页 > 网赚项目

网赚项目-当今世界上最小的应用软件项目Ubuntu缓存难题,求函数了!

时间:2022-09-16 00:15|来源:147采集|作者:147小编|点击:

重新整理 | 彭慧中       白眉林 | 屠敏

公司出品 | CSDN(ID:CSDNnews)

缓存安全可靠安全漏洞极为两极化。前段时间的几项科学研究(https://langui.sh/2019/07/23/Apple-memory-safety/)辨认出,iOS和macOS中60-70%的安全漏洞是缓存安全可靠安全漏洞。据Google估算(https://msrc-blog.Microsoft.com/2019/07/18/we-need-a-safer-systems-programming-language/),在往后二十年中,他们商品中70%的安全漏洞都是缓存安全可靠难题。而Google估算(https://security.googleblog.com/2019/05/queue-hardening-enhancements.html),90%的Android系统安全漏洞也都是缓存安全可靠难题。做为当今世界上绝大多数伺服器和数千万的电子设备都在采用的当今世界上最小的应用软件项目——LinuxMach,其缓存安全可靠难题又该怎样获得保证?

网赚项目-当今世界上最小的应用软件项目Ubuntu缓存难题,求函数了!(图1)图源:

Google官方网站

许多编程词汇有能保证缓存安全可靠的优点,它可以避免开发人员导入这类严重错误而增添安全可靠难题。具备缓存安全可靠优点的词汇主要包括Rust、Go、C、Java、Swift、Python和JavaScript,而不具备缓存安全可靠优点的词汇主要包括C、C++和汇编词汇。

网赚项目-当今世界上最小的应用软件项目Ubuntu缓存难题,求函数了!(图2)

怎样补齐LinuxMach缓存安全可靠难题

为的是化解LinuxMach缓存安全可靠难题安全可靠隐患,下列是三个特别针对其缓存安全可靠的项目:

Rust for Linux项目:该项目地目地是将一类捷伊缓存安全可靠的编程词汇导入LinuxMach。Rust有三个关键性的优点,使它十分值得称赞考量做为Mach的第三种词汇:它保证没enum的犯罪行为出现(如果不安全可靠的标识符是完善的),的的缓存财务管理。这主要包括没采用后释放出来难题,没多重释放出来,没统计数据体育竞技,之类。

Prossimo项目:这是网络安全可靠科学研究组成员(ISRG)的三个项目。它的最终目标是透过采用具备缓存安全可靠优点的词汇来化解C和C++标识符中的缓存安全可靠难题,进而明显改善网络脆弱的应用软件基础建设,而此种基础建设的代表者就是LinuxMach。

网赚项目-当今世界上最小的应用软件项目Ubuntu缓存难题,求函数了!(图3)

Rust for Linux项目地诞生

用Rust编写LinuxMach标识符的愿望已经存在了很长时间,多年来不同的人用Rust创建了外部模块。然而,Rust for Linux项目地创建是为的是在LinuxMach本身提供Rust支持。Miguel Ojeda在2019年夏天就创建了这个项目组织,但它直到第二年夏天才真正有进展。

2020年7月,Nick Desaulniers向LinuxMach邮件列表(LKML)发送了一封电子邮件,关于为2020年的Linux Plumbers大会(LPC)组织一次用Rust创建内部模块的会议。这封邮件发出后,Miguel Ojeda和其他几人在2020年8月发表了用Rust创建内部模块的障碍的相关演讲,引发了不少讨论和反馈。

为此,几天后,Miguel Ojeda提交了Rust for Linux项目地第三个拉动请求,增加了最初的Rust支持,主要包括Kbuild集成、最初的内置模块支持和Machcrate。

在接下来的几个月里,其他人也加入了这项工作,比如来自Google的Wedson Almeida Filho,他是项目地维护者和贡献者。不久之后,网络安全可靠科学研究组成员联系了Miguel Ojeda,希望他在Google的资助下,为Rust for Linux项目提供一年的全职工作支持。

网赚项目-当今世界上最小的应用软件项目Ubuntu缓存难题,求函数了!(图4)

今年的进展

自从向LinuxMach邮件列表提交意见征询以来,该团队已经取得了很大的进展。在基础建设方面,许多相关变化主要包括:

透过集成alloc标准库的子集删除了混乱分配

已移至Rust词汇的2021版

转移到Rust编译器的稳定版本(仍在采用不稳定的功能),并开始跟踪最新版本

添加了arm(32位)和riscv基本架构支持

测试支持,主要包括在Mach中运行文档测试做为KUnit测试

添加了对用Rust编写的hostprogs(在构建过程中采用的用户空间程序)的支持。

根据Mach配置即时生成最终目标规范文件。

扩展了文档,主要包括三个捷伊示例存储库,展示了基于树内Rust支持的树外Rust模块。

在抽象结构和驱动程序方面,许多重要的变化主要包括:

PrimeCell PL061 GPIO示例驱动程序

平台和AMBA驱动程序、红黑树、文件描述符、高效位迭代器、任务、文件、IO矢量、电源管理回调、IO缓存、IRQ芯片、凭证、VMA、硬件随机数生成器、网络等功能

同步功能,如RW信号量、可撤销互斥锁、原始自旋锁、无等待锁、序列锁...

采用简化的基于Mach的Ref替换了分配箱中的Arc和Rc

更好的死机诊断和简化的指针包装器

Rust异步支持的开始

相关项目也取得了很大进展:

Rust稳定了我们采用的许多不稳定功能。

对Rust编译器、标准库和工具的改进,例如使rustc_parse_format在稳定平台上编译,或者添加no_global_oom_handling和no_fp_fmt_parse门

binutils/gdb/libiberty获得了对Rust v0去扭曲的支持

pahole正在获得排除Rust编译单元的支持

英特尔的0Day/LKPMach测试机器人开始测试启用了Rust支持的构建版本

KernelCI也期待着在他们的运行中启用Rust

Linaro的TuxSuite增加了对Rust的支持

rustc_codegen_gcc(GCC的rustc后端)被合并到Rust存储库中

GCC Rust(GCC的三个Rust前端)正在致力于编译核心,这将是三个里程碑

编译器资源管理器添加了Rust的替代编译器(GCC Rust、rustc_codegen_gcc和mrustc),和其他优点,如MIR和宏扩展视图

最重要的是,这个项目获得了工业界和学术界的多重支持。行业内几家大公司如Google、Arm、Google和红帽等大厂纷纷与之建立了联系, 其他公司也私下表示支持该项目。同时该团队还与主要包括华盛顿大学科学研究人员和许多实验室进行了密切的交流,在很多行业大会上也进行了一系列推广,并获得了广泛的认可。

总的来说,Rust for Linux是三个庞大的项目。尽管从一开始就很清楚,在Mach中添加第三种主词汇将面临技术和管理两方面的挑战,但该团队依然选择迎难而上。去年的大部分工作都是与各类利益相关者合作,试图让每个人都参与进来。有许多人以不同的方式为该项目做出了贡献:标识符贡献、评审、文档、工具支持、Rust优点......之类。

网赚项目-当今世界上最小的应用软件项目Ubuntu缓存难题,求函数了!(图5)

展望未来

Rust for Linux成立后的第二年,该团队表示,他们期待着下列几个里程碑的实现:

Mach中有更多的用户或用例,主要包括示例驱动程序——这对于合并到Mach中十分重要

拆分Mach机箱并管理依赖关系以实现更好的开发

扩展当前集成的Mach文档、测试和其他工具

让更多的子系统维护人员、公司和科学研究人员参与进来

看到大部分剩余的Rust特征稳定下来

可能能在Mach中用GCC开始编译Rust标识符

合并到主线Mach中,这应该会使其他事情变得更容易

同时,还会有许多活动出席计划,如果今年完成按照计划实现,该项目地成长所增添的惊喜将可以预见。

参考资料:https://www.memorysafety.org/blog/memory-safety-in-linux-kernel/

联系我们

微信二维码3.jpg