操作系统进程管理

一、进程的概念

现代操作系统的重要特点是在保证安全的前提下,程序并发执行,以及系统所拥有的资源被共享和系统用户的随机的使用

1、程序的并发执行

宏观上看是多个程序同时执行,微观上看是多个程序分时占用CPU,我们称这种程序执行的方式为 并发执行

2、进程的定义

一个进程也就是一个正在执行程序的实例

进程是并发执行的程序在执行过程中分配和管理资源的基本单位

进程和程序的区别与联系:

  • 进程是一个动态概念,而程序是一个静态概念。程序是指令的有序集合。而进程则强调执行过程,被动态创建被调度执行后消亡

    如果将程序比作菜谱,那么进程是按照菜谱炒菜的过程

  • 进程具有并发特征,而程序没有

  • 进程是竞争计算机系统资源的基本单位,从而其并发性收到系统的制约

  • 不同的进程可以包含同一个程序

3、进程的创建

(1)系统初始化

(2)正在运行的程序执行了系统调用

(3)用户请求创建一个新进程

(4)一个批处理作业的初始化

二、进程的描述

一个进程是一个程序对某个数据集的执行过程,是分配资源的单位。

进程的静态描述由三部分组成: 进程控制块(PCB)程序段数据

1、进程的控制块

进程的PCB是系统感知进程的唯一实体,它包括以下信息:

  • 描述信息

    进程名或进程标识号、用户名或用户标识号、家族关系

  • 控制信息

    进程当前状态(五种状态)、进程优先级、程序开始地址、各种计时信息、通信信息

  • 资源管理信息

    PCB中包含最多的就是资源管理信息,包括有关存储器的信息、使用输入输出设备的信息、有关文件系统的信息

  • CPU现场保护结构

2、进程上下文

3、进程上下文切换

提出进程上下文的概念就是为了进程上下文的切换

4、进程空间与大小

任意进程都有自己的地址空间,该空间称为进程空间或者虚空间

三、进程的状态及转换

1、进程状态

五种基本状态:初始态、执行状态、等待状态、就绪状态、终止状态

2、进程状态转换

四、进程控制

1、进程创建与撤销

2、进程的阻塞与唤醒

五、进程互斥

1、资源共享所引起的制约

2、互斥的加锁实现

3、信号量与P、V原语

4、用P、V原语实现进程互斥

六、进程同步

1、同步的概念

2、私用信号量

3、用P、V原语操作实现同步

4、生产者-消费者问题

七、进程通信

1、进程的通信方式

2、消息缓冲机制

3、邮箱通信

4、进程通信的实例-和控制台通信

5、进程通信的实例-管道

八、死锁问题

1、死锁的概念

2、死锁的消除方法

九、线程的概念

1、为什么要引入线程

2、线程的基本概念

3、线程与进程的区别

4、线程的适用范围

十、线程分类与执行

1、线程的分类

2、线程的执行特性