02-第二章进程管理复习总结
进程管理

第二章 进程管理
1 进程的基本概念 2 进程控制
3 进程同步
4 经典进程同步问题
5 管程机制
6 进程通信 7 线程
第二章 进 程 管 理
1 进程的基本概念
• 操作系统的特性之一是并发与共享,即在系统 ( 内存 ) 中同时存在几个相互独立的程序,这些 程序在系统中既交叉地运行,又要共享系统中 的资源,这就会引起一系列的问题,包括:对 资源的竞争、运行程序之间的通信、程序之间 的合作与协同等。
2.1.3程序的并发执行及其特征
• 例:在系统中有n个作业,每个作业都有三个处理步骤,输入数 据、处理、输出,即Ii,Ci,Pi(i=1,2,...,n)。
• 这些作业在系统中执行时是对时间的偏序,有些操作必须在其它 操作之前执行,这是有序的,但有些操作是可以同时执行的。
例如:I1、C1、P1的执行必须 I1 严格按照I1,C1,P1的顺序, 而P1与I2,C1与I2,I3与P1是 可以同时执行的。 图中存在下面的前趋关系: Ii→Ci, Ii→Ii + 1, Ci→Pi, Ci→Ci+1, Pi→Pi+1 而Ii+1和Ci及Pi-1是重迭的 , 它们可以并发执行。
(1) N∶=N+1在Print(N)和N∶=0之前,此时得到的N值分 别为n+1, n+1, 0。
(2) N∶=N+1在Print(N)和N∶=0之后,此时得到的N值分 别为n, 0, 1。
(3) N∶=N+1在Print(N)和N∶=0之间,此时得到的N值分 别为n, n+1, 0。 结论:程序在并发执行时, 由于失去了封闭性,其计算结果 与并发程序的执行速度有关,使程序执行失去可再现性。
2、失去了程序的封闭性 3、不可再现性(失去封闭性引起)
第2章 进程管理汇总

3、可再现性 是指当该程序重复执行时,只要其执行环境和初始 条件相同,不论是从头到尾连续执行,还是“走走停停”执行, 必将获得相同的结果。这给程序的调试带来了很大的方便。
2.1 进程的概念
2.1.1 进程的引入 1、程序的顺序执行及其特性
作业l Il
Cl
Pl
作
…
…
业
执
行 顺
作业i Ii
Ci
Pi
序
…
…
…
…
作业n In
Cn
Pn
图 3.1 程序的顺序执行
程序的顺序执行具有如下特点:
1、顺序性 指的是程序必须严格按其规定的顺序执行,即在前 一个程序没有结束以前绝不允许执行下一个程序,在前一个操 作结束之前绝不允许执行下一个操作。
3.2 进程的表示和调度状态
3.2.1 进程的表示
1. 进程的组成 程序描述进程所要完成的功能。
程序是进程执行时不可修改的部分。
P CB 程序 数据
P CB
数据集合包括程序在执行时所需要的数据和工作
区。这部分只程能序为一个进程所专共有,享是进程的可
修改部分。
程序 段
程序和数据集合是进程存在的物质基础。
void programB(void) {
while(TRUE) {
… print(N); N=0;
…
} }
程序A中的N=N+1的操作和程序B的 print (N) 、N=0操作可能出现以下三种执 行序列:
计算机操作系统(2)第2部分 进程管理小结

2.2
处理机调度
只要OS取得对CPU的控制,进程切换就可 能发生:
超级用户调用
来自程序的显式请求 (如:打开文件),该进程通常 会被阻塞 最末一条指令导致出错,会引起进程移至退出状态 外部因素影响当前指令的执行,控制被转移至IH (中断处理程序)
陷阱
中断
2.2
处理机调度
典型调度算法
在处理中断的过程中; 进程在操作系统内核程序临界区中; 其他需要完全屏蔽中断的原子操作过程中。
2.2
处理机调度
进程调度、切换的时机与过程
应该进行进程调度与切换的时机:
当发生引起调度条件,且当前进程无法继续 运行下去; 当中断处理结束或自陷处理结束,返回被中 断进程的用户态程序执行现场前,若臵上请 求调度标志。
2.1
进程与线程
进程控制
进程终结
将进程状态设臵为结束状态; 关闭所有打开使用的文件、设备; 脱离用户进程与其所执行程序文件的映射关系; 进行相关信息的统计,记入LOG文件或PCB中; 清理相关进程的链接关系; 释放进程空间; 调用进程调度程序转移处理机到其他进程的运行。
2.1
进程与线程
进程控制
进程创建
接收新建进程运行初始值、初始优先级、初始执行 程序描述等由父进程传来的参数; 请求分配PCB,得到一个内部数字进程标识; 用从父进程传来的参数初始化PCB; 产生描述进程空间的数据结构; 用进程运行初值初始化处理机现场保护区; 臵好父进程等关系域; 将进程设臵为就绪状态; 将PCB挂入就绪队列,等待被调度运行。
第2章 进程及其管理

