嵌入式day31

news2024/11/26 16:40:05

mplayer项目问题分析:

知识短时间内可以获取到

能力的提升一定需要练习

IPC 进程间通信方式

共享内存 //最高效的进程间通信方式

共享内存:

1.是一块 内核预留的空间

2.最高效的通信方式

//避免了用户空间到内核空间的数据拷贝

操作:

system v:共享内存

IPC对象操作通用框架:

1.key值的产生:

ftok

将pathname和proj_id 转换为key值

参数:

pathname //给一个路径名

proj_id //工程id eg:‘A’

返回值:

成功 返回key值

失败 返回-1

2.通过key获取ipc对象(共享)

shmget

使用唯一键值key向内核一处共享内存使用申请

参数:

key 唯一键值

size 要申请的共享内存大小

shmflg 申请的共享内存访问权限,八进制表示

返回值:

成功 返回共享内存id

失败 返回-1

3.绑定地址空间

shmat

将指定的shmid对应的共享内存映射到本地内存

参数:

shmid 要映射的本地内存1

shmaddr 本地可用的地址,如果不确定则用NULL,表示由系统自动分配

shmflg 0, 表示读写

SHM_RDONLY 只读

返回值:

成功 返回映射的地址,一般等于shmaddr

失败 返回(void *)-1

pause

等待一个信号

4.解除绑定

shmdt

将本地内存与共享内存断开映射关系

参数:

shmaddr 要断开的映射地址

返回值:

成功 返回0

失败 返回-1

5.销毁IPC对象

shmctl

修改共享内存属性,也可以删除指定的共享内存对象

参数:

shmid 要删除的共享内存对象

cmd IPC_RMID 删除对象的宏

buff NULL 表示只删除对象

返回值:

成功 返回0

失败 返回-1

总结:

1、共享内存数据的存储方式是拷贝还是剪切?

拷贝

2、共享内存的数据如果措辞不同进程读写会怎么样?

同一操作对象,数据没有偏移情况下会覆盖

IPC对象 --- 共享内存

消息队列 信号量集

网络通信

网络: 不同主机间的通信问题

实现网络通信:

1.物理层面 有一个信息通路

有线

无线 5G 4G 星链

2.软件层面(逻辑层面) 也需要一个通路

网络编程:

Open System Interconnect(OSI网络模型)

为了解决不同体系结构的网络的互联问题,忘记标准化组织ISO 于1981年制定了开放系统互联参考模型

Open System Interconnection Reference Model, OSI/RM

osi七层协议:
1、物理层

规定了物理层面的电气特征及相关的机械特性

物理层面数据的传输 --- 一位的二进制数据 //比特流

2、数据链路层

规定了传输数据的格式 //(一)帧数据

//控制传输过程可靠

3、网络层(网际层)

用于解决网络与网络之间数据传输 //数据包

4、传输层

传输控制层,控制传输过程,保证数据完整和可靠

5、会话层

处理一次会话过程

6、表示层

规定了 传输数据的格式和方式

7、应用层

就是直接获取要收发的数据

实际应用到的是 tcp/ip 模型:

应用层

传输层

网络层

数据链路层

4层模型:

应用层

传输层

网络层

网络接口层

每个层次中,都有自己的一套规范 --- 协议

操作系体角度:

IP

用来标识网络中的一台主机 --- 通过ip可以找到对应一台主机

本质:32位整型数值

表示方式 点分十进制 0 - 255

ip地址的组成:网络号 + 主机号

网络号 --- 表示所处的网络

主机号 --- 表示能容纳的主机

端口号

用来表示主机中某一个具体(进行网络通信)进程

ip + 端口号 //进程在网络的地址

网络编程:

tcp / udp

TCP:

TCP(即传输控制协议):是一种面向连接的传输层协议,它能提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信)

适用情况:

1、适合于对传输质量要求较高,以及传输大量数据的通信。

2、在需要可靠数据传输的场合,通常使用TCP协议

3、MSN/QQ 等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议

TCP协议特点:

1.面向链接 //类似打电话之前,必须先打通

2.可靠传输 //保证数据准确可靠(tcp协议机制里面的功能)

3.面向字节流

UDP:

用户数据报协议,是不可靠的无连接的协议。

在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。

适用情况:

1、发送小尺寸数据(如对DNS服务器进行ip地址查询时)

2、在接收到数据,给出应答较困难的网络中使用UDP。(如:无线网络)

