高级通信类型:
共享存储器系统
管道通信系统
消息传递系统
客户机-服务器系统
什么是死锁?
多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵局状态,若无外力作用,它们将无法再向前推进。
产生死锁的原因是?
1.竞争不可抢占性资源引起死锁
2.竞争可消耗资源引起死锁
3.进程推进顺序不当引起死锁
产生死锁的必要条件?
(1)互斥条件(资源的临界性)
(2)请求和保持条件(资源部分分配)
(3)不可抢占条件(资源不可抢占)
(4)循环等待条件(进程循环等待)
引起进程调度的因素有哪些?
进程结束;时间片用完;被抢占;调用原语被阻塞;I/O请求。
请详细说明可以通过哪些方法预防死锁。
在系统设计时确定资源分配算法,保证不发生死锁。
具体的做法是破坏产生死锁的四个必要条件之一。
1.破坏互斥条件;
2.破坏请求和保持条件;
3.破坏不可抢占条件;
4.破坏循环等待条件
程序的链接?
静态链接方式、装入时动态链接、运行时动态链接
程序的装入?
绝对装入方式、可重定位装入方式、动态运行时的装入方式
有效访问时间?
①被访问页在内存中,且其对应的页表项在快表中。
EAT=λ+t
②被访问页在内存中,且其对应的页表项不在快表中。
EAT=λ+t+λ+t=2×(λ+t)
③被访问页不在内存中。
假设缺页中断时间为x,则:
EAT=λ+t+x+λ+t=x+2×(λ+t)
与设备无关的I/O软件基本含义:
应用程序中所用的设备,不局限于使用具体的某个物理设备。为每个设备所配置的设备驱动程序是与硬件紧密相关的软件。为了实现设备独立性,必须在设备驱动程序之上设置一层软件,称为与设备无关的I/O软件,或设备独立性软件。
与设备无关软件基本概念:
1.以物理设备名使用设备
2.引入了逻辑设备名
3.逻辑设备名称到物理设备名称的转换
与设备无关的软件:
1.设备驱动程序的统一接口
2.缓冲管理
3.差错控制
4.对独立设备的分配与回收
5.独立与设备的逻辑数据块
为什么要引入设备独立性?如何实现设备独立性?
现代操作系统为了提高系统的可适应性和可扩展性,都实现了设备独立性或设备无关性。基本含义是应用程序独立于具体使用的物理设备,应用程序以逻辑设备名请求使用某类设备。实现了设备独立性功能可带来两方面的好处:(1)设备分配时的灵活性;(2)易于实现I/O 重定向。
为实现设备独立性,系统必须在设备驱动程序之上设置一层设备独立性软件。
网友评论