![](https://img-blog.csdnimg.cn/3bf5d43756264087ac2ae5ed746de51d.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux应用开发
文章平均质量分 72
Linux应用开发学习
lqonlylove
这个作者很懒,什么都没留下…
展开
-
IPSec应用笔记
IPSec应用笔记原创 2023-03-16 22:39:25 · 155 阅读 · 0 评论 -
SSL、TLS应用笔记
SSL、TLS应用笔记原创 2023-03-15 20:50:59 · 423 阅读 · 0 评论 -
raw socket应用笔记
AF_INET:能看到网络层数据。AF_PACKET:能看到链路层数据。AF_INET + SOCK_STREAM:获取基于TCP协议的应用层数据(不能获取TCP头部信息)。AF_INET + SOCK_DGRAM:获取基于UDP协议的应用层数据(不能获取UDP头部信息)。AF_INET + SOCK_RAW:获取基于IP协议的传输层数据(不能获取IP头部信息),获取IP头部信息需要开启IP_HDRINCL特性。原创 2023-03-14 22:13:15 · 826 阅读 · 0 评论 -
libevent 学习笔记
libevent 使用笔记原创 2023-03-08 22:07:34 · 739 阅读 · 0 评论 -
IO多路复用
深入理解IO多路复用原创 2023-03-07 20:34:58 · 733 阅读 · 0 评论 -
多线程实现高并发socket服务器
多线程实现高并发socket服务器原创 2023-03-06 21:15:40 · 633 阅读 · 0 评论 -
深入理解多线程
深入理解多线程原创 2023-03-05 12:40:54 · 371 阅读 · 0 评论 -
多进程实现socket高并发服务器
多进程实现socket高并发服务器原创 2023-03-04 22:42:39 · 205 阅读 · 0 评论 -
深入理解多进程
linux 多进程相关概念整理原创 2023-03-03 19:24:31 · 1543 阅读 · 0 评论 -
深入理解线程池
服务池:进程池、线程池。池化技术指的是提前准备一些资源,在需要时可以重复使用这些预先准备的资源。在系统开发过程中,我们经常会用到池化技术。通俗的讲,池化技术就是:把一些资源预先分配好,组织到池中,之后的业务使用资源从对象池中获取,使用完后放回到对象池中。这样做带来几个明显的好处:常见池化技术使用:Master-Worker 模式是常用的并行设计模式。核心思想是,系统由两个角色组成,Master 和 Worker,Master 负责接收和分配任务,Worker 负责处理子任务。任务处理过程中,Master 还原创 2022-06-18 16:52:17 · 579 阅读 · 0 评论 -
socket 编程
UNIX socket 用于同一主机系统上的应用程序之间通信。UNIX socket核心:使用文件系统。Internet socket 用于不同主机系统上的应用程序通信。网络字节序:在网络传输中定义的字节序的定义。1、server.c2、client.c3、编译4、测试1、server.c2、client.c3、编译4、测试...原创 2022-06-06 06:31:46 · 694 阅读 · 2 评论 -
守护进程
1、生命周期很长。2、在后台允许且不拥有控制终端。1、脱离当前进程。2、释放控制终端。3、禁止打开控制终端。4、设置进程 umask。5、修改进程当前工作目录。6、关闭打开的文件描述符。7、重定向文件描述符 0, 1, 2 到 /dev/null。1、becomeDaemon.h2、becomeDaemon.c3、main.c四、测试1、编译2、daemonTest 进程启动前3、启动 daemonTest 进程4、daemonTest 进程启动后5、查看 daemonTest 进程打开的文原创 2022-06-05 15:56:50 · 183 阅读 · 0 评论 -
虚拟文件系统 VFS
https://blog.csdn.net/weixin_29664063/article/details/116605039https://blog.csdn.net/qq_43646576/article/details/105768882https://blog.csdn.net/yushuaigee/article/details/107883964https://www.cnblogs.com/wanng/p/linux-inodes.html原创 2022-02-23 20:14:59 · 219 阅读 · 0 评论 -
Linux/Unix系统编程 五:进程
进程是一个可执行程序的实例。一、linux系统进程管理1、进程管理的作用判断机器健康状态查看系统中所有进程杀手进程2、查看系统进程1、ps -auxBSD操作系统格式:TTY说明:tty1 - tty7: 本地控制台终端 tty1 - tty6: 字符界面终端 tty7: 图形终端 pts/0 - pts/255: 虚拟终端START常见状态:R: 运行S: 睡眠D: 不可被唤醒的睡眠状态Z: 僵尸进程T: 停止状态X: 死掉的进程N: 优先级较低进程L原创 2021-10-09 23:45:25 · 404 阅读 · 0 评论 -
Linux/Unix系统编程 四:文件描述符(fd)与 文件指针(FILE*)
原博客地址:https://blog.csdn.net/mm_hh/article/details/71374474一、文件描述符(fd)我们都知道在Linux下一切皆文件。当然设备也不例外,如果要对某个设备进行操作,就不得不打开此设备文件,打开文件就会获得该文件的文件描述符fd( file discriptor), 它就是一个很小的整数,每个进程在PCB(Process Control Block)中保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针。图中文件转载 2021-10-09 01:45:33 · 630 阅读 · 0 评论 -
Linux/Unix系统编程 三:文件IO缓存
出于速度和效率考虑,系统I/O调用(即内核)和标准 C 语言库 I/O 函数(即stdio函数)在操作磁盘文件时会对数据进行缓存。一、文件I/O的内核缓冲:缓冲区高速缓存read() 和 write() 系统调用在操作磁盘文件时不会直接发起磁盘访问,而是仅仅在用户空间缓冲区和内核缓冲区高速缓存之间复制数据。缓冲区大小对 I/O 系统调用性能的影响:如果与文件发生大量的数据传输,通过采用大块空间缓冲数据,以及执行更少的系统调用,可以极大提高 I/O 性能。二、stdio 库的缓冲当操作磁盘文件时,原创 2021-10-09 01:12:02 · 1047 阅读 · 0 评论 -
Linux/Unix系统编程 二:深入探究文件IO
一、原子操作、竞争原子操作:一个独立而不可分隔的操作。所有系统调用都是以原子操作方式执行的。原子操作规避了竞争状态。竞争状态:操作共享资源的两个进程(或线程),其结果取决于一个无法预测的顺序,即这些进程获得CPU使用权的先后相对顺序。1、原子操作必要性说明思考以下程序:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>#includ原创 2021-09-25 22:57:54 · 281 阅读 · 0 评论 -
Linux/Unix系统编程 一:通用的I/O模型
一、文件linux宗旨:一切皆文件1、文件类型d 目录l 符号链接(软硬连接)s 套接字文件b 块设备文件c 字符设备文件p 命名管道文件- 普通文件,或者更准确的说,不属于以上几种类型的文件2、文件权限r 读权限w 写权限x 执行权限3、权限设置1、查看用户列表cat /etc/passwd通常在Linux系统中,用户的关键信息被存放在系统的/etc/passwd文件中,系统的每一个合法用户账号对应于该原创 2021-09-23 23:20:38 · 363 阅读 · 0 评论 -
Linux篇一:使用VMware搭建linux环境
1、安装VMwarehttps://blog.csdn.net/hao5119266/article/details/891982752、VMware网络配置vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。1、虚拟设备成功安装VMware后,会出现如下虚拟设备:1、虚拟交换机VMnet0:用于虚拟桥接网络下的虚拟交换机VMnet1:用于虚拟Host-Only网络下的虚拟交换机VMnet8:用于原创 2021-02-20 21:46:52 · 639 阅读 · 0 评论