首页 > 其他分享 >QNX-9—QNX官网文档翻译—Resource Managers—开篇

QNX-9—QNX官网文档翻译—Resource Managers—开篇

时间:2023-07-09 19:03:19浏览次数:32  
标签:resource Resource 函数 QNX manager Managers 资源管理 客户端

注:本文翻译自:
http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.getting_started/topic/s1_resmgr.html

 

一、本章前言

在本章中,我们将了解编写资源管理器需要了解的内容。 资源管理器是 QNX Neutrino 的另一个显着功能,它允许您通过标准 POSIX 调用访问服务。

What is a resource manager?

资源管理器只是一个具有一些明确定义的特征的程序。

The client's view

我们已经看到了客户期望的一些暗示。 它需要一个基于文件描述符的接口,使用标准 POSIX 函数。

The resource manager's view

让我们从资源管理器的角度来看事情。

The resource manager library

在深入讨论有关资源管理器的所有问题之前,我们必须熟悉 QNX Neutrino 资源管理器库。

Writing a resource manager

现在我们已经介绍了基础知识——客户端如何看待世界、资源管理器如何看待世界以及库中两个合作层的概述,现在是时候关注细节了。

Handler routines

并非所有呼出都对应于客户端消息——有些是由内核合成的,有些是由库合成的。

Alphabetical listing of connect and I/O functions

本节按字母顺序列出了您可以填写的连接和 I/O 函数入口点(传递给 resmgr_attach() 的两个表)。 请记住,如果您只是调用 iofunc_func_init(),所有这些条目都将填充适当的默认值; 仅当您希望处理特定消息时才需要修改该特定条目。 在下面的“Example”部分中,您将看到一些常用函数的示例。

Examples

我现在将向您展示一些“食谱”示例,您可以将其剪切并粘贴到代码中,以用作项目的基础。 这些不是完整的资源管理器 - 您需要添加线程池并调度下面所示的“骨架”,并确保在您完成之后将您的 I/O 函数版本放入 I/O 函数表中。 完成 iofunc_func_init(),以覆盖默认值! 

Advanced topics

现在我们已经介绍了资源管理器的“基础知识”,是时候看看一些更复杂的方面了。

Summary

编写资源管理器是迄今为止我们在本书中讨论过的最复杂的任务。


Related concepts
Resource Managers (System Architecture)
Writing a Resource Manager

 

二、 Summary

编写资源管理器是迄今为止我们在本书中讨论过的最复杂的任务。

资源管理器是接收某些明确定义的消息的服务器。 这些消息分为两大类:

(1)连接消息

与基于路径名的操作相关,这些可以为进一步的工作建立上下文。

(2)输入/输出消息

始终在连接消息之后到达并指示客户端希望完成的实际工作(例如 stat())。

资源管理器的操作由线程池函数(在“Processes and Threads”一章中讨论)和调度接口函数控制。

QNX Neutrino 在资源管理器库中提供了一组 POSIX 辅助函数,这些函数执行处理客户端到达的 Connect 和 I/O 消息的大部分工作。

资源管理器显示了许多与客户端和资源相关的数据结构,需要记住:

(1)OCB

根据每次打开进行分配,其中包含客户端的上下文(例如,当前 lseek() 位置)

(2)属性结构

按资源分配,包含有关资源的信息(例如设备大小、权限)

(3)安装结构(Mount structure)

基于每个资源管理器进行分配,并包含有关整个资源管理器的特征的信息。

客户端通过消息传递与资源管理器通信,将路径名(通过 open() 和其他调用)解析为节点描述符、进程 ID、通道 ID 和句柄。

最后,通过覆盖“Connect and I/O functions table”选项卡中的一些函数,提供您希望在资源管理器中实际执行的功能。

 

标签:resource,Resource,函数,QNX,manager,Managers,资源管理,客户端
From: https://www.cnblogs.com/hellokitty2/p/17539157.html

