基础知识学习 -- qnx 系统

本文详细介绍了QNX操作系统基于优先级抢占的调度算法,以及QNX的内核线程优先级设定。此外,文章还着重讨论了QNX的QTD安全机制和Power-Safe文件系统的限制。同时,对于GPIO配置和main函数的返回值在嵌入式环境中的应用也做了说明。
QNX是一个基于优先级抢占的系统。

这也导致其基本调度算法相对比较简单。因为不需要像别的通用操作系统考虑一些复杂的“公平性”,只需要保证“优先级最高的线程最优先得到 CPU”就可以了。

基本调度算法

调度算法,是基于优先级的。QNX的线程优先级,是一个0-255的数字,数字越大优先级越高。所以,优先级0是内核中的idle线程。同时,优先级64是一个分界岭。就是说,优先级1 – 63 是非特权优先级,一般用户都可以用,而64 – 255必须是有root权限的线程才以设。这个“优先级64”分界线,如果有必要,还可以通过启动Procnto时传 –P <priority> 来改变。

调度算法的对像是线程,而线程在QNX上,有大约20个状态。(参考 /usr/include/sys/states.h)在这许多状态中,跟调度有关的,其实只有 STATE_RUNNING和STATE_READY两个状态。STATE_RUNNING是线程当前正在使用CPU,而STATE_READY是等着被执行(被调度)的线程。其他状态的线程,处于某种“阻塞”状态中,调度算法不需要关注。

qnx 官网学习

登录配置: https://www.qnx.com/developers/docs/7.1/#com.qnx.doc.security.system/topic/manual/pam.html 虚拟机配置:

https://www.qnx.com/developers/docs/7.1/#com.qnx.doc.hypervisor.safety.user/topic/vm/vm.html

GVM: Guest Virtual Machine

QVM: hypervisor的一个process

PVM: Physical virtual machine

LA: Linux Android

LV: Linux Vehicle/Auto Grade Linux

VMM:Virtual machine manager

HAB:Hypervisor Abstract Communication driver<

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值