好亂,都不想看
要是重新排版一下就更好了
原帖由 djyos 于 2009-2-3 18:06 发表 ... djyos下程序运行的过程,就是新事件不断发生,操作系统不断组织、创建、分配线程、进程以及其他资源去处理事件的过程。每弹出一条事件,djyos操作系统就为它分配一个事件控制块,事件处理完毕后收回事件控制块。未处理完毕的事件就会堆积在队列中,操作系统对队列的容量有一定的限制,当队列中事件数量达到限制数时,操作系统将拒绝接受新事件。 ...
支持又一中国人主持研发的操作系统!!
没看出来跟普通的linux主要区别在哪里,通用的linux不也是这样处理系统事件??请指点一二...另外,采用了djy系统的新模式后,整个系统的优势是什么?运行效率提高还是稳定性提高?
其实在现在众多的措作系统中,如果要脱颖而出,最主要的是要有自己的特色,运行效率又或是系统功能
比如android,它就是一个linux,但是由于运行效率比其他的linux高很多(比如摩托罗拉搞的),功能特色很明显(google地图功能),马上就让人眼前一亮...我想多了解一些djy系统的亮点,谢谢
[ 本帖最后由 cafeice 于 2009-2-13 16:19 编辑 ]
明显的区别在于:1、linux的进程(线程)是由应用程序fork出来的,应用程序员控制线程从出生到消亡的全过程。而djyos中,应用程序员唯一的工作就是弹出事件。2、linux内核调度器队列中接受调度的是线程(进程),而djyos是事件。3、linux中,事件是作为线程的输入数据(资源)而存在,djyos中,线程是事件的资源。4、linux中是线程(进程)等待事件发生,然后处理它,djyos中,是事件等待空闲线程,然后用线程处理自己。5、linux中,程序员需要掌握线程(进程)技术,而djyos中,程序员根本就不知道线程的存在。
原帖由 djyos 于 2009-2-13 16:29 发表 明显的区别在于:明显的区别在于:1、linux的进程(线程)是由应用程序fork出来的,应用程序员控制线程从出生到消亡的全过程。而djyos中,应用程序员唯一的工作就是弹出事件。2、linux内核调度器队列中接受调度的是线程(进程),而djyos是事件。3、linux中,事件是作为线程的输入数据(资源)而存在,djyos中,线程是事件的资源。4、linux中是线程(进程)等待事件发生,然后处理它,djyos中,是事件等待空闲线程,然后用线程处理自己。5、linux中,程序员需要掌握线程(进程)技术,而djyos中,程序员根本就不知道线程的存在。
这下明白多了,呵呵
不过我有些疑问:1 这个会节省系统开销吗?无论是fork出来还是通过事件来'fork',开销会减少吗?2,3: 可是最终都是作用于线程/进程,对系统开销有影响吗?4 如果没有空闲线程的话,还不是要启动一个?好处在哪里呢?5 如果这样的话,程序员怎么来获得对线程/进程的完全控制呢?在实际应用中,经常要用到多线程程序,还有线程间的同步问题,会受到影响吗?
原帖由 cafeice 于 2009-2-13 16:38 发表 这下明白多了,呵呵不过我有些疑问:1 这个会节省系统开销吗?无论是fork出来还是通过事件来'fork',开销会减少吗?2,3: 可是最终都是作用于线程/进程,对系统开销有影响吗?4 如果没有空闲线程 ...
原帖由 cafeice 于 2009-2-13 16:38 发表
不过我有些疑问:1 这个会节省系统开销吗?无论是fork出来还是通过事件来'fork',开销会减少吗?2,3: 可是最终都是作用于线程/进程,对系统开销有影响吗?4 如果没有空闲线程 ...
关于系统开销的问题,我没有做过测试,更没有跟其他操作系统比较过,djyos注重的是实时性,实时性主要关注的是确定性,其次才是快速性,也可以说两者并重。我想,当今的编程界中,系统开销差几个字节,或者运行时间节省几个周期,应该不是程序员首要关注的目标,就是某些没有其他卖点可宣传的系统拿来炒的指标罢了。软件的运行效率其实是一个系统问题,不是上下文切换等多几个少几个周期能决定得了的,这,考的其实是项目的系统设计师。关于您的第五个问题,说起来要长篇大论,在我共享的书《都江堰操作系统与嵌入式系统设计》的4.3.2节和第4.3.3.7节有比较详细的说明。
我只能说,一个操作系统最终表现出来的运行效率对用户体验是至关重要,应用软件系统设计师固然重要,但是来自操作系统级的容忍度及健壮度仍然是非常重要,就如同现在人们一提起windows mobile,几乎成了不稳定和效率地下的代名词
看了那两个章节,貌似程序员只能对程序作有限控制,也就是说假设我针对某个任务发了n次事件,但是并不知道他们实在并发运行与否,操作系统会根据情况作调度处理... 类似的想法曾出现在jvm中:即系统为你做好一切...但实际效果不是很理想,就算是jvm也是允许程序员强行启动线程的,这个在实际应用中几乎是必需的
另外想问问楼主对未来都江堰操作系统应用设备的大概定位是什么?mid, pda/smartphone类?
我上面说注重整体结构而不是个别极限参数,是作为一个系统的设计策略,这并不代表djyos的执行效率低,我的在arm7上慢如牛的flash上执行程序(无cache),把ticks设为1mS,在fifo只有16字节的uart上,以115200的Baud连续发送数据,运行非常顺畅。为避免引导用户过分关注这些细枝末节的东西,djyos没有宣传这方面的性能。djyos除了不允许控制别的事件的线程外,是可以完整控制线程的,但有一点小小的要求,就是你必须明确告诉操作系统启动或者停止线程的理由,不允许无缘无故地停止或启动,其实,无缘无故第停止和开始线程,就像随意地定义全局变量一样,是初级程序员制造混乱代码的利器,我不提供这些功能,其实是对他们微言大义式的引导。djyos可用于所有嵌入式设备,包括手持设备和工业控制。
[ 本帖最后由 djyos 于 2009-2-13 17:57 编辑 ]
强大呀 其实linux操作系统的最大的便捷就是socket的进程通信比哈
学习
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(9)
要是重新排版一下就更好了
支持又一中国人主持研发的操作系统!!
没看出来跟普通的linux主要区别在哪里,通用的linux不也是这样处理系统事件??请指点一二...另外,采用了djy系统的新模式后,整个系统的优势是什么?运行效率提高还是稳定性提高?
其实在现在众多的措作系统中,如果要脱颖而出,最主要的是要有自己的特色,运行效率又或是系统功能
比如android,它就是一个linux,但是由于运行效率比其他的linux高很多(比如摩托罗拉搞的),功能特色很明显(google地图功能),马上就让人眼前一亮...我想多了解一些djy系统的亮点,谢谢
[ 本帖最后由 cafeice 于 2009-2-13 16:19 编辑 ]
明显的区别在于:
1、linux的进程(线程)是由应用程序fork出来的,应用程序员控制线程从出生到消亡的全过程。而djyos中,应用程序员唯一的工作就是弹出事件。
2、linux内核调度器队列中接受调度的是线程(进程),而djyos是事件。
3、linux中,事件是作为线程的输入数据(资源)而存在,djyos中,线程是事件的资源。
4、linux中是线程(进程)等待事件发生,然后处理它,djyos中,是事件等待空闲线程,然后用线程处理自己。
5、linux中,程序员需要掌握线程(进程)技术,而djyos中,程序员根本就不知道线程的存在。
这下明白多了,呵呵
不过我有些疑问:
1 这个会节省系统开销吗?无论是fork出来还是通过事件来'fork',开销会减少吗?
2,3: 可是最终都是作用于线程/进程,对系统开销有影响吗?
4 如果没有空闲线程的话,还不是要启动一个?好处在哪里呢?
5 如果这样的话,程序员怎么来获得对线程/进程的完全控制呢?在实际应用中,经常要用到多线程程序,还有线程间的同步问题,会受到影响吗?
关于系统开销的问题,我没有做过测试,更没有跟其他操作系统比较过,djyos注重的是实时性,实时性主要关注的是确定性,其次才是快速性,也可以说两者并重。我想,当今的编程界中,系统开销差几个字节,或者运行时间节省几个周期,应该不是程序员首要关注的目标,就是某些没有其他卖点可宣传的系统拿来炒的指标罢了。软件的运行效率其实是一个系统问题,不是上下文切换等多几个少几个周期能决定得了的,这,考的其实是项目的系统设计师。
关于您的第五个问题,说起来要长篇大论,在我共享的书《都江堰操作系统与嵌入式系统设计》的4.3.2节和第4.3.3.7节有比较详细的说明。
我只能说,一个操作系统最终表现出来的运行效率对用户体验是至关重要,应用软件系统设计师固然重要,但是来自操作系统级的容忍度及健壮度仍然是非常重要,就如同现在人们一提起windows mobile,几乎成了不稳定和效率地下的代名词
看了那两个章节,貌似程序员只能对程序作有限控制,也就是说假设我针对某个任务发了n次事件,但是并不知道他们实在并发运行与否,操作系统会根据情况作调度处理... 类似的想法曾出现在jvm中:即系统为你做好一切...但实际效果不是很理想,就算是jvm也是允许程序员强行启动线程的,这个在实际应用中几乎是必需的
另外想问问楼主对未来都江堰操作系统应用设备的大概定位是什么?mid, pda/smartphone类?
我上面说注重整体结构而不是个别极限参数,是作为一个系统的设计策略,这并不代表djyos的执行效率低,我的在arm7上慢如牛的flash上执行程序(无cache),把ticks设为1mS,在fifo只有16字节的uart上,以115200的Baud连续发送数据,运行非常顺畅。为避免引导用户过分关注这些细枝末节的东西,djyos没有宣传这方面的性能。
djyos除了不允许控制别的事件的线程外,是可以完整控制线程的,但有一点小小的要求,就是你必须明确告诉操作系统启动或者停止线程的理由,不允许无缘无故地停止或启动,其实,无缘无故第停止和开始线程,就像随意地定义全局变量一样,是初级程序员制造混乱代码的利器,我不提供这些功能,其实是对他们微言大义式的引导。
djyos可用于所有嵌入式设备,包括手持设备和工业控制。
[ 本帖最后由 djyos 于 2009-2-13 17:57 编辑 ]
强大呀 其实linux操作系统的最大的便捷就是socket的进程通信比哈
学习