博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

飞翔,嵌入式linux

linux嵌入式系统必将大行于天下。专注于linux嵌入式系统的搭键,专注于高效稳定软件的开发,专注底层程序调试技术。
  feixiang.cublog.cn

关于作者
姓名:飞翔
Email:loughsky@sina.com
职业:IT
年龄:32
位置:北京
个性介绍:专注在嵌入式操作系统,以及高效程序调试
|| << >> ||
我的分类


关于在嵌入式系统中damon进程的设计
在嵌入式系统中,对响应速度要求很高,在我们设计一个进程时,如果其响应时间达不到要求,我们往往会把它设计成damon进程。
 
这样,虽然时间是满足了,但也带来很多问题。
1、Damon进程的数量,会占用大量的内存。
2、由于Damon进程的生存周期很长,内存泄漏的问题将会十分严重。
 
能不能有其他方法解决呢?
首先我们要先看看是什么占据了大部分的进程启动时间。
向我们的进程依赖的库越来越多,经常多达50~100,其load 库的时间将在几百毫秒级,这往往是制约进程响应时间的大头。我们怎么来节省这部分时间。
 
1、在进程的代码的开头,main函数中,加入pause()。然后运行它,这样这个进程只是加载了动态库,而停在了那里。
2、如果我们需要这个进程服务时,只需要向它发送一个信号,这个进程将继续运行。
3、当我们不再需要这个进程时,我们可以直接退出进程,释放进程所占用的所有内存。
4、然后在马上启动该进程,它将会加载动态库,然后停在那里。
 
这样我们就可以把进程加载动态库的时间节省出来。

发表于: 2008-03-19,修改于: 2008-03-19 17:50,已浏览894次,有评论3条 推荐 投诉


网友评论
网友: 本站网友 时间:2008-03-20 11:46:23 IP地址:218.241.187.★
如果在你退出或者加载进程的过程中,发出信号了,你没接受到,怎么办?
你的这个模型可能不适合大量消息处理的项目
关于你提出来的那两个原因。。。
个人认为,良好的设计和编码测试是可以规避的

网友: 本站网友 时间:2008-03-22 20:59:51 IP地址:61.135.152.★
写的很好,请你有MSN 么?

网友: 本站网友 时间:2008-03-24 12:40:04 IP地址:58.247.121.★
给我发邮件吧,很久不上MSN了。
loughsky@sina.com

 发表评论