14
2.4 进程管理
进程的控制、管理功能是通过执行各种原语来实现的。 一、进程管理(原语)
OS中会提供一些原语来支持进程的管理,如创建进程、 撤消进程等。
原语:OS内核中一段不可被分割的完成一定功能的程序。 原语在运行过程中不可被用户进程打断。
1. 创建(进程)原语 一个进程可以调用创建原语,创建一个新进程。 原则上,每个程序运行之前,系统都要为它们创建进程, 一般进程都是由系统调用fork建立的。(如:)
17
3.挂起原语
挂起:把一个进程的内存资源收回,让在外存上等待。
在内存负载较重,内存中进程较多时,暂时不能运行的
某些进程会被OS强制性的存放到外存上等待。
二、创建进程的时机
何时创建进程?比如:
(1)用鼠标点击可以启动程序; ——系统为之创建进程
(2)“运行” “程序”; ——系统为之创建进程
(3)运行中的进程,可以调用“创建进程原语”创建子进程;
开始运行但尚未结束的状态,并且次序不是事先确定的。
特征:
(1)程序的间断性:
每个程序在CPU上运行,都是走走停停的。
(2)失支封闭性
由于资源共享,系统中资源被多个进程使用。
比如:一个多用户的分时售票系统,各终端程序共享票号单元X,采用下
述程序可实施卖票管理。该终端某时刻究竟卖出第几号票,是否有票可卖,
等待状态: 即使获得CPU,也无法运行。 进程正在等待I/O或等待某一事件发生而暂时停止 运行的状态。
12
二、进程状态转化
每个进程必定处在不断变化的状态中,如图2.4所示。
13
什么情况下会发生(1)、(2)、(3)、(4)的状态转化? (1)运行进程发生了(2)、(3)、(5)的变迁,只要就绪
(完整版)计算机操作系统复习知识点汇总

《计算机操作系统》复习大纲第一章绪论1.掌握操作系统的基本概念、主要功能、基本特征、主要类型;2.理解分时、实时系统的原理;第二章进程管理1.掌握进程与程序的区别和关系;2.掌握进程的基本状态及其变化;3.掌握进程控制块的作用;4.掌握进程的同步与互斥;5.掌握多道程序设计概念;6.掌握临界资源、临界区;7.掌握信号量,PV操作的动作,8.掌握进程间简单同步与互斥的实现。
第三章处理机调度1.掌握作业调度和进程调度的功能;2.掌握简单的调度算法:先来先服务法、时间片轮转法、优先级法;3.掌握评价调度算法的指标:吞吐量、周转时间、平均周转时间、带权周转时间和平均带权周转时间;4.掌握死锁;产生死锁的必要条件;死锁预防的基本思想和可行的解决办法;5.掌握进程的安全序列,死锁与安全序列的关系;第四章存储器管理1.掌握用户程序的主要处理阶段;2.掌握存储器管理的功能;有关地址、重定位、虚拟存储器、分页、分段等概念;3.掌握分页存储管理技术的实现思想;4.掌握分段存储管理技术的实现思想;5.掌握页面置换算法。
第五章设备管理1.掌握设备管理功能;2.掌握常用设备分配技术;3.掌握使用缓冲技术的目的;第六章文件管理1.掌握文件、文件系统的概念、文件的逻辑组织和物理组织的概念;2.掌握目录和目录结构;路径名和文件链接;3.掌握文件的存取控制;对文件和目录的主要操作第七章操作系统接口1.掌握操作系统接口的种类;2.掌握系统调用的概念、类型和实施过程。
计算机操作系统复习知识点汇总第一章1、操作系统的定义、目标、作用操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。
设计现代OS的主要目标是:方便性,有效性,可扩充性和开放性.OS的作用可表现为:a. OS作为用户与计算机硬件系统之间的接口;(一般用户的观点)b. OS作为计算机系统资源的管理者;(资源管理的观点)c. OS实现了对计算机资源的抽象.2、脱机输入输出方式和SPOOLing系统(假脱机或联机输入输出方式)的联系和区别脱机输入输出技术(Off-Line I/O)是为了解决人机矛盾及CPU的高速性和I/O 设备低速性间的矛盾而提出的.它减少了CPU的空闲等待时间,提高了I/O速度.由于程序和数据的输入和输出都是在外围机的控制下完成的,或者说,它们是在脱离主机的情况下进行的,故称为脱机输入输出方式;反之,在主机的直接控制下进行输入输出的方式称为联机(SPOOLing)输入输出方式假脱机输入输出技术也提高了I/O的速度,同时还将独占设备改造为共享设备,实现了虚拟设备功能。
操作系统原理第二章进程管理

