国产化实时操作系统研究之旅3-SylixOS源码结构

SylixOS操作系统开源,代码可从官方网站首页直接下载最新代码包,避免有打广告的嫌疑,链接就不放了,感兴趣的可以自行搜索。

我下载的是最新版本的sylixos-base-v183.zip,解压缩,代码项目可以使用eclipse直接打开。代码结构如下图:

国产化实时操作系统研究之旅3-SylixOS源码结构

 

从代码结构上看可以看出目前操作系统的代码完整程度,这款备受我期待的操作系统到底是噱头还是有真材实料,从今天开始让我一探究竟。

libsylixos目录:操作系统核心代码,目录结构如下

国产化实时操作系统研究之旅3-SylixOS源码结构

 

从目录结构上看,操作系统核心代码的功能还是比较完善的,代码组织与Linux内核也有几分相似,调度器、线程管理、线程通信、进程管理、线程通信、进程通信、硬件体系结构、外设驱动支持、网络协议该有的都有了。之后文章我会从操作系统第一行代码开始阅读并对内核架构进行分析。先领略以下代码风格,嘿嘿~~

国产化实时操作系统研究之旅3-SylixOS源码结构

 

我研究过uboot、Linux kernel以及其他开源代码,对代码比较有感觉,感觉找到了工程入口。代码风格干净整洁,感觉还不错!

国产化实时操作系统研究之旅3-SylixOS源码结构

 

熟悉ARM的小伙伴一看就知道,这是ARM处理器复位后执行的汇编代码,初始化模式、堆栈、时钟、关狗、BSS\DATA...。还是熟悉的配方。内核研究之旅就从这里开始了。

操作系统只有内核是不行的,还需要有完善的BSP软件包支持,我们看看默认都有哪些软件包。

libcextern:一些必要的库代码和头文件

libffi:“FFI” 的全名是 Foreign Function Interface,通常指的是允许以一种语言编写的代码调用另一种语言的代码。而 “Libffi” 库只提供了最底层的、与架构相关的、完整的”FFI”,因此在它之上必须有一层来负责管理两种语言之间参数的格式转换。

libgtest:gtest是一个跨平台的(Liunx、Mac OS X、Windows、Cygwin、Windows CE and Symbian)C++单元测试框架,由google公司发布。gtest是为在不同平台上为编写C++测试而生成的。

liblua: Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。有这个文本处理会变简单。可以处理正则表达式、文本解析。

libpcap:这个网络抓包神器

libsqlite3:嵌入式关系数据库

libVxWorks:vxWorks API兼容库

openssl:网络安全通信必备

pciutils:PCI总线分析工具

unfsd:网络文件系统

从第三方支持来看,SylixOS采用的都是开源框架代码集成实现的和Linux软件兼容性尚可,原来使用嵌入式Linux操作系统的对这些应该都不陌生。

做软件基本的IO、多任务、网络、数据库、脚本、加密该有的都有了,GUI部分代码没有集成到工程里,估计是嫌弃代码太大。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值