1895_分离进程的能力

news2024/9/25 3:18:58

1895_分离进程的能力

全部学习汇总: g_unix: UNIX系统学习笔记 (gitee.com)

有些理念可能在控制类的嵌入式系统中不好实施,尤其是没有unix这样的系统搭载的情况下。如果是考虑在RTOS的基础上看是否有一些理念可以做尝试,我觉得还是可以有一定的参考意义的。如果是让处理相互独立,设计上其实可以考虑为不同的task。但是,这样不同的task之间可能就会涉及到数据的传递。就我们现在看到的比较流行的开源RTOS来说,FreeRTOS中的队列等功能应该就是这样功能的一个很好模型。

对于前面我想到的嵌入式实时系统FreeRTOS中的可用模型来说,协议的传递机制其实是已经存在了的。如果考虑进一步的设计,那可能是传递协议中承载的数据格式。

我看到过有的RTOS也是支持管道机制的,如果按照这种描述我觉得这个功能还是非常不错的一个功能。因为在信息处理上,有了一个并行处理的模型。这样的话,数据处理其实是有更加灵活的处理方式,可能在大的数据组包等处理上会有更低延迟的可能性。

程序的分离涉及到的一个很重要的问题点就是分离后的各个模块之间的通信,前面考虑到了管道、信号等不同的形式,但是有一个很大的短板:信号的流向是单向的。如果要实现双向的信号流向功能,套接字是一个很好的选择。关于套接字,闻名已久,但是实际的用法还是不是很了解。可能在网络应用角度,这个会是一个很基础的应用。关于这个技术的基本的机制,后面可以了解一下以看看是否可以在我现在的一些工作中有借鉴的意义。至于我现在常用的RTOS以及控制类的嵌入式设计中,这种超级灵活的双向信息流转似乎的确是很少看到。

前面的很多技术考虑的方法都是协议或者机制,但是从实时性以及快速性的角度考虑,数据的共享以及交换通过一块可以多方一起访问的内存来实现也是一个方式。但是在这种多方操作的过程中,可能会有竞争以及同步等问题。这个是需要再软件层面做设计上的考虑。从资源开销上来说,共享内存会比套接字的方式有改善。

如果软件设计考虑分离设计的方式,那么就会带来数据共享以及传递的问题。继而,这样的设计可能会有锁定以及解锁以保证数据可靠的方式。如果是在性能要求敏感的设计中,这样的操作会比较低效。

类似的,这种处理的形式在嵌入式的程序中似乎也有这样的影子。如果是考虑有共享数据的存在,不同的任务甚至CPU之间的数据的同步在一致性上就得有独到的设计。否则,依赖于操作系统的同步机制,可能会带来很多响应上的延迟。

在unix的环境中做设计,如果考虑进行程序设计的分解,线程通常也不会是首选的方法。另外,线程解决的不是不同程序时间的通讯问题,而是单个程序的一个实例内的某种分时形式。

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

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

相关文章

Unity C#高级特性 Partial 详细使用案例

文章目录 实例 1:分隔UI逻辑实例 2:Unity编辑器自动生成代码实例 3:数据模型分割实例 4:序列化扩展实例 5:多视图架构实例 6:Unity编辑器自定义 inspectors 在Unity中,部分类(Partia…

java基础:带参数的成员方法

上一篇博客中的成员方法是无参的,但成员方法其实是可以有参数的,可以增加代码的灵活性和健壮性。 本文以带一个参数的成员方法和带2个参数的成员方法为案例,加深对知识点的理解。 第一个成员方法(带一个参数)&#xf…

UE4学习笔记 FPS游戏制作2 制作第一人称控制器

文章目录 章节目标前置概念Rotator与Vector:roll与yaw与pitch 添加按键输入蓝图结构区域1区域2区域3区域4 章节目标 本章节将实现FPS基础移动 前置概念 Rotator与Vector: Vector是用向量表示方向,UE中玩家的正前方是本地坐标系的(1,0,0)&…

定义HarmonyOS IDL接口

HarmonyOS IDL简介 HarmonyOS Interface Definition Language(简称HarmonyOS IDL)是HarmonyOS的接口描述语言。HarmonyOS IDL与其他接口语言类似,通过HarmonyOS IDL定义客户端与服务端均认可的编程接口,可以实现在二者间的跨进程…

【C++】C++入门— 类与对象初步介绍

C入门 1 认识面向对象2 类的引入3 类的定义类的定义方式 4 类的访问限定符及封装访问限定符封装 Thanks♪(・ω・)ノ谢谢阅读!下一篇文章见!!! 1 认识面向对象 C语言是面向过程的,关注…

睿尔曼6自由度机械臂ROS驱动包功能拓展之查询指令

1:主要环境预览 1:系统:Ubuntu 20.04 2:ROS:noetic 3:对于系统要求需根据相关手册完成机械臂相关依赖安装,能够运行机械臂本身基本功能, 包括 moveit。 4:准备资料…

星宸科技SSC8826Q 驾驶辅助(ADAS)行车记录仪方案

星宸科技SSC8826Q 驾驶辅助(ADAS)行车记录仪方案 一、方案描述 SSC8826Q是高度集成的行车记录仪、流媒体后视镜解决方案,主芯片为ARM Cortex A53,dual core,主频高达1.2GHz,集成了64-bit dual-core RISC 处…

向日葵案例解析:无外网接入,医疗设备如何进行远程售后运维

随着医学科学以及生物工程技术的高速发展,医院对于高端医疗设备如MR、CT、B超等高科技成像设备和放射治疗设备的需求激增。医学影像检查作为一种重要的手段,在许多疾病确诊过程中发挥着至关重要的作用。检查结果正确与否,直接影响临床医生对疾…

Java设计模式 – 四大类型

设计模式 – 四大类型 创建型模式结构型模式行为型模式J2EE模式 设计模式(Design pattern)是重构解决方案 根据书Design Patterns – Elements of Reusable Object-Oriented Software(中文译名:设计模式 – 可复用的面向对象软件元…

STM32 HAL NTC(3950 10k)查表法

NTC(Negative Temperature Coefficient)是指随温度上升电阻呈指数关系减小、具有负温度系数的热敏电阻现象和材料。该材料是利用锰、铜、硅、钴、铁、镍、锌等两种或两种以上的金属氧化物进行充分混合、成型、烧结等工艺而成的半导体陶瓷,可制…

python绘图指南—Bokeh库从基础到高级打造交互式数据可视【第51篇—python:Bokeh库】

文章目录 Bokeh库深度解析:从基础到高级,打造交互式数据可视化安装Bokeh库Bokeh绘图基础基础图形绘制完善图形 实例演示案例:股票走势图 Bokeh库高级功能探索1. 工具栏和交互性2. 高级图形元素3. 数据链接和动态更新 Bokeh库与其他库的整合1.…

C# ONNX使用入门教程

背景 有新入坑的老哥不太了解C# onnx 运行的机理,我这边详细介绍一下,之前直接放官方的样例有点草率了。 准备[python环境] 1、要使用onnx,首先我们就自己生成一个onnx文件,请大家准备一下以下需要的[python]环境 python 版本…

linux 文件查看 head 、 cat 、 less 、tail 、grep

查看文件详细信息 stat 文件 cat 》》适合显示小文件【行数比较少】,如果行数较多,屏幕显示不完整(如果虚拟操作,是无法上下键的,或者滚动鼠标的,第三方 xsheel,crt 可以方向键查看&#xf…

MySQL 多表查询

重点: MySQL 的 三种安装方式:包安装,二进制安装,源码编译安装。 MySQL 的 基本使用 MySQL 多实例 DDLcreate alter drop DML insert update delete DQL select 3.5)DDL 语句 表:二维关系 设计表&…

【微服务】skywalking自定义链路追踪与日志采集

目录 一、前言 二、自定义链路追踪简介 2.1 自定义链路追踪应用场景 2.2 链路追踪几个关键概念 三、skywalking 自定义链路追踪实现 3.1 环境准备 3.2 集成过程 3.2.1 导入核心依赖 3.2.2 几个常用注解 3.2.3 方法集成 3.2.4 上报追踪信息 四、skywalking 自定义日志…

Spring速成(二)

Spring速成(二) 掌握IOC/DI配置管理第三方bean掌握IOC/DI的注解开发掌握IOC/DI注解管理第三方bean完成Spring与Mybatis及Junit的整合开发 1,IOC/DI配置管理第三方bean 1.1 案例:数据源对象管理 1.1.1 环境准备 学习之前,先来准…

STM32标准库——(9)TIM编码器接口

1.编码器接口简介 Encoder Interface 编码器接口编码器接口可接收增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT自增或自减,从而指示编码器的位置、旋转方向和旋转速度每个高级定时器和通用定…

异步编程Completablefuture使用详解----进阶篇

JDK版本:jdk17 IDEA版本:IntelliJ IDEA 2022.1.3 文章目录 前言一、异步任务的交互1.1 applyToEither1.2 acceptEither1.3 runAfterEither 二、get() 和 join() 区别三、ParallelStream VS CompletableFuture3.1 使用串行流执行并统计总耗时3.2 使用并行…

单元/集成测试服务

服务概述 单元/集成测试旨在证明被测软件实现其单元/架构设计规范、证明被测软件不包含非预期功能。经纬恒润测试团队拥有丰富的研发经验、严格的流程管控,依据ISO26262/ASPICE等开展符合要求的单元测试/集成测试工作。 在ISO 26262 - part6 部分产品开发&#xff…

荣耀手机如何录屏?在线分享3个录屏方法

荣耀手机如何录屏?荣耀手机录屏是一项非常实用的功能,它可以帮助我们轻松记录手机屏幕上的内容,无论是游戏攻略、教育学习还是工作演示,都能够方便地进行录制。通过录屏,我们可以随时随地记录和分享自己的操作和见解。…