UCOSii和Linux的区别和联系

想通过UCOSii来理解Linux的系统架构,故参考一些资料,简单整理了一下UCOSii和Linux的区别和联系,以此来更好的学习Linux。

其具体对比如下:

OS 释义 UCOSii Linux
OS
定义
1.用户和计算机的接口;
2.也是计算机硬件和其他软件的接口。
1.免费,源代码公开的分时多任务多用户操作系统 1.免费,源代码公开的实时多任务操作系统
内核 1.是一个操作系统的核心;
2.是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、内核体系结构、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
1.内核包括系统初始化、任务调度、内存管理、中断进出的前导、时钟节拍、事件处理等多部分,但其没有提供输入输出管理,文件系统,网络等服务;
2.其为抢占式内核,允许中断服务程序中断,中断结束后重新进行任务调度,即重新调用最高优先级任务。
1.内核包括进程管理,内存管理,设备管理,网络管理四部分;
2.其为非抢占式内核,实时性差。当进程运行在用户态时,可以被优先级更高的进程抢占,但当他进入核心态时,优先级再高也不能抢占它;
3.区分用户态和核心态。
实时性 1.实时任务分为软实时和硬实时;
2.硬实时对响应时间要求较高,且时间不被满足时会导致致命的错误,软实时随对响应时间有要求,但不是强制,不会给系统造成致命错误。
1.是一个基于优先级调度的抢占式的实时内核,不仅内核支持抢占,同时支持任务的抢占式调度,优先级低的任务可以被高优先级任务抢占,也可被中断服务抢占。这就保证了系统可以尽可能快的对外部事件做出响应
2.UCOSii实时性较好。
1.主要考虑调度的公平性和吞吐量等指标,尽管系统可以通过把实时事件赋予高优先级的方法来实时响应实时事件,但效果有限,对于响应时间要求比较高的硬实时任务,无法满足要求;
2.通过一些改进的措施,linux的实时性可以弥补,例如:增加内核可抢占性,细化系统时钟粒度,改善屏蔽中断处理,改善调度算法等。
3.其为不可抢占式调度,实时性较差
任务调度 1.协调任务对计算机系统内资源(如内存、I/O设备、CPU)的争夺使用 1.完全基于任务优先级的抢占式调度。当出现具有更高优先级的任务处于就绪态时,进行任务的上下文切换,当前任务将停止运行,把cpu的控制权交给具有更高优先级的任务;
2.最多可调度64个任务,每个任务具有不同的优先级,当前运行的总是优先级最高的任务;
3.无法进行同等优先级的任务调度。最高优先级任务的确定是通过建立就绪任务表来实现的;
4.每一个任务都有独立的堆栈空间,并有一个任务控制块TCB,任务控制块中包含了任务执行中的所有信息。
1.其调度策略为优先级调度和时间片轮转调度;
2.区别于UCOSii的,时间片轮转调度可进行同等优先级任务的调度,让这些任务依次运行一段时间,从而保证系统中同等优先级任务具有平等的运行权利;
3.调度算法实现时根据每个任务的与调度相关的4个参数来进行,分别是实时进程的静态优先级,进程调度策略,用户设定的优先级和进程本轮调度剩余时间片;
4.任务调度的机制决定了其实时性的障碍
内存管理 1.软件运行时对计算机内存资源的分配和使用的技术 1.其采用的是连续存储空间管理方式中的固定分区方式;
2.每个内存分区都有一个内存分区控制块。
1.其采用的是连续存储空间管理方式中的页式管理机制;
2.其使用了虚拟存储技术,每个任务从内存中获得一定数量的页面,把当前不访问的页面置换出去,为需要页面任务腾出空间,其存在不确定性,实时性较高的系统不会使用。
时间管理 1.为操作系统提供时钟及定时中断 1.其使用硬件定时器产生一个周期为毫秒级的周期性中断来实现系统时钟;
2.任务是一个无限循环,并且该系统为一个抢占式内核,为了避免高优先级的任务独占内核,在低优先级任务的合适位置都必须添加延时函数,来暂停当前任务。
3.同时还可以利用定时来实现周期性中断回调函数。
1.Linux的时钟也是通过定时中断来实现的;
2.Linux系统有两个时钟,一个是实时时钟,仅在操作系统关机时,在电池供电情况下计时。另一个是系统时钟,开机时系统时钟根据实时时钟进行初始化,然后系统根据频率节拍进行周期性中断计时,系统时钟在关机下是不存在的。在关机时和实时时钟进行同步。
文件系统 1.是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统 1.无文件管理系统 1.Linux文件系统继承了unix系统的文件系统功能特性,还采用了EXT2文件系统,EXT2功能强大,易扩充,性能上全面优化;
2.还有虚拟文件系统,使得linux可以支持多个不同的文件系统。/proc文件系统是一个伪文件系统,用户和应用程序可以通过它得到系统信息,改变内核的某些参数。
可移植性 1.将操作系统移植到不同的处理器上;
2.两种系统都可以运行在多种平台上,一致性好。
1.UCOSii移植比较简单;
2.只需要几K字节的RAM即可。
1.Linux移植比较复杂;
2.需要几百k字节RAM以上。
用户界面 1.ucos则不具备,需要通过第三方图形界面系统来弥补,如:uc/gui,emWin. 1.Linux具有良好的用户界面,包括用户界面shell,和系统调用界面。
应用领域 1.UCOSii广泛应用与工业控制中,单片机领域中,有线数字电视领域机顶盒设计中,移动通信终端领域等。 1.linux广泛应用在服务器领域,在桌面应用方面也达到了一定水平。
其他 1.ucos还支持一些比较好的机制,如信号量,用以实现任务与任务之间,任务与中断服务程序之间的同步和互斥问题;消息队列,用以实现任务间的缓冲通信;邮箱,一种低开销的传送信息机制;
2.优先级继承协议和天花板协议,用以解决任务调度是阻塞的问题。
3.标准的ucos无输入输出管理,没有网络服务
1.linux还具有设备的独立性,将所有外部设备统一当做文件来管理。新增设备只需在内核中增加必要的设备驱动程序。这也使得linux具有较好的适应能力

