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

网站设计与开发想象力做网站

网站设计与开发,想象力做网站,wordpress本地字体,wordpress数据库里面改端口目录 1.什么是Freertos#xff1f; 2.为什么要学习RTOS#xff1f; 3.Freertos多任务处理的原理 1.什么是Freertos#xff1f; RTOS#xff0c;即#xff08;Real Time Operating System 实时操作系统#xff09;#xff0c;是一种体积小巧、确定性强的计算机操作系统…目录 1.什么是Freertos 2.为什么要学习RTOS 3.Freertos多任务处理的原理 1.什么是Freertos RTOS即Real Time Operating System 实时操作系统是一种体积小巧、确定性强的计算机操作系统。 RTOS 通常用于需要在严格时间限制内对外部事件做出反应的嵌入式系统如医疗设备和汽车电子控制单元 (ECU)。 通常此类嵌入式系统中只有一两项功能需要确定性时序即使嵌入式系统不需要严格的实时反应使用 RTOS 仍能提供诸多优势。Freertos是RTOS的一种常用的 RTOS 有国外的FreeRTOS、 μC/OS、RTX 和国内的 FreeRTOS、Huawei LiteOS 和 AliOS-Things 等其中尤以国外开源 且免费的 FreeRTOS 的市场占有率最高。 2.为什么要学习RTOS 第一从一个学生竞赛搞项目的角度而言掌握RTOS可以使编程更加简单从学习角度来看RTOS通常比通用操作系统体积更小重量更轻更加适用于内存、计算和功率受限的设备如STM32。学习RTOS也可以让我们加深对OS操作系统的理解。 第二从一个即将从事嵌入式方向的软件工程师而言仅仅将所有操作放在一个大循环里轮询实现问题当遇到一些轮询机制解决不了的问题时如果不会RTOS时一定会感到手足无措而学习RTOS就是解决这类问题的关键 第三从本人了解的信息而言几乎每一个大公司有使用RTOS有些是使用市面上占有率高的比如RT-Thread。有些是自己写一套操作系统所以熟练掌握一套典型的RTOS对于我们至关重要 3.Freertos多任务处理的原理 1内核是操作系统的核心组件。Linux 等通用操作系统采用的内核 允许多个用户看似同时访问计算机的处理器。这些用户可以各自执行多个程序看起来像是并发运行。 每个执行的程序由操作系统控制下的一个或多个线程实现。如果操作系统能够以这种方式执行多个线程则称为多任务处理。 像 FreeRTOS 这样的小型 RTOS 通常将线程称为任务因为它们不支持虚拟内存因此进程和线程之间没有区别。 上面是我从Freertos官网复制的一段话用我的话来说RTOS就像是一拳超人动漫中的男主用自己超强的速度制造出残影变成影分身一样RTOS实时操作系统就是利用计算机强大的处理能力来处理各种“任务”也就是制造“影分身”。但是其实“影分身”并不是实体而是“残影”所以就有了并发运行的说法。 2调度器是内核中负责决定在特定时间应执行什么任务的部分。内核 可以在任务的生命周期内多次暂停并恢复该任务。 如果任务 B 取代任务 A 成为当前执行的任务 即任务 A 暂停任务 B 恢复我们就可以称任务 A “换出”任务 B “换入”。 调度策略是调度器用来决定何时执行哪个任务的算法。在非实时多用户系统中 调度策略通常会确保每个任务获得“公平”的处理器时间。实时嵌入式系统中使用的策略详见下文。 只有当调度算法决定执行不同的任务时任务才会换出。这种切换可能在当前 执行的任务不知情的情况下发生例如调度算法响应外部事件或定时器到期时 还可能 发生在执行任务显式调用某个导致其让出、休眠也称为延迟或阻塞的 API 函数时。 如果某任务让出调度算法可能会再次选择同一任务执行。如果某任务休眠 则在指定的延迟时间到期前不可被选择。 同样如果某任务阻塞 则在特定事件发生例如数据到达 UART或超时期满之前将不可被选择。 操作系统内核负责管理这些任务状态和转换 确保根据调度算法和每个任务的当前状态在给定时间选择适当的任务执行。 参考上图中的数字标记 在标记 (1) 处任务 1 正在执行。 在标记 (2) 处内核将任务 1 换出…… ……并在标记 (3) 处将任务 2 换入。 在任务 2 执行期间在标记 (4) 处任务 2 锁定了处理器外设以进行独占访问图中不可见。 在标记 (5) 处内核将任务 2 换出…… ……并在标记 (6) 处将任务 3 换入。 任务 3 试图访问之前被任务 2 锁定的处理器外设发现其被锁定在标记 (7) 处阻塞以等待外设解锁。 在标记 (8) 处内核将任务 1 换入。 如此往复。 在标记 (9) 处任务 2 再次执行完成对外设的操作并解锁。 在标记 (10) 处任务 3 再次执行发现外设可用继续执行直到再次被换出。 实时操作系统 (RTOS) 利用与通用非实时系统相同的原理来实现多任务处理 但两者的目标截然不同。这一差异主要体现在调度策略上。实时嵌入式系统 旨在对现实世界的事件作出及时响应。这些事件通常有截止时间 实时嵌入式系统必须在此之前响应RTOS 调度策略必须确保遵守这些截止时间要求。 为在小型 RTOS如 FreeRTOS中实现这一目标软件工程师必须为每个任务分配优先级。RTOS 的调度策略 就是确保能够执行的最高优先级任务获得处理时间。如果存在多个能够运行的同等最高优先级任务既没有延迟也没有阻塞则调度策略可以选择在这些任务之间“公平”地分配处理时间。 这种基本形式的实时调度并非万能无法改变时间的快慢应用程序编写者必须确保设定的时序约束在所选任务优先级安排下是可行的。 上面的文章也是我从官方文档中复制的其实从上面的文章中可以看出来RTOS与通用的系统都使用相同的原理来实现多任务处理都是抢占式调度采用快速切换机制都有优先级的排序。但是他们所要实现的目标完全不同从而导致RTOS有一个特别的特点——每一个事件都有截止时间。 比如涉及一个带有键盘、LCD 和控制算法的实时系统 用户每次按键后 必须在合理的时间内获得视觉反馈如果用户在此期间无法看到按键已被接受 则该软件产品的使用感会很差软实时。如果最长可接受的响应时间是 100 毫秒则接受任何介于 0 和 100 毫秒之间的响应。 所以RTOS要求我们软件工程师为控制任务分配最高优先级因为 1.控制任务的截止时间比按键处理任务更严格。 2.错过截止时间对控制任务的后果比对按键处理任务更严重。 下图演示了实时操作系统如何调度这些任务。RTOS 会自行创建一个任务即空闲任务 仅当没有其他任务能够执行时该任务才会执行。RTOS 空闲任务总是处于 可以执行的状态。 请参阅上图 起初两个任务都不能运行vControlTask 等待合适的时间来开始新的控制周期 而 vKeyHandlerTask 则在等待按键操作。处理器时间分配给了 RTOS 空闲任务。 在时间 t1 处发生按键事件。vKeyHandlerTask 可以执行其优先级高于 RTOS 空闲任务 因此获得了处理器时间。 在时间 t2 处vKeyHandlerTask 已完成按键处理并更新 LCD。在按下另一个键之前该任务无法继续执行 因此将自己挂起RTOS 空闲任务恢复执行。 在时间 t3 处定时器事件指示执行下一个控制循环的时间到了。vControlTask 现在可以执行 因为优先级最高的任务被立刻分配了处理器时间。 在时间 t3 和 t4 之间vControlTask 仍在执行时发生了按键事件。vKeyHandlerTask 可以执行 但由于其优先级低于 vControlTask因此未获得任何处理器时间。 在 t4 处 vControlTask 完成了控制周期的处理并且直到下一次定时事件的发生前不能重新开始运行 进入阻塞态。vKeyHandlerTask 现在成为可以运行的最高优先级的任务 因此获得处理器时间以处理先前的按键事件。 在 t5 处按键事件处理完成并且 vKeyHandlerTask 进入阻塞态等待下一次按键事件。再一次 两个任务都未进入就绪态RTOS 空闲任务获得处理器时间。 在 t5 与 t6 之间定时事件发生并处理没有进一步的按键事件发生。 在 t6 处发生按键事件但在 vKeyHandlerTask 完成按键处理之前发生了定时事件。 此时两个任务都可以执行。由于 vControlTask 具有更高的优先级 因此 vKeyHandlerTask 在完成按键操作之前被挂起vControlTask 获得处理器时间。 在 t8 处vControlTask 完成控制周期的处理然后进入阻塞态等待下一次事件。vKeyHandlerTask 再次 成为运行的最高优先级任务因此获得处理器时间以便完成按键处理 。 这里值得一提的是当最高优先级定时事件到来时正在执行的事件会被抢占而当完成了控制周期的处理并且直到下一次定时事件的发生前不能重新开始运行进入阻塞态时会根据优先级继续分配任务。就像落入荒野时吃喝拉撒成为第一重要的事一样其他的恩怨情仇都放在一边当回归都市时恩怨情仇又占据了日常。
http://www.hkea.cn/news/14263595/

