Linux
文章平均质量分 88
Linux学习
憧憬成为原神糕手
我要成为原神糕手,顺便写写代码。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux 常见指令 和 文件访问权限的设置(笔记)
目录自己的笔记,所以有些简单的不写了(没那么多时间)一.Linux 常见指令1.ls2.pwd 3 cd4.rmdir 指令 && rm 指令5.man 指令6.cp 指令7.less 指令8.head 指令9.tail 指令10.alias 指令11.grep 指令12.zip/unzip 指令13.tar指令二.文件访问权限的相关设置方法1. chmod2. chown3. chgrp4.使用 sudo 分配权限功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。用原创 2025-02-26 00:34:57 · 1143 阅读 · 0 评论 -
linux信号产生和保存和捕捉
1. 键盘2. 系统调用 kill() 函数3. 系统命令 (在xshell 中输入 kill -9 pid)4. 硬件异常5. 软件条件OS来进行信号发送!本质就是修改比特位!原创 2025-06-30 18:28:03 · 703 阅读 · 0 评论 -
传输层协议UDP
负责数据能够从发送端 传输到 接收端在TCP/IP协议中,用“源IP","源端口号",“目的IP",“目的端口号","协议号”这样一个五元组来标识一个通信(可以通过查看)原创 2025-11-01 15:40:34 · 363 阅读 · 0 评论 -
进程概念(Linux)
笔记本,服务器,PC等大部分计算机都遵守冯诺依曼体系。这里的存储设备指的是内存,我们计算机存放游戏的磁盘叫外存!!CPU能且只能对内存进行读写!原创 2025-04-04 15:22:24 · 1126 阅读 · 0 评论 -
vim的一般操作(分屏操作) 和 Makefile 和 gdb
(也就是make),不过,我们可以显示要make执行。即命令—“make clean”,以此来清除所有的目标文件,以便重编译。原创 2025-03-22 13:33:27 · 1079 阅读 · 0 评论 -
文件函数,文件描述符和重定向(基础IO笔记)
其他同理。原创 2025-04-17 14:39:23 · 808 阅读 · 0 评论 -
进程间通信(IPC),管道(pipe),System V共享内存 (shm)
SystemV信号量消息队列共享内存条件变量读写。原创 2025-06-29 11:24:54 · 946 阅读 · 0 评论 -
网络的基础概念
mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址,可能会冲突;0-1023:知名端口号,HTTP,FTP,SSH等这些广为使用的应用层协议,他们的端口号都是固定的.会话层、表示层是不可能接入到操作系统中的,所以在工程实践中,最终落地的是5层协议。协议本质也是软件,在设计上为了更好的进行模块化,解耦合,也是被设计成为层状结构。因为:通信主机距离变远了,如果发送的消息没有统一的标准,就会造成反序列化错了,IP协议有两个版本,IPV4和IPv6,凡是提到IP协议,没有特殊说明的,原创 2025-11-01 13:54:30 · 931 阅读 · 0 评论 -
linux软硬连接
库是预先编写好的、用于实现特定功能的一组代码集合。这些库可以被多个程序共享使用,以减少重复代码的编写和提高代码的复用性。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。就是把.o文件编译到一起。库有两种:静态库.a[Linux]动态库.so[Linux]原创 2025-04-23 12:44:47 · 896 阅读 · 0 评论 -
传输层协议 TCP 三次握手/四次挥手 TIME_WAIT
(这个ACK是客户端确认收到了FIN)4.原创 2025-11-03 14:15:25 · 700 阅读 · 0 评论 -
进程VS线程
CPU无法获取数据,CPU没有数据就无法进行计算,CPU罢工了用户进程也就出现了缺页中断,进程会从用户态切换到内核态,并将缺页中断交给内核的PageFaultHandler处理。3.3 页目录结构,两级页表的地址转换(级页表对连续内存要求高,于是引入了多级页表,但是多级页表也是一把双刃剑,在减少连续存储要求且减少存储空间的同时降低了查询效率。共用同一块虚拟地址空间,因共享了不该共享的变量而造成不良影响的可能性是很大的,换句话说线程之间是缺乏保护。这样就解决了使用连续的物理内存造成的碎片问题。原创 2025-09-22 21:33:39 · 994 阅读 · 0 评论 -
自定义协议 和 HTTP协议
在我们自定义的协议之中,很容易出现粘包问题,所以定义一个好的协议就很重要。原创 2025-11-01 15:11:21 · 918 阅读 · 0 评论 -
进程控制(Linux)
1.2 fork函数返回值:1.子进程返回0。2.父进程返回的是子进程的pid。1. 分配新的内存块和内核数据结构给子进程。2. 将父进程部分数据结构内容拷贝至子进程。3. 添加子进程到系统进程列表当中。4. fork返回,开始调度器调度。可能造成“僵尸进程’的问题。代码运行完毕,结果不正确。3.1.1 wait方法。代码运行完毕,结果正确。2.调用exit()原创 2025-04-16 12:57:43 · 956 阅读 · 0 评论 -
五种IO模型
如果内核还未将数据准备好,系统调用仍然会直接返回,并且返回EWOULDBLOCK错误码.我们此处只是用第三种功能,获取/设置文件状态标记,就可以将一个文件描述符设置为非阻塞。任何IO过程中,都包含两个步骤.第一是等待,第二是拷贝,而且在实际的应用场景中,使用F_GETFL将当前的文件描述符的属性取出来(这是一个位图)在内核将数据准备好之前,系统调用会一直等待.,这对CPU来说是较大的浪费,一般只有特定场景下才使用.. 让IO更高效,最核心的办法就是让等待的时间尽量少.一个文件描述符,默认都是阻塞1O.原创 2025-11-07 16:26:19 · 285 阅读 · 0 评论 -
Udp 和 Tcp socket的一般编程套路(笔记)
第一步:创建套接字第二步:配置服务器地址信息第三步:绑定套接字就可以运行了。原创 2025-09-24 19:12:09 · 333 阅读 · 0 评论 -
线程池,单例(饿汉懒汉),死锁
线程池:一种线程使用模式。线程池,等待着监督管理者分配可并发执行的任务(短服务),。原创 2025-09-23 19:54:39 · 614 阅读 · 0 评论 -
线程同步与互斥和生产消费模型
互斥:任何时刻,互斥保证 有且只有一个 执行流(线程)进入临界区,访问临界资源,通常对临界资源起保护作用 补充其他背景知识: 临界资源:多线程执行流 共享的资源 就叫做临界资源 临界区:访问临界资源的共享代码,就叫做临界区 原子性(后面讨论如何实现)不会被任何调度机制打断的操作,该操作只有两态,完成和没运行。 为什么需要互斥!!!因为,多个线程并发的操作共享变量,会带来一些问题,比如 网络多个用户抢票问题等。不细说了,懂得自然懂。原创 2025-09-23 14:36:13 · 598 阅读 · 0 评论
分享