操作系统进程管理

定义

进程是程序的一次执行
进程是一个程序及其数据在处理机上顺序执行时所发生的活动
进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位

特征

动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的
并发性:任何进程都可以同其他进程一起并发执行
独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位
异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进

基本状态和转换

在这里插入图片描述

进程控制

指系统使用一些具有特定功能的程序段(原语)完成进程各状态间的转换,从而达到多进程高效率并发执行和协调、实现资源共享的目的

原语可分为机器指令级原语(一条语句)和功能级原语(一段代码)
机器指令级原语的特点是执行期间不允许中断,它是一个不可分割的基本单位
功能级原语的特点是作为原语的程序段不允许并发执行

在这里插入图片描述
引起挂起状态的原因:
(1)终端用户的请求。当终端用户在自己的程序运行期间发现有可疑问题时,希望暂停使自己的程序静止下来。若此时用户进程正处于就绪状态而未执行,则该进程暂不接受调度,以便用户研究其执行情况或对程序进行修改
(2)父进程的请求。有时父进程希望挂起自己的某个子进程,以便考察和修改子进程,或者协调各子进程间的活动。  
(3)负荷调节的需要。当实时系统中的工作负荷较重,已可能影响到对实时任务的控制时,可由系统把一些不重要的进程挂起,以保证系统能正常运行
(4)操作系统的需要。操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账

进程间的关系

进程之间存在着直接制约和间接制约两种制约关系,其中直接制约(同步)是由于进程间的相互合作而引起的,而间接制约(互斥)则是由于进程间共享临界资源而引起的

信号量机制

信号量机制是进程同步的一个工具,能够合理地分配资源

资源分配原则:
同步时将信号量设置为零
互斥时将信号量设置为一

有几个进程设置几个信号量
当等于零的时候,表示资源与进程数平衡
当大于零的时候,表示资源多,临界资源有余
当小于零的时候,表示资源少

记录型信号量机制
wait()(P操作)
申请资源,减少
signal()(V操作)
释放资源,增加

信号量的应用

利用信号量实现进程互斥
为使多个进程能互斥地访问某临界资源,只需为该资源设置一互斥信号量mutex,并设其初始值为一,然后将各进程访问该资源的临界区置于wait(mutex)和signal(mutex)操作之间即可

利用信号量实现前趋关系
可利用信号量来描述程序或语句之间的前趋关系。设有两个并发执行的进程P1和P2,P1中有语句S1,P2中有语句S2,我们希望在S1执行后再执行S2,为实现这种前趋关系,只需使进程P1和P2共享一个公用信号量S,并赋予其初值为0,将signal(S)操作放在语句S1后面,而在S2语句前面插入wait(S)操作

进程通信

进程通信,是指进程之间的信息交换

通信类型

共享存储器
在共享存储器系统中,相互通信的进程共享某些数据结构或共享存储区,进程之间能够通过这些空间进行通信

消息传递系统
消息传递机制是使用最广泛的一种进程间通信的机制
操作系统隐藏了通信的细节,简化了通信程序的编制

直接通信方式:
发送原语:Send(Receiver,message),发送一个消息给接收进程
接收原语:Receive(Sender,message),接收发送进程发来的消息

间接通信方式:
通过信箱:指进程之间的通信,需要通过作为共享数据结构的实体

在间接通信的方式中,信箱作为的是一个实体:
私用信箱
公有信箱
共享信箱

对于信箱而言也有几种关系:
一对一关系
多对一关系
一对多关系
多对多关系

管道通信
管道是指用于连接一个读进程和一个写进程以实现他们之间通信的一个共享文件

引入线程的原因

创建进程,撤销进程,进程切换是程序并发所需时空开销较大的操作
线程是调度的基本单位,引入线程是为了减少程序并发执行时所付出的时空开销,提高资源利用率和并发性能

线程类型

用户级线程:管理过程全部由用户程序完成,操作系统内核心只对进程进行管理。
系统级线程:操作系统内核进行管理,操作系统内核给应用程序提供相应的系统调用和应用程序接口,以使用户程序可以创建、执行以及撤消线程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值