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

嵌入式操作系统

嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部
软、硬件资源的分配、任务调度,控制、协调并发活动。
嵌入式实时系统自底向上包含三个部分
硬件环境
嵌入式实时操作系统 ——RTOS
嵌入式实时应用程序
嵌入式(实时)操作系统:用于嵌入式设备的操作系统,具有通用操作系统的基本特点,又具有系统实时性、硬件的相关依赖性、软件固态化以及应用的专用性等特点;
嵌入式(实时)操作系统的重要指标:实时性(中断响应时间、任务切换时间等)、尺寸(可裁剪性 )、可扩展性(内核、中间件)
1. C/OS——Micro Controller O S,微控制器操作系统
C/OS的性能特点(一)
公开源代码
可移植性(Portable)
绝大部分 C/OS-II 的源码是用移植性很强的 ANSI C 写的。和微处理器硬件相关的那部分是用汇编语言写的。汇编语言写的部分已经压到最低限度,使得 C/OS-II 便于移植到其他微处理
器上。 C/OS-II 可以在绝大多数 8 位、 16 位、 32 位以至 64 位微处理器、微控制器 、数字信号处理器(DSP) 上运行。
可固化(ROMable)
C/OS-II 是为嵌入式应用而设计的,这就意味着,只要用户有固化手段(C 编译、连接、下载和固化 ) C/OS-II 可以嵌入到用户的产品中成为产品的一部分。
可裁剪(Scalable)
可以只使用 C/OS-II 中应用程序需要的那些系统服务。也就是说某产品可以只使用很少几个 C/OS-II 调用,而另一个产品则使用了几乎所有 C/OS-II 的功能,这样可以减少产品中的
C/OS-II 所需的存储器空间 (RAM ROM) 。这种可剪裁性是靠条件编译实现的。
占先式(Preemptive)(内核)
多任务
C/OS-II 可以管理 64 个任务 (2.82 以上版支持 256 个任务 ) ,保留8个给系统。应用程序最多可以有 56 个任务。
可确定性
全部 C/OS-II 的函数调用与服务的执行时间具有可确定性。
任务栈
每个任务有自己单独的栈, C/OS-II 允许每个任务有不同的栈空间,以便压低应用程序对RAM 的需求。
系统服务
C/OS-II 提供很多系统服务,例如邮箱、消息队列、信号量、 块大小固定的内存的申请与释放、时间相关函数等。
中断管理
中断可以使正在执行的任务暂时挂起,如果优先级更高的任务被该中断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行,中断嵌套层数可达255 层。
稳定性与可靠性
µC/OS-II提供的系统服务
信号量
带互斥机制的信号量
减少优先级倒置的问题
事件标志
消息信箱
消息队列
内存管理
时钟管理
任务管理

 

μ C/OS-II 是一个实时操作系统内核,它只包括了任务调度、任务管理、时间管理、内存管理和任务间 的通信与同步等基本功能,而没有提供输入输出管理、文件管理、网络之类的额外服务。但是,由于 μC/OS-II 的可移植性和开源性,用户可以自己添加所需的各种服务。
特点
1. 公开源代码
2. 可移植性
3. 可固化
4. 可裁剪
5. 占先式
6. 多任务
7. 可确定性
8. 任务栈
9. 系统服务
10. 中断管理
11. 稳定性与可靠性
应用
1. 任务管理
2. 时间管理
3. 任务之间的通信与同步
4. 内存管理
5. 中断处理

 

http://www.xdnf.cn/news/4021.html

相关文章:

  • 剥开 MP4 的 千层 “数字洋葱”:从外到内拆解通用媒体容器的核心
  • Vue3从入门到精通
  • GJOI 4.29 题解
  • 利用 Python pyttsx3实现文字转语音(TTS)
  • 9.进程控制(上)
  • linux 历史记录命令
  • Python爬虫(18)反爬攻防战:动态IP池构建与代理IP实战指南(突破95%反爬封禁率)
  • 全局过滤器与局部过滤器: Vue中的文本格式化工具
  • Python中的JSON库,详细介绍与代码示例
  • STC单片机与淘晶驰串口屏通讯例程之01【新建HDMI工程】
  • 计算机视觉与深度学习 | 图像匹配算法综述
  • Spring Boot 加载application.properties或application.yml配置文件的位置顺序。
  • Qwen3 性价比新王 Qwen3-30B-A3B 本地私有化部署,可灵活切换思考模式
  • 信息系统项目管理师-软考高级(软考高项)​​​​​​​​​​​2025最新(九)
  • Qml组件之AnimatedImage
  • 牛客1018逆序数-归并排序
  • 从入门到登峰-嵌入式Tracker定位算法全景之旅 Part 5 |地图匹配与轻量 SLAM:HMM/Viterbi 与简化图优化
  • 【PaaS与AI融合】MLOps平台的架构设计
  • DHCP服务器配置
  • PHP的现代复兴:从脚本语言到企业级服务端引擎的演进之路-优雅草卓伊凡
  • HTTP协议
  • 如何判断node节点是否启用cgroup?
  • 深入浅出数据库规范化的三大范式
  • 网络传输中字节序
  • 线程局部存储----TLS
  • seaborn
  • suna工具调用可视化界面实现原理分析(二)
  • 黑马点评day02(缓存)
  • 五一の自言自语 2025/5/5
  • 基于python的哈希查表搜索特定文件