银行家算法

1.死锁的概念 (1).什么是死锁 在并发环境下,各进程因竞争资源而造成的一种互相等待对方手里的资源,导致各进程都阻塞,都无法向前推进的现象,就是“死锁”。发生死锁后若无外力干涉,这些进程都将无法向前推进。 ...

151543-8-150 · 1 min · 193 words · cmlark

二十三、多生产者,消费者问题

1.问题描述 桌子上有一只盘子,每次只能向其中放入一个水果,爸爸专向盘子中放水果,妈妈专向盘子中放橘子,儿子专等着吃盘子中的橘子,女儿专等着吃盘子中的苹果。只有盘子为空时,爸爸或妈妈才可向盘子中放一个水果。仅当盘子中有自己需要的水果时,儿子或女儿可以从盘子中取出水果。用 PV 操作实现上述过程。 ...

101014-5-100 · 1 min · 13 words · cmlark

二十二、生产者消费者问题

1.问题描述 系统中有一组生产者进程和一组消费者进程,生产者进程每次生产一个产品放入缓冲区,消费者进程每次从缓冲区中去除一个产品并使用。(这里的“产品”理解为某种数据) ...

10128-7-10 · 1 min · 95 words · cmlark

二十一、用信号量机制实现进程互斥、同步和前驱关系

1.信号量机制实现进程互斥 分析并发进程的关键活动,划定临界区(如:对临界资源打印机的访问就应放在临界区) 设置互斥信号量 mutex,初始值为 1 在临界区之前执行 P(mutex) 在临界区之后执行 V(mutex) ...

272711-7-270 · 1 min · 148 words · cmlark

二十、信号量机制

1.信号量机制 进程互斥的四种软件实现方式和进程互斥的三种硬件实现方式都存在一些问题。 1.在双标志检查法中,进入区的“检查”、‘上锁”操作无法一气呵成,从而导致了两个进程有可能同时进入临界区的问题。 2.所有的解决方案都无法实现“让权等待”。 1965 年,荷兰学者迪杰斯特拉 Dijkstra 提出了一种卓有成效的实现进程互斥、同步的方法–信号量机制 ...

272757-5-270 · 1 min · 200 words · cmlark

十九、进程互斥的硬件实现方法

这里什么都没写,先占个坑以后再写。 ...

272735-5-270 · 1 min · word · cmlark

十八、进程互斥的软件实现方法

1.单标志法 算法思想:两个进程在访问完临界区后会把使用临界区的权限转交给另一个进程。也就是说每个进程进入临界区的权限只能被另一个进程赋予。 ...

26268-9-260 · 2 min · 277 words · cmlark

十七、进程同步和进程互斥

1.什么是进程同步 回顾:进程具有异步性的特征。异步性是指:各自并发执行的进程以各自独立的、不可预知的速度向前推进。 例子:进程通信 —- 管道通信 写进程往管道里写数据,读进程再从管道里读数据。读进程和写进程并发地运行,由于并发必然导致异步性,因此“写数据”和“读数据”两个操作执行的先后顺序是不确定的。而实际应用中,又必须按照**“写数据 → 读数据”的顺序来执行,如何解决这种一部问题,就是进程同步**所讨论的内容。 ...

26265-8-260 · 1 min · 64 words · cmlark

十六、调度算法(2)

1.时间片轮转(RR,Round-Robin) RR 算法思想:公平地、轮流地为每个进程服务,让每个进程在一定时间间隔内都可以得到响应 算法规则:按照各进程到达就绪队列的顺序,轮流让各个进程执行一个时间片。若进程未在一个时间片内执行完,则剥夺处理机,将进程重新放回就绪队列尾重新排队。 用于作业/进程调度:用于进程调度(只有作业放入内存建立了相应的进程后,才能被分配处理及时间片) 是否可抢占?:若进程未在一个时间片内执行完,将被剥夺处理机使用权,因此时间片轮转调度算法属于抢占式的算法。由时钟装置发出时钟中断来通知 CPU 时间片已到。 优缺点: 优点:公平;响应快,适用于分时操作系统 缺点:由于高频率的进程切换,因此有一定的开销;不区分任务的紧急程度。 是否会导致饥饿:不会 补充:时间片太大或太小会有什么影响? ...

252543-7-250 · 1 min · 112 words · cmlark

十五、调度算法

1.先来先服务(FCFS,First Come Firse Serve) FCFS 算法思想:主要从“公平”的角度考虑(类似于生活中排队买东西) 算法规则:按照作业/进程到达的先后顺序进行服务 用于作业/进程调度:用于作业调度时,考虑的是哪个作业先到达后备队列;用于进程调度时,考虑的是那个进程先到达就绪队列 是否可抢占? 非抢占式的算法 优缺点: 优点:公平、算法实现简单 缺点:排在长作业(进程)后面的短作业需要等待很长时间,带权周转时间很大,对作业来说用户体验不好。即:FCFS 算法对长作业有利,对短作业不利(EG:排队买奶茶) 是否会导致饥饿(某进程,作业长期得不到服务):不会(只要进程或作业一直等着总会得到服务) ...

23238-5-230 · 3 min · 507 words · cmlark