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

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

【2-1】

  1. 一个程序是顺序执行的,为什么在同一个程序中, A与B的执行可以不按顺序?
    一个程序是顺序执行的,为什么在同一个程序中,如有:
    A:N:=N+1; //:=表赋值,早期pascal语言的赋值符号
    B:Print(N); N:=0;//Print(N)表输出N的值
    A与B的执行可以不按顺序?
    因为一个程序可能分为多个进程运行,那么A语句和B语句就可能在不同进程中,而进程是可以并发执行的。所以AB可以不按顺序执行。但显然我们希望先A后B。
    前趋图的目的就是为了描述各程序段的执行先后顺序,为后期保证程序按正确顺序执行提供依据(如何保证程序按正确顺序执行后面的课程中讲述)
  2. 进程管理属于处理器(CPU)管理的内容。那么为何要引入进程,为什么不能以程序为单位进行程序运行的管理?
    因为程序的运行是走走停停的,为有效描述程序在内存中的运行状态(例如当前是否处于运行状态还是就绪状态、阻塞状态,占用了哪些系统资源等)。
    简单说就是便于管理。当然也是为了方便分批系统资源。
    进程是程序的一次执行,是动态的,而程序是静态的;进程是程序运行时资源分配的独立单位;进程相对程序多了一个PCB(进程控制块)。
    在这里插入图片描述
  3. 什么是调度,什么是队列?
    调度就是安排的意思,进程管理中的调度指的是处理机调度:就是从就绪队列中,按照一定的算法(有哪些算法,以后的课程讲述)选择一个进程并将处理机分配给它运行,以实现进程并发地执行。
    队列就是排队的队伍,内存中有多道程序运行,他们相互争夺处理机这一重要的资源,因此进程需要排队等待使用这一资源。
    就绪队列就是就绪的队伍即是等待运行的队伍,阻塞队列就是阻塞的队伍即是等待I/O的队伍。
    没有运行的队列,因为任何时刻都只有一个进程处于运行态,但就绪态和阻塞态的进程可能不止一个,因此有相关队列。
  4. 在进程状态转换图中,如何理解运行状态转换到就绪状态的“超时”这个条件?
    超时其实是基于公平原则而设置的,例如,如果有一个进程运行时间很长且执行过程中并未发生I/O事件(即没有发生阻塞),那么它将长时间占用CPU,而其它进程就得不到cpu的执行,因此要像分时系统那样给每个进程设置相等的时间片,超时后该进程要结束运行,重新排队。
  5. 如何理解挂起和激活?
    挂起和激活的区别很简单,就是进程激活那么进程处于内存中,如果挂起则处于外存中,进程由激活变成挂起,则表示其由内存调出到外存中(调出到外存的对换区中,内存管理的章节中会讲到,包括为什么要由内存转入外存,也在后续课程中讲述);进程由挂起变成激活,则表示其由外存重新调入内存。挂起就绪表示在外存排队等待执行,挂起阻塞表示在外存中排队等待I/O。
    进程只有回到内存后才能得到cpu的执行,即挂起状态的进程不能立即执行。
    转回激活的就绪状态才能得到cpu的执行。
发布了94 篇原创文章 · 获赞 40 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_46218781/article/details/105270091
今日推荐