找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 13159|回复: 18
收起左侧

从ucOS谈,为什么需要操作系统

  [复制链接]
ID:5203 发表于 2018-12-27 09:07 | 显示全部楼层 |阅读模式
从ucOS谈,为什么需要操作系统

1.操作系统可以显著降低开发难度。操作系统帮我们协调多个程序之间的耦合关系,比如我们需要将串口的接收到的数据显示在一块LCD上。传统做法是如图1所示 :

1.jpg
图1.无操作系统流程


该流程中当串口接收到数据再调用LCD显示程序将数据显示出来,而图2展示了一种基于操作系统的方法。在该方法中串口接收数据和LCD显示程序均以为自己独占CPU,各自都只是执行自己相关部分的工作,而什么时候显示到LCD屏幕,什么时候又继续接收串口数据这个协调工作将由操作系统完成。

  
2.jpg
图2 操作系统流程


从以上比较可以看出操作系统协调了不同功能程序以让他们共同完成同一个工作。同时操作系统又隔离了各个功能程序让它们的耦合程度降低。这样就方便设计人员编写各个功能模块,同时整个系统的结构也更加清晰。特别是系统逻辑结构复杂,功能模块较多的情况下操作系统的这一优点体现的更加明显。


2.操纵系统让每一个任务都认为自己独占CPU,方便代码编写。
同样采用上边的例子,无操作系统情况下我么需要在适当的时候分别调用串口接收数据程序和LCD显示程序,而有操作系统时我们只需要完成两个功能模块代码然后加入到操作系统就可以了。两个功能代码都是以无限循环的方式执行,结构显得就很简单。

3.操作系统增加代码的移植性。
这一点我认为在ucOS系统上体现得并不明显,对于其他系统例如android,linux等系统可以这样讲,因为他们基本上应该算是一个中等复杂系统,而ucOS是一个简单嵌入式系统。对于一个中等复杂系统它的底层硬件设备是有一定要求的,例如android设备,根据系统特性它就需要有GPS支持,显示屏支持,电子罗盘支持,摄像头支持这些支持都被列入android设备的系统内,它们以驱动的形式存在。而上层的应用程序通过调用底层的支持进而实现复杂的功能。而ucOS我认为它仅仅只是一个调度器,他的工作就是协调多个应用程序在单个MCU上"同时"运行而已,它几乎是没有驱动这个概念的。

以上图文的Word格式文档下载(内容和本网页上的一模一样,方便大家保存):
从ucOS谈,为什么需要操作系统.doc (45 KB, 下载次数: 125)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:142059 发表于 2019-3-1 22:46 | 显示全部楼层
你说的没错,单片机os说好听是操作系统,说不好听就是多任务调度系统,但是单片机本身主频低,资源少,也没办法提高系统功能。所以嵌入式操作系统不能和成熟的应用级操作系统相提并论。
回复

使用道具 举报

ID:434260 发表于 2019-4-15 11:42 | 显示全部楼层
多谢分享
回复

使用道具 举报

ID:499865 发表于 2019-4-25 07:46 | 显示全部楼层
作者写的很棒
回复

使用道具 举报

ID:495323 发表于 2019-10-17 19:46 来自手机 | 显示全部楼层
很棒很棒,加油
回复

使用道具 举报

ID:489682 发表于 2019-10-18 15:13 | 显示全部楼层
感谢分享!很棒!
回复

使用道具 举报

ID:636041 发表于 2019-11-5 15:29 | 显示全部楼层
写的很好。
回复

使用道具 举报

ID:20672 发表于 2019-11-24 10:52 | 显示全部楼层
其实就但担心任务切换的时候,单片机是关闭中断的,只是,外部中断是进不来的,所以比较担心51上面os的使用,因为没有arm强大,有systick等
回复

使用道具 举报

ID:690239 发表于 2020-2-5 15:07 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:559684 发表于 2020-3-26 10:28 | 显示全部楼层
其实就是一个压榨CPU的过程
回复

使用道具 举报

ID:216359 发表于 2020-5-5 10:39 | 显示全部楼层
我同意大家的说法。单片机是由许多的限定。RAM小  ROM不足,等等。在实际的电器中,每一个实际的电器个体,要处理的任务是非常有限的,一般不会超过十几个的。这样的话,在单片机种嵌入的任务就不会多,任务的切换在50US之内。实现一个一般意义的实时,是完全可以满足要求的。如扫地机,全自动洗衣机,二次仪表。
回复

使用道具 举报

ID:422924 发表于 2021-4-23 14:37 | 显示全部楼层
非常感谢,看到stm32上用不知道为啥要上操作系统,楼主讲的很清晰!
回复

使用道具 举报

ID:294175 发表于 2021-5-11 15:20 | 显示全部楼层
hghvhgv 发表于 2020-3-26 10:28
其实就是一个压榨CPU的过程

直男说的有道理
回复

使用道具 举报

ID:339320 发表于 2021-8-2 13:41 | 显示全部楼层
说得好,受益良多
回复

使用道具 举报

ID:935260 发表于 2021-8-12 08:18 | 显示全部楼层
很棒很棒,受益良多
回复

使用道具 举报

ID:883242 发表于 2021-8-31 20:14 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
回复

使用道具 举报

ID:825140 发表于 2022-2-10 12:56 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
回复

使用道具 举报

ID:1005572 发表于 2022-3-2 07:35 | 显示全部楼层
说的好   
回复

使用道具 举报

ID:1007919 发表于 2022-3-4 10:01 | 显示全部楼层

受益良多
说的好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表