Linux
min_xi
努力一定会有回报
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【进程间通信】管道、信号量
管道:有名管道:任意两个进程之间通信mkfifo无名管道:父子进程之间通信pipe写入管道的数据放在哪里?数据在内存中通信方式:半双工(单工,半双工,全双工)实现:读完才能覆盖程序中:管道有固定的读端和写端无名管道:管道是基于文件描述符的通信方式,当一个管道建立时,它会创建两个文件描述符fd[0]和fd[1],其中fd[0]固定用于读管道,而fd[1]...原创 2019-07-29 19:04:15 · 378 阅读 · 0 评论 -
【进程间通信】共享内存、消息队列
共享内存ipcs 查看进程间通信的信号量 共享内存 消息队列 的使用情况ipcrm 删除共享内存的使用需要信号量同步同步?对临界资源的访问有控制,能保证同一时刻只有一个进程访问,则这两个进程是同步。在不同地方,意义不同。 1.进程线程同步2.通信方式同步和异步的方式?同步:严格按照代码顺序执行,如果遇到需要等待的事件就阻塞等待异步:不一定按照代码的顺序执...原创 2019-07-29 19:11:28 · 335 阅读 · 0 评论 -
【进程篇】进程
进程 进程概念:一个正在运行的程序pid:唯一标识一个进程/pcb:进程控制块(进程描述符),描述一个进程的属性信息的结构体进程状态:就绪 运行 阻塞僵死进程:1.子进程先结束,2.父进程没有调用wait获取子进程的状态信息(退出码)-》(系统不删子进程的PCB)1.fork复制进程流程复制PCB,重新分配新的pid(修改才重新分配,其他先共享(提高效率))1)在...原创 2019-07-24 22:08:01 · 118 阅读 · 0 评论 -
【进程篇】信号
信号:signal()//改变信号的响应方式signal(参数1,参数2)看一下SIG_DFL 默认 SIG_IGN 忽略 fun 自定义kill()发送信号int kill(pid_t pid, int sig);kill(pid,信号名)一个进程调用kill函数可以发送信号到另一个进程.可以用kill命令发送信号给某个进程SIGCHID :子进程结束发送给...原创 2019-07-24 22:12:14 · 167 阅读 · 0 评论 -
【线程篇】线程间同步之信号量、互斥锁
线程:进程内部的一条执行路径(序列)什么是线程什么是进程,进程和线程的区别?进程是一个正在运行的程序,是系统进程资源分配的基本单位线程是进程内部的一条执行路径,是系统调度的基本单位Pthread.h头文件 -lpthread 库理解多线程的并发运行?并发运行:单个或多个处理器并行:需要多处理器线程同步(线程间通讯):信号量,互斥锁,条件变量,读写锁信号量和...原创 2019-08-06 14:24:09 · 294 阅读 · 0 评论 -
【线程篇】原子操作
原子操作?是怎么实现?《从哲学层次看操作系统》--锁的实现不可被中断的一个或一系列操作32位IA-32处理器使用基于对缓存加锁或总线加锁的方式来实现多处理器之间的原子操作。1.禁止/开启中断中断的启用和禁止是原子的,不能被其他代码插入的lock(){disable interrupt;//禁止中断 while(v...原创 2019-08-06 14:25:52 · 192 阅读 · 0 评论 -
【线程篇】线程的实现和线程安全
线程的实现?要管理线程就要维持线程的各种信息,存放这些信息的数据结构称为线程控制块。线程共享一个进程空间,因此许多资源是共享的(如地址空间、全局变量、文件等),这些共享资源存放在进程控制块即可。还有一些不被共享的资源和信息(如程序计数器、寄存器等),需要存放在线程控制块里。由谁来管理线程有两种选择:一是让进程自己来管理线程;二是让操作系统来管理线程。由进程自己管理就是用户态线程实现,由操作系...原创 2019-08-06 14:31:15 · 184 阅读 · 0 评论
分享