Snow 编程语言 v0.11.0 发布: 全面扩展系统调用

更新内容

新增功能

  • 系统调用家族大扩展:覆盖文件系统、I/O、网络、进程、线程、并发、环境与时间等领域:

    • 文件系统:CHDIRGETCWDMKDIRRMDIRREADDIRCHMODFCHMODUTIMETRUNCATE/FTRUNCATERENAMELINK/SYMLINK/READLINKSTAT/FSTAT
    • I/O:OPENCLOSEREADWRITEPIPEDUP/DUP2SEEKSET_NONBLOCKSTDIN/STDOUT/STDERR 封装。
    • 网络:socket/bind/listen/accept/connect/send/recv,以及 getsockopt/setsockopt/shutdown/getpeername/getsockname/getaddrinfo
    • 进程:EXITFORKEXECWAITGETPID/GETPPID
    • 线程:THREAD_CREATETHREAD_JOINTHREAD_SLEEP
    • 并发:MUTEX/COND/SEM/RWLOCK 系列(new/lock/unlock/trylock/wait/signal/broadcast 等)。
    • 环境与系统信息:GETENV/SETENVNCPURANDOM_BYTESERRSTR/ERRNOMEMINFO
    • 时间:CLOCK_GETTIMENANOSLEEPTIMEOFDAYTICK_MS
  • 模块化 OS 层:新增并细化 os 模块为 iofdfs 子模块,统一系统调用入口与封装。

  • 标准 I/O 统一:移除 PrintSyscall,全面切换为底层 STDOUT_WRITE;修正/统一 stdio 导入与调用。

  • 注册表与工具集:新增/完善 FDTableProcessRegistryThreadRegistryMutex/Cond/Sem/RwlockRegistrySocketRegistryEpollRegistry;引入 EnvRegistrySyscallUtils(统一 errno/errstr)、SelectorUtils(NIO 多路复用)。

性能和稳定性改进

  • 升级至 graalvm-jdk-25+37.1

  • I/O 路径与多路复用:基于 SelectorUtils 的 NIO 多路复用与 SET_NONBLOCK 支持,降低阻塞与上下文切换成本。

  • FD 管理与调度:优化 FDTable 结构与查找性能,减少热路径开销。

  • 执行链路简化:精简 SyscallFactory/SyscallCommandCallGenerator 路径,统一错误返回与异常传播。

  • 并发健壮性:完善锁/条件变量/信号量/RWLock 语义与边界条件处理,提升高并发场景稳定性。

开发者体验提升

  • 一键运行:每个 Demo 均提供 .run.xml;同时更新运行配置与命名规范(含 Demo44–46 标准化)。
  • 一致的错误语义:通过 SyscallUtils 统一 errno/errstr;日志与错误信息风格收敛,定位信息更明确。
  • 工程化细节:更新 .gitignore(新增 demoDir、忽略 *.txt/output.txt);stdioos 子模块导入一致化。
  • 迁移提示:如仍使用 PrintSyscall,请迁移至 STDOUT_WRITE 封装。

Bug 修复

  • 修复 Demo62/63 文件描述符未关闭与路径配置错误。
  • 修复 close 栈平衡问题与字节数组编码异常。
  • 修复多处 Demo 运行配置与边界输入下的异常处理不一致问题。

文档改进

  • 术语与格式统一:清理冗余导入与代码片段,统一缩进/风格,提升可读性与检索性。

如遇到使用问题,欢迎及时 提交 Issue

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/374820

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

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

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

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

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

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

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。