![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 92
世_生
妥妥的一枚小白,喜欢记录学习笔记。
展开
-
通俗易懂的epoll
一篇文章,带你走进epoll的世界原创 2022-08-01 21:18:03 · 488 阅读 · 1 评论 -
如何快速理解Select原理
原创 2022-04-01 20:55:42 · 1856 阅读 · 3 评论 -
如何快速理解TCP协议
目录什么是TCPTCP的报文格式TCP的如何保证可靠性确认应答(ACK)机制超时重传机制连接管理机制(三次握手和四次挥手)三次握手四次挥手滑动窗口什么是TCPTCP全称位”传输控制协议(Transmission Control Protocol)“。TCP是在传输层中TCP是有连接的协议;”三次握手和四次握手 “TCP是可靠的TCP是面向字节流的TCP的报文格式源端口号和目的端口号:表示数据从哪个进程来到那个进程去。32位序号和32位确认序号:TCP传输是面向字节流的且可靠的,会对每原创 2022-03-26 22:49:01 · 7742 阅读 · 1 评论 -
【Linux入门】多线程(线程概念、生产者消费者模型、消息队列、线程池)万字解说
目录1️⃣线程概念什么是线程线程的优点线程的缺点线程异常线程异常Linux进程VS线程2️⃣线程控制创建线程获取线程的id线程终止等待线程线程分离3️⃣线程互斥进程线程间的互斥概念互斥量互斥量的接口互斥量的实现原理研究怎么看待线程在申请锁的时候等待挂起可重入VS线程安全概念常见的线程不安全情况常见的线程安全情况常见的不可重入情况常见的可重入情况可重入与线程安全的联系可重入与线程安全的区别4️⃣死锁死锁的四个必要条件避免死锁避免死锁的算法5️⃣线程同步条件变量同步概念和竞态条件初始化条件变量销毁条件变量等待条原创 2022-01-23 20:17:27 · 1800 阅读 · 11 评论 -
【Linux入门】进程信号(2)
进程信号????产生信号????阻塞信号信号其他相关常见概念在内核中的表示sigset_t信号集的操作函数sigprocmask函数sigpending????捕捉信号内核如何实现信号的捕捉sigaction可重入函数volatile关键字SIGCHLD信号普通信号????产生信号1 通过终端按键生产信号。如Ctrl+C,2 调用系统函数向进程发信号。kill函数,在命名解释行上 klii 选项 进程id(不演示,我们通过代码模拟kill命令)#include <sys/types.h&原创 2021-12-05 10:58:36 · 697 阅读 · 10 评论 -
【Linux入门】进程信号(1)
进程信号信号入门生活角度的信号技术应用角度的信号信号概念用kill -l命令查看系统定义的信号列表信号处理常见方式的概览产生信号通过终端按键产生信号调用系统函数向进程发信号由软件条件产生信号硬件异常产生信号信号捕捉-初识模拟一下野指针异常阻塞信号信号其他相关常见的概念在内核中的表示sigset_t信号集操作函数sigprocmasksigpending捕捉信号内核如何实现信号的捕捉sigaction可重入函数volatileSLGCHLD信号信号入门生活角度的信号技术应用角度的信号信号概念用ki原创 2021-11-24 16:35:26 · 1955 阅读 · 5 评论 -
【Linux入门】进程间的通信
为什么要进程间通信?进程间通信是如何完成的?a.进程间运行的时候是具有独立性(数据层面)b.进程间通信,一般一定要借助第三方(os)资源c.通信的本质就是”数据的拷贝“进程A-》数据”拷贝“给os-》os数据”拷贝“给进程B操作系统一定要提供一段内存区域,且可以让双方进程都能看到。所以,进程间的通信本质是,让不同的进程先看到同一份资源(内存、文件内核缓存等)。...原创 2021-11-23 13:36:45 · 2104 阅读 · 4 评论 -
【linux入门】动静态库
认识动静态库我们在Linux编写C代码时,默认是用动态库。动静态库其实是一堆目标文件(.o)的集合,是一些可执行文件的“半产品”。链接时,把各个.O文件进行链接,最终形成可执行程序。当一堆.o文件要被大量使用时,我们把这些目标文件进行打包,就形成了一个库。动静态库的各自特征静态库:程序在进行汇编链接时,把库的代码直接复制到可执行文件中。这样就不需要静态库库。使用静态库生产的可执行文件一般比较大。动态库:程序在运行的时候才去链接动态库的代码,多个程序共享使用库的代码。一个与动态库链接的可执行原创 2021-11-18 08:00:00 · 518 阅读 · 4 评论 -
【Linux入门】基础IO
基础IO✔回顾C文件的接口✔系统文件I/O接口介绍✔回顾C文件的接口把内容写入文件中,先要打开文件。文件的路径/文件名(不带路径会在当前路径下创建文件)什么是当前路径:当前进程运行时的路径打开文件的方式打开文件一定是进程运行的时候打开的fcloseproc程序fputsfgteslinux中一切皆文件(显示器、键盘)任何进程在运行的时候会默认打开三个输入输出流。stdin stdout stderr键盘 显示器 显示器标准输入 标准输出 标准错误如何理解:FILE原创 2021-11-17 09:38:43 · 1290 阅读 · 3 评论 -
【Linux入门】:进程控制
进程控制1️⃣进程的创建fork函数初识fork函数的返回值写时拷贝fork函数常规用法fork函数失败的原因2️⃣进程的终止进程退出的场景进程常见退出方法_exit函数exit函数return退出3️⃣进程等待进程等待的必要性进程等待的方法wait方法waitpid方法获取子进程status4️⃣进程程序替换替换的原理替换函数函数解释命名理解5️⃣我们可以综合前面的知识,做一个简易的shell1️⃣进程的创建fork函数初识在上篇文章中已经讲了fork函数,主要有:创建子进程有两个返回值创建原创 2021-11-04 20:53:11 · 513 阅读 · 4 评论 -
【Linux入门】进程概念(超详解,建议收藏)
系统中,可以存在大量进程的当我们的电脑开机的时候,启动的第一个进程是操作系统(os),而os要对之后运行起来的进程进行管理工作(进程管理)。操作系统如何进行进程管理??(先描述,在组织)、当有大量程序加载到内存中时,就如同系统中同时出现大量进程,操作系统会增添大量的PCB对这些进程进行描述,并用链表的方式对PCB组织起来。1、标示符:前台进程,只能有一个前台进程+& 在后台跑+表示前台还是后台2、优先级什么是优先级?谁先谁后拿到某种资源为什么要有优先级?资源有限。CPU原创 2021-10-02 22:14:40 · 4289 阅读 · 8 评论 -
【Linux入门】第三篇:软件包管理器yum和编辑器vim的使用
目录前言Linux软件包管理yumLinux开发工具Linux编辑器-vim使用01.vim的基本概念02.vim的基本操作03.vim正常模式命令集04.vim末行模式命令集05.vim操作总结06. 简单vim配置Linux编辑器-gcc/g++使用Linux调试器-gdb使用Linux项目自动化构建工具-make/Makefile前言Linux软件包管理yumLinux开发工具Linux编辑器-vim使用01.vim的基本概念02.vim的基本操作03.vim正常模式命令集04.vim原创 2021-08-04 15:13:25 · 863 阅读 · 1 评论 -
【Linux入门】第一篇:Linux下的基本指令(超详解)
目录一级目录二级目录三级目录一级目录二级目录三级目录原创 2021-08-01 16:00:14 · 318 阅读 · 5 评论 -
【Linux入门】第二篇:shell命令及运行原理和Linux权限的概念
目录前言shell命令及运行原理Linux权限的概念Linux下的用户Linux创建用户和删除用户Linux用户切换Linux增加用户权限(添加到信任列表)Linux权限的管理01.文件访问者的分类02.文件类型和访问权限(事物属性)03.文件权限值的表示方法04.文件访问权限的相关设置方法a)修改文件的访问权限b)修改文件的拥有着c)修改文件或目录的所属组d)查看或修改文件的掩码e)file指令目录的权限粘滞位总结前言shell命令及运行原理在Linux中,严格意义来说是一个操作系统,我们称之为"核原创 2021-07-29 19:40:22 · 418 阅读 · 6 评论