操作系统——2.并发与进程

第二章 并发与进程

2.1 进程的概念

★ 进程
一个正在执行的程序、正在运行的程序的一个实例、由处理器执行的一个实体
进程 = 进程控制块(PCB) + 程序段 + 数据段 + 栈

  • 引入目的:
    使多道程序能够正确地并发执行
  • 进程的两个基本属性:
    – 拥有资源的独立单位:一个进程包括一个保存进程映像的虚地址空间,拥有对资源的控制或所有权。
    – 调度/执行的基本单位:一个具有状态和优先级,可被被操作系统调度并分派的实体。

★ 基本特征

  • 动态性:(本质特性) 一个正在计算机上执行的程序实例,存在生命周期
  • 并发性:(重要特性) 任何进程都可以同其他进程一起向前推进
  • 独立性:各进程的地址空间相互独立,除非采用进程间通信手段
  • 异步性:按各自独立的、不可预知的速度向前推进
  • 结构性

★ 进程的状态转换

  • 就绪状态:进程在内存,已分配到除CPU之外的所有必要资源,准备执行
  • 执行状态:进程已获得CPU,其程序正在执行。
  • 阻塞状态:正在执行的进程由于需要等待某个事件发生而暂时无法继续执行。
  • 新建状态:OS已完成为创建一个进程所必要的工作,但进程自身还未进入主存。
  • 终止状态:进程完成或发生错误,其表格和其他信息暂时保留。
  • 挂起状态:进程交换到外存,不再参与CPU的竞争。<—> 对换技术
  • 就绪/挂起:进程在外存,只要调入内存并获得CPU即可执行
  • 阻塞/挂起:进程在外存,等待事件
\
进程挂起的原因:进程全部阻塞,处理机空闲;系统负荷过重,内存空间紧张;操作系统的需要,操作系统可能需要挂起后台进程或一些服务进程,或某些可能导致系统故障的进程;终端用户的请求;父进程请求。

2.2 操作系统为控制程序所建立的数据结构

内核的概念:一些与硬件紧密相关、基本的、公共的、运行频率较高的模块,以及关键性数据结构等常驻内存,便于提高操作系统运行效能的这部分软件,称为操作系统的内核。

★ 操作系统内核的功能

  • 资源管理功能:进程管理、存储管理、I/O设备管理
  • 支撑功能:中断处理、时钟管理、原语操作、统计监测功能

★ 操作系统控制结构
操作系统构造并维护它所管理的每个实体的信息表,一般有4种不同类型的表:内存、I/O、文件和进程。

\

★ 进程控制块

进程控制块的作用: 进程存在的唯一标志;PCB常驻内存。

进程控制块中的信息

  • 进程标示符:唯一地标识一个进程。内部、父、用户标识符
  • 处理机状态信息:通用寄存器、指令计数器、程序状态字、用户栈指针
  • 进程控制信息:进程状态、进程优先级、进程调度所需的其他信息、事件
  • 其他信息:程序和数据的地址、进程同步和通信机制、资源清单、链接指针

进程控制块的组织方式

  • 索引方式、
  • 链接方式(单一队列、多级队列)

2.3 操作系统对进程的控制

2.3.1 进程的创建

引起创建进程的事件

  • 用户登录、为新的作业创建进程、操作系统因为提供一项服务而创建、由现有的进程派生

创建进程的步骤:

  • 给新进程分配一个唯一的进程标识符
  • 为进程分配空间、初始化进程控制块
  • 建立链接,将之插入就绪或就绪/挂起链表
  • 建立或扩充其它数据结构

2.3.2 进程的撤销

引起进程终止的事件

  • 正常结束、异常结束(越界错误、保护错、非法指令、特权指令错、运行超时、等待超时、算术运算错、I/O故障)、外界干预(程序员kill进程、父进程终止、父进程请求)

进程终止的步骤

  • 根据被终止进程的标识符找到其PCB,读出该进程的状态
  • 若该进程为执行状态,则终止其执行,调度下一个就绪进程执行
  • 若该进程还有子孙进程,还应将其所有子孙进程予以终止
  • 将该进程所拥有的全部资源,或者归还给其父进程,或者归还给系统
  • 将被终止进程的PCB从所在队列中移出

2.3.3 进程的阻塞

引起阻塞的事件

  • 请求系统服务而得不到满足、启动某操作而需同步、新数据尚未到达、无新工作

进程阻塞的步骤

  • 进程通过调用阻塞原语block( )把自己阻塞
  • 将PCB中的状态由“执行”改为“阻塞”,并将PCB插入阻塞队列
  • 调度程序将处理机分配给另一就绪进程,并进行切换

2.3.4 进程的唤醒

  • 由有关进程调用唤醒原语wakeup( )将等待该事件的进程唤醒</
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值