2.1 前趋图和程序执行
例:有7个结点的前趋图。
P = { P1,P2,P3,P4,P5,P6,P7 } → = {(P1,P2),(P1,P3),(P1,P4), (P2,P5),
(P3,P5),(P4,P6),(P5,P7),(P6,P7)}
2
1 3
4
5
7 6
2.1 前趋图和程序执行
➢ 程序的顺序执行
打印三项操作。其程序段并发执行的前趋图:
I1 → I2 → I3 → I4 →
↘↘↘↘
C1 → C2 → C3 → C4 →
↘↘↘↘
P1 → P2 → P3 → P4 →
2.1 前趋图和程序执行
例2.Begin integer N:=0;
Cobegin
Program A : begin
Program B : begin
void popaddr (top) { top --; r=*top; return (r) }
void pushaddr(blk) { *top = blk; top++;
}
先执行 popaddr 的top--,接着执行pushaddr的*top=blk
2.1 前趋图和程序执行
➢ 程序并发执行过程及条件 (Bernstein条件)
果必相同。
2.1 前趋图和程序执行
➢ 程序的并发执行
➢ 程序执行环境
➢ 独立性,逻辑上是独立的。 ➢ 随机性:输入和执行开始时间都是随机的。 ➢ 资源共享:资源共享导致对进程执行速度
的制约。
2.1 前趋图和程序执行
➢ 程序的并发执行
并发执行是指两个程序执行时间上是重叠 的。凡是能由一组并发程序完成的任务,都 能由相应的单个程序完成。 例1:有一批程序,而每个程序需输入,计算,
知识点归纳 操作系统中的进程管理与内存管理

知识点归纳操作系统中的进程管理与内存管理操作系统是计算机系统中的核心软件,负责协调和管理计算机的各种硬件和软件资源。
进程管理和内存管理是操作系统中两个重要的模块,对于系统的运行和资源的分配起着至关重要的作用。
一、进程管理1. 进程的定义和特点进程是一个程序在执行过程中的实体,它包括程序计数器、寄存器和栈等执行状态,还有独立的虚拟地址空间。
进程具有独立性和并发性两个特点,可以独立运行,也可以与其他进程并发执行。
2. 进程的状态和转换进程具有多个状态,包括创建、就绪、运行、阻塞和完成等状态。
进程通过状态的转换实现进程的管理和调度,例如当一个进程创建完成后,就处于就绪状态等待被调度执行。
3. 进程调度算法进程调度算法决定了进程的调度顺序和优先级,常见的算法有先来先服务(FCFS)、最短作业优先(SJF)、轮转调度(RR)和多级反馈队列调度等。
不同的算法适用于不同的场景和需求,可以根据实际情况选择合适的算法。
4. 进程同步和通信多个进程之间可能需要进行同步和通信,以避免出现竞争条件和死锁等问题。
常用的同步和通信机制包括互斥锁、条件变量、信号量和管道等,通过这些机制可以实现进程之间的合作和协调。
二、内存管理1. 内存的组织和分配内存是计算机系统中的关键资源,操作系统需要合理管理和分配内存空间。
内存可以划分为多个区域,包括操作系统区、用户区和空闲区等。
内存分配方式有静态分配和动态分配两种,静态分配是在编译和链接阶段确定内存的分配情况,动态分配是根据程序的实际运行情况动态分配内存。
2. 内存管理的策略内存管理涉及到内存的分配、回收和保护等问题,常见的策略有连续分配和分页分配。
连续分配是将内存划分为多个连续的区域,每个进程占用一个或多个连续的区域;分页分配是将内存划分为固定大小的页,每个进程被分为多个页,并可以离散地分配到内存中。
3. 虚拟内存虚拟内存是计算机系统中的一种技术,可以将物理内存和辅助存储器结合起来使用。
《计算机操作系统》第2章 进程管理

