![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
w___hao
这个作者很懒,什么都没留下…
展开
-
Linux进程间通信——信号通信
一、基本概念1、中断: 在程序执行过程中,插入了另一段程序的执行过程。该段程序执行结束后回到中断点继续执行原来的程序。2、同步通信与异步通信:同步通信:发送方发送数据,接收方接收数据,双方在很短的时间内完成数据的交换,否则会造成一方的阻塞。所以 同步通信是一种阻塞模式的通信。异步通信:通信中接收方并不知道数据什么时候会到达,当前进程一直准备接收数据,同时也在做自己的事情,一旦 数据到达立即接收处理。3、信号是一种异步通信方式,信号是在软件层次上对终端机制的一种模拟。同时,信号是进原创 2021-03-14 13:04:35 · 608 阅读 · 0 评论 -
Linux下进程间通信——管道
现在在Linux系统下进程之间的通信方式有如下几种:管道通信(有名管道、无名管道),信号通信,消息队列,共享内存,信号灯以及套接字(socket)通信。但是由于socket套接字通信主要涉及的是两台主机之间的网络通信。一、管道通信 管道是Linux下进程间通信方式的一种,管道类似于文件,但是与文件不同点在于:管道里的数据被读取之后就不存在了,而文件里的数据被读取之后依然存在。Linux管道主要包括两种:无名管道和有名管道。管道读写时需要注意:1)读端未打开时,写阻塞;读写端都打开时,无数据.原创 2021-03-13 14:37:32 · 667 阅读 · 0 评论 -
线程
线程 线程是程序一次动态执行的过程,线程是一种轻量级的进程。线程可以对进程的内存空间和资源进行访问,并与进程中的其它线程共享。 一个进程可以拥有多个线程,其中所有的线程共享该进程所拥有的资源,因此任意线程对系统资源的操作都会给其它线程带来影响,因此在多线程编程中的同步是一个非常重要的问题。一、线程编程相关函数 线程的创建需要调用第三方的线程库中的库函数,因此需要包含头文件"#include <pthread.h>",同时在编译程序时需要链接线程库“-lpthread”。1、线原创 2021-03-13 10:19:44 · 131 阅读 · 0 评论 -
进程
进程编程一、进程、程序1、程序: 程序是保存在磁盘中的可以实现某个独立功能的代码块,它包含代码和数据,是静态的,没有运行的。2、进程: 进程是程序的一次动态执行过程,包括了动态的创建、调度、执行和消亡的过程。进程是操作系统进行资源分配和调度的基本单元。二、Linux系统下进程的结构 进程不断包括代码和数据还包括系统资源,如程序计数器PC(存放下一条指令的地址)、处理器、寄存器、以及存储临时数据的堆栈等。1、task_struct结构体 Linux是一个多任务的操作系统,所以进程必原创 2021-03-10 22:28:11 · 138 阅读 · 0 评论 -
Linux下的函数库及其制作
函数库中存放了大量函数的二进制文件,可供用户进行调用。在Linux系统下有两种函数库:静态库和动态库。一、静态库(.a后缀)与动态库(.so后缀)的区别1、用户使用库的时刻不同: 静态库是用户在编译时进行调用;动态库是用户在进行程序时调用。2、使用场合不同: 静态库适用于代码量小的应用程序;动态库适用于代码量大的应用程序。3、静态库与动态库的优缺点:1)静态库: 如果调用静态库中的函数,则在“编译”时会把静态库中相关代码复制到可执行文件中。优点:可执行文件中包含相关代码,运行时不.原创 2021-03-08 21:26:15 · 207 阅读 · 0 评论