当前位置: 首页 > news >正文

什么是实时操作系统(UCOS简介)

 uC/OS-III官网:Home Page - Weston Embedded Solutions

一、裸机与RTOS介绍

下面我将从不同方面阐述裸机与试试操作系统的区别,从而进一步介绍裸机和实时操作系统

  1. 定义:

    • 裸机:裸机指的是没有任何操作系统或软件层的硬件系统。在裸机状态下,程序可以直接访问硬件资源。
    • 实时操作系统:实时操作系统(RTOS)是一种专门设计用于实时应用程序的操作系统。它提供了严格的时间约束,能够确保任务在预定的时间内完成并响应外部事件。
  2. 硬件访问:

    • 裸机:在裸机环境中,程序可以直接访问硬件资源,如处理器、内存、外设等。程序需要自行负责管理硬件资源的分配和使用。
    • 实时操作系统:实时操作系统提供了一层抽象,使应用程序可以通过操作系统提供的接口来访问硬件资源。这样可以简化应用程序的开发和维护工作。
  3. 程序调度:

    • 裸机:在裸机环境中,程序执行的顺序由程序员手动编写的代码控制。没有操作系统提供的调度器来控制任务的执行顺序。
    • 实时操作系统:实时操作系统具有任务调度器,根据任务的优先级和时间约束来安排任务的执行顺序。它可以确保任务在规定的时间内得到处理。
  4. 响应能力:

    • 裸机:裸机系统的响应能力取决于程序员编写的代码和硬件资源的性能。对于实时需求较高的应用,裸机环境可能无法满足其严格的时间要求。
    • 实时操作系统:实时操作系统通常具有优化的调度算法和中断处理机制,能够提供更好的响应能力。它能够确保关键任务按时得到执行,从而满足实时应用的需求。

总的来说,裸机环境更接近底层硬件,对于某些特定的应用场景可能更加灵活和高效。而实时操作系统则提供了更高层次的抽象和管理,使得开发实时应用程序更加方便且可靠。选择使用裸机还是实时操作系统,需要根据具体的应用需求和性能要求进行权衡。

对于裸机系统而言:

while(1)

{

  打游戏();

  回复信息();

}

对于裸机系统而言:

while(1)

{

  打游戏();

  回复信息();

}

对于RTOS而言:

void main(void)

{

  /* 创建打游戏任务 */

  OSTaskCreate打游戏

  /* 创建回复信息任务 */

  OSTaskCreate (回复信息)

}

void 游戏(void)

{

   while(1)

   {

   打游戏();

   }

}

void 信息(void)

{

   while(1)

   {

   回复信息();

   }

}

 二、裸机与RTOS的特点

 裸机:裸机又称为前后台系统,前台系统指的中断服务函数,后台系统指的大循环,即应用程序

1、实时性差:(应用程序)轮流执行

2、delay:空等待,CPU不执行其他代码

3、结构臃肿:实现功能都放在无线循环

RTOS:RTOS全称为 Real Time OS,就是实时操作系统,强调的是:实时性

1、分而治之:实现功能划分为多个任务

2、延时函数:任务调度

3、抢占式:高优先级任务抢占低优先级任务

4、任务堆栈:每个任务都有自己的栈空间

注意:1、中断可以打断任何任务

           2、任务可以同等优先级

三、UCOS简介

1、µC/OS-III 是基于 C 语言编写的第三代小型操作系统 。

特征

uC/OS

uC/OS-II

uC/OS-III

发布年份

1992

1998

2009

抢占式多任务

最大任务数

64

255

无限制

单个优先级任务数

1

1

无限制

时间片调度

事件标志

队列

可裁剪

代码量

3K~8K

6~26K

6K~24K

… …

注意:UCOSIII是一个可裁剪、可剥夺的多任务系统,没有任务数目的限制,是UCOS的第三代内核操作系统。

3、UCOS的优势及特点

(1)稳定、可靠:UCOSIII是经过了多种安全认证加持的,包括航空、工业控制、医疗、汽车等等多领域的安全认证。

(2)资料全:官方提供的资料较全面

(3)支持系列广:支持多种不同架构的不同型号的处理器,比如:ST、NXP、Xilinx、Infineon…

(4)移植简单:C语言编写简单易用

相关文章:

什么是实时操作系统(UCOS简介)

uC/OS-III官网:Home Page - Weston Embedded Solutions 一、裸机与RTOS介绍 下面我将从不同方面阐述裸机与试试操作系统的区别,从而进一步介绍裸机和实时操作系统 定义: 裸机:裸机指的是没有任何操作系统或软件层的硬件系统。在…...

软考-操作系统

/4操作系统的作用 进程 进程的概念 进程是程序的一次执行过程,没有程序就没有进程 进程可有多个线程,线程可共享资源 进程的两个基本属性: 可拥有资源的独立单位可独立调度和分配资源的基本单位 线程可共享: 内存地址空间代码…...

【EasyExcel】excel表格的导入和导出

