操作系统--课堂问答笔记07--习题答案

课堂笔记学习视频来自 操作系统
说明:其他”课堂问答笔记“也在”操作系统“专栏

【2-3】

  1. 进程互斥算法——4种程序实现方法的优缺点?
    空闲让进:当临界区空闲时,可以允许一个请求进入临界区的进程立即进入临界区。
    忙则等待:当已有进程进入临界区时,其他试图进入临界区的进程必须等待。
    有限等待:对请求访问的进程,应保证能在有限时间内进入临界区(保证不会饥饿)。
    让权等待:当进程不能进入临界区时,应立即释放处理机,防止进程忙等待。
    算法1
    优点:很好的贯彻了忙则等待和有限等待
    缺点:对空闲让进和让权等待考虑不周
    算法2
    优点:比较好的解决了空闲让进和有限等待的问题
    缺点:忙则等待和让权等待无法贯彻执行
    算法3
    优点:比较好的解决了忙则等待的问题
    缺点:违背了空闲让进、让权等待和有限等待的准则
    peterson算法除了在让权等待方面依然不能贯彻,其他三项进程机制同步准则方面都贯彻的比较到位
    忙则等待:条件不成立,一直循环空转不往下走
    有限等待:程序总有机会往下执行,不会一直空转
    空闲让进:条件一旦成立,就可让程序执行下去
    让权等待:我的程序执行不了,即条件不成立,那么让别人执行
    如果是通过执行循环空转,那么无法交出处理机cpu,也就无法让别人执行,因此4个程序方法都无法实现让权等待,因为都是通过循环空转在等待
  2. 硬件方式解决进程互斥的优缺点?
    视频中介绍的两种硬件方法,都较好的体现空闲让进、忙则等待和有限等待,但没有较好的实现让权等待。
    中断屏蔽也是一种硬件方法,视频中没有介绍。
    相对于程序实现,硬件实现效率更高。
  3. 整型信号量S的值代表什么含义?其优缺点?
    整型信号量就是一个整型变量。
    利用信号量可以解决进程互斥问题也可以解决进程同步问题,当前仅讨论进程互斥问题,用信号量解决进程同步问题在后续课程中讲述。
    s的值代表的是资源可不可用,它的优缺点还是一样没有较好的解决让权等待。
    信号量的值表资源的数量,后面讲同步的内容。
    wait(s): while s<=0; //当s≤0时,循环检测s是否≤0,即空操作
    s:=s-1; //s>=0时,可以进入临界区,进入前先置s-1
    signal(s): s:=s+1; //退出临界区,置s+1。
    解决进程互斥问题,信号量S的取值只有1和0,初值是1表示可进入临界区,0表示不能进入临界区(当前有其它进程在使用临界区)需等待。
    信号量机制较好的体现空闲让进、忙则等待和有限等待,仍然没有较好的实现让权等待。
  4. 请记住Dijkstra这位大神!其贡献有:
    1)提出"goto语句有害论",只用三种基本控制结构就可以写各种程序;
    2)提出信号量和PV原语;
    3)解决了"哲学家就餐"问题;
    4)最短路径算法和银行家算法的创造者;
    5)第一个Algol 60编译器的设计者和实现者;
    6)THE操作系统的设计者和开发者;
    1972年第7届图灵奖获得者
发布了94 篇原创文章 · 获赞 40 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_46218781/article/details/105270671