![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Unix高级环境编程学习
文章平均质量分 89
参考Unix高级环境编程书籍的学习笔记
LuckyDog0623
来自一个社会底层打工人的呐喊
展开
-
5.线程-2020物联网_Linux高级程序设计全套教程(通俗易懂
感谢https://blog.csdn.net/qq_22847457/article/details/89371217 5.01线程概述 1每个进程拥有自己的数据段, 代码段和堆栈段,这就是造成进程在进行创建、切换、撤销操作时 ,需要较大的系统开销; 2为了减少系统开销,从进程中演化出线程; 3线程存在与进程中, 共享进程的资源 4线程时进程中的独立控制流, 由环境(包括寄存器组和程序计数器)和一些列的执行指令组成; 5每个进程由一个地址空间 和一个控制线程; 什么是线程 LWP:ligh原创 2021-02-28 23:24:17 · 359 阅读 · 0 评论 -
4.进程通信篇(6--信号量)-2020物联网_Linux高级程序设计全套教程(通俗易懂
9、信号量(对于PV原子操作,王道考研操作系统课程讲解很详细) 9.1信号量概念 信号量广泛应用于进程或者线程间的同步和互斥,信号量本质上是一个非负的整数的计数器,它被用来控制对公共资源的访问; 编程时可根据操作信号量值的结果判断是否公共资源具有访问权限,当信号量大于0时,则可以访问,否则阻塞; ...原创 2021-02-28 18:15:39 · 173 阅读 · 0 评论 -
4.进程通信篇(5--共享内存)-2020物联网_Linux高级程序设计全套教程(通俗易懂)
7.01共享内存的概述 共享内存允许两个或者多个进程共享给顶的存储区域 特点:1、共享内存是进程间共享数据的一种最快的方式;一个进程向共享的内存区域写入数据,共享这个内存区域的所有进程就可以立刻看到其中的内容; 2、使用共享内存要注意的是多个进程之间对一个给定存储区访问的互斥;若一个进程正在向共享内存中写数据,则在它做完这一步操作前,别的进程不应该取读取或者写入; 注意:共享内存是进程通信方式中效率最高的,因为直接在物理内存中操作; ubuntu 12.4中: 1、共享存储区的最小字节数是1原创 2021-02-21 22:16:31 · 128 阅读 · 0 评论 -
4.进程通信篇(4--消息队列)-2020物联网_Linux高级程序设计全套教程(通俗易懂)
6.消息队列之IPC对象 1、信号、无名管道和有名管道是最原始的进程通信方式,除此外还有三种通信,称之为IPC对象; 2、IPC对象分为:消息队列、共享内存、信号灯集 3、IPC对象也是在内核空间中开辟区域,每一种ipc对象创建好之后都会将其设置为全局。并且会给其分配一个编号,只要找到唯一的这个编号就可以通信了,所以不相关的进程可以通过ipc对象通信; 4、ipc对象创建好之后,会在当前系统中可见,只要不删除或者不关闭系统,就会一直存在; 6.01消息队列概述 消息队列是消息的链表,存放在内原创 2021-02-18 17:24:09 · 195 阅读 · 0 评论 -
4.进程通信篇(3--有名管道)-2020物联网_Linux高级程序设计全套教程(通俗易懂)
5.09有名管道的概述 pipe指的是无名管道 fifo指的是有名管道 FIFO会在文件系统中直接创建一个可见的文件 linux系统中的文件类型分为7大类 :bcd-lsp fifo和pipe区别: 1、fifo属于半双工,数据在同一时刻只能在同一个方向上流动 2、写入fifo中的数据遵守先入先出 3、fifo所传送的数据是无格式的,要求读写格式统一 4、fifo在文件系统中作为一个特殊的文件存在,但是fifo 中的内容却在内存中存在 5、管道在内存中对应一个缓冲区 6、从fifo中读原创 2021-02-17 12:53:13 · 208 阅读 · 0 评论 -
4.进程通信篇(2--管道)-2020物联网_Linux高级程序设计全套教程(通俗易懂)
5.01无名管道概述 1、管道概述 管道又称为无名管道,无名管道是特殊的文件,在应用层体现为两个打开的文件描述符。 内核空间是所有进程所共有的。 无名管道:就是创建在内核中的,多个进程知道同一个无名管道的空间,就可以利用它来进行通信。 无名管道虽然是在内核空间创建的,但是会给当前用户进程两个文件描述符,一个负责执行读,一个负责写 管道是古老的UNIX ipc方式,其特点是: 1、半双工,fd[0]读,fd[1]写;数据在同一时刻只能在一个方向三流动 2、数据只能从管道的一端写入,原创 2021-02-15 22:28:23 · 201 阅读 · 0 评论 -
4.进程通信篇(1--信号)-2020物联网_Linux高级程序设计全套教程(通俗易懂)
4.01 IPC概述原创 2021-02-15 18:11:22 · 221 阅读 · 0 评论 -
3.进程篇-2020物联网_Linux高级程序设计全套教程(通俗易懂)
3.01进程定义 程序和进程的区别: 1、程序:是静态的,存放在磁盘上的可执行文件; 2、进程:是动态的,是运行在内存中的程序的执行实例; 3、程序是一些指令的有序集合,二进程是程序执行的过程;进程是程序执行的一次执行过程。进程的状态是变化的,其中包括创建、调度和消亡。只要程序运行,此时就是i进程,程序每一次运行就会创建一个进程; 4、在linux中,进程是管理事务的基本单元;进程有自己独立的处理环境和系统资源(处理器,存储器,IO设备、数据、程序) 5、进程和线程的区别????? 6、调度原创 2021-02-14 20:28:56 · 278 阅读 · 0 评论 -
2.系统调用-2020物联网_Linux高级程序设计全套教程(通俗易懂)
2.01-02系统编程概述 概念:主要是为了让用户能够更好和更方便的操作硬件设备,并且对硬件设备也起到保护作用; 我们所写的程序,本质上就是对硬件设备操作,所以操作系统提供接口可以对硬件进行操作! 本质上都是对硬件设备进行操作,大事难事linux操作系统在硬件之上设置了内核, 也就是只有内核才可以直接操作硬件设备,如果想操作内核,需要调用内核的系统调用, 如果要操作内核中的系统调用,只有三种方式: 1、shell 2、库函数,比如fread对内核的系统调用进行操作;用户通过应用层库函数接口调用 3、应原创 2021-02-14 10:44:43 · 339 阅读 · 0 评论