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

【嵌入式】操作系统相关概念

关于嵌入式操作系统中基础概念的一些解析与理解~ヾ(◍°∇°◍)ノ゙简单易懂~~

目录

        一、操作系统相关概念

        二、高级操作系统特性

        三、时间片轮转与上下文切换

        四、操作系统与资源调度

        五、资源调度与资源争抢

        六、中断系统

        七、实时操作系统和非实时操作系统

        总结​


一、操作系统相关概念

        操作系统——为解决计算机资源争抢而编写的一个程序(软件、程序、while(true)的死循环)

        任务——计算机需要完成的某一项工作(程序员编写的一段代码,即需求)

        资源争用——多个任务在执行的过程中需要共享有限的资源

        顺序执行——任务一个接一个地执行(如DOS操作系统)

        多任务并行——同时运行多个任务(系统资源充足的情况下)(在单核的MCU上,多任务并行只是为宏观表现,微观程度上实际上仍为单独执行,只是切换速度快)

        任务优先级——根据任务的重要性和使用频率决定工作的优先级(为每个人物分配一个优先级值,表示任务的重要性)

        进程——正在进行的任务

        系统资源(如STC机中,有中断有IO有内存有CPU的运算)

        系统资源的冲突

二、高级操作系统特性

        任务切换——从满足A的需求任务切换到满足B的需求任务

        多任务并行

        任务优先级

三、时间片轮转与上下文切换

        合理时间片轮转+上下文切换=高效任务管理,资源分配

        时间片——为每个任务的需求来分配一段度定的时间,时间段内一对一进行;挨个任务进行轮转

        上下文切换——在任务之间进行状态切换的过程(状态记忆-但一定需记住前一个任务的状态,以便在下一个时间片回到该任务时继续原进度处理)

四、操作系统与资源调度

        优先级分配+时间片轮转=合理分配有限资源,管理不同任务之间的资源争抢问题

        优先级分配

        时间片轮转

五、资源调度与资源争抢

        批处理+优先级分配+时间片轮转=合理分配CPU的ALU计算资源,确保各个任务得到执行,同时避免资源的浪费和争抢

        批处理——按顺序挨个执行(DOS操作系统下的一个batch)

        优先级分配——根据任务的紧急程度和重要性来分配资源

        时间片轮转——为每个任务分配一定的时间片来使用资源

   

   

六、中断系统

        中断——突发事件(需响应处理,在中断处理函数中处理)

        当一个突发事件(例如外部设备发送的信号、计时器到期或者紧急错误)发生时,CPU会暂停正在执行的任务,转而处理这个突发事件。处理完中断后,CPU会返回到原来的任务,从中断前的位置继续执行。在计算机系统中,中断使得CPU能够在执行任务的同时,及时响应和处理紧急事件,提高系统的实时性和灵活性。

七、实时操作系统和非实时操作系统

        非实时操作系统——对任务的执行时间不确定,没有严格时间限制的操作系统

        实时操作系统——对时间片要求严格,需要在特定时间内完成任务的操作系统(并不是必须知道每个任务执行的结束时间,而是必须知道每个任务的响应时间);又分为硬实时操作系统与软实时操作系统

                ·硬实时操作系统(如Free RTOS)——时间片到来时立刻响应,没有任何拖延;任务必须在严格时间限制内完成,否则可能导致系统失效或者产生严重后果

                ·软实时操作系统(如Linux内核)——也为现在得到相应,但可延迟若干毫秒或一两个周期(不会对整体产生严重影响的情况下);任务有时间限制,三是即使没有完全满足时间要求,也不回导致系统失效或产生严重后果

                基于时间片切换的操作系统属于软实时操作系统

总结


http://www.kler.cn/a/315802.html

相关文章:

  • 《DiffusionDet: Diffusion Model for Object Detection》ICCV2023
  • P8680 [蓝桥杯 2019 省 B] 特别数的和
  • 11Java面向对象高级(篇2,Java程序的核心套路!!!!)
  • DHCP与DNS安全管理
  • 国标GB28181视频平台EasyCVR私有化部署视频平台对接监控录像机NVR时,录像机“资源不足”是什么原因?
  • btstack协议栈实战篇--SDP Client - Query Remote SDP Records
  • 中序遍历二叉树全过程图解
  • 关于ClickHouse建表 集群表 SQL
  • GitHub 上高星 AI 开源项目推荐
  • QT For Android开发-打开PPT文件
  • 如何备份SqlServer数据库
  • Lua中..和...的使用区别
  • Oracle 启动动态采样 自适应执行计划
  • 计算机毕业设计Python深度学习房价预测 房价可视化 链家爬虫 房源爬虫 房源可视化 卷积神经网络 大数据毕业设计 机器学习 人工智能 AI
  • postman工具
  • http请求怎么解析的 平时常用的正则表示式
  • 点击响应优化
  • 2017年国赛高教杯数学建模C题颜色与物质浓度辨识解题全过程文档及程序
  • Java内存泄漏排查
  • uniapp小程序持续获取用户位置信息,后台位置获取
  • 9.22学习记录
  • 如何在 UniApp 中实现地图的视野自适应?
  • STM32系统时钟
  • 如何创建标准操作规程(SOP)[+模板]
  • 移动技术开发:简单计算器界面
  • en造数据结构与算法C# 用Unity实现简单的群组行为算法 之 聚集