操作系统期中复习第二章——进程管理

目录

一、进程与线程(process and thread)

1、进程的概念:

2、进程的状态与转换:

进程三个基本状态

进程的状态转换:

3、进程控制:

1.进程创建(fork):

2.进程终止:

3.进程的阻塞和唤醒:

4.进程切换:

4、进程组织:

1.进程PCB:是进程存在的唯一标志

2.程序段:

3.数据段:

5、进程通信:

1.共享存储:通过系统操作开辟一块独立的进程空间

(使用方法可参考:子进程计算斐波那契数列并放入共享进程,父进程将共享进程内的斐波那契数列输出)

2.消息传递:

3.管道通信:

6、线程概念与多线程模型:

1.线程的基本概念 :

2.线程与进程的区别:

3.线程的属性:

4.线程的实现方式:

5.多线程模型:

6.补充知识点:

二、处理机调度

1、调度的基本概念:调度时机、切换与过程

2、调度的基本准则:调度方式;典型的调度算法

三、进程同步

1、进程同步的概念

2、实现临界区互斥的基本方法

3、信号量;管程;经典同步问题

4、例题+知识点


一、进程与线程(process and thread)

1、进程的概念:

我们首先先引入进程实体的概念:进程实体由进程PCB、数据段、程序段三部分组成。

而进程是进程实体的运行过程,是系统进行调度和资源分配的基本单位。

2、进程的状态与转换:

进程三个基本状态

就绪态:进程获得除处理机外的一切资源、一旦得到处理机就可立即执行

执行态:进程正在处理机上运行。

阻塞态:进程正在等待某一事件的完成,此时即使处理机空闲,进程也不能运行。

注意区分:就绪态VS阻塞态

进程的状态转换:

运行态到阻塞态:运行过程中发现需要某些资源,因而主动将自己阻塞(记录型信号量实现非让权等待)

运行态到就绪态:时间片时间到不得不让出处理机。

阻塞态到就绪态:得到某些资源后,将其唤醒(被动行为,需要其他进程的协助)

就绪态到执行态:被调度得到处理机资源

3、进程控制:

1.进程创建(fork):

允许父进程创建子进程。子进程可以继承父进程拥有的资源。当子进程被撤销时,应将获得的资源全部还给父进程;当父进程被撤销时,旗下的所有子进程都需被杀死。

触发创建进程的事件:中断用户登录系统、作业调度、系统提供服务、用户程序的应用请求

2.进程终止:

触发事件:正常结束、异常结束(越界、非法指令等)、外界干预

3.进程的阻塞和唤醒:

4.进程切换:

4、进程组织:

1.进程PCB:是进程存在的唯一标志

2.程序段:

3.数据段:

5、进程通信:

PV是低级通信,高级通信方式主要有以下三种:

1.共享存储:通过系统操作开辟一块独立的进程空间

(使用方法可参考:子进程计算斐波那契数列并放入共享进程,父进程将共享进程内的斐波那契数列输出

2.消息传递:

直接通信:

间接通信:通过“邮箱”进行通信

3.管道通信:

采用半双工通信

6、线程概念与多线程模型:

引入线程的目的:减小程序在并发执行是的时空开销,提高操作系统的并发性能。

1.线程的基本概念 :

轻量级“进程”,基本不拥有资源,但可与其他线程共享进程的全部资源。拥有TCB,用来进行表示。

2.线程与进程的区别:

(1)调度:在引入了线程的操作系统中,进程是拥有系统资源的基本单位,线程是进行调度的基本单位。

3.线程的属性:

(1)同一进程的不同线程可以共享该进程的资源

(2)线程是处理机调度的基本单位

4.线程的实现方式:

(1)用户级线程

(2)内核级线程

5.多线程模型:

(1)多对一:

优点:线程管理是在用户空间进行的,因而效率比较高。

缺点:一个线程在使用内核服务时被阻塞整个进程都会被阻塞;多个线程不能并行地运行在多处理机上。并发度不高

(2)一对一:

优点:当一个线程被阻塞后,允许另一线程继续执行,并发能力比较强

缺点:没创建一个用户级线程都需要创建一个内核线程与其对应,创建线程的开销比较大

(3)多对多:

6.补充知识点:

(1)为什么要引入进程?

在多道程序引入后,多个程序可以并发执行,此时程序将失去封闭性,并具有间断性和不可再现性。因此引入进程来更好的进行程序管理。

(2)进程和程序的根本区别是:静态和动态的区别;

(3)操作系统是根据(进程PCB)来对并发执行的进程进行调度

(4)父进程创建子进程和主程序调用子程序有什么不同?

  答:父进程创建子进程后二者并发执行;而主程序调用子程序之后,本身会暂停在调用点,子进程执行,直到子程序返回主程序才开始执行。

二、处理机调度

1、调度的基本概念:调度时机、切换与过程

2、调度的基本准则:调度方式;典型的调度算法

三、进程同步

1、进程同步的概念

2、实现临界区互斥的基本方法

3、信号量;管程;经典同步问题

4、例题+知识点

1.区分临界区和临界资源

2.用PV操作实现同步,信号量初值为_____;

3.对于两个并发进程,设互斥信号量为mutex=1,若mutex=0,说明__________;

 若mutex=-1,说明__________;

4.信号量:某博物馆最多容纳500人,有一个出入口,该入口一次允许一人通过,使用信号量实现该过程。

临界资源: semophore入口 mutex=1;

                    semophore空间  N=500;

visitor(){

       while(1){

                        P(N);

                   P(mutex);

                      进入;

               V(mutex);

                 参观;

              P(mutex);

                      离开;

               V(mutex);

            V(N);

}

   }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mu Haitian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值