相关文章

  • QNX-9—QNX官网文档翻译—Resource Managers—What is a resource manager?
    注:本文翻译自QNXSoftwareDevelopmentPlatform-->Programming-->GettingStartedwithQNXNeutrino-->ResourceManagershttp://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.getting_started/topic/s1_resmgr_What_is.html1.概述资源管理器只......
  • QNX-9—QNX官网文档翻译—Resource Managers—The resource manager library
    注:本文翻译自QNXSoftwareDevelopmentPlatform-->Programming-->GettingStartedwithQNXNeutrino-->ResourceManagershttp://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.getting_started/topic/s1_resmgr_the_resource_manager_librar......
  • 十三、@SentinelResource
    Sentinel提供了@SentinelResource注解用于定义资源,并提供了AspectJ的扩展用于自动定义资源、处理BlockException等。 @SentinelResource用于定义资源,并提供可选的异常处理和fallback配置项。@SentinelResource注解包含以下属性:value:资源名称,必需项(不能为空)en......
  • Kubernetes(k8s) 资源限制:resources,LimitRange,ResourceQuota
    目录一.系统环境二.前言三.Kubernetes资源限制简介四.创建没有资源限制的pod4.1创建没有资源限制的pod4.2内存消耗测试五.使用resources字段配置资源限制5.1限制最低内存5.2限制最低CPU5.3限制最低CPU和最高内存5.4内存消耗测试六.使用LimitRange限制资源范围七.同时使用Lim......
  • 解决Springboot项目打成jar包后获取resources目录下的文件失败的问题
    前几天在项目读取resources目录下的文件时碰到一个小坑,明明在本地是可以正常运行的,但是一发到测试环境就报错了,说找不到文件,报错信息是:classpathresource[xxxx]cannotberesolvedtoabsolutefilepathbecauseitdoesnotresideinthefilesystem:jar:file:xxxx.jar!/......
  • 韦东山freeRTOS系列教程之【第十二章】资源管理(Resource Management)
    文章目录系列教程总目录概述12.1屏蔽中断12.1.1在任务中屏蔽中断12.1.2在ISR中屏蔽中断12.2暂停调度器系列教程总目录本教程连载中,篇章会比较多,为方便同学们阅读,点击这里可以查看文章的目录列表概述在前面讲解互斥量时,引入过临界资源的概念。在前面课程里,已经实现了临界资源......
  • Container resources example----马哥教育
    https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ThefollowingPodhastwocontainers.Bothcontainersaredefinedwitharequestfor0.25CPUand64MiB(226 bytes)ofmemory. ......
  • getResources().getDrawable()过时问题
    前言在Android的开发中我们经常会遇到过时的方法,当时为了图快、编译时也不会报错,也就没有去理会。随着慢慢整理代码,看到过时地方确实不美观,也会影响后期的兼容性问题,故特此记录下。本篇记录下关于getResources().getDrawable()过时问题。 问题我们经常会根据不同场景显示不同......
  • [WPF]静态资源(StaticResource)和动态资源(DynamicResource)
    一、文章概述本演示介绍了WPF的静态资源和动态资源的基本使用,并对两者做了简单的比较。静态资源(StaticResource)指的是在程序载入内存时对资源的一次性使用,之后就不再访问这个资源了;动态资源(DynamicResource)使用指的是在程序运行过程中然会去访问资源。相关下载(代码、屏幕录像):h......
  • Kubernetes编程—— 使用自定义资源 —— 介绍自定义资源(Custom Resource,CR)
    介绍自定义资源(CustomResource,CR)自定义资源(CustomResource,CR),它是整个Kubernetes生态系统中最核心的扩展机制。 定义资源可以用作系统内部使用的对象,仅仅对它进行声明式定义,而不关联控制器逻辑,用不保存少量配置信息。但是自定义资源也可以成为很多复杂Kubernetes项目的......