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)空→新建:创建一个程序的新进程。
操作系统2 进程管理
进程的挂起状态(从内存交换到外存) 进程的激活状态(从外存交换到内存)
新建
内存活动
空间
运行
时间 片到
调度
终止
等待事件 发生如 等待I/O
完成
接纳 就绪 事件发生 等待
如I/O完成
接纳
挂起
激活(内存有空间)挂起
激活(内存有空间)
外存 就绪
事件发生 如I/O完成
外存 等待
外存活动 空间
具有挂起状态的进程状态转换图
进程控制块的组织:
2.2.3 进程的阻塞与唤醒
1. 引起进程阻塞和唤醒的事件
1) 请求系统服务 2) 启动某种操作 3) 4)
2. 进程阻塞过程
进程调用阻塞原语block(), 把自己阻塞。它是进程自身的 一种主动行为。
然后,PCB中的状态由“执行”改为阻塞,并将PCB插 入阻塞队列。
最后,转调度程序将处理机分配给另一就绪进程,并进 行切换.
2)把该进程的PCB复制到某指定的内存区域。 3)若被挂起的进程正在执行,则转向调度程序重新调度。
2. 进程的激活过程
系统用原语active( )将指定进程激活。
执行过程是:
1)先将进程从外存调入内存,静止就绪改为活动就绪; 静止阻塞改为活动阻塞。
2)假如采用的是抢占调度策略,则每当有新进程进入 就绪队列时,应检查是否要进行重新调度,即由调度程 序将被激活进程与当前进程进行优先级的比较,如果被 激活进程的优先级更低,就不必重新调度;否则,立即 剥夺当前进程的运行,把处理机分配给刚被激活的进程。
整个系统效率得 以提高。
下一 步
吞吐率:1/8Δt = 0.125道程序/Δt
A
0 Δt 1
操作系统第二章知识点总结
操作系统第二章知识点总结操作系统是计算机系统中最核心的部分之一,它负责管理计算机的资源,并提供用户与计算机硬件之间的接口。
操作系统的设计和实现涉及到多个方面的知识,包括进程管理、内存管理、文件系统、输入输出等。
本文将针对操作系统第二章的知识点进行总结,主要涵盖了进程管理和线程管理、进程同步、死锁以及内存管理等方面的内容。
一、进程管理和线程管理1.1 进程的概念进程是指程序执行时的一次动态过程,是程序在执行过程中的实例。
进程是操作系统中的基本执行单元,每个进程都有自己的地址空间、代码、数据、环境变量等信息。
1.2 进程的状态操作系统中的进程通常具有多种状态,包括运行态、就绪态和阻塞态。
进程在不同的状态之间切换,这些状态的切换由操作系统的调度器完成。
1.3 进程的创建和删除进程的创建是指操作系统根据用户请求或者其他进程的要求,在内存中分配资源以及初始化进程控制块等信息。
进程的删除则是指进程执行完毕或者出现错误时,操作系统释放进程占用的资源,并将进程控制块从系统中移除。
1.4 进程的调度进程的调度是指操作系统根据一定的调度算法将就绪态的进程分配给处理器进行执行。
调度算法可以采用先来先服务、短作业优先、轮转等多种方式。
1.5 线程的概念线程是进程的一部分,是进程中的一个实体,是系统调度的基本单位。
一个进程可以包含多个线程,线程共享进程的资源。
1.6 线程的创建和删除线程的创建包括为线程分配资源、初始化线程控制块等操作。
线程的删除则是将线程控制块从系统中移除,并释放线程占用的资源。
1.7 线程的调度线程的调度是操作系统根据一定的调度算法将就绪态的线程分配给处理器进行执行。
线程调度与进程调度有一些不同之处,例如可以采用抢占式调度的方式。
二、进程同步2.1 进程同步的概念进程同步是指多个进程或者线程在对共享资源进行访问时,保证它们按照某种特定的顺序执行,避免发生竞争条件和数据不一致等问题。
2.2 临界区问题临界区是指一段代码,在同一时刻只能有一个进程或者线程执行。
关于进程管理的归纳总结
关于进程管理的归纳总结进程管理是计算机系统中的一个重要概念,它负责控制和调度系统中运行的各个进程,保证资源的合理分配和进程的正常运行。
本文将对进程管理的相关知识进行归纳总结,分为以下几个方面进行论述。
一、进程的定义与特点进程是计算机系统中正在运行的程序的实例,它是一个动态的实体,具有以下几个主要特点:1. 独立性:每个进程都是独立运行的,它拥有自己的地址空间和资源。
2. 动态性:进程的创建、运行和终止都是动态发生的。
3. 并发性:多个进程可以同时运行,共享系统资源。
4. 随机性:在多进程环境下,进程的执行顺序和时间是不确定的。
二、进程的状态与转换进程在不同的运行阶段会经历不同的状态,主要包括:1. 创建态(New):新创建的进程处于此状态。
2. 就绪态(Ready):进程具备运行条件,等待系统调度执行。
3. 运行态(Running):进程正在执行指令。
4. 阻塞态(Blocked):进程由于某些原因暂时无法执行,等待某个事件的发生。
5. 终止态(Terminated):进程执行完毕或被终止,进入此状态。
进程状态之间的转换如下:1. 创建态→ 就绪态:进程被创建并初始化完成。
2. 就绪态→ 运行态:进程被调度执行。
3. 运行态→ 就绪态:进程执行完毕时间片或被阻塞。
4. 运行态→ 阻塞态:进程等待某个事件的完成。
5. 阻塞态→ 就绪态:某个事件完成,进程可以继续执行。
三、进程调度算法为了合理调度进程,提高系统性能,需要采用不同的调度算法。
常见的调度算法有以下几种:1. 先来先服务调度算法(FCFS):按照进程到达的先后顺序进行调度。
2. 短作业优先调度算法(SJF):按照进程执行时间的短长进行调度。
3. 优先级调度算法(Priority):为每个进程分配一个优先级,按照优先级进行调度。
4. 时间片轮转调度算法(Round Robin):每个进程被分配一个时间片,按照时间片轮流进行调度。
四、进程同步与互斥在多进程环境下,为了避免进程间的冲突和资源竞争,需要进行进程同步和互斥操作。
操作系统教程第2章复习
S3
(a) 程序的顺序执行
(b) 三条语句的顺序执行
图 2-1
程序的顺序执行
第二章 进 程 管 理 2. 程序顺序执行时的特征 (1) 顺序性:处理机的操作严格按照程序所规定的顺序 执行,即每一操作必须在上一个操作结束之后开始。 (2) 封闭性:程序是在封闭的环境下执行的,即程序运 行时独占全机资源,资源的状态(除初始状态外)只有本程序 才能改变它。程序一旦开始执行,其执行结果不受外界因素 影响。 (3) 可再现性:只要程序执行时的环境和初始条件相同, 当程序重复执行时,不论它是从头到尾不停顿地执行,还是 “停停走走”地执行,都将获得相同的结果。 程序顺序执行时的特性,为程序员检测和校正程序的错 误带来了很大的方便。
第二章 进 程 管 理
2.1.2.前趋图
• 为了描述一个程序的各部分(程序段 或语句)间的依赖关系,或者是一个 大的计算的各个子任务间的因果关 系,我们常常采用前趋图方式。
图2-2 九个结点的前趋图
第二章 进 程 管 理
前趋图(续)
• P1为初始结点,P9为终止结点每个结点 还具有一个重量。 • 该前趋图,存在下面的前趋关系: P1→P2 , P1→P3 , P1→P4 , P2→P5 , P3→P5 , P4→P6 , P4→P7 , P5→P8 , P6→P8,P7→P9,P8→P9;或表示为: • P ={P1,P2,P3,P4,P5,P6,P7,P8,P9} ={(P1,P2),(P1,P3),(P1,P4), (P2,P5),(P3,P5),(P4,P6), (P4,P7),(P5,P8),(P6,P8), (P7,P9),(P8,P9)}
第二章 进 程 管 理 或者说,OS是根据PCB来对并发执行的进程进行控制和 管理的。例如,当OS要调度某进程执行时,要从该进程的 PCB中查出其现行状态及优先级;在调度到某进程后,要根据 其PCB中所保存的处理机状态信息,设置该进程恢复运行的现 场,并根据其PCB中的程序和数据的内存始址,找到其程序和 数据; 进程在执行过程中,当需要和与之合作的进程实现同 步、通信或访问文件时,也都需要访问PCB;当进程由于某种 原因而暂停执行时,又须将其断点的处理机环境保存在PCB中。 可见,在进程的整个生命期中,系统总是通过PCB对进程进行 控制的,亦即,系统是根据进程的PCB而不是任何别的什么而 感知到该进程的存在的。所以说,PCB是进程存在的惟一标志。
计算机操作系统慕课版第二章知识点
计算机操作系统慕课版第二章知识点一、知识概述《操作系统进程管理》①基本定义:说实话,进程就像正在干活的小工人。
它是计算机里正在运行的程序的实例,是系统进行资源分配和调度的基本单位。
好比一家工厂里,不同的任务(程序)分配给不同的工人(进程)去做。
②重要程度:在操作系统里那可是相当重要。
一个系统可以同时运行好多程序,靠的就是进程管理。
要是没了它,整个系统就混乱了,就像工厂没有合理安排工人干活一样。
③前置知识:得对程序是什么有点概念,还得大概了解一下计算机的基本组成,因为进程是在计算机里运行的嘛。
就像要知道工厂的大概布局,才能更好地理解工人干活的流程。
④应用价值:比如说在多任务环境下,像我们一边听歌一边浏览网页,就是进程管理在让两个任务同时进行。
在服务器上更是如此,多个用户同时请求服务,进程管理就负责分配资源让每个请求都得到处理。
二、知识体系①知识图谱:进程管理就像是操作系统这个大框架中的支柱之一。
它和内存管理、文件管理等其他模块共同构成整个操作系统。
②关联知识:和内存管理关系密切,因为进程运行需要内存空间。
和CPU调度也有关,就像工人要在特定的工作地方(CPU)工作,得有个调度机制。
③重难点分析:- 掌握难度:对于初学者来说有点难。
最大的难点是理解进程的状态转换,类似工人的不同工作状态。
- 关键点:理解进程的并发执行以及进程间的通信方式。
④考点分析:- 在考试中的重要性:非常重要,经常出现。
- 考查方式:可能会让画进程状态转换图,或者分析进程间通信的案例。
三、详细讲解【理论概念类】①概念辨析:进程是有自己的代码、数据和执行上下文的实体。
代码就是工人做活的“手艺”,数据就是工作要用的材料,执行上下文像是在特定时刻工人的工作状态(比如干到哪一步了)。
②特征分析:- 动态性:进程在执行过程中状态会变,就像工人今天状态好能多干,明天状态差就干得少些。
- 独立性:每个进程好像一个独立的小世界,都有自己的资源和状态。
02 第2章 进程管理
▪ PCB是进程存在的唯一标志。
2.1 进程概念
2.1.1 程序并发执行时的特征 2.1.2 进程概念的引入 2.1.3 进程的状态及其转换 2.1.4 进程的组成 2.1.5 进程队列
2.1.5 进程队列
▪ 1. 线性方式 ▪ 2. 链接方式 ▪ 3. 索引方式
▪ 2.2.1 进程管理 ▪ 2.2.2 Linux进程管理 ▪ 2.2.3 对进程的操作命令 ▪ 2.2.4 有关进程控制的系统调用
2.2.2 Linux进程管理
▪ 1. Linux进程状态 ▪ 2. 进程的模式和类型 ▪ 3. Linux进程结构
1、Linux进程状态
有5种状态: ▪ 运行态:进程正在运行或准备运行; ▪ 可中断等待态:“浅度睡眠”,进程等待一个事件的
二、进程的状态和组成
2.1 进程概念
2.1.1 程序并发执行时的特征 2.1.2 进程概念的引入 2.1.3 进程的状态及其转换 2.1.4 进程的组成 2.1.5 进程队列
2.1 进程的组成
一、进程的组成 二、进程控制块的组成 三、进程控制块的作用
一、进程的组成 ▪ 由程序、数据集合、栈和
▪ 现场保护区:当对应进程由于某原因放弃使用CPU时, 需要将它的一部分与运行环境有关的信息保存起来, 以便在重新获得CPU后能恢复正常运行。通常被保护 的信息有:程序计数器、程序状态字、各工作寄存器 的内容等。
▪ 资源需求、分配和控制信息:进程所需要或占有的I/O 设备,磁盘空间和数据区等。
▪ 进程实体信息:指出该进程的程序和数据的存储情况, 在内存或外存的地址、大小等。
发生或某种系统资源,可被信号或中断唤醒。 ▪ 不可中断等待态: “深度睡眠”,在等待队列中,
进程管理知识点总结
进程管理知识点总结1. 进程的概念进程是指一个具有独立功能的程序在一个特定数据集合上的一次执行。
每个进程都有自己的程序计数器(PC)、寄存器、堆栈和数据段。
进程是计算机系统中执行的基本单位,每个进程都具有独立的地址空间和资源集,是操作系统中进行资源分配和调度的基本单位。
进程的特点:1)独立性: 每个进程都是独立的,具有自己的地址空间和资源集,互相之间不会干扰。
2)并发性: 多个进程可以同时执行,增加了系统的资源利用率。
3)异步性: 进程的执行是异步的,不同的进程之间执行的时间是不确定的,所以需要进行同步操作。
4)动态性: 进程的创建和销毁是动态的,系统的运行状态是不断变化的。
2. 进程的状态转换进程在运行过程中会经历不同的状态,常见的进程状态包括新建状态、就绪状态、运行状态、阻塞状态和终止状态。
进程的状态转换是指进程在不同状态之间切换的过程。
(1)新建状态: 进程被创建后进入新建状态,此时进程正在被初始化,分配必要的资源。
(2)就绪状态: 进程已经准备好运行,但是还没有被分配到CPU资源,等待调度执行。
(3)运行状态: 进程正在被CPU执行,处于运行状态。
(4)阻塞状态: 进程由于某些原因无法执行,比如等待输入输出操作完成或者等待某一事件发生。
(5)终止状态: 进程执行完成,或者由于出现错误而终止。
进程在不同状态之间的转换主要取决于进程的执行和外部事件的发生。
3. 进程调度进程调度是操作系统中的一个核心问题,它涉及到如何将系统资源分配给各个进程,以实现系统的高效运行。
常见的进程调度算法包括先来先服务(FCFS)、最短作业优先(SJF)、优先级调度、轮转法等。
(1)先来先服务(FCFS): 按照进程到达的顺序进行调度,先到达的进程先执行。
(2)最短作业优先(SJF): 优先执行执行时间最短的进程,可以最大限度地减少平均等待时间。
(3)优先级调度: 每个进程都有一个优先级,按照优先级高低进行调度,优先级高的进程先执行。
操作系统知识点总结
第一章操作系统引论主要解决的是对操作系统的认识问题。
在学习完后面各章后还应该再回过头来认真品味本章的内容,重点是对操作系统原理的整体认识和掌握。
操作系统引论这部分内容不会出现大题。
一般是以基本原理和概念的形式为主,属于识记形式的题目。
重点是操作系统的定义、操作系统的特征和主要功能等。
l 计算机系统把资源管理和控制程序执行的功能集中组成一种软件,称为操作系统,是系统软件l 操作系统的两个设计目标:1、使计算机系统使用方便2、使计算机系统能高效地工作(扩充硬件的功能,使硬件的功能发挥得更好;使用户合理共享资源,防止相互干扰;以文件形式管理软件资源,保证信息的安全和快速存取。
P1l 设置操作系统的作用1,用户观点:操作系统是裸机与用户的一个界面。
2,系统观点:操作系统是计算机系统资源的一个“管理员”。
l 操作系统的分类用户要求计算机系统进行处理的一个计算问题称为一个“作业”。
按照操作系统提供的服务,大致可以把操作系统分为:单道批处理系统;多道批处理系统,简称“多道系统”,即多个作业可同时装入主存储器进行运行的系统。
多道系统能极大提高计算机系统的效率,表现为:(1)并行工作,减少了CPU的空闲时间,提高了CPU的利用率。
(2)合理搭配多道使用不同资源的作业,可充分利用计算机系统的资源。
(3)直接在高速的磁盘上存取信息,缩短了作业执行时间,使单位时间内的处理能力得到提高。
(4)作业成批输入、自动选择和控制作业执行减少了人工操作时间和作业交接时间,提高了系统的吞吐率;分时系统,具有同时性、独立性、及时性、交互性。
批处理兼分时系统中,由分时系统控制的作业称为“前台”作业,由批处理控制的作业称为“后台”作业。
实时系统:在严格时间规定内处理必须结束;分类:(1)实时控制(2)实时信息处理网络系统:可实现资源共享的,为计算机网络配置的的操作系统我们使用的windows 是网络式系统;分布式系统可协调多个计算机以完成一个共同任务的;l 发展MS-DOS:单用户单任务Windows XP:单用户多任务UNIX:多用户多任务l 操作系统的特性1,并发性2,共享性3,不确定性l 掌握操作系统的基本功能:处理器管理、存储器管理、文件管理、设备管理、文件管理。
第二章__进程管理解析
2.1.4 进程的特征与状态
1、进程的特征与定义
(1) 进程是程序的一次执行; (2) 进程可定义为一个数据结构及能在
其上进行操作的一个程序; (3) 进程是一个程序及其数据在处理机
上顺序执行时所发生的活动。
可并发执行的程序在一个数据集合 上的运行过程。
进程一
为女儿做蛋糕 输出
做蛋糕的食谱 程序
进程是程序的一次执行
3. 并发性:
4. 独立性: 5. 异步性:
最基本特 多个征进程实体,同存在于内存中,轮流占有 处理机和各种资源,走走停停交叉运行。
进程是进行资源分配和调度运行的基本单位。
这是指进程按各自独立的、不可预知的速度 向前推进,或者说进程按异步方式运行
进程和程序的区别
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 程序并发执行
一、程序并发执行 Ii →Ci →Pi
对一个作业的输入、计算和 打印操作,必须顺序执行
C3
C4
P1
P2
P3
资源共享
Ii Ii+1 Ci Ci+1 Pi Pi+1
二、程序并发执行时的特征
间断性
失去封 应
举例:
运行速度不同,设N=n
失去
程序A:
可再现性 N:=N+1
N
1、 N:=N+1 Print(N) N:=0
2、Print(N) N:=0
N:=N+1
3、 Print(N) N:=N+1 N:=0
操作系统02 进程管理
概述
第二进章程管进理 程 管 理
进程控制的任务
对系统中所有进程从创建、存在到消亡的全过程实施有效的管理和控 制。具有创建新进程、对运行进程进行控制、撤销进程的能力。进程控制 由OS系统的内核完成,内核通过原语操作来实现。
处理机的两种状态
系统态——又称管态或内核态,使OS管理程序执行时机器所处的状态。 具有较高特权,能执行一切指令,访问所有寄存器和存储区。
第二进章程管进理 程 ቤተ መጻሕፍቲ ባይዱ 理
第二章 进程管理
2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 进程通信 2.6 线程 的基本概念 2.7 线程的实现
第二进章程管进理 程 管 理
2.1 进程的基本概念
2.1.1 前驱图的定义 2.1.2 程序的顺序执行 2.1.3 程序的并发执行 2.1.4 进程的定义与特征 2.1.5 进程控制块
❖ n++;在printf(n);和n=0;之后,则n值分别 为5,0,1.
❖ n++;在printf(n);和n=0;之间,则n值分别 为5,6,0.
第二进章程管进理 程 管 理
程序A n++;
程序B printf(n); ;
n=0;
❖ n++;在printf(n);和n=0;之前,则N值分别 为6,6,0.
٭一、程序执行有固定的时序。
I1
C1
P1
I2 C2
P2
٭二、特征: ▪ 顺序性、封闭性、可再现性
第二进章程管进理 程 管 理
2.1.3 程序的并发执行
❖ 一、多个程序的并发执行
I1
- 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) 操作。 操作。