
Linux&操作系统&计算机网络
文章平均质量分 93
开发中常用的计算机知识
一枚快乐的野指针
这个作者很懒,什么都没留下…
展开
-
一文带你吃透 IO 多路转接
高级IO1 五种 IO 模型的简单介绍2 和高效 IO 相关的一些概念2.1 同步通信与异步通信2.2 阻塞与非阻塞3 IO 多路转接/复用3.1 非阻塞 IO3.2 select3.2.1 select 介绍3.2.2 select 的函数原型3.2.3 理解 select 的执行过程3.2.4 socket 就绪条件都有哪些3.2.5 select 的特点3.2.6 select 的缺点3.2.7 select 的使用示例3.3 poll3.4 epoll(重点)3.4.1 epoll 初识3.4.2转载 2021-07-23 16:19:29 · 589 阅读 · 0 评论 -
详谈 TCP 和 UDP 协议
TCP一级目录二级目录三级目录一级目录二级目录三级目录原创 2021-06-08 17:12:34 · 654 阅读 · 7 评论 -
网络基础 1 —— 网络发展背景、局域网/广域网;网络协议、TCP/IP 五层模型;网络传输的基本流程、封装和分用
网络基础1 OSI 七层模型2 TCP/IP五层(或四层)模型3 网络传输基本流程4 数据包封装和分用5 网络中的地址管理5.1 IP 地址5.2 MAC 地址6 协议分层的好处以及如何在 Linux 下查看 ip 地址、子网掩码、主板挂接的外设1 OSI 七层模型OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范;把网络从逻辑上分为了7层. 每一层都有相关、相对应的物理设备,比如路由器,交换机;OSI原创 2021-05-08 15:55:54 · 728 阅读 · 1 评论 -
Linux 中的多线程
Linux 多进程1 Linux 线程控制1.1 创建线程1.2 线程终止和线程等待1.2.1 线程终止的方式1.2.2 线程等待的方式1.2.2 小结1.3 线程分离2 Linux 线程互斥(重点)2.1 进程、线程间的互斥相关背景概念2.2 互斥量 mutex3 可重入和线程安全3.1 概念3.2 常见的线程不安全的情况3.3 常见的线程安全的情况3.4 常见不可重入的情况3.5 常见可重入的情况3.6 可重入与线程安全的联系和区别4 常见的锁概念4.1 什么是死锁4.2 产生死锁的4个必要条件4.3原创 2021-04-25 17:12:15 · 1757 阅读 · 3 评论 -
Linux 中的线程——深入理解线程的概念
Linux 中的线程1 Linux 中的线程的概念&线程与进程的关系2 Linux 中的线程的优点和缺点3 Linux 中的线程的用途4 小结1 Linux 中的线程的概念&线程与进程的关系在一个程序里的执行路线叫线程(thread)。更准确的定义是:线程是 “一个进程内部的控制序列”一切进程至少都有一个执行线程线程在进程内部运行,本质是在进程地址空间内运行在 Linux 系统中,在 CPU 眼里,看到的 PCB 都要比传统的进程更加轻量化透过进程虚拟地址空间,可以看到进程的大原创 2021-04-17 21:18:46 · 534 阅读 · 0 评论 -
深入探索 Linux 进程信号的奥秘
Linux 进程信号0 学习进程信号的过程1 Linux 进程信号的基本概念1.1 对信号的基本认知2 Linux 进程信号的产生方式3 Linux 进程信号的捕捉的一般方式二级目录三级目录0 学习进程信号的过程1 Linux 进程信号的基本概念1.1 对信号的基本认知从生活角度来讲你在网上买了很多件商品,再等待不同商品快递的到来。但即便快递没有到来,你也知道快递来临时,你该怎么处理快递。也就是你能“识别快递”当快递员到了你楼下,你也收到快递到来的通知,但是你正在打游戏,需5min之后才能去原创 2021-04-12 21:00:48 · 4519 阅读 · 8 评论 -
探索 Linux 下进程间通信的奥秘
进程间通信1 进程间通信的介绍2 管道(重点)2.1 什么是管道2.2 匿名管道2.3 命名管道3 共享内存二级目录三级目录1 进程间通信的介绍2 管道(重点)2.1 什么是管道2.2 匿名管道代码实现2.3 命名管道代码实现3 共享内存二级目录三级目录...原创 2021-04-06 14:46:47 · 1276 阅读 · 5 评论 -
深入解析Linux系统中的“一切皆文件“
一切皆文件1 C文件IO2 文件相关系统调用接口2.1 open 接口介绍3 文件描述符3.1 什么是文件描述符3.2 文件描述符的分配规则3 你是怎么理解重定向的(从OS的角度)4二级目录三级目录1 C文件IOC默认会打开三个输入输出流,分别是stdin ,stdout ,stderr这三个流的类型都是 FILE* 文件指针请参考:https://blog.youkuaiyun.com/CZHLNN/article/details/1102385012 文件相关系统调用接口操作文件,除了上述 C 接原创 2021-03-30 15:18:31 · 3395 阅读 · 2 评论 -
深度解析Linux进程管理
Linux 进程管理0 摘要1 进程创建1.1 fork 函数1.2 写时拷贝1.3 fork 常规用法1.4 fork 调用失败的原因1.5 总结2 进程终止2.1 进程退出情况2.1 进程常见退出方法3 进程等待3.1 进程等待的必要性3.2 进程等待的方法3.2.1 wait3.2.1 waitpid4 进程程序替换二级目录三级目录0 摘要上一次的文章https://blog.youkuaiyun.com/CZHLNN/article/details/114534969?spm=1001.2014.3001原创 2021-03-16 19:33:12 · 1618 阅读 · 5 评论 -
Linux操作系统的进程2
进程优先级&环境变量&程序地址空间1 进程优先级1.1 进程优先级的概念1.2 查看系统进程和优先级1.3 更改系统的优先级2 环境变量2.1 基本概念2.2 常见环境变量和查看环境变量的方法2.3 和环境变量相关的命令2.4 环境变量的组织方式2.5 设置&获取环境变量和环境变量的特性3 进程地址空间(重点)3.1 地址空间的引入3.2 什么是地址空间3.3 为什么要有地址空间3.4 地址空间怎么使用3.5 页表的作用和进程地址空间的管理3.5.1 页表的作用3.5.2 程序地址空原创 2021-03-08 17:25:27 · 4790 阅读 · 12 评论 -
Linux操作系统(计算机的哲学)中的进程
Linux操作系统中的进程1 认识冯诺依曼系统2 操作系统2.1 概念2.2 设计OS的目的2.3 定位3 进程3.1 进程的基本概念3.2 进程的描述3.3 如何组织进程3.4 进程的基本操作3.4.1 查看进程3.4.2 创建进程3.4.3 进程的状态3.4.4 僵尸进程和孤儿进程1 认识冯诺依曼系统我们常见的计算机笔记本和不常见的计算机服务器大部分都遵循冯诺依曼系统。我们所认识的计算机,都是由一个个的硬件组件组成。输入单元:键盘鼠标等中央处理器(CPU):包含运算器和控制器等输出单原创 2021-02-06 15:54:02 · 2647 阅读 · 1 评论 -
Linux中的vim编辑器&gcc编译器
vim&gccvim什么是vimvim的命令模式vim的常用命令gccvim什么是vimvim是Linux中强大的文本编辑器,如图所示就是vim test.cvim的命令模式vim有很多种模式常用的有3中,命令模式、插入(编辑)模式、底行模式。三种模式如图所示:分别是Normal Insert Command三个模式。1、vim是一个多模式的文本编辑器,默认处在命令模式。2、从命令模式(NORMAL)到插入模式(INSERT):i(光标不变),a(同行下一个位置),o(新原创 2021-01-27 20:47:17 · 849 阅读 · 2 评论 -
Linux常用指令
Linux常用指令1 目录2 目录相关指令操作3 文件相关指令操作4 文件内容操作5 文件解压和压缩6 权限7 用户管理1 目录根目录:/路径:绝对路径:从根目录开始的路径,如:/home/chenzhihao/Linux_C_Cpp/SeqList相对路径:从当前目录开始的目录,如:./ . ./tree:查看目录的数结构如果你没有安装tree,可以sudo yum install tree 来安装2 目录相关指令操作ls查看该目录下的所有子目录和文件。ls -l 等于原创 2021-01-30 18:40:15 · 397 阅读 · 0 评论