操作系统小练习4

来源:互联网 发布:u盘启动ubuntu系统 编辑:程序博客网 时间:2024/06/07 06:16

图像
黑白图像,一个像素只要1bit
256灰度图像,要8bit
真彩图像基于三原色,需要三个灰度值,所以需要24bit
计算机系统无用户执行时,会一直处于监听状态
死锁处理
分为死锁预防,死锁避免,死锁检测和解除
死锁预防,采用破坏死锁产生的四个必要条件的一个或几个,以防止发生死锁。
死锁避免,银行家算法,其中最大的需求矩阵MAX定义了每一个进程对m类资源的最大需求量,系统在执行安全性算法中都会检查此次资源试分配后,系统是否处于安全状态,若不安全则将本次的试探分配作废。
死锁检测和解除中,在系统为进程分配资源时不采取任何措施,但提供死锁的检测和解除手段。
常见进程间通信方式比较:
管道:速度慢,容量有限
消息队列:容量受到系统限制,且要注意第一次读的时候,要考虑上一次没有读完数据的问题
信号量:不能传递复杂消息,只能用来同步
共享内存区:能够很容易控制容量,速度快,但要保持同步,比如一个程序在写的时候,另一个进程要注意读写的问题,相当于线程中的线程安全,当然,共享内存区同样可以用作线程的通讯,不过没有这个必要,线程间本来就已经共享了一块内存。
在使用锁保证现场安全时可能会出现活跃度失败的情况
主要包括饥饿,丢失信号,活锁,死锁等(多线程除了死锁之外遇到最多的就是活跃度问题)
饥饿:指线程需要访问的资源被永久拒绝,以至于不能再继续进行。解决饥饿问题需要平衡线程对资源的竞争,如线程的优先级,任务的权重,执行的周期;
活锁:指线程虽然没有被阻塞,但由于某种条件不满足,一直尝试重试却始终失败。解决活锁问题需要对重试机制引入一些随机性,例如如果检测到冲突,那么久暂停随机的一定时间进行重试,这会大大减少碰撞的可能性。
虚存
根据程序执行的互斥性和局部性两个特点,我们允许作业装入的时候只装入一部分,另一部分放在磁盘上,当需要的时候装入内存,这样在一个小的主存空间就可以允许比它大的作业。
替换算法
OPT:Optimal page replacement algorithm最佳页面替换算法
LRU:Least Recently Used近期最少使用算法
MFU:Most requently Used最常使用页面置换算法
LFU:Least Frequently Used最近最不常使用算法
引入缓存的主要目的
1.缓和处理机和I/O设备间速度不匹配矛盾
2.减少对CPU的中断次数
3.提高CPU和I/O设备之间的并行性

0 0