摘要:
覆盖与交换是在多道程序下用来扩充内存的两种方法。 覆盖 把用户空间分成固定区和覆盖区。经常活跃的放在固定区,那些即将访问的在覆盖区,需要调用的时候,会将内容调入覆盖区。覆盖区的出现打破了 1)一次性 2)驻留性 交换 把处于等待状态的程序从内存移到辅存,换出;把准备好竞争的程序从辅存从辅存移到内存, 阅读全文
摘要:
死锁的原因 系统资源的竞争; 进程推进顺序非法 进程的必要条件 资源是互斥的; 请求和保持; 进程请求的资源不能剥夺; 循环等待 死锁的处理策略 死锁预防:破坏必要条件 死锁避免:银行家算法,动态分配资源的过程中,用算法防止进程进入不安全状态。 死锁检测与解除: 检测:资源分配图 解除:1) 资源剥 阅读全文
摘要:
读者写者问题 有一个可以读写的文件,我们把读文件的进程当做“读者”,写文件的进程当做“写者”。写者和任何进程互斥;读的时候不允许写。 方案一: 写进程:设置一个mutex _rw 读进程:count 变量互斥访问;mutex_rw,当 count == 0,即第一个读进程读共享文件时,不让写进程读。 阅读全文
摘要:
信号量机制可用来解决互斥与同步的问题。 整型信号量 只有一个整型量S,表示资源数目。wait操作中只有 s <= 0,会不断地测试,机制并未遵循“让权等待”和“忙等”。 记录型信号量 结构体里除了一个 代表资源数目的Value值,再增加一个 进程链表L,用于表示等待该资源的进程。 wait操作中,如 阅读全文