【EasyExcel】excel表格的导入和导出 【一】EasyExcel简介【二】EasyExcel使用【1】EasyExcel相关依赖【2】写Excel(1)最简单的写(方式一)(2)最简单的写(方式二)(3)排除模型中的属性字段(4&…...

Unity shader内置standard代码解析

最近有相关需求制作,所以这里编写一个文档,方便后续的流程查看。 下载源码 由于unity内置的shader是无法查看源码的,你需要去官网下载对应版本内置源码查看 在引擎下载那里,会有一个Built in Shaders,下载 打开以后…...

Redis 有序集合操作实战(全)

目录 ZADD 加入有序集 ZCARD 取成员数量 ZCOUNT 计算区间成员数量 ZINCRBY 运算 ZRANGE 取区间成员(升序) ZRANGEBYSCORE 按分值排序取成员 ZRANK 取成员排名 ZREM 移除成员 ZREMRANGEBYRANK 按位置区间批量移除 ZREMRANGEBYSCORE 按分值区间移除 ZREVRANGE 取区间成…...

化工DCS/SIS/MIS系统时钟同步(NTP服务器)建设

化工DCS/SIS/MIS系统时钟同步(NTP服务器)建设 化工DCS/SIS/MIS系统时钟同步(NTP服务器)建设 目前计算机网络中各主机和服务器等网络设备的时间基本处于无序的状态。 随着计算机网络应用的不断涌现,计算机的时间同步问…...

计算机网络工程师多选题系列——操作系统

得多选者得天下啊同志们! 摘录按照章节顺序,但事实上各章节习题有交叉。 1 操作系统 1.1 操作系统概论 操作系统的主要功能:进程管理、存储管理、文件管理、设备管理和用户接口。 操作系统的主要功能——设备管理:为用户程序提…...

matlab读写json文件

Background 通常,在matlab中使用mat文件进行数据存储。MAT文件是MATLAB中用来存储数据的二进制文件格式。MAT文件可以包含各种数据类型,包括数字、矩阵、向量、结构体、字符和函数等。但是,当和其他语言有交互时,mat文件会不太方便…...

数据治理-数据仓库环境

数据仓库环境包括一系列组织起来以满足企业需求的架构组件,从源系统流动到数据暂存区,数据可以在这里被清晰,当数据集成并存储在数据仓库或操作数据存储中时,可以对其进行补充丰富。在数据仓库中,可以通过数据集市或数…...

DevOps与CI/CD常见面试问题汇总

01 您能告诉我们DevOps和Agile(敏捷)之间的根本区别吗? 答:尽管DevOps与敏捷方法(这是最流行的SDLC[Software Development Life Cycle]方法之一)有一些相似之处,但两者在软件开发方面都是根本不同的方法。以下是两者之…...

OJ练习第178题——收集树中金币

收集树中金币 力扣链接:2603. 收集树中金币 题目描述 给你一个 n 个节点的无向无根树,节点编号从 0 到 n - 1 。给你整数 n 和一个长度为 n - 1 的二维整数数组 edges ,其中 edges[i] [ai, bi] 表示树中节点 ai 和 bi 之间有一条边。再给…...

uni-app打包iOS ipa文件后不上架App store为用户提供下载解决过程记录

写在前面,itms-services协议是什么 itms-services协议是苹果提供的一种让iOS应用在用户设备上无线安装或升级的协议。 具体来说: itms-services表示iOS应用无线安装服务的URL方案,格式为:itms-services://?actiondownload-manifest&urlMANIFEST_URL其中MANIF…...

MySQL学习系列(2)-每天学习10个知识

目录 1. INNER JOIN 和 ON 子句2. 死锁3. SELECT * 和 SELECT column1, column24. 数据库的视图5. MySQL的触发器类型6. MySQL表的备份和恢复7. MySQL存储引擎8. 索引优化9. MySQL中的子查询10. 使用连接(JOIN)从多个表中检索数据 👍 点赞&am…...

黑马JVM总结(十四)

(1)分代回收_1 Java虚拟机都是结合前面几种算法,让他们协同工作,具体实现是虚拟机里面一个叫做分代的垃圾回收机制,把我们堆内存大的区域划分为两块新生代、老年代 新生代有划分为伊甸园、幸存区Form、幸存区To 为什…...

vue项目升级webpack

vue项目升级webpack 目录 1. vue项目中影响webpack版本的是什么 2.理解package.json中库前缀^和~区别 3.升级webpack4到5操作 1. vue项目中影响webpack版本的是什么 答案是:vue/cli-service版本 2.理解package.json中库前缀^和~区别 x.y.z x代表大版本&#xf…...

ubuntu的root用户修改密码失败

解决如下: 查看文件属性是否有a或i lsattr /etc/group /etc/passwd /etc/shadow 移除a和i的属性权限 chattr -ai /etc/group /etc/passwd /etc/shadow 再次使用passwd进行修改密码,就成功了...

C++---链表

1、链表 1.1、链表的结构 每个链表开头都有一个头指针Head尾节点的指针域为NULL,用于判断此列表是否结束 如果一个链表开始就为NULL,那么该链表为空链表 链表中的先后不代表在真实内存中的位置,只是单纯的逻辑上关系 1.2、创建链表 我们首…...

Unity使用Mirror制作局域网的同步

1.脚本布置.参考tank那个demo制作 1.新建空物体,为管理脚本的物体:manager,挂载NetworkManager,kcpTransport,NetworkManagerHud. 2.设置玩家出生点,spawnPoint,设置好初始化的position的位置(*),挂载NetworkStartPosition的脚本 3.新建Player的预制体,挂载NetworkIdentity,Ne…...

算法 N皇后问题-(递归回溯)

牛客网 BM59. 解题思路: 行列、斜叉不在一条直线上。 命令行为 row, 列为col, row 从0开始递归直到最后一行,列从0开始遍历,直到最后一列,中间每一步记录或清除位置状态,状态分为 m1[col] 1, m2[row-col] 1, m3[r…...

个人博客搭建记录

个人博客地址:www.jiasun.top 使用github pagehexo搭建,主题为fluid,搭建步骤参照:Github hexo 实现自己的个人博客、配置主题(超详细) 主题:https://hexo.fluid-dev.com/ 搭建时的问题&…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...