![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
#FJW
这个作者很懒,什么都没留下…
展开
-
操作系统
什么是死锁所谓死锁,是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。死锁产生的4个必要条件互斥条件:进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程所占用。请求和保持条件:当进程因请求资源而阻塞时,对已获得的资源保持不放。不剥夺条件:进程已获得的资源在未使用完之前,不能剥夺,只能在使用完时由自己释放。循环等待条件:在发生死锁时,必然存在一个进程–资源的环形链。以上这四个条件是死锁的必要条件,只要系统发生原创 2020-10-25 11:20:05 · 98 阅读 · 0 评论 -
线程/进程同步的方式
互斥量: 采用互斥对象机制,只有拥有互斥对象的线程才有访问公共资源的权限。因为互斥对象只有一个,所以可以保证公共资源不会被多个线程同时访问。信号量: 它允许同一时刻多个线程来访问同一资源,但是需要控制同一时刻访问此资源的最大线程数量。事件(信号):通过通知操作的方式来保持多线程同步,还可以方便实现多线程优先级的比较作。临界区:临界区对象和互斥对象非常相似,只是互斥量允许在进程间使用,而临界区只限制与同一进程的各个线程之间使用,但是更节省资源,更有效率。...原创 2020-10-26 15:19:49 · 228 阅读 · 0 评论 -
同步和互斥的区别
互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。...原创 2020-10-26 15:14:06 · 2964 阅读 · 0 评论 -
进程的调度算法
先来先服务调度算法:先来先服务调度算法是一种最简单的调度算法,也称为先进先出或严格排队方案。当每个进程就绪后,它加入就绪队列。当前正运行的进程停止执行,选择在就绪队列中存在时间最长的进程运行。该算法既可以用于作业调度,也可以用于进程调度。先来先去服务比较适合于常作业(进程),而不利于段作业(进程)。时间片轮转调度算法:时间片轮转调度算法主要适用于分时系统。在这种算法中,系统将所有就绪进程按到达时间的先后次序排成一个队列,进程调度程序总是选择就绪队列中第一个进程执行,即先来先服务的原则,但仅能运行一个时间.原创 2020-10-26 10:28:09 · 463 阅读 · 0 评论 -
进程间的通信方式
每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。进程间通信(IPC)介绍进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和原创 2020-10-26 10:19:06 · 129 阅读 · 0 评论