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

原创 2015年07月08日 16:12:09

        本篇文章将介绍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>                      时间跟踪

 

(本篇结束)

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

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

本章内容主要介绍SylixOS的内核服务。 SylixOS官网:http://www.sylixos.com。

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

本篇开始介绍“信号系统”、“IO系统”以及“标准设备”。详细信息请访问SylixOS官网:http://www.sylixos.com。

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

本篇介绍“进程模型”、“内核模块与动态链接库”以及“C++支持”。官网:http://www.sylixos.com。

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

本篇文章介绍“内建文件系统”和“网络通信”。官网:http://www.sylixos.com。

RT-thread国产实时操作系统概述

RT-Thread实时操作系统是一个分层的操作系统,它包括了: • 组件层components,这些是基于RT-Thread核心基础上的外围组件,把一些功能模块划分成独立的一个个组件模块,做到组...

国产操作系统小论

最近国产操作系统突然火了起来,各大媒体对国产操作系统争相报道,不断深入挖掘,并展开系列后续报道,让很多普通人也开始关注咱们国家自己的操作系统了。同时,在媒体上和官方中,上有院士倪光南呼吁,下有十来家国...

无人驾驶!国产操作系统上的最高黑科技!

导读 提到国产操作系统,用户多数会想到在政府等领域的传统应用,今天的这个产品绝对颠覆你对这个产品的认知,国产操作系统也能支持无人驾驶了!   当下火热的2016年的北京车展虽然没有美女模特助...

国产操作系统与数据库——忍不住的吐槽

因工作原因,一些系统要上国产化的操作系统、数据库和中间件,和这些国产化系统软件的技术人员打交道碰到了一些让我无语的事情。

国产操作系统

 概述 国产操作系统是指中国软件公司开发的计算机操作系统,目前主要是基于Linux开发的,但也有一些是自主开发的。主要的产品如下:    1.深度Linux(LinuxDeepin...

对国产操作系统发展的一些思考

跟行业内的朋友交流,对国产操作系统的开发和推广,有一些个人的观点,分享出来,欢迎朋友们批评和讨论。以下是我个人的一些思考,基于个人对行业的粗浅理解,以及个人在推动物联网操作系统时遇到的问题的总结。观点...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)