djyos 是一个
嵌入式实时操作系统,没有考虑在
通用计算机/服务器上与windows、
linux、unix竞争。
简介
1.djyos 是一个
嵌入式实时操作系统,没有考虑在
通用计算机/服务器上与windows、linux、unix竞争。
2.在嵌入式领域,djyos 要与非实时操作系统如linux、wince竞争,以及实时操作系统如vxworks、qnx 等竞争。
3.djyos的目标,是改变中国无(有影响力的)操作系统局面,在不久的将来,世界上流行的操作系统中,有一个来自中国。
系统特点
djyos 操作系统是以事件为核心进行调度的,这种调度策略使
程序员可以按人类认知事物的习惯而不是计算机的习惯来编程。
普通操作系统中,调度是以线程为核心的,事件被作为线程的数据,标榜为“事件触发”的软件模型,也是由线程在一旁候着,待特定事件发生时线程恢复运行并把它作为输入数据加以处理。
以事件为核心的调度,则像设备和内存一样,把线程虚拟机作为处理事件所需要的资源看待,当某事件需要处理时,分配或者创建一个线程虚拟机给该事件,并启动该线程虚拟机处理事件。
目标和定位
(1).djyos 是一个
嵌入式实时操作系统,没有考虑在
通用计算机/服务器上与windows、linux、unix 竞争。
(2).在嵌入式领域,djyos要与非
实时操作系统如linux、wince竞争,以及实时操作系统如vxworks、qnx 等竞争。
(3).djyos 的目标,是改变中国无(有影响力的)操作系统局面,在不久的将来,世界上流行的操作系统中,有一个来自中国。
3.djyos 与其他操作系统的调度算法差异
(1).现有操作系统的进程(线程)是由应用程序创建出来的,应用程序员控制线程从出生到消亡的全过程。而djyos 中,应用程序员唯一的工作就是弹出事件。
(2).现有操作系统的内核调度器队列中接受调度的是线程(进程),而djyos是事件。
(3).现有操作系统的中,事件是作为线程的输入数据(资源)而存在,djyos中,线程是事件的资源。
(4).现有操作系统的中是线程(进程)等待事件发生,然后处理它,djyos 中,是事件等待空闲线程,然后用线程处理自己。
(5).现有操作系统的中,
程序员需要掌握线程(进程)技术,而djyos 中,程序员根本就不知道线程的存在。
4.djyos 与 ucosii 的比较
djyos 与 ucosii 的比较,其实并不完全科学,因为ucosii设计于上世纪90年代,并且专门针对当时的资源紧缺的单片机做了优化,对于这样的单片机来说,ucosii具有无可争议的优势,但也因此限制了它向更高级别的CPU发展,在这方面与djyos相比的差别表现在:
(1).ucosii 没有 driver 管理模块,而djyos 有完备的泛设备管理模块。
(2).ucosii 没有完整的内存管理,它只提供djyos 很小的一部分内存管理功能。
(3).ucosii 不支持轮转调度,它要求所有线程必须有不同的优先级。
(4).ucosii 不支持优先级继承,而djyos可以支持多重优先级继承。
(5)ucosii 没有完整的中断管理架构,而djyos有完整、科学的中断管理架构。
5.djyos 的运行平台
44b0x 上成功运行,马上要出 s3c2410(ARM9 ),lpc2136(ARM7 ),接下来要移植到cortex-m3 上(芯片为 stm32f103 )
6.51 上能不能运行
在 51 上运行是没什么意义的,把51 配置成能运行djyos 的程度,已经比ARM 贵了。
7.PC 平台或虚拟机能不能运行
现在不能,暂时也没有计划。
8.djyos 的适用范围
所有
嵌入式场合,首先将会在工业控制方向寻找突破口。
9. 书的出版问题
将出版,但完整的
电子版将继续共享,出版社是要冒成本收不回来的险支持 djyos 发展,希望经济条件许可的朋友们也支持出版社。
10. 开源问题
永久开源,但不一定永久免费。只要在作者声明收费前,把目标产品通知我,并开始实质性使用,由作者书面确认的产品,允许永久免费使用本操作系统。实质性使用指的是,能够制造出可以演示功能的样机,以及其他作者认可的情形。
11.djyos 的性能指标
djyos 不希望用户太过关心这些极限参数。
一个软件是否高效,由系统架构设计决定,而不是由某个片面指标决定的, djyos 优势在于:
1 、从技术层面协助项目经理组建和管理团队。
3 、引导程序员编写正确高效的代码。
说注重整体结构而不是个别极限参数,是作为一个系统的设计策略,这并不代表 djyos 的执行效率低,我的在
arm7 上慢如牛的 flash 上执行程序(无 cache ),把 ticks 设为 1mS ,在 fifo 只有 16 字节的 uart 上,以 115200 的 Baud 连续发送数据,运行非常顺畅。为避免引导用户过分关注这些细枝末节的东西, djyos 没有宣传这方面的性能。
对
上下文切换需要几个周期、中断延时几个微秒这些极限参数,
嵌入式实时操作系统都发展多少年了,谁还比谁强多少?纠缠这些单向指标没用,更应该关注 djyos 的整体性能。