免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4423 | 回复: 4
打印 上一主题 下一主题

[操作系统] (求助)Linux下任务调度 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-02 10:57 |显示全部楼层 |倒序浏览
之前在LPC3250裸机上实现的嵌入式程序,现在要上Linux操作系统,我想问的是裸机程序已经模拟的任务调度(自己定义了任务优先级、任务队列等等)在Linux系统中怎样处理, 一秒钟分成50份,每份20ms,在这20ms时间内处理任务,如果20ms没用完还可以处理其他

任务,到20ms就转去处理下一个任务,这样一种任务调度。
在Linux中任务调度怎样处理,是不是用多线程来处理,还是定时器什么的。之前的任务调度是否可以交给操作系统来调度,如果可以这一步怎么来做?
刚刚接触LINUX,高手们帮忙看看,提供一些思路?

论坛徽章:
0
2 [报告]
发表于 2011-08-02 13:29 |显示全部楼层
回复 2# nazily2150


    硬件操作都通过设备驱动,驱动程序涉及I2C,UART,定时器,什么的,象I2C,UART这些都是私有协议,驱动搞好以后,加载到内核,应用程序操作硬件不也是和文件操作一样,open,什么的,用这些驱动(/dev下),那些任务调度通过多线程或者什么实现,是不是移植到Linux系统中,不用考虑裸机下任务调度的问题,还是比裸机任务调度要方便。--

论坛徽章:
0
3 [报告]
发表于 2011-08-02 15:34 |显示全部楼层
回复 2# nazily2150


我现在的任务调度情况是这样的:
有20个任务需要在1s内按顺序执行,并且每两个任务之间有空闲时间来接收UART的数据并处理任务,这样一种任务调度。
在Linux中任务调度怎样处理,是不是用多线程来处理,还是定时器什么的。

论坛徽章:
0
4 [报告]
发表于 2011-08-02 17:21 |显示全部楼层
回复 5# nazily2150


   1)这20个任务在1s内必须且只能执行一次,并且是按顺序执行的。如在1s内先执行了任务1、才能执行任务2。。。。
  2)当让每个任务不会超过20ms的执行时间;
  3)在每两个任务之间都需要有时间来处理串口的数据。

论坛徽章:
0
5 [报告]
发表于 2011-08-02 19:14 |显示全部楼层
回复 7# nazily2150


    谢谢你呀。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP