操作系统教程OS 孙忠秀操作系统笔记操作系统

4、进程/线程模型1(操作系统笔记)

2016-12-15  本文已影响163人  yjaal

一、进程的基本概念

1.1 多道程序设计

基本思想是允许多个程序同时进入内存并运行,提高CPU的利用率,其目的是为了提高系统效率。

1
说明:在第一幅图中在内存中有四个程序,这四个程序是串行执行的,因为这里只有一个程序计数器。当有了多道程序技术之后就得到了第二幅图中所示的场景,每个程序各自独立的占用一个逻辑程序计数器,这样就达到了一种并发执行的效果,我们从第三幅图中可以看到多个程序是轮流执行的。

1.2 并发环境与并发程序

并发环境就是指一段时间间隔内,单处理器上有两个或两个以上的程序同时处于开始运行但尚未结束的状态,并且次序不是事先确定的。而在并发环境下执行的程序就是并发程序。

1.3 进程的定义

定义:进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。

1.4 进程控制块PCB

1.4.1 PCB中需要保存的信息

1.4.2 换个角度看PCB的内容

2
说明:从上图中可以看到第一列是和进程管理相关的字段,第二列是存储管理的字段,第三列是文件管理的字段。

二、进程状态及状态转换

2.1 进程的三种基本状态

即运行态、就绪态、等待态。

2.2 进程的其他状态

2.3 五状态模型

4

2.4 七状态模型

5

2.5 Linux状态转换示意图

6
说明:这里使用fork()创建一个进程。浅度睡眠和深度睡眠不同在于前者在睡眠时会接收信号,而后者则不会。正在运行的程序可能因为调试断点可能出现一个暂停的状态。

三、进程队列

3.1 五状态进程模型的队列模型

8

四、进程控制

进程控制操作完成进程各状态之间的转换,由具有特定功能的原语(其实就是程序,只是这些程序不许与被中断)完成。关于进程控制的原语如下:

原语:完成某种特定功能的一段程序,具有不可分割性或不可中断性,即原语的执行必须是连续的,在执行过程中不允许被中断。又称原子操作。

4.1 进程的创建

4.2 进程的撤销

也就是结束进程,主要完成的工作:

4.3 进程阻塞

处于运行状态的进程,在其运行过程中期待某一事件发生,如等待键盘输入、等待磁盘数据传输完成、等待其他进程发送消息。当被等待的事件未发生时,由进程自己执行阻塞原语,使自己由运行态变为阻塞态。在UNIX中我们使用wait,在Windows中使用WaitForSingleObject

4.4 UNIX的几个进程控制操作

UNIXfork()实现:

上一篇 下一篇

猜你喜欢

热点阅读