实时&并发系统分析及实现

本文分析了实时系统和并发系统的特点,指出在实时系统中,对时间要求严格,而并发系统则涉及任务的同步与资源共享。在无操作系统环境下,实现并发需要考虑任务调度和资源分配。文中以运动控制系统为例,讨论了在单片TI 2407 DSP上如何设计简单的实时并发系统,提出了分时和分空共享资源的策略。
摘要由CSDN通过智能技术生成

1.实时系统

所谓实时系统即对时间有要求的系统,比如说运动控制系统,必须在一个采样周期内完成采样、计算、输出 任务,显然采样周期取的越小,或者说cpu运算速度越低,对与软件设计的要求就苛刻。对于桌面软件设计一般不会存在这个问题。

2.并发系统

什么是并发系统?就是在同一时间(宏观上)必须同时进行的任务,cpu在同一时刻只能执行一条指令,也就是说要想用软件实现并发,无非3种方法:

1.将需要并发的任务的代码穿插起来,让cpu顺序执行。(其实很多基于前后台系统的单片机程序都是这种)
2.采用多cpu或者多核的分布式系统。
3.采用单cpu,分时共享cpu。
在写桌面应用软件的时候同样不存在这个问题,因为应用程序总是基于某种操作系统开发的,在有操作系统的情况下应用程序是在虚拟机上跑的,至于程序什么时候使用,使用哪个真正的pc资源对于程序员来说是透明的。
但是如果在没有操作系统的情况下程序员必须考虑如何实现并发。
以前我对操作系统的理解是:多任务就需要操作系统,对于单任务或者任务比较少的应用就没有必要使用操作系统。显然这个理解是不准确的,比如想让cpu完成100个任务,但是这100个任务都是顺序执行的,那么一个批处理程序就搞定了(当然看你怎么理解操作系统的概念,因为批处理程序也可以看成一个简单的操作系统)。所以是否需要使用操作系统是取决于你的应用中是否有并发,当系统中有并发的时候设计和实现起来比设计顺序执行的程序要困难的多(所以做桌面应用软件开发的人是幸福的,他们只需要专注于自己的应用,而不需要考虑当他们的程序在跑的时候,pc上还有其他的应用程序也在跑),因为必须要考虑并发的任务如何共享系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值