关闭

SylixOS 经得起检验的国产操作系统 (三)

标签: SylixOS 操作系统 国产
1577人阅读 评论(0) 收藏 举报
分类:

        本篇文章将介绍SylixOS软件框架以及POSIX标准。欢迎大家造访SylixOS官网:http://www.sylixos.com

软件框架介绍

       SylixOS使用微内核设计,内核简洁高效,运行稳定快速,操作系统本身支持编译时裁剪。同时由于SylixOS是实时操作系统中少有的支持进程与动态装载的操作系统,所以整个系统支持运行时可裁剪。

       SylixOS系统框架图如下图所示。

 

       如上图所示,SylixOS内核(longwing)小巧,本身只提供基本的操作系统服务,例如:线程管理,基本的线程间通信,事件管理,中断管理,内存管理,多核实时调度器等,同时SylixOS内核包含一个基础的C++运行时库,所以SylixOS内核模块支持不带有异常处理和运行时类型识别功能的C++程序。

       内核上层所有服务均为可裁剪服务,例如I/O系统,标准设备,网络协议栈,POSIX兼容层等等。

       接下来的章节会详细介绍SylixOS各个功能组建的功能与特点。

POSIX标准

       在介绍SylixOS各个功能组件前,这里必须首先说明什么是POSIX系统。POSIXIEEE为了要在各种UNIX操作系统上运行的软件,而定义API的一系列互相关联的标准的总称,其正式称呼为IEEE 1003,而国际标准名称为ISO/IEC 9945。此标准源于一个大约开始于1985年的项目。POSIX这个名称是由理查德·斯托曼应IEEE的要求而提议的一个易于记忆的名称。它基本上是PortableOperating System Interface(可移植操作系统接口)的缩写,而X则表明其对Unix API的传承。

       其中POSIX对实时操作系统有一个子协议称作1003.1b它定义了标准实时操作系统的基本行为,SylixOS符合此协议要求。

       当前的POSIX主要分为四个部分:Base DefinitionsSystem InterfacesShell and UtilitiesRationaleSylixOS兼容这四部分的绝大多数API

       目前符合POSIX的操作系统有:UNIXBSDLINUXiOSAndroidSylixOSVxWorksRTEMS等等,由于SylixOS支持POSIX所以SylixOS的应用在这些操作系统上非常好移植。

       POSIX对操作系统基本行为做出了较为严格的规定,这些规定以API形式给出。同时提供了对标准API引用的头文件。这些头文件分为四组,分别称作:ISO C标准头文件、POSIX必须头文件、POSIX XSI扩展头文件、POSIX实时标准头文件。

这些头文件分别是:

ISO C标准头文件

<assert.h>                     验证程序断言(SylixOS支持)

<complex.h>                支持复数算术运算(libm支持)

<ctype.h>                     字符类型(SylixOS支持)

<errno.h>                            出错码(SylixOS支持)

<fenv.h>                      浮点环境(libm支持)

<float.h>                      浮点常量(gcc支持)

<inttypes.h>                 整型格式转换(SylixOS支持)

<iso646.h>                   替代关系操作符宏(gcc支持)

<limits.h>                    实现常量(SylixOS支持)

<locale.h>                    局部类别(SylixOS支持)

<math.h>                            数学常量(libm支持)

<setjmp.h>                   非局部gotoSylixOS支持)

<signal.h>                    信号(SylixOS支持)

<stdarg.h>                    可变参数表(SylixOS支持)

<stdbool.h>                  布尔类型和值(gcc支持)

<stddef.h>                    标准定义(gcc支持)

<stdint.h>                     整型(SylixOS支持)

<stdio.h>                      标准I/O库(SylixOS支持)

<stdlib.h>                     实用程序库函数(SylixOS支持)

<string.h>                    字符串操作(SylixOS支持)

<tgmath.h>                   通用类型数学宏(libm支持)

<time.h>                      时间和日期(SylixOS支持)

