Vxworks学习(四)_内核

本文详细介绍了VxWorks实时操作系统的核心特性,包括实时性、微内核结构及其优势、任务调度的抢占式策略、任务属性如任务控制块、钩子函数和任务状态。同时,讨论了内核功能接口,如任务管理和信号量控制,并强调了在多任务环境下函数重入的重要性。
摘要由CSDN通过智能技术生成

声明本学习记录为笔者的学习记录笔记,其中大量借鉴了多本已出版书籍与网络资料,并会在文章末尾注明出处,同时笔者无虚拟机镜像。
本文参与于《VxWorks高级程序设计》-李方敏 进行整理。

一、实时内核

1.1 实时

实时表示控制系统能够计时处理系统中发生的要求控制的外部事件。
实时操作系统==性能评价指标: ==

  • 中断延迟时间
  • 任务切换时间
  • 系统响应时间

实时操作系统必须满足的条件:

  • 可抢占的内核
  • 可抢占的优先级调度
  • 中断优先级
  • 中断可嵌套
  • 系统服务的优先级由请求该服务的任务的优先级确定
  • 优先级保护(优先级翻转保护)
  • 前述实时操作系统性能评价指标具有固定上界;

Wind内核采用单一实时地址空间,任务切换开销非常低。

1.2 微内核

从内核功能和结构特点来看,具有整体式内核、层次式内核、微内核三种不同形式。
在这里插入图片描述
嵌入式操作系统大多采用微内核结构,具有以下优点:

  • 统一的接口,在用户态和核心态之间无需进程识别;可伸缩性好,易于扩充,能适应硬件更新和应用变化;
  • 可移植性好,操作系统要移植到不同的硬件平台上,只需修改微内核中极少代码即可;
  • 实时性好,内核响应速度快,可以方便地支持实时处理;
  • 安全可靠性高,微内核将安全性作为系统内部特性来进行设计,对外仅使用沙梁应用编程接口;
  • 适合分布式计算环境。内核为进程传递消息的方式天然适合RPC这一计算模式。

为了提高微内核效率,有两种实现方式:受保护的虚地址空间模式无保护的单一地址空间模式
前者优势在于任务独立运行,可靠性高

VxWorks 的 wind微内核采取单一实地址空间模式,所有任务在同一地址空间运行,不区分核心态和用户态。其优势在于:

  • 任务切换时不需要进行虚拟地址空间切换;
  • 任务间可以直接共享变量,不需要通过内核在不同的地址空间复制数据;
  • 系统调用时不需要在核心态和用户态之间切换,相当于直接的函数调用。

1.3 任务调度

1.3.1 优先级调度

**不可抢占式调度: **需任务主动退出。
**抢占式调度: **注重实时响应。
Round-Robin调度

优先级翻转问题
task1 优先级: 1
task2 优先级: 2
task3 优先级: 3
task1与task3访问共享资源;
Begin: task1尝试访问资源,发现此时task3正在访问,因此task1被阻塞ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值