- 博客(138)
- 收藏
- 关注
原创 波奇学网络:数据链路层
以太网帧,局域网通信原理,交换机,ARP协议:ip地址转换为mac地址,ARP报文ARP周边问题,DNS:域名解析,域名简介,ping命令不关心端口号,NAT技术:将私有ip转为公有ip,内网穿透,正向代理/反向代理
2024-04-20 20:42:45
958
原创 波奇学网络:网络层之IP协议
ip报文解析 Questionip地址组成 ip地址=网络号+主机号 划分ip的方法和ip短缺问题 CIDR解决ip短缺问题 通过子网掩码计算网络号 子网掩码如何解决问题ip浪费问题? 增加ip利用上限NAT技术 公网ip和私有ip 局域网主机如何访问公网 路由表:主机是如何转发给路由器的ip报文的分片
2024-04-15 16:26:01
497
原创 波奇学网络:传输层之滑动窗口和面向字节流
滑动窗口:决定一次发送的TCP报文数量,延迟应答:返回更大的窗口,快重传,拥塞控制,拥塞窗口,拥塞窗口的慢启动,面向字节流,解决粘包问题:明确两个包的边界,TCP链接异常,文件和socket的关系
2024-04-02 13:16:28
372
原创 波奇学网络:传输层之UDP/TCP协议
TCP/UDP在传输层,IP地址标识主机,端口号标识运行在主机上的进程,端口号划分netstat:查看网络状态,UDP,TCP,TCP报文,确认应答机制,32位序号和32位确认序号序号,确认序号,确认序号和序号同时存在的原因,6个标志位,RST应用场景,URG应用场景TCP可靠性策略,确认应答机制,超时重传机制,TCP的连接管理机制,连接流程,为什么有三次握手?为什么四次挥手?TIME_WAIT状态,TIME_WAIT的时间为什么是2MSL?,TCP流量控制
2024-04-01 19:08:51
1004
原创 波奇学Linux:HTTPS协议
HTTPS和HTTP的区别,加密,对称加密,非对称加密,数据摘要和数据指纹:判断数据是否被修改,HTTPS加密方案,只使用对称加密,只使用非对称加密,服务器保存公私钥,双方都使用公钥和私钥,非对称加密和对称加密混合使用,证书:验证公钥合法性,证书认证流程,证书是如何保证合法性的?证书合法即为公钥合法,保证证书不被篡改,同时修改明文信息和签名?伪造整个证书?用CA证书进行替换?中间,Question
2024-04-01 15:23:50
596
原创 波奇学网络:应用层之HTTP协议
HTTP协议是什么?HTTP(超文本传输协议),协议属于应用层HTTPS协议绑定端口号443,HTTP协议绑定端口号 80 ,URL(统一资源定位符),url的含义,url的字符转义,HTTP报文解析,HTTP请求,HTTP回应,HTTP 报头字段含义,HTTP方法,HTTP状态码,永久重定向和临时重定向,Cookies文件:会话保存登录状态
2024-03-28 22:25:02
345
原创 波奇学Linux:自定义协议和序列和反序列化
read和write都是从用户到内核空间的拷贝,数据不一定传输到另一个台主机的缓冲区,什么发数据由tcp协议决定。TCP是面向字节流的如何保证,读取上来的数据是一个"完整"的报文。tcp传输控制协议:什么时候发,发多少,出错怎么办。根据协议编号可以自由选择协议,相当于协议的多态。读上的数据就完全不确定。代码太多...不展示了。
2024-03-27 00:45:50
355
1
原创 波奇学Linux:守护进程
每个用户登录时创建session ,一个session id。让某个进程自成会话,不需要和进程显示器以及bash命令关联。网络服务部署就是把进程以守护进程的形式部署到服务器。tcp什么时候发,由自己决定,所有tcp是发送协议。sleep算另外一个进程组,第一进程是进程组组长。bash退了,进程组被托孤了,被系统领养,所有的进程都会保存在session 内部。进程组和任务的关系:任务指派给进程组。前台进程暂停了,把后台进程提到后台。不想受任何用户登录和注销的影响,自成进程自成会话的进程,守护进程。
2024-03-25 14:55:51
245
原创 波奇学Linux:网络套接字
0,1024]:系统内定的端口号,一般要用固定的应用层协议,http:80 err string : Permission denied。网络通信时,顾客端通信往往要指定端口号,一般ip地址和端口号会被封装成网站的形式。服务器可以有多个ip,如果只绑定一个ip,只能收到来自一个ip的信息。domain:ipv4 还是ipv6。云服务器禁止直接bind公网ip。type:面向字节流还是...
2024-03-23 21:36:28
359
原创 波奇学Linux:ip地址 套接字
跨网络时必须要有路由器令牌环:保证只有一台主机发送信息,拿到令牌的主机才能发送信息,相当于锁令牌环协议和以太网协议可以互相替换ip地址:保证特定一台主机在全网的唯一性ipv4 4字节,32比特位 整数 如192.68.1.1mac地址只保证主机在局域网的唯一性ip地址相当于路径的起始地址和终点地址,有起点ip和终点ip而路上的上一站从哪来,下一站去哪里是一直会变化的,mac地址,有点像主机通信穿过不同的局域网,起始的mac地址和终点的mac改变。
2024-03-19 11:29:38
362
原创 波奇学Linux:网络基础
网卡相当于文件,通过网络传输,相同于写到不同的文件中。协议:一种约定,像是0表示低电平,1表示高电平一样如何定位主机的问题如何处理发来的数据如何保证数据到达准确下一个设备每层都有自己的协议发送数据时必然有多一些数据,这些数据可能是管理信息,这些就是协议,表现形式就是结构体对象。
2024-03-18 12:21:32
519
原创 波奇学Linux:线程安全和自选锁和读写锁
自选锁:当线程申请锁失败时,不是挂起,而是一直申请。一般临界区时间短的适合自选锁,长的适合挂起等待锁。挂起等待锁 :当线程申请锁失败时,把锁挂起。STL不是线程安全的。
2024-03-17 04:17:01
416
原创 波奇学Linux:线程同步和信号量
cp是高效的:consumer在临界区,productor在非临界区,处于并发的过程伪唤醒问题 用while来判断解决伪唤醒修改成多线程信号量 信号量接口环形队列的消费模型 特点 用信号量来实现
2024-03-14 12:52:47
427
原创 波奇学Linux:线程的同步和互斥
假设初始值是10,当线程1,处于第一步切换到线程2,3,4...,完成了三步,内存的值为1,但是又切换回线程1,线程恢复上下文的值为10,修改后内存的值又为9。线程在执行时,将共享数据,加载到cpu的本质是把数据的内容,变成自己的上下文,给自己单独拿了一份。纯互斥场景,如果锁分配不合理,容易导致其他线程的饥饿问题,竞争不到锁资源。加锁的本质就是时间换资源,加锁的表现就是线程对于临界区代码的串行执行。函数不可重入,多线程可能出现问题,可重入,不会出现多线程安全问题。线程分离,结束后不用等待,自己释放资源。
2024-03-12 11:18:59
514
原创 波奇学Linux:线程
线程的概念虚拟地址是如何转换为物理地址线程分配资源就是本质分配地址空间范围线程比进程更加轻量化线程优缺点线程独有数据和共享数据线程共享代码示范phread_createps -aL :查看机器的轻量级的进程终止线程不用exit() ,终止线程用return或者pthread_exit();取消进程线程函数传递类对象C++的原生数据库线程pid
2024-03-09 17:19:38
1283
原创 波奇学Linux: 信号捕捉
波奇学Linux: 信号捕捉 sigaction:修改信号对应的handler方法 sigset_t 信号屏蔽:调用自定义函数时同时屏蔽其他信号 可重入函数的问题 基于信号捕捉来进行进程回收 基于信号捕捉来进行进程回收
2024-03-08 15:45:27
666
原创 波奇学Liunx:信号的产生,保存,处理
波奇学Liunx:信号的产生,保存,处理 信号的产生,信号的保存,信号的处理 前后台进程 信号 接收到信号的操作三选一 自定义收到信号的动作 键盘是OS先知道,OS是怎么知道键盘上有数据? 信号是进程之间的事件异步通知的一种方式,属于软中断 产生信号的方式
2024-03-04 18:05:09
430
原创 波奇学Linux:文件系统打开文件
对物理内存进行以4kb进行划分要访问一个内存,我们只要先找到4kb对应的page,就能在系统中找到系统中对应的物理页框。基数树 或者基树 字典树:有26个节点,指向每一颗树也有26个节点,分别表示a,b,c,e。Linux中我们的每一个进程,打开的每一个文件都要有自己的inode属性和自己的文件页面。Linux中我们的每一个进程,打开的每一个文件都有自己的inode属性和自己的文件页码。物理内存的4kb,磁盘的4kb文件叫做页帧。减少IO的次数,减少访问外设的次数--硬件。磁盘数据块的以4kb为单位。
2024-02-16 16:11:33
503
原创 波奇学Linux:文件缓冲区
分别向显示器文件输出四个语句,最后fork创建子进程。当程序运行时和程序重定向到文件中,输出的内容不一样。重定向时c库函数(printf,fprintf,fwrite)调用了两次,而系统调用write函数只调用了一次。
2024-02-14 00:28:14
622
原创 波奇学Linux:进程替换
单进程替换,进程替换的原理,多进程版进程替换,进程替换接口,excel进程替换函数调用自定义的进程,替换进程接收参数选项和环境变量
2023-12-19 23:40:35
1059
原创 波奇学Linux: 进程地址空间
进程=内核数据结构(task_struct&&mm_struct&&页表)+程序的代码和数据进程独立性:每个进程都有自己的PCB,页表的映射使得内存和进程解耦。
2023-12-15 15:25:47
1192
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人