2-6-1 关于“QNX Neutrino 编程入门”的前言

阅读前言

本文以QNX系统官方的文档英文原版资料“Getting Started with QNX Neutrino: A Guide for Realtime Programmers”为参考,翻译和逐句校对后,对在QNX操作系统下进行应用程序开发及进行资源管理器编写开发等方面,进行了深度整理,旨在帮助想要了解QNX的读者及开发者可以快速阅读,而不必查看晦涩难懂的英文原文,这些文章将会作为一个或多个系列进行发布,从遵从原文的翻译,到针对某些重要概念的穿插引入,以及再到各个重要专题的梳理,大致分为这三个层次部分,分不同的文章进行发布,依据这样的原则进行组织,读者可以更好的查找和理解。


那么首先,就让我们来看一下,官方文档英文原文“Getting Started with QNX Neutrino: A Guide for Realtime Programmers”之中对于整个“QNX Neutrino 编程入门”这本书是如何介绍的:

1. QNX Neutrino 编程入门

QNX Neutrino 入门:实时编程程序员指南旨在向你介绍 QNX Neutrino 实时操作系统,并帮助你开发它的应用程序和资源管理器。

原文编者注释:这本书最初是由罗伯·克顿所写。我们继续更新它,同时仍然保持他的语气。

下表可以帮助你快速查找信息。

可以找到的内容:

英文原文跳转目录:

使用进程和线程

Processes and Threads

发送、接收和回复消息

Message Passing

使用时间和定时器

Clocks, Timers, and Getting a Kick Every So Often

中断

Interrupts

编写资源管理器

Resource Managers

完整源代码实例程序

Sample Programs

QNX文档中使用的术语

Glossary

这本书是给谁看的?

这本书适合任何希望对 QNX Neutrino 实时操作系统的关键特性及其工作原理有良好基础认知的人。有一定计算机基础的读者仍能从本书中收获颇丰(尽管每章的论述随着内容推进变得越来越具技术性)。即便是顽固的黑客们也应该能发现一些有趣的独特之处,尤其是 QNX Neutrino 的两个基本特性,即操作系统的消息传递特性以及设备驱动程序的构建方式。

本文尝试以一种易于阅读的 “对话式” 风格来阐释内容,预想了一些常见问题并用示例和图表来解答它们。由于并非要求读者对 C 语言有全面的了解,但掌握 C 语言绝对是个优势,所以书中各处穿插了不少代码示例。

这本书里有什么?

这本书向你介绍 QNX Neutrino 实时操作系统是什么以及它是如何运行的。书中包含多个章节,涉及进程状态、线程、调度策略、消息传递、操作系统模块化等等内容。如果你此前从未使用过 QNX Neutrino,但熟悉实时操作系统,那么你会想要特别留意关于消息传递和资源管理器的章节,因为这些都是 QNX Neutrino 的基本概念。

进程与线程

介绍 QNX Neutrino 中的进程和线程、实时性、调度以及优先级设定。你将了解调度状态和 QNX Neutrino 的调度策略,以及用于控制调度、创建进程和线程以及修改已在运行的进程和线程的函数。你会看到 QNX Neutrino 是如何实现对称多处理(SMP)的,以及这带来的优势(和隐患)。“调度与现实世界” 部分讨论了线程在运行系统中是如何被调度的,以及哪些情况会导致正在运行的线程被重新调度。

消息传递

介绍 QNX Neutrino 最基本的特性 —— 消息传递。你将了解什么是消息传递、如何利用它在线程间进行通信,以及如何通过网络传递消息。无处不在的实时系统的克星 —— 优先级反转以及其他高级主题也在这部分有所涉及。这是本书最重要的章节之一!

时钟、定时器以及定期触发

全面了解系统时钟和定时器,以及如何让定时器向你发送消息。这里有大量实用信息以及众多代码示例。

中断

本章将教你如何为 QNX Neutrino 编写中断处理程序,以及中断处理程序如何影响线程调度。

资源管理器

全面了解 QNX Neutrino 资源管理器(也被称作 “设备驱动程序” 和 “I/O 管理器” 等不同名称)。在编写自己的资源管理器之前,你需要阅读并理解消息传递章节的内容。书中包含了几个完整资源管理器的源代码。资源管理器是每个基于 QNX Neutrino 的系统的另一个重要方面。

专栏注释:后续会有专门的专栏进行资源管理器专题的讲解,敬请期待!!!

术语表

包含本书中使用的术语的定义。

其他参考资料

除了自定义内核接口,QNX Neutrino 还实现了众多行业标准。这使得你在查找来自美国国家标准学会(ANSI)、可移植操作系统接口(POSIX)、传输控制协议 / 网际协议(TCP/IP)等标准函数相关信息时,可以参考你偏好的发布方的资料。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/64764.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【中标麒麟服务器操作系统实例分享】java应用DNS解析异常分析及处理

了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn 情况描述 中标麒麟服务器操作系统V7运行在 ARM虚…

StarRocks 排查单副本表

文章目录 StarRocks 排查单副本表方式1 查询元数据,检查分区级的副本数方式2 SHOW PARTITIONS命令查看 ReplicationNum修改副本数命令 StarRocks 排查单副本表 方式1 查询元数据,检查分区级的副本数 # 方式一 查询元数据,检查分区级的副本数…

基于Transformer的自编码器模型在故障检测中的应用

在现代工业和制造领域,故障检测是保证设备和生产线安全、高效运行的关键。传统的故障检测方法往往依赖于人工经验或规则,然而,这些方法的准确性和泛化能力有限。随着深度学习技术的迅速发展,越来越多的智能故障检测方法应运而生&a…

《XML》教案 第2章 使第4章 呈现XML文档

