- 博客(15)
- 收藏
- 关注
原创 虚拟机部署Nginx
这意味着一个客户端在完成一次请求后,Nginx会保持这个TCP连接65秒,如果客户端在此期间有新的请求,就可以复用这个连接,避免了反复建立新连接的开销,对性能提升巨大。include:加载一个外部文件,该文件定义了文件拓展名与MIME类型之间的对应关系,MIME类型会告诉浏览器它收到什么类型的文件(text/html image/jpeg),以便正确显示。Makefile:这个文件是由configure脚本生成的,它包含了具体的编译和链接指令,当运行make命令,系统是按照这个文件的指示,一步步组装代码。
2025-07-26 13:36:00
718
原创 UDP协议
UDP是一个简单的面向消息的传输层协议,是一种无连接的传输层协议,提供了一种简单的不可靠的数据传输服务。UDP提供了不面向连接的通信,且不对传送的数据报进行可靠地保证,适用于一次传送少量的数据,不适用于传送大量的数据。UDP属于网络协议栈中的传输层协议,直接负责数据的传输和接收。
2025-07-05 23:50:09
935
原创 ICMP协议
ICMP是一个网络层协议,一个新搭好的网络,往往需要进行一个简单的测试,来验证网络是否畅通,但是IP协议并不提供可靠传输,如果丢失,IP协议并不能通知传输层是否丢包以及丢包的原因。ICMP协议是基于IP协议工作的,但是它并不是传输层的功能,仍然把它归结为网络层协议。ICMP主要功能有确认IP包是否成功到达目标地址,通知在发送过程中IP包被丢弃的原因。类型:表示生成的错误报文,他是ICMP报文中的第一个字段。13:Timestamp Request(时间戳请求)8:Echo Request(回显请求)
2025-07-05 23:37:10
476
原创 IP协议概念
TOS:3位优先权字段(已经弃用), 4位TOS字段, 和1位保留字段(必须置0). 4位TOS(最小延时, 最大吞吐量, 最高可靠性, 最小成本),只能选其一. ssh/telnet这样的应用程序, 最小延时比较重要;接收方:直接对数据报全部相加,最后结果是0xFFFF即可说明数据正确,因为前一步的校验和是进行取反后的值,取反后加上原来没取反的结果一定是0xFFFF。发送方计算一份数据报的IP校验和,首先要把检验和字段置为0.然后,对首部的每一个16为bit进行二进制反码求和,将结果存放在检验和字段中。
2025-07-05 23:32:23
570
原创 ARP协议
提供IP地址和MAC地址之间的映射,以太网协议采用MAC地址识别网卡。但是在网络层需要一个网络地址(IP地址)实现网络互联。ARP协议就是实现MAC地址和IP地址的转换,将转换结果存储在ARP缓存表中。(目标IP地址和自己在同一个网段):检查IP层的ARP高速缓存表中是否存在目的IP地址和对应的MAC地址,存在则调用函数,发送。完成Ethernet Header+IP+CRC的封装(如果目标IP地址和自己不在同一个网段),就需要把包发送给默认网段。
2025-07-05 23:06:53
1093
原创 V4L2总结
通过ioctl(fd,VIDIOC_QUERYBUF,&buf)命令,可以从驱动程序中获取特定的缓冲区的信息,包括其在内核内存中的偏移量。//这里的buf.m.offset实际上取决于memory字段当memory为V4L2_MEMORY_MMAP时表示的是缓冲区在内核的偏移量。/* 每个平面的格式 */__u32 type;// 缓冲区的数据流类型(enum v4l2_buf_type)
2025-05-07 00:11:35
907
原创 三、Linux进程
我们在编写完代码并运行之后,在我们的磁盘会形成一个可执行文件,当我们打开可执行文件(程序时),这个程序会被加载到内存中,而此时这个状态就被成为进程。所以,只要把程序加载到内存中,我们就称之为进程。准确定义进程是系统进行资源分配的基本单位,是操作系统结构的基础进程是担当分配系统资源(CPU时间,内存)的实体,是一个动态的概念他是具有一定独立功能的程序关于某个数据集合的一次运行活动进程=内核数据结构(内核PCB对象)+可执行程序几个概念程序:二进制文件,占用磁盘空间进程:启动的程序。
2024-11-23 22:54:40
675
原创 二、Linux文件操作
定义内存空间预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据。这部分预留的空间就被称为缓冲区,作用缓冲区可以保护硬件,所有磁盘都是有寿命限制(读写不是无数次),所以我们将读写的内容都放在缓冲区,统一进行读写,减少次数。本质就是一块内存区,他是用在输入输出设备和CPU之间,用来缓存数据。它使得低速的输入输出设备和高速的CPU设备能够协调工作。
2024-11-14 21:58:48
668
原创 Linux目录及文件操作
LInux和Windows都是操作系统,Linux常常用于嵌入式设备,但是在嵌入式设备中因为资源的限制,所以通常不使用带图形命令的Linux操作系统,所以直接使用命令行开发。使用命令打开文件,文件初始化是命令模式,一般在命令模式下,执行复制和粘贴代码,如果想返回命令模式,按Esc即可。位于操作系统和应用程序之间,是他们二者最主要的接口,Shell负责把应用程序的输入命令信息解释给操作系统,将操作系统指令处理后的结果解释给应用程序。红色:删除或损坏的文件,如果链接指向的文件或者目录不存在,显示红色。
2024-11-14 21:56:56
939
原创 五 指针
5.1 指针的定义内存会划分为小的内存单元,每个内存单元都有一个编号,这个编号就是所谓的地址,我们把地址称之为指针。 指针即指针变量:用于存放地址的变量 指针的大小 32位平台:4个字节 64位平台:8个字节 以上在各自平台的指针大小是固定。 为什么是这样确定? 因为在32位平台下,地址总线是32位,能够表示的地址范围是2^32-1.由于一个字节是8位,所以需要4个字节存储。无论存储的数据多大,都不会超过4个字节。 在64位平台下,地址总线是64位,能够表示的地址范围是2^6
2024-11-05 21:12:02
320
原创 四、 数组
类型说明符 数组名[常量表达式]类型说明符是任一种基本数据类型或者构造数据类型,对于同一个数组,其所有元素的数据类型都是相同的。数组名是用户定义的数组标识符。表示内存的首地址,是地址常量,sizeof(数组名)是数组占用的总内存空间内存字节数=数组维数*sizeof(元素数据类型)常量表达式表示数据元素的个数类型说明符 数组名 [常量表达式1][常量表达式2]类型说明符和数组名同上常量表达式1表示的是行常量表达式2表示的是列元素个数=行数*列数。
2024-10-26 16:20:07
696
原创 一、数据类型、变量、常量、和运算符
char0-255在计算机中内部的储存方式是以二进制进行存储的,无符号整数会全部用来存储数据,所以八位共计256个数,也就是0-255。有符号整数,其最高位用于表示符号,1为负数,0为正数。所以最大的正数为0111 1111=127,同理对应的最大的负数应该为1111 1111=-127。那为什么这里的值域是-128。首先因为计算机不会进行减法,只会进行加法,所以为了解决这个问题,提出了原码,反码的概念。原码是最基础的机器数表示法,最高位为符号位,1表示负数,0表示正数,其他位存放该数的二进制绝对值。
2024-10-22 16:12:53
935
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