两个操作系统不是一个概念,建议学linux
实际上两者的交集不是很大,虽然同样是操作系统的范畴,但一个是实时操作系统ucos,一个是非实时操作系统linux
他们的开发区别很大,虽然在一些调度机制上相似,但所面向的场景很不相同。
linux通常运行在cortex-a系列芯片上,其驱动和用户层是分离的,驱动开发有专门的一套模型,用户层开发也非常丰富,有许多库,能在直接在系统里面编程
但ucos通常运行在cortex-m系统上,虽然-a系统也可以运行,但其驱动实际上跟裸机没什么区别,没有不同层之间的屏蔽,只是多了分时调度而已。
看你后面准备干什么?
linux的应用范围、领域更广泛,ucos主要面向工控领域。
建议还是先学ucos,然后再学习Linux。后者比前置难。
而且关键还是看你的具体应用和使用的芯片
其实这些系统在编程的时候都是差不多的,使用的都是邮箱队列信号量,来实现不同任务间的通信
至于先学哪个,看你对哪个平台更熟悉,如果对单片机熟悉的,可以先学ucos,如果对应用开发更熟悉的,可以先学习linux
ucos和linux都是操作系统,但是应用的平台不一样。
ucos通常都是应用在单片机上,因为单片机资源没那么丰富,但对一些实时性又有要求,就可以用ucos这种实时性操作系统;
Linux通常都是嵌入式芯片,或计算机平台
看你工作需要的应用或兴趣了
ucos和linux还是差别很大。
ucos是实时操作系统,对单片机这种处理多任务,对实时性要求高的比较适合;
Linux没法运行在单片机上,是运行在嵌入式芯片或计算机平台上,系统非常庞大,适合高性能、复杂的应用处理。
ucos学习周期一两个月 linux一年半载
两者完全不一样
LINUX的学习完全和单片机不一样 不要以为有单片机基础会快一点
先学 ucos 吧,比较简单,学会了 对 linux 学习帮助很大很大。
ucos 简单,好学,linux 很大很大,从简单到复杂,学起来平顺
没学过操作系统的话,还是先学 ucos ,再学 linux 吧,直接学 linux 起点太高了,可能搞不定,ucos 简单,学会了之后有了操作系统的思维,再学 linux 会很享受。
只要基础好,c 语言熟练,指针熟练,数据结构,算法,硬件 arm 架构原理,操作系统原理,这些都具备,学起来也不难,很快就回了。
操作系统会不会只是一瞬间的事情,但是这一瞬间之前需要积累很多东西。
或者看工作需要,如果是单片机领域的就学 ucos。
其他的应用开发,学 linux 系统