这里列出了系统的主要模块和功能
一,微内核
1 多线程调度框架 ,调度以线程为单位,支持多CPU的管理。调度算法有抢占式、时间片和实时方式,可根据需求动态切换。线程的优先级分为5种:实时、硬件中断、事件处理、普通、工作者线程,每类又分256个优先级别
2 页式内存管理器 ,支持内存范围从4MB~127TB
3 X86-32 / ARM11 /MIPS32 /MIPS64 CPU支持,包括: ARM V6 以上体系(如s3c6410);MIPS 32/64位(如重庆8401,龙芯2e/2f,AMD RMI au1XXX)系列;x86 32/64位(如VIA ,AMD ,INTEL)系列.
4 实时/ 异步的异常和中断处理
二,中央管理层
1 对象管理器 ,为管理层提供基本的对象管理方法和框架
2 文件管理器 ,文件的映射,读写,删除,遍历等
3 内存管理器 ,提供虚拟内存淘汰,调度,权限,共享,类型处理等管理方法
4 进程管理器 ,提供高级的进程管理,包括创立,删除进程/线程,进程与内存、文件和安全等方面的关联性,可执行文件加载等
5 程序运行环境 ,为用户提供一个操作计算机的空间,并且在该空间中为所有的应用软件提供统一的软件的加载、运行、资源使用和终止环境,从而实现多用户登陆计算机互不影响
三,驱动层
1 独立的驱动运行环境,包括独立的驱动程序进程,直接输入的定时器,驱动对象管理器,全局的驱动运行空间等,做到驱动程序与内核的无关性
2 兼容现有主流驱动程序,无需再次开发,比如LINUX驱动和win32驱动
3 兼容现有主要的对驱动请求的方式,比如ioctl,read,write等方式
4 可重新启动的驱动程序框架,避免驱动程序死机
原生驱动组件
驱动管理层 |
安装、发现和配置驱动,并且提供驱动程序统一访问接口 |
文件系统 |
通过抽象层支持多种文件系统驱动,比如FAT文件系统,可以根据需要添加驱动。 |
通信协议框架 |
支持自定义的通信协议层 |
兼容驱动程序
PCI总线驱动 |
符合PCI规范的总线标准的硬件设备,提供硬件扫描、配置和电源管理等功能。 |
各种网卡驱动 |
网络硬件设备驱动 |
各种声卡驱动 |
通过兼容ALSA的方法驱动各种声卡设备 |
USB总线驱动 |
USB OHCD,UHCD,EHCD控制器支持 |
USB外设驱动 |
USB磁盘,USB摄像机等 |
ATA/SATA磁盘驱动 |
支持ATA/SATA标准的磁盘和光盘 |
一些其它小设备驱动 |
|
四,中间件
1 LSS,实现必要UNIX的管理功能,以兼容现有成熟的unix/linux上的软件,比如Xorg
2 分布式计算服务组件,以实现网格分布式计算
3 嵌入式开发平台,快速建立和开发基于嵌入式硬件的软件 ,比如手机系统等
4 多媒体平台,为播放各种影音提供中央的管理,编解码功能
6 基于X11的图形化用户操作界面,嵌入式上可以用DirectFB
7 基于WINE的WINDOWS兼容层
8 系统监视调试器 ,音频管理器等组件
五,应用编程接口(API)
基本用户编程接口分为3大部分:原生系统API、ANSI C标准库和POSIX兼容接口。用户也可以编写或移植动态库以扩展操作系统功能。
1、原生编程接口
用户/会话控制 |
得到用户及登录的会话信息,对其进行相关的控制和操作 |
系统服务支持 |
得到和控制系统服务的运行,比如启动新的服务及停止正在运行的任务 |
进程/线程控制 |
创建进程、线程并对其进行相关的控制 |
进程间通信/消息/远程过程调用 |
进行进程间的通信,发送消息以及进程间的过程调用 |
同步原语支持 |
包含信号量、事件、互斥量和自旋锁 |
内存管理 |
虚拟内存的分配管理,创建共享内存 |
多语言支持 |
国际语言支持 |
文件/目录操作 |
文件/目录操作,文件读写操作及文件映射 |
系统数据库操作 |
操作系统配置数据库,得到相关的配置信息及系统信息 |
多媒体支持 |
对多媒体控制的相关接口和编解码库 |
嵌入式开发平台接口 |
专门为嵌入式应用封装的平台,以快速的定制用户所需的嵌入式应用软件。平台提供的主要功能有: 1、 高效成熟的视频绘制接口directfb 2、 轻量级的进程/线程管理和封装,启动程序更加快捷高效 3、 标准的嵌入式桌面,让软件管理更加方便 4、 轻量级的界面控件,以最少的代码和小的内存消耗构建漂亮的用户操作界面 5、 轻量级的配置组件,让软件的配置界面和配置信息处理起来更加方便 |
其他支持函数 |
动态库装载,设备操作函数等 |
常见数据结构操作函数 |
包括基本链表、环形队列、块缓存池等基本函数支持 |
2、ANSI C标准库
Stdio |
ANSI C标准Stdio实现 |
Stdlib |
ANSI C标准Stdlib实现 |
String |
ANSI C标准String实现 |
Ctype |
CType |
Sys |
操作系统支持层 |
Math |
ANSI C标准Math实现 |
Setjmp |
Setjmp,longjmp |
Time |
ANSI C标砖Time实现 |
Signal |
信号量支持 |
3、POSIX兼容接口
Pthread |
Posix thread实现 |
Ipc |
SysV IPC通信,如SHM,SEM等 |
Dlfun |
动态库装载支持 |
Socket |
Socket标准实现 |