《XML》教案 第2章 使第4章 呈现XML文档 主讲人: 回顾上一章: [10分钟] 2 课程知识点讲解: 2 通过级联样式表转换XML文档:[15分钟] 3 通过可扩展样式表语言转换XML文档 :[5分钟] 4 嵌套 for 循环 :[20分钟] 5 本章总结…

HBase、Hive、Redis 和 MongoDB的对比

1. 数据库管理 操作HBaseHiveRedisMongoDB创建数据库N/A (HBase 没有数据库概念)CREATE DATABASE db_name;N/A (Redis 没有数据库命名功能)use db_name; (自动创建)查看数据库N/ASHOW DATABASES;INFO 查看全局信息show dbs;删除数据库N/ADROP DATABASE db_name CASCADE;N/Adb.…

Sigrity System Explorer Snip Via Pattern From Layout模式从其它设计中截取过孔模型和仿真分析操作指导

Sigrity System Explorer Snip Via Pattern From Layout模式从其它设计中截取过孔模型和仿真分析操作指导 Sigrity System Explorer Snip Via Pattern From Layout模式支持从其它设计中截取过孔模型用于仿真分析,同样以差分模板为例 具体操作如下 双击打开System Explorer软件…

数据结构_平衡二叉树

结点类 构造函数分为有参和无参,相同点都是初始化树高为1 class Node { public:int data; // 用于输出int val; // 数据域,用于排序int height; // 树高Node* left;Node* right;Node();Node(int v, int d);static int max(int a, int b); };Node::N…

2024年度个人总结

一转眼已经2024年度最后一个月了,今年基本没有在CSDN发布内容,包括其他平台(B站),倒是在其他地方(我的个人网站和V2EX)发布一些零碎的东西,主要是因为今年换了工作后太累了&#xff…

汽车IVI中控开发入门及进阶(42):OpenVG

概览: OpenVG是一个无版权、跨平台的API,它为高级用户界面和矢量图形库(如SVG)提供了一个低级硬件加速接口。OpenVG主要针对需要便携式加速高质量矢量图形以获得引人注目的用户界面和文本的消费电子产品、手持设备、可穿戴设备和汽车设备,同时使硬件加速能够在非常低的功…

基于微信小程序的消防隐患在线举报系统

博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了多年的设计程序开发,开发过上千套设计程序,没有什么华丽的语言,只有实…

如何重新设置VSCode的密钥环密码?

故障现象: 忘记了Vscode的这个密码: Enter password to unlock An application wants access to the keyring “Default ke... Password: The unlock password was incorrect Cancel Unlock 解决办法: 1.任意terminal下,输入如下…

springcloud-gateway获取应用响应信息乱码

客户端通过springcloud gateway跳转访问tongweb上的应用,接口响应信息乱码。使用postman直接访问tongweb上的应用,响应信息显示正常。 用户gateway中自定义了实现GlobalFilter的Filter类,在该类中获取了上游应用接口的响应信息,直…

JS萤石云录像回放拖动进度条无法正常播放

问题描述: 本项目版本:vue2.6.12,webpack3.6.0,ezuikit-js0.7.2 在使用萤石云的JavaScript SDK做监控的直播、录像回放时,遇到部分设备的录像回放,无法根据控制面板的拖动进度条查看某时间段的录像。 官方…

2024.12.21辩论赛感受

背景 今天辩论赛的双方论点是: 正方:寒假留在研发中心的收获大 反方:寒假去做其他事情的收获 辩论赛,为了锻炼自己,选择了不想选择以及相对不好辩论的反方。出现的状况有一下几点: 1.发现自己脑子完全跟不…

混元大模型简介及个人运行方案

一、混元大模型简介 混元大模型(HunyuanVideo)是一个开源的视频生成基础模型,专为高质量的视频生成任务设计。它融合了多项先进技术和创新架构,在视觉质量、多样性、文本与视频的对齐度,以及生成的稳定性方面表现出色…

图漾相机-ROS1_SDK_ubuntu版本编译(新版本)

文章目录 官网编译文档链接官网SDK下载链接1、下载 Camport ROS1 SDK1.下载git2、下载链接 2、准备编译工作1、安装 catkin2、配置环境变量3. 将Camport3中的linux库文件拷贝到 user/lib目录下4、修改lunch文件制定相机(可以放在最后可以参考在线文档)**…

基于Redis的网关鉴权方案与性能优化

文章目录 前言一、微服务鉴权1.1 前端权限检查1.2 后端权限检查1.3 优缺点 二、网关鉴权2.1 接口权限存储至Redis2.2 网关鉴权做匹配 总结 前言 在微服务架构中,如何通过网关鉴权结合Redis缓存提升权限控制的效率与性能。首先,文章对比了两种常见的权限…

leetcode-283.移动零-day13

方法一:双指针遇 0 交换 1. 基本思路回顾 该方法使用了两个指针m和i,m用于标记当前已经处理好的非零元素应该放置的位置,i用于遍历整个数组。当遇到nums[m]为0时,会通过内层while循环找到下一个非零元素(如果存在的话…

【Python入门】Python控制成分

文章一览 一 、顺序结构二、分支结构多分支结构 三、循环结构1. for语句循环结构range()函数 2. while语句构成循环1)while 循环流程 3、for 循环和 while 循环的区别4、for 循环和 while 循环效率比较 四、函数1、函数定义1) 内置函数2) 非内…

scala中模式匹配的应用

package test34object test6 {case class Person(name:String)case class Student(name:String, className:String)// match case 能根据 类名和属性的信息,匹配到对应的类// 注意:// 1 匹配的时候,case class的属性个数要对上// 2 属性名不需…