2.1.3 进程的状态模型
新建
准许
准许
挂起
静止就绪
事件 发生
静止阻塞
激活 挂起
激活 挂起
活动就绪
事件 发生 活动 阻塞
分派 超时
运行
等待 事件
释放
退出
பைடு நூலகம்
图2-8 有挂起态的七状态模型
在新的状态模型中,比较重要的新转换如下: ►(1)活动阻塞→静止阻塞:当内存紧张而系统中又没有就绪进程时,一个阻塞
态进程就会被挂起。
分派
进入
非运行
运行
退出
暂停 图2-3 两状态模型
2.1.3 进程的状态模型
2. 三状态模型
三状态模型中进程的三种基本状态如下:
►(1)就绪状态(Ready)。一个进程获得了除处理机之外所需的一切资源,一 旦得到处理机即可运行。在系统中,将处于就绪状态的多个进程的PCB组织成一 个队列,或按照某种规则排在不同的队列中,这些队列称为就绪队列。
2.1.3 进程的状态模型
3. 五状态模型
新建态
进入就 绪队列
运行态
被调 度 时间片
用完
就绪态
事件
发生
退出态 等待事件 阻塞态
图2-6 五状态模型图
►为便于进程管理,有必要增加一种有用的状态,我们称为新建态,对应于刚刚创建 的进程,操作系统还没有把它加入到就绪队列中,通常是进程控制块已经创建但还 没有加载到内存中的新进程。
►同样,进程从系统中退出时,也增加一种有用的状态,进程被终止直到释放PCB所 处的状态,我们称为退出态。
2.1.3 进程的状态模型
五状态模型中的状态转换:
►(1)空→新建:创建一个程序的新进程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
七、 内核支持线程和用户级线程
线程按其实现方式可分为内核支持线程 和用户级线程两类。 和用户级线程两类。在学习时应了解以下两 个方面的内容: 个方面的内容: 什么是内核支持线程。 (1) 什么是内核支持线程。内核支持线程 被保存在核心空间中, 的 TCB 被保存在核心空间中,它的运行需获 得内核的支持。 得内核的支持。 什么是用户级线程。 (2) 什么是用户级线程。用户级线程是在 用户空间实现的。而用LWP将用户级线程和 用户空间实现的。而用 将用户级线程和 核心支持线程结合起来( 核心支持线程结合起来(即内核控制的用户 线程), ),此时它便具有了内核支持线程的所 线程),此时它便具有了内核支持线程的所 有属性。 有属性。
信号量的物理意义。 (2) 信号量的物理意义。一个信号量 S通常对应 通常对应 于一类临界资源,在学习时, 于一类临界资源,在学习时,读者必须理解 S.value的值在物理上有什么特殊的含义,而每 的值在物理上有什么特殊的含义, 的值在物理上有什么特殊的含义 操作又分别意味着什么, 次wait和signal操作又分别意味着什么,故必须 和 操作又分别意味着什么 分别对S.value进行什么操作。 进行什么操作。 分别对 进行什么操作 用信号量实现互斥。 (3) 用信号量实现互斥。为了实现进程对临界资 源的互斥访问, 源的互斥访问,需为每类临界资源设置一初值为 1的互斥信号量 的互斥信号量mutex。在学习时,应清楚在进 的互斥信号量 。在学习时, 入临界区前或退出临界区后应对mutex分别执行 入临界区前或退出临界区后应对 分别执行 什么操作,为什么对mutex的wait和signal操作 什么操作,为什么对 的 和 操作 必须成对出现,如少了其中的wait操作或 操作或signal 必须成对出现,如少了其中的 操作或 操作,会对互斥算法产生什么样的影响。 操作,会对互斥算法产生什么样的影响。
用信号量实现前趋关系。 (4) 用信号量实现前趋关系。为实 现前趋关系 Pi→Pj,可为它们设置一 , 个初值为0的信号量 的信号量S。在学习时, 个初值为 的信号量 。在学习时,应 清楚对S的 操作和signal操作应分 清楚对 的wait操作和 操作和 操作应分 别安排在什么位置, 别安排在什么位置,同时必须注意 wait(S)操作和 操作和signal(S)操作也必须成 操作和 操作也必须成 对出现。 对出现。
四、 经典进程的同步问题
我们以生产者-消费者为例,来说明 学习此重点问题时应了解和掌握什么。 (1) 该问题用于解决什么问题。生产者- 消费者问题是用于解决一群生产者和消费 者之间的进程互斥和进程同步问题。在学 临界资源, 习时首先应了解哪些资源属于临界资源 临界资源 并为它们设置了哪些信号量,信号量的初 值应如何设置;其次,应了解哪些地方需 要同步,并需为它们设置哪些信号量,信 号量的初值又应如何设置等。
三、 信号量机制及其应用
信号量机制是一种卓有成效的进程同步机制, 信号量机制是一种卓有成效的进程同步机制, 它已被广泛地应用于各种类型的 OS中。因此, 中 因此, 在学习时, 在学习时,必须对下述几个与信号量有关的内容 有较深刻的理解和掌握: 有较深刻的理解和掌握: (1) 信号量的含义。信号量是一个用来实 信号量的含义。 现同步的整型或记录型变量,除了初始化外, 现同步的整型或记录型变量,除了初始化外,对 这两种原子操作。 它只能执行 wait和signal这两种原子操作。在学 和 这两种原子操作 习时,应了解对信号量的wait和signal操作分别 习时,应了解对信号量的 和 操作分别 是如何实现的,整型信号量存在着什么不足之处, 是如何实现的,整型信号量存在着什么不足之处, 记录型信号量是如何解决整型信号量的不足的。 记录型信号量是如何解决整型信号量的不足的。
消息传递通信机制有哪几种实现方式。 (2) 消息传递通信机制有哪几种实现方式。消息 传递通信机制有直接通信和间接通信两种实现方 在学习时应注意比较它们在原语的提供、 式,在学习时应注意比较它们在原语的提供、通 信链路的建立、通信的实时性等方面的异同。 信链路的建立、通信的实时性等方面的异同。 如何协调发送进程和接收进程。 (3) 如何协调发送进程和接收进程。为了使诸进 程问题能协调地进行通信,必须对进程通信地收、 程问题能协调地进行通信,必须对进程通信地收、 发双方进行进程同步, 发双方进行进程同步,在学习时应了解常用同步 方式有哪些,它们分别适用于何种场合。 方式有哪些,它们分别适用于何种场合。 消息缓冲队列通信机制。 (4) 消息缓冲队列通信机制。消息队列通信机制 是一种常用的直接通信方式,在学习时应较好地 是一种常用的直接通信方式, 理解它是如何在诸进程间实现互斥和同步地, 理解它是如何在诸进程间实现互斥和同步地,其 发送和接收过程又是如何完成的。 发送和接收过程又是如何完成的。
二、 进程同步的基本概念
中的一个重要概念, 进程同步既是 OS中的一个重要概念, 中的一个重要概念 又是保证系统中诸进程间能协调运行的关 故应对它有较深入的理解, 键,故应对它有较深入的理解,并能熟练 地运用。为此, 地运用。为此,应对下述与进程同步有关 的几个基本概念有较好的理解和掌握: 的几个基本概念有较好的理解和掌握: (1) 临界资源 :临界资源是指一次仅允许 临界资源是指一次仅允许 一个进程访问的资源。在学习时,应了解 一个进程访问的资源。在学习时, 这种资源应采取什么样的共享方式。 这种资源应采取什么样的共享方式。
进程具有哪些基本特征。进程具有动态性、 (2) 进程具有哪些基本特征。进程具有动态性、 并发性、独立性、异步性和结构特征。 并发性、独立性、异步性和结构特征。在学习时 应较好地理解每个特征的含义和形成原因, 应较好地理解每个特征的含义和形成原因,并且 要特别注意比较进程和程序这两个概念的异同之 处。 进程有哪些基本状态。进程具有就绪、 (3) 进程有哪些基本状态。进程具有就绪、执行 和阻塞三种基本状态。 和阻塞三种基本状态。在学习时必须了解在一个 进程的生命周期中,它是如何随着自身的执行和 进程的生命周期中, 外界条件的变化不断地在各种状态之间进行转换 的。 进程控制块。为了描述和控制进程, (4) 进程控制块。为了描述和控制进程, OS必 必 须为每个进程建立一个进程控制块PCB。在学习 须为每个进程建立一个进程控制块 。 时应了解PCB具有哪些作用,为此,在PCB中必 具有哪些作用, 时应了解 具有哪些作用 为此, 中必 须包含哪些内容。 须包含哪些内容。
六、 线程的基本概念
线程是 20 世纪 80 年代中期在操作系统领域 出现的一个非常重要的机制和技术, 出现的一个非常重要的机制和技术,它能有效地 提高系统的性能。目前,不仅在操作系统中, 提高系统的性能。目前,不仅在操作系统中,而 且在数据库管理系统和其他应用软件中,都普遍 且在数据库管理系统和其他应用软件中, 引入了线程的概念。 引入了线程的概念。故在学习时应对下述几个问 题有较好的理解: 题有较好的理解: 为什么要引入线程。在学习时, (1) 为什么要引入线程。在学习时,读者 必须清晰地认识到, 必须清晰地认识到,为什么进程的并发执行需要 付出较大的时空开销, 付出较大的时空开销,这对系统的并发程度又将 产生什么样的影响, 产生什么样的影响,而线程机制是如何解决上述 问题的,它带来了哪些好处。 问题的,它带来了哪些好处。
五、 消息传递通信机制
无论是单机系统、多机系统,还是计算 机网络中,消息传递机制都是一种使用十 分广泛的进程通信机制,故读者必须了解 以下几个问题: (1) 什么是消息传递通信机制。这是指 以格式化的消息为进程间数据交换单位的 进程通信方式,在学习时应了解通常在一 个消息中应包含哪几方面的内容,定长格 式的消息和变长格式的消息分别具有什么 优缺点。
p,v操作 可以这样理解: , 操作
临界区门前有棵树 用来挂红灯 进程想进CPU门 先得上树取盏灯(调用一次P) 取下一个去敲门(S=S-1) 如果树上没有灯取(S<=0) 树说欠你一盏灯(S为负时) 没辙只好外边排队等(WAIT(S)) 得灯进程续运行,运行完了要出门(调用一次V) 马上还回一盏灯(S=S+1) 若有进程在催债(S<=0) 放个进去事完成(Release(S))
线程具有哪些特征。 (2) 线程具有哪些特征。线程实体具有轻 可独立运行、 型、可独立运行、可共享其所隶属的进程 所拥有的资源等特征。在学习时, 所拥有的资源等特征。在学习时,应了解 线程自己为什么还必须拥有少量的私有资 并注意在并发性、调度性、 源,并注意在并发性、调度性、拥有资源 和系统开销等方面对多线程 OS 中的线程 和进程进行比较。 和进程进行比较。 如何创建和终止线程。 (3) 如何创建和终止线程。在学习时应了 解应用程序是如何创建线程和终止线程的, 解应用程序是如何创建线程和终止线程的, 还应注意比较线程的创建和终止与传统的 进程的创建和终止有什么异同之处。 进程的创建和终止有什么异同之处。
第二章进程管理复习总结
本章的学习目的是使学生建立 起进程的概念。进程是 OS 中最重 要的基本概念,本章是全书中最重 本章是全书中最重 要的一章。读者应对以下几个重点、 要的一章 难点问题深入的学习,切实掌握好 进程和进程同步的基本概念。
一、 进程的基本概念
中的一个重要概念, 进程既是 OS 中的一个重要概念,又是系统进 行资源分配和独立运行的基本单位。 行资源分配和独立运行的基本单位。学习 OS ,首 先必须理解和掌握好进程的概念,为此, 先必须理解和掌握好进程的概念,为此,读者应认 真学习和掌握下述几个方面的内容: 真学习和掌握下述几个方面的内容: (1) 为什么要引入进程。引入进程是为了使内存中 为什么要引入进程。 的多道程序能够正确地并发执行。 的多道程序能够正确地并发执行。在学习时应清楚 地理解为什么程序不能与其他程序并发执行, 地理解为什么程序不能与其他程序并发执行,而由 PCB、程序段和数据段三部分组成的进程实体却能 、 与其他进程一起并发执行。 与其他进程一起 (2) 如何实现进程互斥。为实现对缓冲池 的互斥访问, 的互斥访问,应为它设置一互斥信号量 mutex ,读者应在生产者进程和消费者进 程中都能找到成对的用于实现互斥的 wait(mutex) 和 signal(mutex) 操作。 操作。 如何实现进程同步。为实现进程同步, (3) 如何实现进程同步。为实现进程同步, 应为缓冲池设置表示缓冲区空和满的 empty 和 full 信号量,读者应在相互合作 信号量, 的进程中找到成对的 wait(empty) 和 signal(empty) 操作,成对的 wait(full) 和 操作, signal(full) 操作。 操作。