操作系统——进程

一.基本概念 

1.进程:数据集程序在一个数据集执行的过程。

        #组成:程序代码,数据集栈,进程控制块(PCB)——是进程存在的唯一标识,OS根据PCB的属性控制进程。

2.上下文:进程运行时CPU的寄存器数据集合(现场)。包括了用户可见寄存器和控制/状态寄存器。

3.分派器(即进程调度程序):调度时发生上下文切换:保存旧进程的上下文到它的PCB,从新进程的PCB恢复它的上下文到寄存器。即选择并调度一个进程,使之占用CPU运行。

!#引入进程,由于实现了并发执行和资源共享,可提高资源利用率吞吐率的好处,但却增加了系统的时间空间开销。

二.进程的创建和终止

1.进程创建:OS为进程建立PCB,分配内存空间。

    #导致进程创建的原因:

        ①新的批处理作业:作业提交后,开始运行时创建进程。

        ②交互登录:新用户登录和接受用户命令时创建进程。

        ③OS提供服务:如控制打印,网络通信等服务进程。

        ④父进程派送子进程:父进程请求创建子进程。

    #创建的步骤

        ①给新进程分配一个新PCB和唯一PID。

        ②给进程分配内存空间(代码,数据,栈)。

        ③初始化PCB:各属性取默认值或所请求的值。在UNIX中,子进程PCB基本复制自父进程PCB。

        ④将PCB放置就绪队列或就绪挂起队列。

        ⑤创建其他数据结构:如记账,日志等。

2.进程终止:回收内存,释放资源,销毁PCB。

    #导致进程终止的原因:

        ①进程正常运行完毕

        ②用户或OS干预

        ③父进程请求或父进程已终止

        ④运行时发生的各种故障和错误

3.五状态模型

   3.1进程状态

  • 新建new:进程正被创建。分配内存后将被设置为就绪态。
  • 就绪ready:进程已得到除CPU外的其它所需资源。
  • 运行running:进程指令正在被执行。
  • 阻塞(等待)blocked:进程正等待资源或某事件发生。
  • 退出exit:进程已经正常或异常结束。回收资源,善后。

3.2进程队列

  • 处于同一状态的进程PCB组成一个进程队列。

    ①就绪队列:所有就绪进程按FCFS或优先级顺序排队。

    ②等待(阻塞)队列:每一种等待时间对应于一个队列。


  • OS中PCB的数量是固定或不固定的,但总是有限的。

3.3 被挂起的进程

  • 挂起的根本原因:内存不足,不得不把部分进程交换到磁盘。
  • 两种挂起态:就绪挂起态、阻塞挂起态:外存就绪,阻塞态。即由于内存有限,将原位于内存的就绪/阻塞进程(代码数据)换出到外存(磁盘)上。
  • 解除挂起:当挂起进程优先级高或内存空间足够时,把位于磁盘的挂起进程(代码数据)换入到内存。

!#PCB始终在内存中。

四.进程描述

4.1操作系统的控制结构

    OS构造并维护所管理的每个实体的信息表,4类

  • 内存表:跟踪内存(实存)和外存(虚拟内存)。
  • I/O表:管理I/O设备和通道。
  • 文件表:文件属性
  • 进程表:PCB集合

4.2进程控制结构PCB

  • PCB:进程属性的集合。
  • OS进程表中包含了所有进程的PCB
  • 创建新进程时,分配进程表中的一个空闲PCB,读写属性。

PCB的索引(PID)唯一地标识该进程。

PSW(程序状态字寄存器):指明CPU当前特权级别、终端屏蔽码,(中断优先级)等。

五.进程控制

5.1CPU有两种执行模式:

    ①系统态:只能执行非特权指令。

    ②用户态:可以执行所有指令,使用所有资源以及改变CPU状态。

  • 特权指令:在系统态下执行的指令(OS内核使用)。
  • 非特权指令:用户态下执行(用户程序)。

?#CPU何时从用户态到系统态?

  • 执行系统调用(即内核代码,由OS提供服务)时。
  • 发生终端或异常时,执行中断处理程序。

?#CPU何时从系统态到用户态?

  • 系统调用或终端处理完毕后,执行IRET(中断返回)指令,恢复原进程的PSW,回到用户态。

?#注意


5.2fork()

在unix中,父进程通过系统调用fork()创建子进程。

  • 父、子有程并发执行,且父子共享父进程的所有资源。
  • 子进程复制父进程的地址空间,甚至有相同的正文段和程序计数器PC值。
  • 写时复制Copy_on_Write技术可减少不必要的复制:fork时父子共用父空间,当一方试图修改时才复制。
!!#fork()有两个返回值:向父进程返回子进程的PID,向子进程返回0


猜你喜欢

转载自blog.csdn.net/weixin_39793360/article/details/80639013