操作系统小练习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设备之间的并行性
- 操作系统小练习4
- 操作系统小练习2
- 操作系统小练习3
- 操作系统小练习5
- 操作系统小练习6
- 操作系统小练习5
- 【读书笔记+小练习】操作系统之进程及其实现
- 操作系统练习
- 编程小练习(4)
- 编程小练习4
- 计算机网络小练习4
- linux小练习4
- C语言小练习4
- 小练习
- 小练习
- 小练习
- 小练习
- 小练习
- (转)java判断string变量是否是数字的六种方法小结
- 用DPM训练自己的模型,并用于视频检测
- VTK的编译安装(VS2013)
- PHP经典实例读书笔记(字符串,日期,时间)
- 0010_20170402_【我是菜鸟】_java的访问修饰符
- 操作系统小练习4
- 统计学习基础(概念,基本思想,先验知识)
- find a way to escape(物理真白学了)
- mysql explain执行计划中常见信息整理
- 最大公约数和最小公倍数问题
- (九)数据结构—栈
- 多态
- Android优雅之路——findViewBy Button
- 【深度学习】深度学习简介