操作系统第二章(2) 进程同步相关知识

进程同步概念

临界资源和临界区的概念

进程同步准则

信号量(重点)

整形信号量

p操作

V操作

记录形信号量(重点中重点)


AND型信号量


信号集



信号集的3种特殊情况(重点)

各种经典问题

生产者 消费者




不能调换原因:
如果调换,假设此时物品缓冲区已经满了,生产者先执行wait(mutex)并成功,之后执行wait(empty)出现阻塞。
由于阻塞无法释放mutex,导致其他进程也阻塞出现死锁

和谐一家人



读者-写者问题





管程定义

管程4部分

管程的特点

进程通信概念

共享存储器系统 linux相关指令

管道通信


信息传递系统


线程基本概念


线程与进程对比

1.调度
在同一进程中,线程的切换不会引起进程的切换,在由一个进程中的线程切换到另一个进程中的线程时,将会引起进程的切换。
2.并发性
在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间,亦可并发执行,因而使操作系统具有更好的并发性,从而能更有效地使 用系统资源和提高系统吞吐量。
3.拥有资源
进程都是拥有资源的一个独立单位,它可以拥有自己的资源。一般地说,线程自己不拥有系统资源(也有一点必 不可少的资源),但它可以访问其隶属进程的资源。亦即,一个进程的代码段、数据段以及系统资源,如已打开的文件、I/O设备等,可供问一进程的其它所有线程共享。
4.系统开销
由于在创建或撤消进程时,系统都要为之分配或回收资源,如内存空间、I/o设备等。因此,操作系统所付出的开销将显著地大于在创建或撤消线程时的开销。

而线程切换只须保存和设置少量寄存器的内容,并不涉及存储器管理方面的操作。可见,进程切换的开销也远大于线程切换的开销。

Linux下,从函数调用上来说,进程创建使用fork()操作;线程创建使用clone()操作。

posted @ 2021-05-24 16:46  一个经常掉线的人  阅读(174)  评论(0)    收藏  举报