【Rust 日报】2024-01-07 为虚拟化工作负载设计的操作系统:Motūrus OS

2024-01-09 07:20

本文主要是介绍【Rust 日报】2024-01-07 为虚拟化工作负载设计的操作系统:Motūrus OS,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Motūrus OS

For 云端的简单、快速和安全的操作系统。目标是基于虚拟机的工作负载,如 Web服务、Serverless、边缘缓存等。

为什么有这个项目?

目前,大多数虚拟化生产环境工作负载都在运行Linux。虽然Linux具有许多先进功能,在许多情况下是唯一合理的操作系统选择,但在理论上,对于一些虚拟化工作负载来说,存在一些使其不太理想的复杂性:

  1. Linux被优化为裸机,这导致在运行在Linux主机上的VM内部使用时效率低下:

  • 重复的块缓存

  • 重复的页表遍历

  • 主机调度程序可以抢占在VM内核中持有自旋锁的VCPU

Linux使用起来比较困难:

  • Docker、Nix OS、Serverless等都存在,是因为Linux的复杂性

  • 历史上,Linux安全性不是很高

所以,这是一个从头开始专注于虚拟化工作负载的新操作系统,可以比Linux更简单、更安全,同时匹配或超过其性能和效率。

小编听起来是一个很不错的项目,值得大佬们关注。

GitHub: https://github.com/moturus/motor-os

Regex Benchmark工具

正则表达式基准测试是一个旨在揭示正则表达式性能的实用工具。它提供了对不同正则表达式模式执行情况的可视化表示,特别适用于处理性能影响并不立即显而易见的复杂表达式。

比如对下面三个正则进行测试。

=
.*(=).*
.?(=).*# 执行命令
regex-benchmark \--regex '=' \ # 可替换--max-length 100000 \--step-size 10 \--num-tests 5 \--required-str x=xxxxxxxxxxxxxx \--method find

大家认为结果如何呢?我们看看分析得到的结果。

03546b83485be70b685fa7759d7383e1.png

上面三个图分别是执行三个正则的情况。

虽然这三个表达式都是有效的,但我们可以看到每个表达式的性能差异非常大。

第一个表达式是最有效的。虽然我们有一些离群值,但性能非常一致,给了我们一个很好的指示,表明结果是恒定时间的。

第二个表达式是效率最低的。我们可以看到随着输入大小的增加,呈线性增长,并且扩散增加。这可能看起来像是O(n)的时间复杂度,然而实际上并非如此。从实际需要执行多少步骤来看,时间复杂度实际上是O(n^3)。这个图表实际上表示执行正则搜索的实际时间。

最后一个表达式最有趣。我们可以看到它比第一个表达式慢,但比第二个表达式快。最大的区别在于散布非常大!

GitHub: https://github.com/Salaah01/regex-benchmark

渲染茱莉亚集合

以极快的速度渲染茱莉亚集,可以同时渲染两个略有不同的茱莉亚集,并使用简单的算法将它们合并,以增加更多复杂性。可用于生成桌面壁纸。效果如下图所示。

04f639be330043e0a99c69aec29f77b7.png

GitHub: https://github.com/elkasztano/juliafatou

最流行的Rust后端框架

来吧,Reddit上又看到这个问题了,有没有什么想法来发表一下?

以前小编对于此类问题的争执都是不care的,感觉没有太多意义。就好像争论哪门编程语言好,编辑器之神还是神之编辑器一样。不过后来发现,如果我们在讨论类似问题时能够从技术、非技术等多个角度展开对比,未尝不是一种很好的交流手段。

所以,在最后留个链接,给感兴趣的朋友。

Link: https://www.reddit.com/r/rust/comments/191bsg7/what_is_the_most_popular_backend_rust_framework/


From 日报小组 长琴

社区学习交流平台订阅:

  • Rustcc 论坛:支持 rss

  • 微信公众号:Rust 语言中文社区

这篇关于【Rust 日报】2024-01-07 为虚拟化工作负载设计的操作系统:Motūrus OS的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/586332

相关文章

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

Rust 数据类型详解

《Rust数据类型详解》本文介绍了Rust编程语言中的标量类型和复合类型,标量类型包括整数、浮点数、布尔和字符,而复合类型则包括元组和数组,标量类型用于表示单个值,具有不同的表示和范围,本文介绍的非... 目录一、标量类型(Scalar Types)1. 整数类型(Integer Types)1.1 整数字

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

python中os.stat().st_size、os.path.getsize()获取文件大小

《python中os.stat().st_size、os.path.getsize()获取文件大小》本文介绍了使用os.stat()和os.path.getsize()函数获取文件大小,文中通过示例代... 目录一、os.stat().st_size二、os.path.getsize()三、函数封装一、os

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt