1895_分离进程的能力

1895_分离进程的能力

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

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

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

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

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

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

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

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

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

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

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

相关文章

跟着pink老师前端入门教程-day17

2、CSS3 动画 动画(animation)是CSS3中就要有颠覆性的特征之一,可通过设置多个节点来精确控制一个或一组动画,常用来实现复杂的动画效果 相比较过渡,动画可以实现更多变化,更多控制,连续自动播…

【Simulink系列】——动态系统仿真 之 简单系统

引入 不同的系统具有不同的输入与输出。一般来说,输入输出数目越多,系统越复杂。最简单的系统只要一个输入一个输出(SISO),且其任意时刻的输出只与当前时刻的输入有关。 一、简单系统定义 对于满足下列条件的系统&a…

通过 ChatGPT 的 Function Call 查询数据库

用 Function Calling 的方式实现手机流量包智能客服的例子。 def get_sql_completion(messages, model"gpt-3.5-turbo"):response client.chat.completions.create(modelmodel,messagesmessages,temperature0,tools[{ # 摘自 OpenAI 官方示例 https://github.com/…

移远(Quectel)物联网通信解决方案

一、方案简介 无线通信模块是具备无线通信的电路模块,它能通过无线连接传输数据,能识别分析主控制器发来的命令,控制节点设备的工作,或者向主控制器发送当前节点设备的工作状态。 市面上常用的无线通信模组包括蓝牙模组、WLAN模…

灵伴科技(Rokid)借助 Knative 实现 AI 应用云原生 Serverless 化

作者:朱炜栋、元毅、子白 公司介绍 Rokid 创立于 2014 年,是一家专注于人机交互技术的产品平台公司,2018 年即被评为国家高新技术企业。Rokid 作为行业的探索者、领跑者,目前致力于 AR 眼镜等软硬件产品的研发及以 YodaOS 操作系…

数据结构—基础知识:哈夫曼编码

文章目录 数据结构—基础知识:哈夫曼编码哈夫曼编码的主要思想有关编码的概念哈夫曼编码满足两个性质: 数据结构—基础知识:哈夫曼编码 哈夫曼编码的主要思想 在进行数据压缩时,为了使压缩后的数据文件尽可能短,可采…

使用Python的turtle模块实现简单的烟花效果

import turtle import random import math# 设置窗口大小 width, height 800, 600 screen turtle.Screen() screen.title("Fireworks Explosion") screen.bgcolor("black") screen.setup(width, height)# 定义烟花粒子类 class Particle(turtle.Turtle):…

STM32控制DHT11温湿度传感器模块获取温湿度数据

时间记录:2024/1/29 一、DHT11引脚介绍 (1)VCC:电源引脚,3.3-5.5V (2)DATA:数据输入输出引脚 (3)NC:保留引脚,悬空即可 (…

颐和园龙纹珍宝展亮相,文物预防保护科技护航

在皇家园林颐和园的深处,一场独特的文化盛宴正静静上演。2月1日,“祥龙贺岁—颐和园藏龙纹题材文物特展”在德和园华丽揭幕。此次特展汇聚了66件珍贵文物,包括玉器、瓷器、书画、珐琅、家具等,每一件都是颐和园园藏的瑰宝。这些文…

clickhouse如何清除多个分区数据 alter table drop partition操作

官网drop partition操作 官网链接:https://clickhouse.com/docs/zh/sql-reference/statements/alter/partition#drop-partitionpart 官网上之有清除单个分区的例子,并没有对清除多个分区的场景进行描述,之前清除分区时也是按照官网例子进行…

【Python】【完整代码】解析Excel文件内容,按每列首行元素名打印出某个字符串的统计占比(超详细)

目录 1.示例: 1.1 实现代码1:列数为常量 运行结果: 1.2 实现代码2:列数为变量 运行结果: 1.示例: 开发需求:读取Excel文件,统计第3列到第5列中每列的"False"字段占…

【新书推荐】5.1节 16位汇编语言学习环境

第五章 16位汇编学习环境 16位汇编语言的学习环境是建立在8086计算机的基础上的,我将借助于DosBox虚拟机来实现16位汇编语言学习环境的搭建。 5.1节 16位汇编语言学习环境 本节内容:16位汇编学习环境的搭建。 ■汇编语言程序设计编程调试过程&#xff1…

【React】react组件传参

【React】react组件传参 一、props:父组件向子组件传参1、将普通的参数作为props传递2、将jsx作为props传递(组件插槽) 二、自定义事件:子父组件向父组件传参三、context进行多级组件传参四、redux全局状态管理 一、props&#xf…

MySQL篇----第四篇

系列文章目录 文章目录 系列文章目录前言一、数据库的三范式是什么二、第一范式(1st NF - 列都是不可再分)三、第二范式(2nd NF- 每个表只描述一件事情)四、第三范式(3rd NF- 不存在对非主键列的传递依赖)五、数据库是事务前言 前些天发现了一个巨牛的人工智能学习网站,通…

C++迷宫游戏详解

个人主页:[PingdiGuo_guo] 收录专栏:[C干货专栏] 大家好呀,我是PingdiGuo_guo,今天我们来学习用C实现一个迷宫游戏。 目录 1.迷宫的具体步骤 1.1.迷宫的初始化 1.2.寻路算法 1.DFS算法 2.BFS算法 1.3.移动 2.总结 C迷宫游…

Javascript入门:第三个知识点:javascript里的数据类型、运算符

数字类型 123 //整数 123.1 //浮点数 1.123e3 //科学计数法 -10 //负数 NaN //not a number Infinity //无限大 以上的类型在javascript里都是数字类型 字符串类型 在开始之前,我需要先说明白两个知识点: console.log()是啥? let 与 v…

【C++初阶】C++入门(2)

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 一、函数重载1.1 函数重载的概念1.2 函数重载的种类1.3 C支持函数重载的原理 二…

计算机网络——链路层(1)

计算机网络——链路层(1) 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU)前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家, [跳转到网站](https://www.captainbed.…

C语言第十七弹---指针(一)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 指针 1、内存和地址 1.1、内存 2、指针变量和地址 2.1、取地址操作符(&) 2.2、指针变量和解引用操作符(*)…

Tiktok东南亚商家如何通过直播活动提高直播流量和转化率?

一、什么是直播活动? 直播活动是帮助卖家在直播中有效推广商品和店铺的促销活动。 您报名参加直播活动后,您的直播将以活动品牌的形式突出展示。 您可以同时参与商品活动和直播活动,在直播中给买家提供超值优惠。 如何参加直播活动? 二、如何准备直…