操作系统
云聪
喜欢简洁的抽象,也着迷神奇的细节,我担心自己因为过于偏向抽象而变得肤浅,也害怕自己因为太过深入细节而迷失,这让我很痛苦,但是我不会放弃挣扎,因为我相信挣扎的过程就是成长。
展开
-
进程互斥(二)Dekker算法
假设P、Q两个进程需要互斥进入某一个临界区。Dekker算法的基本思想是:首先看P、Q是否有进入临界区的意愿,(1)如果没有进程想进临界区,自然不用做任何事情,(2)如果只有一个进程想进临界区,就让他进入临界区,(3)如果两个进程同时都想进临界区,那么再看轮到谁进临界区了,如果刚好轮到P,P就进入临界区,Q等待,P退出临界区后Q再进入;同样,如果刚好轮到Q,Q就进入临界区,P等待,Q退原创 2015-06-28 21:20:59 · 4570 阅读 · 0 评论 -
进程互斥(三)Peterson算法
相对于Dekker算法(参见进程互斥(二)Dekker算法),Peterson算法简化了进程互斥的实现。假设有两个进程需要互斥的访问某一个临界区。Peterson算法的形式如下: public void peterson(int process) { enterRegion(process);// process表示进程号 // 临界区 leaveRegio原创 2015-06-28 22:33:16 · 3971 阅读 · 0 评论 -
进程互斥(一)相关概念
1.进程互斥由于各个进程需要使用共享资源(变量,文件等),而这些资源需要排它性使用,各个进程之间竞争使用这些资源,这一关系称为进程互斥。2.临界资源(也称互斥资源、共享变量)系统中一次只允许一个进程使用的资源。3.临界区(也称互斥区)各个进程中对某个临界资源实施操作的程序片段。临界区的使用原则:(本文内容整理自coursera上陈原创 2015-06-28 20:44:06 · 1727 阅读 · 0 评论 -
交互式系统中采用的调度算法
1.轮转调度(1)时间片轮转调度算法CPU的时间分成一段一段的,每一段就是一个时间片,进程轮流使用时间片。示意图如下:(2)虚拟轮转法时间片轮转调度算法对IO型进程不公平:对于CPU型进程,该进程获得CPU时间片后总是会用完整个时间片;但是对于IO型,它经常是运行一部分时间片后就去等待IO事件,总是用不完自己的时间片。为了解决这个问题,提出了虚拟轮转法,该算法的示意图如下:原创 2015-06-13 22:21:46 · 3858 阅读 · 0 评论 -
批处理系统中采用的调度算法
1.CPU调度的概念CPU调度是指按照一定的调度算法从就绪队列中选择一个进程,把CPU的使用权交给被选中的进程。如果没有就绪进程,系统会安排一个系统空闲进程或者idle进程上CPU运行。 2.衡量调度算法的指标吞吐量——单位时间完成的进程的数目。周转时间——每个进程从提出请求到运行完成的时间。响应时间——从提出请求到第一次回应的时间。CPU利用率——CPU做有效工作原创 2015-06-11 01:57:15 · 5343 阅读 · 0 评论