以上只是做了较为简单的共性对比,没有具体说明Linux的优势及其复杂性。望大家指正交流。

UCOSii和Linux的区别和联系相关推荐

  1. uclinux与linux的区别

    一.名字含义: 在uClinux这个英文单词中u表示Micro,小的意思,C表示Control,控制的意思, 所以uClinux就是Micro-Control-Linux,字面上的理解就是" ...

  2. unix与linux的区别_Linux与Unix:有什么区别?

    unix与linux的区别 如果您是20多岁或30多岁的软件开发人员,那么您已经在Linux主导的世界中长大了. 数十年来,它一直是数据中心的重要参与者,尽管很难找到确定的操作系统市场份额报告,但Li ...

  3. UcOS-II 和linux比较

    UcOS-II 和linux比较 随着现代计算机技术的飞速发展和互联网技术的广泛应用,从pc时代过渡到了以个人数字助理.手持个人电脑和信息家电为代表的3c(计算机.通信.消费电子)一体的后pc时代.后 ...

  4. Android与Linux的区别

    Android这一词最先出现在法国作家利尔亚当在1886年发表的科幻小说<未来夏娃>中,作者将外表像人类的机器起名为Android,这也就是Android小人名字的由来.Android是基 ...

  5. 嵌入式linux和桌面linux的区别

    嵌入式linux和桌面linux的区别主要区别是: 1. 硬件平台: 嵌入式Linux一般是Mips, ARM平台, 桌面Linux一般是x86平台. 2. 根文件系统 嵌入式Linux一般用UBIF ...

  6. Unix和linux的区别与联系

    UNIX和Linux的授权方式不同 从根本上讲,UNIX和Linux最大的区别在于前者是对源代码实行知识产权保护的传统商业软件.在UNIX发展初期,当时的UNIX版权归AT&T公司所有.为了促 ...

  7. 云儿带您了解Unix和linux的区别与联系

    UNIX和Linux的授权方式不同 从根本上讲,UNIX和Linux最大的区别在于前者是对源代码实行知识产权保护的传统商业软件.在UNIX发展初期,当时的UNIX版权归AT&T公司所有.为了促 ...

  8. Unix与Linux的区别

    Unix与Linux的区别 1.Linux是Unix的开源实现.Unix是商业化的,而 Linux 是开源的,是免费.公开源代码的. 2.Unix系统大多是与硬件配套的,也就是说,大多数Unix系统如 ...

  9. Unix和Linux的区别和联系

    }区别:}1) UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上. }2) UNIX是商业软件,而Linux是自由软件,免费.公开源代码的. } 联系:}Linux的思想源于Uni ...

最新文章

  1. C# SHA1散列算法
  2. JS-copy到剪贴板
  3. 【CodeForces - 195A】Let's Watch Football (追及问题,模拟)
  4. qt使用动画提示正在载中
  5. selenium python文档_selenium+python实现百度文库word文档抓取
  6. Python学习_进程multiprocessing 多进程 协程
  7. java me手机版,一个经典的 JAVA ME 手机程序入门级源码
  8. 我们究竟什么时候可以使用Ehcache缓存(转)
  9. 【ML小结3】线性回归与逻辑回归、softmax回归
  10. jsmind 线条_使用jsMind显示思维导图
  11. UE4插件共享汇总大全
  12. 2018-2019年计算机类会议截稿日期汇总(更新至20180914)
  13. pandas GUI 神器 D-Tale,可视化操作自动转代码
  14. 旺旺打标工具,淘宝搜索打标软件(含旺旺打标API接口)
  15. Java使用阿里云视频点播
  16. 完成清除工作,可以Destory窗口标志
  17. kafka和raft共识机制
  18. 千万数据量下的真实业务场景SQL性能优化!
  19. python docker 镜像过大_Docker镜像压缩与优化操作
  20. 力扣PTA~每天至少三题

热门文章

  1. iis 自动重启的bat
  2. 【pytest-html】深度探索pytest-html测试报告的自定义使用
  3. 【Codeforces 777 D Cloud of Hashtags】
  4. linux CLK时钟驱动
  5. Dubbo (二) ---------- Dubbo 框架
  6. C#图片加载与内存释放
  7. 十个相似图片搜索网站(以图找图)
  8. request to https://registry.npm.taobao.org/jsprim failed, reason: connect ETIMEDOUT 错误解决方案
  9. 通过语言包,让云豹短视频源码实现国际化运营
  10. 二十、HTTP 协议状态码-5XX