- 博客(11)
- 收藏
- 关注
原创 链路层、网络层、传输层、应用层长度
1、概述首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。 以太网(Ethernet)的数据帧在链路层 IP包在网络层 TCP或UDP包在传输层 TCP或UDP中的数据(Data)在应用层 它们的关系是 数据帧{IP包{TCP或UDP包{Data}}}不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每
2021-10-10 11:06:51
3686
转载 网络冗余——PRP协议
1. 什么是PRP冗余机制?HSR/PRP协议分别提供独特的冗余机制进行网络链路的冗余备份,简要的机制介绍如下:名词概念:SAN: Singly Attached Node,单端口节点,不实现PRP功能 DANP: Doubly AttachedNode implementing PRP,PRP的双端口节点,可直接发送PRP流量 RedBox: RedundancyBox,冗余盒,将SAN传入的流量转换成PRP流量发送出去 C Frame: 原始信息帧,指代用户想要冗余备份的信息 A Fram
2021-10-08 21:33:00
6360
1
原创 内存测试用例memtester4.3.0
memtester-4.3.0memtester-ARMint test_stuck_address(bufa, count);(√ ) 先全部把地址值交替取反放入对应存储位置,然后再读出比较,重复2次(官网的重复了16次):测试address busint test_random_value(bufa, bufb, count);(√ )等效test_random_compar
2021-08-22 22:52:46
1753
2
原创 iCache和dCache
CPU和主存之间也存在多级高速缓存,一般分为3级,分别是L1, L2和L3。另外,我们的代码都是由2部分组成:指令和数据。L1 Cache比较特殊,每个CPU会有2个L1 Cache。分别为指令高速缓存(Instruction Cache,简称iCache)和数据高速缓存(Data Cache,简称dCache)。L2和L3一般不区分指令和数据,可以同时缓存指令和数据。下图举例一个只有L1 Cache的系统。我们可以看到每个CPU都有自己私有的L1 iCache和L1 dCache。为什么要区分指令和.
2021-07-08 22:55:02
5494
原创 栈帧详解ebp、esp
一. 理解栈帧栈帧是什么,我们基本的理解是栈帧是栈帧也叫过程活动记录,是编译器用来实现过程/函数调用的一种数据结构。通俗来说栈帧就时C语言函数在调用的过程中的调用原理,就是当我们执行一个函数操作的时候,它的内部是如何实现的呢。二 .关于栈帧的背景知识寄存器第一个寄存器ebp,基址寄存器,也叫做栈底寄存器。第二个寄存器esp,是栈顶寄存器。第三个寄存器pc指针,也叫做程序计数器,它永远指向当前指令的下一条指令。计算机运算的基本过程取指令–分析指令–执行指令但程序执行的过程中,p
2021-04-11 18:42:04
12271
1
原创 内存RAM、ROM 和 flash区别
1. 什么是内存什么是内存呢?在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存),辅助存储器又称外存储器(简称外存)。外存通常是磁性介质或光盘,像硬盘,软盘,磁带,CD等,能长期保存信息,并且不依赖于电来保存信息,但是由机械部件带动,速度与CPU相比就显得慢的多。内存指的就是主板上的存储部件,是CPU直接与之沟通,并用其存
2020-12-21 16:48:53
308
原创 C语言文件 open函数和fopen函数
open头文件:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>定义函数:int open(const char * pathname, int flags);int open(const char * pathname, int flags, mode_t mode);函数说明:**参数 pathname :**指向欲打开的文件路径字符串.参数flags:O_RDONLY
2020-12-09 13:14:11
2175
原创 C语言回调函数代码解析
1. 什么是回调函数?回调函数,光听名字就比普通函数要高大上一些,那到底什么是回调函数呢?恕我读得书少,没有在那本书上看到关于回调函数的定义。我在百度上搜了一下,发现众说纷纭,有很大一部分都是使用类似这么一个场景来说明:A君去B君店里买东西,恰好缺货,A君留下号码给B君,有货时通知A君。感觉这个让人更容易想到的是异步操作,而不是回调。另外还有两句英文让我印象深刻:1) If you call me, I will call you back; 2) Don’t call me, I will call y
2020-12-03 15:29:02
169
原创 Linux——GDB调试基本命令
GDB调试步骤使用gdb调试时,需要在编译时使用-g参数g++ -g test.cpp -o testgdb test常用命令:start #开始调试,停在第一行代码处,(gdb)startl #list的缩写查看源代码,(gdb) l [number/function]b <lines> #b: Breakpoint的简写,设置断点。(gdb) b 10b <func
2020-10-29 11:17:38
192
转载 C++中NULL和nullptr的区别
C++中NULL和nullptr的区别一、C程序中的NULL在C语言中,NULL通常被定义为:#define NULL ((void *)0)所以说NULL实际上是一个空指针,如果在C语言中写入以下代码,编译是没有问题的,因为在C语言中把空指针赋给int和char指针的时候,发生了隐式类型转换,把void指针转换成了相应类型的指针。int *pi = NULL;char *pc = NULL;二、C++程序中的NULL但是问题来了,以上代码如果使用C++编译器来编译则是会出错的,因为C++是
2020-10-20 10:53:08
143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人