3、适合于广播 / 组播式通信中。

4、MSN/QQ/Skype 等即时通讯软件的点对点文本通讯以及音视频通讯通常采用UDP协议

5、流媒体、VOD、VOIP、IPTV等网络多媒体服务中通常采用UDP方式进行实时数据传输

UDP特点:

1.不可靠

2.无连接

3.数据报

编程

编程模型:

c/s client server 客户端,服务器模型 ---专用客户端

b/s browser server 浏览器,服务器模型 ---通用的客户端

p2p peer to peer 点对点传输

基于UDP c/s通信模型:

//client --- 客户端 --- 角色 --- 主动的角色

socket

1.一种特殊的文件 --- 专门用于网络通信(不同主机间的进程)

2.socket编程接口 --- socket函数 提供了一个可以访问 操作系统 网络功能的接口

sendto

发数据

...

//server --- 服务器端 --- 角色 --- 被动的角色

socket
recvfrom

接收数据

...

socket

程序向内核提出创建一个基于内存的套接字描述符

sendto

man 7 ip

man inet_addr

端口号:

htons

转换大小端(网络传输统一用大端)

---------------------------------------------------

嵌入式学习第三十一天,前两天结束了mplayer项目,今天讲了进程剩下的东西,IPC进程间的通信,再学习了网络通信的相关知识,了解了OSI七层协议,进行了c/s编程。后面继续加油了。

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

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

相关文章

第三方软件测评机构进行安全测试的好处

根据报告显示,2023年全球因网络安全事件造成的损失是8万亿美元,其中70%是由于软件漏洞引起的。这一数据足以表明,企业在软件开发过程中必须重视安全测试。软件安全测试不仅是对软件质量的保障,更是对用户信息和财务安全的保护。 …

QT事件机制理解

事件和信号 从硬件层来看: 事件就是一种中断, 中断的产生形式: 1.用户操控硬件所产生的中断。 2.由系统自身所产生的中断,比如说定时器。 这种中断由系统内核监控,由系统内核接收到中断并向CPU发出的执行请求就叫信号。所以说事件是信号产生…

《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 06容器网络

本章将回答以下问题 Linux上可用的容器网络组件有哪此?各种选择的限制和性能特征是什么? 命令空间 命名空间是一个 Linux 内核虚拟化组件。该组件类似 Linux 内核提供的网络和服务器虚拟化的组件。命名空间对内核管理的特定的资源进行虚拟化,允许一个虚拟资源有…

Moodle与ONLYOFFICE集成如何实现智能教学管理

陈老老老板🤴 🧙‍♂️本文专栏:生活(主要讲一下自己生活相关的内容)生活就像海洋,只有意志坚强的人,才能到达彼岸。 🧙‍♂️本文简述:ONLYOFFICE相信大家已经有所了解,本篇讲一下如…

2024年10月湖北省自学考试报名流程(5步)

2024年10月湖北省自学考试报名流程(5步) #自学考试 #自考报名 #湖北自考 #湖北自考本科 #湖北自考报名 #湖北自考专科 #湖北省自学考试

Linux信号机制探析--信号的产生

🍑个人主页:Jupiter. 🚀 所属专栏:Linux从入门到进阶 欢迎大家点赞收藏评论😊 目录 📚信号什么是信号?为什么要有信号?查看Linux系统中信号 🎈信号产生📕kill…

【分数序列相加】求出一分数序列数列的前20列之和

有一分数序列&#xff1a;1/2,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20列之和 #include<stdio.h>int main(){int t,number20;float a2,b1,s0;for(int i1;i<number;i){ssa/b;ta;aab;bt;}printf("%f\n",s);return 0; } 输出结果&#xff1a; 觉得有帮助…

主存编址例题

知识点 存储单元个数最大地址-最小地址1 存储单元个数BFFFFH-80000H13FFFFH140000H 这是个十六进制&#xff0c;转换为十进制4*16^44*2^4^44*2^164*2^6*2^10字节 1kb1024字节2^10字节 因此可以转换为4*2^6kb256kb 1byte8bit&#xff0c;1个字节8比特 16k*4bit16*1024*0.5…

2024.8.21 作业

一个服务器和两个客户端聊天 代码&#xff1a; /*******************************************/ 文件名&#xff1a;server.c /*******************************************/ #include <myhead.h> #define SER_IP "192.168.2.7" // 服务器IP #define SER…

防火墙的原因导致:Arduino2.x下载安装后卡在LOGO

