[操作系统]进程管理之进程

进程管理:
进程
CPU调度
进程同步
死锁

进程

基本概念

进程实体:又称进程映像,由数据段、程序段和PCB组成。(静态)
进程:是进程实体的运行过程==(动态
性)==
进程是资源分配的基本单位,在无线程引入之前还是CPU调度的基本单位。

进程VS程序:
进程是程序及其数据在计算机上的一次执行过程,是动态的概念,而程序是有序指令的集合,是静态的概念。
进程是程序的一次执行过程,是动态的创建和消亡的,具有一定的生命周期,是暂时存在的;而程序是指令的集合,可长期保存在计算机之中。
一个进程可以执行一个或几个程序,一个程序也可以构成多个进程。
进程可以创建进程,而程序不可以形成新的程序。
从静态来看,进程实体不仅包括程序段,还包括数据段和PCB。

PCB是进程存在的唯一标志。创建进程实质就是创建进程的PCB,而撤销进程实际上就是撤销进程的PCB。

七状态模型

在这里插入图片描述

进程控制

进程创建:(创建原语)分配PID,申请并填写PCB;若资源不足则转为阻塞态而非创建失败。
进程终止:(撤销原语)终止执行该进程及其子进程,回收系统资源,在所在队列删除对应PCB。
进程阻塞:(Block/阻塞原语)因进程主动申请某种资源而由运行态主动转为阻塞态。
进程唤醒:(wakeup/唤醒原语)当PCB期待的事件发生后用唤醒原语唤醒进程。
阻塞原语和唤醒原语需成对使用;阻塞原语是由于所执行进程主动申请,而唤醒进程则是由一个与被唤醒进程合作或其他相关的进程实现的。
进程切换:(切换原语)保留当前运行环境以及程序计数器、其他寄存器;恢复待执行进程运行环境;更新PCB信息。

进程通信

管道通信
消息传递
共享存储

共享存储

通过共享存储区实现进程通信,但对共享资源的访问操作需要使用同步互斥工具(PV操作)来进行控制。
其中又分为基于数据结构的低级共享和基于存储区的高级共享。

消息传递

以格式化的消息为单位进行直接或间接通信。直接通信即指把消息挂至对应进程消息缓冲队列中;间接通信通过中间实体(通常称为邮箱)进行通信。

管道通信

管道也是一种文件。实行半双工通信。即同一时间只能单向传输;且未写满不可读,未读空不可写;只支持读一次。

线程

线程是“轻量级进程”。是CPU执行单元,也是程序执行流的基本单元。CPU的调度以线程为基本单位。而线程几乎不占据资源,其共享所在线程的资源,而线程内部的数据非共享。

线程VS进程:
线程是系统资源调度的单位,而进程是系统资源分配的基本单位。
线程基本不拥有资源,共享所在进程的资源,而进程是资源分配的基本单位,拥有资源。
线程的提出更好的实现了并发性。
同一进程之间的线程进行切换所用的开销较小,而不同进程之间的线程进行切换所用开销开销加大。
同一进程之间的线程共享资源,通过读/写进程数据段便可实现线程之间的通信;而进程之间的通信需要使用通信互斥工具PV操作来实现。
线程无独立的地址空间,但包含CPU线程,可以独立执行程序,但不可脱离进程。

进程的实现分为用户级线程和内核级线程。
用户级线程由应用程序实行线程之间的切换,而内核意识不到用户级线程。对于OS内核来说,实质上只有单线程在工作。因此系统开销小,但多用户级线程之间容易形成阻塞,一个阻塞就会导致全部线程阻塞。
内核级线程由OS内核进行线程管理工作,系统开销大,但各线程之间相互独立。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值