进程管理

引言:操作系统最核心的概念是进程,是资源分配和独立运行的基本单位,操作系统所有的内容都是围绕着进程展开的。

2.1进程的概念

2.1.1程序的并发执行

在某一时间段同时发生几件事的现象称为并发。一般采用的CPU分时原理。

程序的并发是在多道程序环境下进行的,在单道程序工作环境中程序是顺序执行的。

1.程序的顺序执行及其特性

一个具有独立功能的程序独占CPU运行,直到得到最终结果的过程称为顺序执行。

顺序执行具有以下特征:

顺序性 , 独占资源, 结果无关性。 // 顺序性 封闭性 可再现性

2.程序的并发执行及其特性

间断性。 失去封闭性 。 不可再现性。

说明两个问题: 1.程序和计算机执行程序的活动不再一一对应;

2.并发程序之间的存在相互制约的关系;

制约分为:1.直接制约:在彼此之间有逻辑关系的两个并发执行的程序之间发生的,一般是由于各 程序段要求共享信息引起的。

2.间接制约:由于竞争使用的同一资源引起的

2.1.2进程的定义

程序的以下定义:

进程是可并发执行的程序在一个数据集合上的运行过程,是系统进行资源分配和调度的独立单位。

2.1.3进程的状态及其转换

1.进程的三种基本状态及其转换

运行,阻塞,就绪构成了最简单的进程生命周期模型。

<1>运行状态:进程正在cpu上运行的状态,该进程已经获得必要的资源,包括cpu,该程序正在cpu上运行。

<2>阻塞状态:进程等待某种事件完成(如输入/输出操作)而暂时不能运行,该状态不能进行cpu的竞争。

<3>就绪状态:等待cpu的过程,已具备了运行的条件。但由于未获得cpu,因此仍不能执行。

 

引起挂起的主要原因:内存资源相对不足。

 

2.1.4进程控制块

当某个程序不在cpu运行时,必须保存被中断的程序的现场,包括断点的地址,程序状态字,通用寄存器的内容,堆栈内容,程序的当前状态,程序的大小,运行事件等等。为了保存这些信息,有一个专用的数据结构——进程控制块(PCB)。

进程控制块是进程存在的唯一标志。PCB通常所包含的信息:

<1>进程标识信息

<2>位置信息

<3>状态信息

<4>进程的优先级

<5>进程现场保护区

<6>资源清单

<7>队列指针或链接字

<8>其他信息

因为有多个PCB,为了能够进行有效的管理,就要用适合的方法把这些PCB组织起来,目前常用的组织方式有三种。

<1>线性表方式 适用于进程不多的情况

<2>链接表方式 能够有效的利用空间

<3>索引表方式 查找快,但是占用额外的空间

2.1.5进程的特征

1.特征:

<1>进程具有动态性

一个进程可以看作一组动态序列,每个动作则是由执行一段指令来完成。而程序是有序静止的集合。

<2>进程具有并发性

在一段时间内可以运行多个进程。

<3>进程具有结构特性

进程是由程序段和相应的数据段及进程控制段构成。而程序只包括代码及相应的数据

<4>进程具有独立性

进程是操作系统进行调度和分配资源的独立单位。

<5>进程具有异步性

系统中的进程,按照各自的,不可预期的速度向前推进。

2.进程通常分为用户进程和系统进程。

系统进程:是操作系统用来管理系统资源的并行活动的并发软件。

用户进程:用户进程是独立执行的用户程序段,他是操作系统提供服务的对象,,是系统资源的实际使用者。

系统进程之间的关系有操作系统自己来负责。

系统进程直接管理有关的软,硬设备的活动,用户进程只能间接地和系统资源发生关系,当用户进程需要某种资源时,它必须向系统提供请求,由系统调度和分配。

在进程调度中,系统进程的优先级高于用户进程。

2.2进程控制

引言:进程由创建而产生,由调度而执行,有撤销而消亡的生命周期,因此操作系统要有对进程生命周期的各个环节进程控制的功能,这就是进程控制。

进程的控制通常由原语完成。(原语:若干条指令所组成,用来实现某种特定的功能,在执行过程中不能被中断的程序段。)

2.2.1创建进程原语

通过创建原语完成创建一个新进程的功能。由于进程的存在是以其进程控制块为标志的,因此创建一个新进程的主要任务是:

为进程创建一个进程控制块,将进程提供的相关信息加入到pcb中,然后把pcb插入到队列中。

<1>申请PCB空间

<2>为进程分配资源,若不再内存中,应该从外存调到内存。

<3>把有关信息分别填入到PCB中。

<4>把PCB插入到队列中。

能够导致创建进程的事件有:用户登录,作业调度,提供服务和应用请求。

2.2.2撤销进程原语

进程完成使命,系统会及时回收它占有的全部资源以供其他进程使用。

在PCB链中找到对应的PCB,若找不到撤销的进程的名字或者该进程尚未停止,则转入异常终止处理程序。

否则,从PCB链中撤销该进程的及其该进程的子进程。

撤销原语撤销的是标志进程的存在的进程控制块,而不是进程的程序段。

 

2.2.3阻塞进程原语

一个正在运行的进程,由于为满足其所申请的资源而被迫处于阻塞状态,等待所需的事件发生,进程的这种变化就是通过阻塞进程原语完成的。

首先中断CPU,停止进程运行,将CPU的现行状态存放在PCB的cpu状态保护区中,然后将该进程设置为阻塞状态。并把它插入到等待队列中,然后系统执行调度程序,将cpu分配给另一个就绪的状态。

 

2.2.4唤醒进程原语

当进程所需要的资源出现时,由释放资源的进程调用唤醒原语,唤醒等待该资源的进程。

唤醒原语的基本功能:把除了CPU之外的一切资源都得到满的进程设置为就绪状态,然后插入到就绪队列中,等待调度运行。

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值