系统编程
文章平均质量分 85
sy2453
这个作者很懒,什么都没留下…
展开
-
线程池&读写锁&单例模式&乐观锁&悲观锁
线程池读写锁单例模式乐观锁&悲观锁原创 2022-05-10 19:03:37 · 517 阅读 · 0 评论 -
生产者与消费者模型&信号量
生产者与消费者模型与信号量原创 2022-05-10 18:55:01 · 382 阅读 · 0 评论 -
死锁&详解
1.死锁产生的场景(两种)2.死锁的gdb分析3.死锁的必要条件4.代码怎么预防死锁原创 2022-05-10 18:46:11 · 277 阅读 · 0 评论 -
同步&条件变量
条件变量:条件变量接口:条件变量更深层次的理解(pthread_cond_wait内部原理)原创 2022-05-10 18:40:37 · 243 阅读 · 0 评论 -
线程安全与互斥
线程安全与互斥原创 2022-04-19 15:20:27 · 399 阅读 · 0 评论 -
线程概念与线程控制
1.线程概念2.线程控制原创 2022-04-19 15:12:15 · 636 阅读 · 0 评论 -
进程信号篇
1.信号的概念:信号是一个软中断2.信号的种类3.信号的产生:4.信号的处理方式5.信号的注册6.信号的注销:7.信号的自定义处理方式8.信号的捕捉流程9.信号的阻塞.10.扩展原创 2022-03-27 18:28:13 · 3153 阅读 · 0 评论 -
消息队列 msg
1.消息队列的原理2.消息队列的接口:2.1创建消息队列2.2发送消息2.3接收消息2.4操作消息队列的接口3 消息队列的生命周期也是跟随操作系统原创 2022-03-21 22:49:44 · 900 阅读 · 0 评论 -
共享内存shm
1 共享内存的原理 共享内存的接口2 共享内存的特性2.1生命周期跟随操作系统2.2共享内存采用的是覆盖写的方式,读的时候, 是访问地址2.3共享内存的删除特性原创 2022-03-20 21:03:35 · 1645 阅读 · 0 评论 -
系统接口当中,文件打开方式的宏,在内核当中的使用方式为位图&命名管道
1系统接口当中,文件打开方式的宏,在内核当中的使用方式为位图2命名管道2.1 mkfifo命令2.2mdfifo函数2.3特性2.4代码验证原创 2022-03-19 20:13:17 · 164 阅读 · 0 评论 -
父子进程的匿名管道
父子进程通过匿名管道进行进程间通信原创 2022-03-19 10:37:15 · 300 阅读 · 0 评论 -
匿名管道的特性
1 匿名管道的特性1.1 半双工1.2 管道的生命周期跟随进程。1.3 管道的大小(64k)1.4 管道提供字节流服务1.5 pipe_size1.6 阻塞属性2.设置非阻塞属性原创 2022-03-19 10:24:40 · 460 阅读 · 0 评论 -
进程间通信&匿名管道
1.进程间通信目的1.1为什么需要进程通信呢?1.2常见的进程间通信方式:2.管道(匿名管道):2.1管道符号 |2.1管道的本质2.3 管道的接口2.3.1理解参数的含义2.3.2 从PCB角度理解匿名管道2.3.3用匿名管道进行读写2.3.4进程间通信原创 2022-03-18 09:29:26 · 190 阅读 · 0 评论 -
Linux ext2 文件系统
Linux ext2 文件系统原创 2022-03-16 22:14:37 · 651 阅读 · 0 评论 -
基础I/O 1
1、c语言文件接口1.1 fopen:1.2 fclose1.3 fwrite1.4 fread1.5 fseek2、系统调用的文件接口2.1 open2.1 write2.3 read2.4 lseek2.5close2.6在调用读接口时,参数count预留一个“\0”的位置。3.文件描述符3.1文件描述符:文件描述符就是一个小正整数(没有负数)3.2 内核理解文件描述3.3 文件流指针和文件描述符的区别3.2.1.从源码角度理解文原创 2022-03-14 21:19:42 · 390 阅读 · 0 评论 -
进程控制2 进程程序替换
1.为啥需要进程程序替换因为父进程创建出来的子进程和父进程拥有相同的代码段,所以,子进程的代码和父进程是一样的。当我们想要让子进程执行不同的程序时候,就需要让子进程调用进程程序替换的接口,从而让子进程执行不一样的代码。2.原理:替换进程的数据段和代码段,更新堆栈。3.exec函数簇原创 2022-03-10 23:13:08 · 220 阅读 · 0 评论 -
进程控制1
1、进程创建1.1 fork内部完成的事情创建子进程,子进程拷贝父讲程的PCB。1.分配新的内存块和内核数据结构( task_struct)给子进程2.将父进程部分数据结构内容拷贝至子进程,将不一样的内容重新修改,重新分配内存(子进程的PID不等于父进程) 3.添加子进程到系统进程列表当中(添加到双向链表当中 ) 4.fork返回,开始调度(操作系统开始调度)。1.2用户空间&内核空间内核空间:Linux操作系统和驱动程序运行在内核空间。换句话说,系统调用的函数都是在内核空间运行的.原创 2022-03-09 17:20:08 · 1214 阅读 · 0 评论 -
进程概念相关2
1、环境变量2、进程虚拟地址空间原创 2022-03-07 13:12:07 · 531 阅读 · 0 评论 -
进程概念相关
1、冯诺依曼体系结构2、操作系统概念3、进程概念 PCB 创建子进程 僵尸进程 孤儿进程原创 2022-03-05 23:16:01 · 284 阅读 · 0 评论 -
linux操作系统下 调试器gdb和自动化构建项目
1、程序发布的两种版本(默认版本是release版本):debug模式:增加了调试信息,可以调试。release模式:代码会得到优化,执行速度快,但也会保证结果。给gcc/g++加上-g命令行参数,得到的就是debug版本如果用gdb打开release版本大的可执行程序,会有如下显示:2、...原创 2022-02-08 20:55:55 · 2317 阅读 · 0 评论 -
linux 操作系统编辑器vim和编译器gcc/g++
编辑器 vim1.常见的三种模式(1).正常/普通/命令模式(Normal mode):控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。(2).插入模式(Insert mode):只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。(3).末行模式(last line mode):文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式原创 2022-01-11 17:15:34 · 625 阅读 · 0 评论 -
linux下基础指令
1. ls指令语法: ls [选项][目录或文件]功能:罗列文件或文件夹信息,对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。原创 2021-12-24 21:53:54 · 1503 阅读 · 0 评论