相关文章:

  • 杭州平面设计公司排行合肥seo推广培训
  • 网站建设的过程divider wordpress
  • 网站服务器备案公司标志logo
  • html5网站开发技术企业网站建设市场分析
  • 株洲市荷塘区城乡建设局网站网络营销方式哪些?
  • 网站建设必须注意的事项公司做公司网站宣传
  • 图书馆网站设计方案网站建设推广新业务
  • 北京网站推广优化公司网站不想被百度抓取
  • 电子产品网站开发背景wordpress cms免费
  • 太原网站开发哪家好网站seo诊断工具
  • 网站域没到期不能续费吗百度企业查询
  • 成都航空公司官方网站昆明 做网站 vr
  • 无水印视频素材下载网站怎么找回网站
  • 网站开发带后台网页设计公司的市场定位
  • 企业网站建设制作公司哪家好阿里云主机做网站
  • 建设银行杭州分行网站成华区网站建设公司
  • 怎样建设游戏网站wordpress基础开发教程
  • 能买源码的网站有哪些工信部网站备案查询 验证码错误
  • asp.net.做简单的网站jsp网站开发详解书籍
  • dede网站不能够生成wordpress 4 导航菜单
  • wordpress 嵌入播放ppt成都优化网站关键词
  • 郑州大学现代远程教育 《网页设计与网站建设》个人主页茂名网站建设推广
  • 在线免费视频网站推广选thinkphp还是wordpress
  • 关于网站内容建设的正确说法wordpress横向导航
  • 南昌网站建设培训企业简介优势项目案例等模块点选即用
  • 12306网站能不能用银河二计算机做服务器啊慢得要死国家高新技术企业官网
  • wordpress插件无法安装谷歌seo关键词优化
  • 最少的钱做网站模版网站如何优化
  • 一般找人做网站多少钱做汽车配件生意的网站
  • H5网站开发工程师wordpress php拓展