安卓系统将打上20%的华为烙印,谷歌计划采用华为的超级文件系统

安卓系统将打上20%的华为烙印,谷歌计划采用华为的超级文件系统,第1张

看到一则让我特别提精气神儿的事,谷歌计划从安卓13开始采用华为的EROFS超级文件系统。咱们先不用去管这一长串的EROFS,只看这后面两个字母FS是(File System)文件管理系统。可能许多不是程序员的朋友对此没有感觉。这 *** 作系统有五根支柱,其中之一就是文件管理系统。谷歌安卓 *** 作系统的20%自此将会打上华为的烙印。

我将会从三方面详细的阐述。首先从直观上看文件管理系统他到底是干什么的?其次从宏观的角度审视下 *** 作系统的这五根支柱。最后引申来说一下Linux *** 作系统。

首先文件管理系统到底是干嘛的呢?直接的使用体验就是Windows系统上的资源管理器,在那里 *** 作和管理日常的文档、视频以及其他资料。这是建立在微软的NTFS( New Technology File System) 文件系统之上图形 *** 作界面。

如果你有一部10G大的电影要打开,尤其是硬盘里那些需要时常回味学习的珍藏版。播放器打开的时候,你能明显感觉到有延迟。这一方面是硬件决定的,比如说你用的是固态硬盘,还是传统的机械硬盘。另一方面则是由其文件系统来决定的。华为的EROFS文件系统,就把读取速度,也就是播放器打开视频的速度速度提高了20%。原来需要5秒现在只需要4秒。这样巨大的性能提升,尤其在心急火燎的情绪下,更能明显地感受体验到。这就是咱们日常触手可及,打交道最多的文件管理系统。

接下来咱们从宏观来看一下 *** 作系统的五根支柱。首先第一根支柱是前面的文件管理系统。第二根支柱是进程管理(或者任务管理)。比如说一边听音乐,一边聊天,一边写PPT,所有运行的这些应用都由“进程管理”来统筹,本质是与CPU沟通以合理分配计算资源。第三根是设备管理,管理电脑上外接的硬盘、打印机、耳机、键盘等。

第四根是内存管理,程序域运行要消耗内存,最大的程序莫过于 *** 作系统,就是整个运行在内存上的。第五根支柱是用户管理,这一项对普通用户比较简单,你自己的电脑可以设置多个用户使用不同的账户名登录使用。对管理员而言却是一套繁琐而单调的工作。比如许多apps动辄就六七亿用户,在后台的服务器上,管理员就是用与 *** 作系统的用户管理相类似的逻辑,每天做着大量的运营工作。

这五根支柱构成了 *** 作系统的五大功能。文件管理系统是重要的五分之一,安卓的20%自此将打上华为的烙印。

安卓这项措施呢其实是沿用了Linux的内核的一个动作。Linux内核自打5.4开始就把华为EROFS文件管理系统并入了它的主线中。也就是说啊,以后Linux *** 作系统也至少有20%是华为的烙印。咱们再深入展开聊聊这一点。之前好多期聊国产 *** 作系统的时候,看到有朋友就说不过是Linux套皮之类的。不是这样的啊。Linux是开源项目,现在华为对Linux的内核的贡献量逐年攀升,这两年更是屡次排在榜首。

看到有人说,华为的贡献量没有那么大,他把Linux是30多年的 历史 代码量都拿出来,说华为整体的比重没有排到前面。这其实并没有意义,关键是看当下的贡献与比重,而不是看古董的代码量。咱们是什么时候才参与的,对不对?Linux内核搬到Github上,普通程序员可以指指点点也才没几年(虽然开发流程并不在Github)。

因此,Linux *** 作系统并不是外人啊,也有咱们的重要贡献在里面。不要一说起国产 *** 作系统,就简单一句是Linux的套皮而了事。

最后总结一下,安卓13计划采用华为的EROFS文件管理系统,这件事看似很小。但自此之后,安卓系统20%将会打上华为的烙印,这几乎是平地惊雷。当然鸿蒙自然一直用的是EROFS文件系统。

我相信以后对鸿蒙上七嘴八舌的声音会慢慢消散。再看Linux系统,早在Linux内核的5.4版本就并入了华为的EROFS,并且近年来华为对Linux内核的代码贡献量连续居于榜首,因此对国产 *** 作系统,简单说一句是Linux的套皮并不恰当。Linux是开源的,也是咱们的自家人。

头文件

#include <unistd.h>

函数原型

int link (const char * oldpath,const char * newpath)

说明

link()以参数newpath指定的名称来建立一个新的连接(硬连接)到参数oldpath所指定的已存在文件。如果参数newpath指定的名称为一已存在的文件则不会建立连接。函数在执行成功时则返回0,失败时则返回-1,错误原因存于errno。 link()所建立的硬连接无法跨越不同文件系统,如果需要请改用symlink()。

errno错误代码:

EXDEV 参数oldpath与newpath不是建立在同一文件系统。

EPERM 参数oldpath与newpath所指的文件系统不支持硬连接

EROFS 文件存在于只读文件系统内

EFAULT 参数oldpath或newpath 指针超出可存取内存空间。

ENAMETOLLONG 参数oldpath或newpath太长

ENOMEM 核心内存不足

EEXIST 参数newpath所指的文件名已存在。

EMLINK 参数oldpath所指的文件已达最大连接数目。

ELOOP 参数pathname有过多符号连接问题

ENOSPC 文件系统的剩余空间不足。

EIO I/O 存取错误。

范例

/* 建立/etc/passwd 的硬连接为pass */ #include<unistd.h>main(){link(/etc/passwd,pass)}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7164070.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存