前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2.进程 原

2.进程 原

作者头像
青木
发布2019-03-12 17:00:38
3230
发布2019-03-12 17:00:38
举报

进程管理

  • 进程的基本概念
  • 进程与程序的区别
  • 进程控制
  • 进程同步
  • 进程通信
  • 线程

进程的基本概念

  • 程序在并发环境中的执行过程
  • 资源分配和独立运行的基本单位

程序的顺序执行

一个有4条语句的程序段:

S1:a:=x+2;

S2: b:=y+4;

S3: c:=a+b;

S4: d:=c+b;

程序顺序执行的特征

  • 顺序性
  • 封闭性
  • 可再现性

顺序性

处理机的操作严格按照程序所规定的顺序执行,即每一个操作必须在下一个操作之前结束。

封闭性

程序在封闭的环境下执行,结果不受外界因素的影响。

可再现性

只要环境和初始条件相同,程序重复执行时总得到相同结果。

程序的并发执行

一个有4条语句的程序段:

S1:a:=x+2;

S2: b:=y+4;

S3: c:=a+b;

S4: d:=c+b;

S1和S2可以同时执行-》S3-》S4

程序并发执行的特征

  • 间断性 共享、合作、制约导致,执行->暂停->执行
  • 失去封闭性 资源状态由多程序改变
  • 不可再现性 相同环境和初始条件, 重复执行,结果不同

程序A

代码语言:javascript
复制
L1:
    N:=N+1
goto L1

程序B

代码语言:javascript
复制
L2:
    PRINT (N)
    N:=0
goto L2

设共享变量N初始值为5,则会产生3种执行结果:

代码语言:javascript
复制
6,6,0
5,0,1
5,6,0

进程的特征

  • 结构特征
  • 动态性
  • 并发性
  • 独立性
  • 异步性

进程的结构

功能描述

进程控制块(PCB)

动态特征的集中反映

程序段

描述要完成的功能

数据段

操作对象及工作区

动态性

  • 进程最基本的特征是动态性
  • 进程的生命周期:

进程由创建产生,由调度而执行,由撤销而消亡的过程。

并发性

多个进程同在内存中,且能在一段时间内同时运行。

独立性

进程是一个能独立运行、独立分配资源、独立接受调度的基本单位

异步性

进程按各自独立的、不可预知的速度向前推进

进程的定义

进程是进程实体的运行过程,是系统进行资源分配和调度的基本单位。

进程和程序的关系

(1)进程是一个动态概念,程序是一个静态概念

(2)进程具有并行特征,程序没有

(3)进程是竞争资源的基本单位

(4)一个程序对应多个进程,一个进程为多个程序服务。

进程的三种基本状态

  • 就绪状态
  • 运行状态
  • 阻塞状态

就绪状态

  • 进程已经分配了除处理机以外的所有必要资源,只要再获得处理机就能执行的状态
  • 这样的进程可以有多个,通常排成一个队列,称就绪队列。

执行状态

  • 已经获得CPU,正在运行
  • 在单处理机系统中,只有一个进程处于执行状态。多处理机系统则有多个处于执行状态。

阻塞状态

  • 正在执行的进程由于发生了某事件而暂时无法继续执行时,放弃处理机而进入的状态,又称等待状态
  • 引起阻塞的事件:请求I/O,申请缓存。

挂起状态

  • 引入原因

(1)终端用户请求 (2)父进程请求 (3)负荷调节需要(一般在实时操作系统中使用) (4)操作系统的需要

挂起引起的状态转换

静止状态(挂起状态) 活动状态(非挂起状态)

引入挂起概念后,原先的进程的三种状态就变成了5种:

(1)执行 (2)活动就绪 (3)静止就绪 (4)活动阻塞 (5)静止阻塞

进程控制块

Process Control Block

  • PCB是OS中最重要的记录型结构
  • OS用PCB对并发进程进行管理和控制
  • PCB是进程存在的唯一标志
  • PCB常驻内存
  • PCB专门开辟PCB区将所有的PCB组织成若干个链表或队列

结构体(structure)

  • for example:一个学生的自然信息(姓名,性别,年龄,生日……)

PCB中的信息

(1)进程标识符

(2)处理机状态

(3)进程调度信息

(4)进程的控制信息

进程标识符

(1)内部标识符

进程唯一的数字编号,给OS使用

(2)外部标识符

由字母、数字组成,给用户使用

处理机状态

  • 处理机中的主要寄存器 (1)通用寄存器8~32个,暂存信息用

(2)指令计数器 要访问的下一条指令的地址

(3)程序状态字PSW 条件码、执行方式、中断屏蔽标志

(4)用户栈指针 用户进程拥有的系统栈,存放过程和系统调用参数及调用地址。

进程调度信息

  • 进程状态
  • 进程优先级
  • 与调度算法有关信息
  • 事件 如:阻塞原因

进程控制信息

  • 程序和数据地址
  • 进程同步和通信机制
  • 资源清单:除CPU之外的所需资源与已经分配资源清单
  • 链接指针:本进程PCB所在队列的下一个地址

PCB的组织方式

(1)链接方式

把统一状态的PCB,用其中的链接字链接成一个队列。如,就绪队列、阻塞队列(根据不同阻塞原因)、空白队列。

(2)索引方式

建立就绪索引表、阻塞索引表等。把索引表在内存的首地址放在内存的专用单元中。

链接方式

索引方式

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 进程管理
    • 进程的基本概念
      • 程序的顺序执行
        • 程序顺序执行的特征
          • 顺序性
          • 封闭性
          • 可再现性
        • 程序的并发执行
          • 程序并发执行的特征
            • 进程的特征
              • 动态性
                • 并发性
                  • 独立性
                    • 异步性
                      • 进程的定义
                        • 进程和程序的关系
                          • 进程的三种基本状态
                            • 就绪状态
                              • 执行状态
                                • 阻塞状态
                                  • 挂起状态
                                    • 挂起引起的状态转换
                                      • 进程控制块
                                        • 结构体(structure)
                                          • PCB中的信息
                                            • 进程标识符
                                              • 处理机状态
                                                • 进程调度信息
                                                  • 进程控制信息
                                                    • PCB的组织方式
                                                      • 链接方式
                                                        • 索引方式
                                                        领券
                                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档