<wchar.h>                    扩展的多字节和宽字符支持(SylixOS支持)

<wctype.h>                  宽字符分类和映射支持(SylixOS支持)

POSIX必须头文件

<dirent.h>                    目录项(SylixOS支持)

<fcntl.h>                      文件控制(SylixOS支持)

<fnmatch.h>                 文件名匹配类型(SylixOS支持)

<glob.h>                      路径名模式匹配类型(SylixOS支持)

<grp.h>                        组文件(SylixOS支持)

<netdb.h>                     网络数据库操作(SylixOS支持)

<pwd.h>                      口令文件(SylixOS支持)

<regex.h>                     正则表达式(SylixOS支持)

<tar.h>                         tar归档值(SylixOS支持)

<termios.h>                  终端I/OSylixOS支持)

<unistd.h>                    符号常量(SylixOS支持)

<utime.h>                    文件时间(SylixOS支持)

<wordexp.h>                字扩展类型(SylixOS支持)

<arpa/inet.h>                Internet定义(SylixOS支持)

<net/if.h>                            套接字本地接口(SylixOS支持)

<netinet/in.h>              Internet地址族(SylixOS支持)

<netinet/tcp.h>              传输控制协议定义(SylixOS支持)

<sys/mman.h>                     内存管理声明(SylixOS支持)

<sys/select.h>               select函数(SylixOS支持)

<sys/socket.h>                     套接字接口(SylixOS支持)

<sys/stat.h>                  文件状态(SylixOS支持)

<sys/times.h>                进程时间(SylixOS支持)

<sys/types.h>                基本系统数据类型(SylixOS支持)

<sys/un.h>                    UNIX域套接字定义(SylixOS支持)

<sys/utsname.h>            系统名(SylixOS支持)

<sys/wait.h>                 进程控制(SylixOS支持)

POSIX XSI扩展头文件

<cpio.h>                      cpio归档值SylixOS支持)

<dlfcn.h>                            动态链接SylixOS支持)

<fmtmsg.h>                  消息显示结构SylixOS支持)

<ftw.h>                        文件树漫游SylixOS支持)

<iconv.h>                     代码集转换实用程序SylixOS支持)

<langinfo.h>                 语言信息常量SylixOS支持)

<libgen.h>                    模式匹配函数定义SylixOS支持)

<monetary.h>               货币类型SylixOS支持)

<ndbm.h>                    数据库操作SylixOS支持)

<nl_types.h>                 消息类别SylixOS支持)

<poll.h>                       轮询函数SylixOS支持)

<search.h>                    搜索表SylixOS支持)

<strings.h>                   字符串操作SylixOS支持)

<syslog.h>                    系统出错日志记录SylixOS支持)

<ucontext.h>                用户上下文

<ulimit.h>                    用户限制SylixOS支持)

<utmpx.h>                   用户帐户数据库SylixOS支持)

<sys/ipc.h>                   IPC(使用1003.1b标准)

<sys/msg.h>                 消息队列(使用1003.1b标准)

<sys/resource.h>           资源操作SylixOS支持)

<sys/sem.h>                  信号量(使用1003.1b标准)

<sys/shm.h>                 共享存储SylixOS支持)

<sys/statvfs.h>              文件系统信息SylixOS支持)

<sys/time.h>                 时间类型SylixOS支持)

<sys/timeb.h>               附加的日期和时间定义SylixOS支持)

<sys/uio.h>                   矢量I/O操作SylixOS支持)

POSIX实时标准头文件

<aio.h>                        异步I/OSylixOS支持)

<mqueue.h>                 消息队列SylixOS支持)

<pthread.h>                  线程SylixOS支持)

<sched.h>                     执行调度SylixOS支持)

<semaphore.h>             信号量SylixOS支持)

<spawn.h>                    实时spawn接口SylixOS支持)

<stropts.h>                   XSI STREAMS接口

<trace.h>                      时间跟踪

 

(本篇结束)

1
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8454次
    • 积分:161
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:3篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档