18_【Linux】九、Linux 多线程(一)


「前言」本文的内容大致是对进程地址空间的第三次理解和线程概念。 一、 进程地址空间的第三次理解 在谈线程之前,需要再次理解进程地址空间,为后序讲解线程做准备。 进程地址空间在进程概念篇章已经说过一部分,这是进程地址空间的第一次理解,点击穿越 之后进程地址空间在进程信号篇章已经说过一部分,这是进程地址

17_【Linux】八、Linux 进程信号(二 )


「前言」本文的内容大致是阻塞信号、深入理解捕捉信号、可重入函数和再次理解 C语言关键字 volatile。 三、阻塞信号 3.1 信号其他相关常见概念 实际执行信号的处理动作称为信号递达(Delivery) 信号从产生到递达之间的状态,称为信号未决(Pending) 进程可以选择阻塞 (Block

16_【Linux】八、Linux 进程信号(一)


「前言」本文的内容大致是认识信号和产生信号。 一、认识信号 1.1 生活中的信号 日常生活中,常见的信号有:发令枪、红绿灯、消息提醒、电话铃声、闹钟等等,以快递为例。 你在网上买了很多件商品,再等待不同商品快递的到来。但即便快递没有到来,你也知道快递来临时,你该怎么处理快递。也就是你能“识别快递”;

15_【Linux】七、进程间通信(二)


「前言」本文内容大致是system V IPC。 三、system V(IPC) system V 用于本地通信,通信的本质就是让不同的进程看到同一份资源 system V IPC提供的通信方式有以下三种: system V共享内存 system V消息队列 system V信号量 3.1 syst

14_【Linux】七、进程间通信(一)


「前言」本文的大致内容是对进程间通信的基本介绍以及管道的介绍。 一、进程间通信介绍 1.1 进程间通信概念 进程间通信就是在不同进程之间传播或交换信息,进程间通信简称IPC(Interprocess communication) 1.2 为什么要有进程间通信 为什么要有进程间通信?? 有时候我们是需

13_【Linux】六、Linux 基础IO(四)


「前言」本文大致内容是动态库和静态库。 十一、动态库和静态库 11.1 动态库和静态库定义 静态库定义: 静态库(.a):程序在编译链接的时候把库的代码链接到可执行文件中,程序运行的时候将不再需要静态库 在 Linux 其后缀名一般为.a,在Windows下其后缀一般为.lib 动态库定义: 动态库

12_【Linux】六、Linux 基础IO(三)


「前言」本文内容大致是文件系统和软硬连接。 八、文件系统 前面的内容谈论的都是一个被打开文件,那没有被打开的文件呢?接下来就要谈论。 磁盘上有大量没有被打开的文件,也需要操作系统进行静态管理,方便我们随时打开。未打开的文件就被文件系统进行管理。 8.1 磁盘 学习文件系统之前要简单了解一下磁盘,这样

11_【Linux】六、Linux 基础IO(二)


「前言」本文的大致内容是对重定向、Linux一切皆文件和缓冲区的理解。 五、重定向 5.1 什么是重定向 在前面的文件描述符中,已经测试关掉了 0、2(标准输入流、标准错误流),那如果关掉 1(标准输出流)呢?会发生什么? 注: 标准输入流stdin对应操作位置:键盘 标准输出流stdout对应操作

10_【Linux】六、Linux 基础IO(一)


「前言」本节大致内容是Linux的文件操作以及解释文件描述符。 一、重谈文件 文件的基本知识: 文件由文件内容和文件属性两部分构成 空文件只是文件内容为空,但文件依旧存在属性,所以空文件也要占用磁盘空间 因为文件由内容和属性构成,所以对文件的操作 = 对内容操作 + 对属性操作 or 对内容和属性操

9_【Linux】五、Linux 进程控制


「前言」文章的大致内容是进行创建、终止、等待。 一、进程创建 1.1 再谈 fork 函数 Linux中 fork 函数时非常重要的函数,它从已存在进程中创建一个新进程,新进程为子进程,而原进程为父进程,fork 函数在进程概念的篇章已经介绍过了,这里再谈 fork 函数,再次理解 fork函数。
弹