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代码

程序设计绝对是一门艺术,而不仅仅是一门技术。首先,程序设计的出发点是给别人看,可读、易理解、好维护。如果你的程序只能自己来维护,到你离开这个程序时,你程序也就与你一起离开了这个世界。为了可读、易理解、...
  • smmlzp
  • smmlzp
  • 2014年09月13日 19:55
  • 1065

SylixOS入门指南--架设开发环境

本文编辑环境 本文在windows7(64位)上使用Google Chrome浏览器编辑,为保证截图效果,所有截图均使用PicPick截取,windows7使用Windows 7 Base主...

ucGUI在SylixOS下的应用

工作准备 环境准备 在使用之前,须安装有SylixOS的集成开发套件,由于系统上安装的防火墙软件或者杀毒软件,可能会影响到集成开发软件的使用,因此,在使用本套件前请关闭计算机上的wind...

引言

1.1概述1980年,美国ReadySystem公司推出了实时操作系统VRTX/OS算起,如今已有30年的历史,RTOS产品也是繁花似锦。20世纪80年代,除VRTX外,还有IPI公司的MTOS和IS...

SylixOS_LWIP协议栈学习:动态内存管理

1.LWIP中的动态内存管理有三种方式     运行时C库自带的内存分配方式、LWIP中自带的内存堆(HEAP)分配方式、内存池(POOL)分配方式。     内存堆的特点是对...

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

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

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

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

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

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

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

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

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

RT-Thread实时操作系统是一个分层的操作系统,它包括了: • 组件层components,这些是基于RT-Thread核心基础上的外围组件,把一些功能模块划分成独立的一个个组件模块,做到组...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SylixOS 经得起检验的国产操作系统 (三)
举报原因:
原因补充:

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