台式机之前使用arduino1.8没什么问题&#xff0c;升级到2.x后不能用了。由于arduino1.8还是可以能够使用的&#xff0c;关键台式机不是主力就凑合的。主力机笔记本升级arduino2.x能够使用&#xff0c;没有折腾了&#xff0c;这两天有空准备&#xff0c;折腾了一天。终于成果&am…

涂料耐久性氙灯老化试验箱

涂料氙灯老化试验箱是现代检测手段中常用的一种设备&#xff0c;它能够模拟自然光照、光照老化等环境条件&#xff0c;对涂料、染料、塑料、橡胶、纺织品、涂层等材料进行老化试验&#xff0c;以评估其耐久性和使用寿命。本文将详细介绍涂料氙灯老化试验箱的工作原理、使用注意…

MCU扩容新选择——SD NAND(单片机上搭配的SPI NOR FLASH容量告急!)

目录 注意&#xff1a; 前言&#xff1a;  问题与需求&#xff1a; SD NAND方案&#xff1a; NOR 与 NAND的区别&#xff1a; 总结&#xff1a; 插播广告&#xff1a; 128MB 详情页&#xff1a; PS: 传送门&#xff1a; 退路&#xff1a; 传送门; 注意&#xff1a;…

案例分享—优秀国外界面设计配色舒适的原因

国外的UI设计师通常接受过系统的色彩理论学习&#xff0c;他们深刻理解色彩对人的心理和感知的影响。在实际设计中&#xff0c;他们运用这些知识&#xff0c;通过巧妙的色彩搭配来创造出和谐、舒适的视觉效果&#xff0c;从而提升用户体验。 国外的UI设计在色彩搭配上往往更加注…

python中取list前2位

实用工具 list [1,2,3] print(list[:2])结果输出

时间序列分析2|ARIMA模型|SARIMA模型

ARMA模型的定阶 自相关和偏自相关系数法 通过观察样本的自相关系数(ACF)和偏自相关系数(PACF)&#xff0c;进行大体的判断 模型定阶的经验方法 截尾&#xff1a; 最初的d阶样本(偏)自相关系数明显在2倍标准差范围外95%的(偏)自相关系数都落在2倍标准差的范围以内非零自相…

RAM(随机存取存储器)都有哪些?(超详细)

目录 RAM的特点 RAM的类型 1. SRAM&#xff08;静态随机存取存储器&#xff09; 2. DRAM&#xff08;动态随机存取存储器&#xff09; 3. SDRAM&#xff08;同步动态随机存取存储器&#xff09; 4. DDR SDRAM&#xff08;双倍数据速率同步动态随机存取存储器&#xff09;…

GTC2024 回顾 | 优阅达携手 Power BI 赋能企业数据洞察,助力 AI 驱动的商业智能革新

随着 AI 加入&#xff0c;Power BI 更像是一个智能分析伙伴&#xff0c;帮助全球企业在数据驱动的商业世界中取得成功。 GTC 2024 全球流量大会&#xff08;深圳&#xff09;已圆满落幕。作为中国跨境出海领域最大的盛会之一&#xff0c;大会聚焦了行业内最前沿的创新技术和跨境…

Win10将用户文件夹迁移到其它磁盘

Windows的用户文件夹放在系统盘C盘,系统使用过程中,该文件夹会不断地增加一些文件,导致C盘空间不断减少。可将C盘用户文件夹迁移到其它磁盘,以解决此问题。 1、创建临时账户 首先创建一个临时账户。右击开始菜单,选择”计算机管理“,打开本地用户和组中的用户,在空白处…

图片太大不能上传怎么压缩变小?图片压缩变小的8个方法

在当今这个高度数字化的时代&#xff0c;图片作为信息传递的重要载体&#xff0c;其上传与分享变得日益频繁。然而&#xff0c;面对网络平台或应用对文件大小的严格限制&#xff0c;一张未经处理的图片往往显得过于庞大&#xff0c;难以顺利上传。这时&#xff0c;掌握图片压缩…

nginx的代理服务器

简介 Nginx是一款高性能的开源Web服务器和反向代理服务器&#xff0c;它以其稳定性、低资源消耗以及高并发处理能力而闻名。Nginx作为代理服务器&#xff0c;主要提供两种模式的服务&#xff1a;正向代理和反向代理。 实验准备 四台虚拟机&#xff1a;一台nginx代理服务器、两台…