首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/osenlin/blog/4612987

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

鸿蒙系统 IO 栈分析 | 解读鸿蒙源码

华为的鸿蒙系统开源之后第一个想看的模块就是 FS 模块,想了解一下它的 IO 路径与 linux 的区别。现在鸿蒙开源的仓库中有两个内核系统,一个是 liteos_a 系统,一个是 liteos_m 系统。两者的区别主要是适应的场景不一样,liteos_a 系统适用于硬件资源更加丰富的场景,比如 CPU 更强,内存更大;而 liteos_m 系统则适用于 IoT 设备,相对来说硬件资源比较弱一些。所以我们就拿 liteos_a 系统来分析一下它的 IO 栈吧,毕竟它应对的场景更加复杂一些。 鸿蒙系统 liteos_a Kernel 的下载地址在这:https://gitee.com/openharmony/kernel_liteos_a。 1.FS 源码结构 下载内核源码后发现 fs 目录下似乎缺少很多东西。 当时觉得好奇怪,啥都没有,那它的 shell 相关命令是怎么使用 fs 模块进行读写的呢?于是发现鸿蒙的 FS 模块主要是从 Nuttx (注:Nuttx 是 Apache 正在孵化的实时操作系统内核)那里借用了 FS 的相关实现。这是从内核的 fs.h 引用的路径发现的,它引用...

npm依赖版本变动引发的惨案

[toc] 来了新同事,拉同一个项目到本地安装依赖之后跑不起来,但是其他三台电脑运行着都没问题。接下来就是逐步定位问题,首先排除了代码问题,因为最新代码在其他同事不同系统的电脑上都没正常运行,进过百度/谷歌/github issue搜索报错、反复重新拉项目、重启电脑、重装环境、重装系统等一天的的操作之后,终于定位到大概是依赖包版本更新的问题。。 项目里一共有60+依赖,主要的几个依赖都是手动锁死版本的,但有个lozad没有锁死,而且前段时间应该是发布了次版本更新,跟nuxt的兼容有问题所以报了错。跟运行正常项目的node_moduels中lozad版本对比,改了之后果然项目就跑起来了。 npm包管理原理 在思考解决方案前,首先了解下npm包管理及依赖版本管理的原理。这些都是通过package.json文件实现的 当你使用npm安装一个包(并保存它)或者更新一个包的时候,package.json里就自动添加了一条信息,包括包名和其版本。npm默认安装最新版本,然后在其版本号之前添加一个^符号。比如^1.2.12,它表明最低应使用1.2.12版本。并且在这之上,拥有相同大版本号的任何版本都...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册