OS-02进程,线程和作业
Windows NT操作系统上的32位SQL Server 应用
Windows NT操作系统上的32位SQL Server 应用Christopher MoffattMicrosoft Technical Resources Group摘要Microsoft® Windows NT™操作系统是建立充满活力、功能丰富的Microsoft SQL Server应用程序的一个完美的平台。
SQL Server Programmer's Toolkit for Windows NT (SQL Server 程序员Windows NT工具包)含有DB-Library™的32位(Win32™ API)版本,使得开发Windows NT操作系统上的用于Microsoft SQL Server 的DB-Library客户端程序成为可能。
这篇技术文章用于将DB-Library开发人员引入到Microsoft Windows NT平台上,讨论的问题包括将已有的Windows™ 3.x和OS/2®操作系统平台上的DB-Library应用程序转换到Windows NT操作系统,并对DB-Library应用程序如何利用Win32应用程序编程接口(API,application programming interface)的一些方法进行了概要说明。
本篇技术文章假定你已熟悉DB-Library API、C语言编程以及下列内容:· Microsoft SQL Server Programmer's Reference for C· Microsoft Win32 API Programmer's Reference, 第1、2卷· Converting OS/2 Applications to Windows建立基于Win32的DB-Library应用程序下面的章节描述了有关使用Microsoft® Win32™应用程序编程接口(API,Application Programming Interface)建立DB-Library™应用程序的应用。
作业、进程、线程
作业、进程、线程1. 基本概念作业:⽤户在⼀次解决或是⼀个事务处理过程中要求计算机系统所做的⼯作的集合,它包括⽤户程序、所需要的数据集控制命令等。
作业是由⼀系列有序的步骤组成的。
作业的完成要经过作业提交、作业收容、作业执⾏和作业完成4个阶段。
在执⾏⼀个作业可能会运⾏多个不同的进程。
进程:程序在⼀个数据集上的⼀次运⾏过程。
是操作系统资源分配的基本单位。
在Windows下,进程⼜被细化为线程,也就是⼀个进程下有多个能独⽴运⾏的更⼩的单位. 进程还拥有⼀个私有的虚拟地址空间,该空间仅能被它所包含的线程访问。
线程:是进程中的⼀个实体,是被操作系统独⽴调度和执⾏的基本单位。
⼀个进程包含⼀个或多个线程。
线程只能归属于⼀个进程并且它只能访问该进程所拥有的资源。
当操作系统创建⼀个进程后,该进程会⾃动申请⼀个名为主线程或⾸要线程的线程。
主线程将执⾏运⾏时宿主, ⽽运⾏时宿主会负责载⼊CLR。
简单总结:作业是向计算机提交任务的任务实体,⽽进程是执⾏实体,是资源分配的基本单位,线程是处理机调度的基本单位。
2. 进程2.1 进程的概念主要有两点:第⼀,进程是⼀个实体。
每⼀个进程都有它⾃⼰的地址空间,⼀般情况下,包括⽂本区域(text region)、数据区域(data region)和堆栈(stack region)。
⽂本区域存储处理器执⾏的代码;数据区域存储变量和进程执⾏期间使⽤的动态分配的内存;堆栈区域存储着活动过程调⽤的指令和本地变量。
第⼆,进程是⼀个“执⾏中的程序”。
程序是⼀个没有⽣命的实体,只有处理器赋予程序⽣命时,它才能成为⼀个活动的实体,我们称其为进程。
2.2 进程特征 动态性:进程的实质是程序在多道程序系统中的⼀次执⾏过程,进程是动态产⽣,动态消亡的。
并发性:任何进程都可以同其他进程⼀起并发执⾏ 独⽴性:进程是⼀个能独⽴运⾏的基本单位,同时也是系统分配资源和调度的独⽴单位; 异步性:由于进程间的相互制约,使进程具有执⾏的间断性,即进程按各⾃独⽴的、不可预知的速度向前推进 结构特征:进程由程序、数据和进程控制块三部分组成。
操作系统 第二章作业本(含答案)
第二章作业第一次作业:1.进程有哪三种基本状态?进程在三种基本状态之间转换的典型原因是什么?答:三种基本状态:就绪状态、执行状态、阻塞状态。
(1)就绪状态→执行状态:进程分配到CPU资源(进程调度);(2)执行状态→就绪状态:时间片用完(3)执行状态→阻塞状态:I/O请求(4)阻塞状态→就绪状态:I/O完成2.在Linux系统中运行下面程序,最多可产生多少个进程?画出进程家族树。
main(){fork();fork();fork();}答:最多可以产生7个进程。
其家族树为:3.试从动态性、并发性和独立性上比较进程和程序。
答:1)动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,并存放于某种介质上,其本身并不具有运动的含义,因而是静态的;2)并发性是进程的重要特征,同时也是OS的重要特征。
引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身(没有建立PCB)是不能并发执行的;3)独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。
凡未建立PCB的程序,都不能作为一个独立的单位来运行。
4.分析下列代码的功能:答:sleep_on实现进程的睡眠过程;wake_up实现进程的唤醒过程。
第二次作业:1.同步机制应该遵循哪些基本准则?你认为整型信号量机制遵循了同步机制的哪些基本准则?答:同步机制应遵循四个基本准则:a. 空闲让进:当无进程处于临界区时,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。
b. 忙则等待:当已有进程进入临界区时,其它试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。
c. 有限等待:对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。
d. 让权等待:当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”状态。
Linux操作系统作业-参考答案
Linux操作系统作业-参考答案1. 简述操作系统的定义,并指出操作系统的功能主要有哪些答:操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
操作系统的主要功能:(1)硬件控制;(2)资源管理;(3)提供用户接口;(4)提供输入输出处理;(5)系统监控;(6)实现计算机间的通信。
注:不局限于以上几点。
2. Linux操作系统何时出现由谁开发出来并列出Linux操作系统的主要特点。
答:1991年,由芬兰赫尔辛基大学学生Linus Torvalds开发出来。
Linux操作系统主要特点有:(1)与UNIX兼容;(2)自由软件和源码公开;(3)性能高和安全性强;(4)便于定制和再开发;(5)互操作性高;(6)全面的多任务和真正的32位操作系统。
注:不局限于以上6个。
、3. 解释Linux操作系统核心版本和发行版本的含义。
Linux 2.4.1版和版中,哪一个版本更稳定为什么答:核心版本主要是Linux的内核。
发型版本是各个公司推出的版本。
版本更稳定。
版本是在是测试版本,不一定稳定。
(具体建p8核心版本的版本约定)4. Linux操作系统的超级用户是什么超级用户登陆shell默认的提示符是什么红旗Linux默认的shell类型是哪一种答:Linux操作系统的超级用户是root,超级用户登录默认提示符是“#”,红旗Linux 默认的shell类型是bash。
1. 简述Linux命令的一般格式。
答:Linux命令的一般格式是:命令+[选项]+[参数],其中选项和参数是可选项,不同命令有区别。
有些命令是不带参数,有些命令必须带参数。
2. 请说明以下命令的功能:date,cd,cp,pwd,rm,mkdir,echo,who,ls,cat,more,man答:date命令:显示当天日期;cd命令:切换目录;cp命令:复制文件;pwd命令:显示当前用户工作目录;rm命令:删除文件;mkdir命令:建立目录;echo命令:将参数表示的内容显示在屏幕上;who命令:显示哪些用户在使用系统;ls命令:列出某个目录下的文件;cat命令:显示参数表示文件的内容;more命令:显示文件内容;man命令:帮助命令,可以查看所有Linux命令的帮助信息。
操作系统课程设计
操作系统课程设计一、课程目标知识目标:1. 理解操作系统的基本概念、功能、类型和结构,掌握操作系统的五大核心功能模块(处理器管理、存储器管理、设备管理、文件管理、用户接口);2. 掌握操作系统的发展历程、主要操作系统(如Windows、Linux、Mac OS)的特点及应用场景;3. 了解操作系统的设计与实现原理,包括进程管理、内存管理、设备管理、文件系统等关键技术;4. 学会使用操作系统提供的命令行或图形界面进行基本的系统操作与维护。
技能目标:1. 培养学生对操作系统的实际操作能力,能够熟练使用至少一种操作系统进行日常管理与维护;2. 培养学生运用操作系统原理解决实际问题的能力,如分析系统性能、诊断故障、优化配置等;3. 提高学生的编程能力,使其能够编写简单的系统程序或脚本,实现特定功能。
情感态度价值观目标:1. 培养学生对操作系统的兴趣,激发学生学习计算机科学的热情;2. 培养学生的团队合作意识,使其在讨论、分析、解决问题的过程中学会倾听、交流、协作;3. 培养学生具备良好的信息素养,关注操作系统领域的最新发展,增强信息安全意识。
课程性质:本课程为计算机科学与技术专业(或相关领域)的必修课,具有较强的理论性和实践性。
学生特点:学生已具备一定的计算机基础知识,具有较强的学习兴趣和动手能力,但可能对操作系统原理的理解和应用尚有不足。
教学要求:注重理论与实践相结合,以案例驱动、任务导向的方式进行教学,注重培养学生的实际操作能力和问题解决能力。
通过本课程的学习,使学生能够掌握操作系统的基本原理,提高实际应用水平,为后续专业课程学习打下坚实基础。
二、教学内容1. 操作系统概述:介绍操作系统的基本概念、功能、类型,比较不同操作系统的特点,分析操作系统的发展趋势。
教材章节:第一章 操作系统概述2. 进程与线程管理:讲解进程与线程的概念、状态与转换,进程调度算法,同步与互斥,死锁与饥饿问题。
教材章节:第二章 进程管理3. 存储管理:介绍内存分配与回收策略,虚拟内存技术,页面置换算法,内存保护机制。
OS习题和答案汇总-给学生
OS习题和答案汇总-给学⽣第⼀章课后习题:1.设计现代OS的主要⽬标是什么?答:⽅便性,有效性,可扩充性和开放性.2. OS的作⽤可表现为哪⼏个⽅⾯?答:a. OS作为⽤户与计算机硬件系统之间的接⼝(⽤户观点);b. OS作为计算机系统资源的管理者(设计者观点);c. OS作为扩充机器.(虚拟机观点)13、OS具有哪⼏⼤特征?它的最基本特征是什么?a. 并发(Concurrence)、共享(Sharing)、虚拟(Virtual)、异步性(Asynchronism)。
b. 其中最基本特征是并发和共享。
25、从资源管理的⾓度看,操作系统具有哪些功能?处理机管理、存储器管理、设备管理和⽂件管理。
补充习题:1、在计算机系统中配置操作系统的主要⽬的是(A),操作系统的主要功能是管理计算机系统中的(B),其中包括(C)管理和(D)管理,以及设备管理和⽂件管理。
这⾥的(C)管理主要是对进程进⾏管理。
A:(1)增强计算机系统的功能;(2)提⾼系统资源的利⽤率;(3)提⾼系统的运⾏速度;(4)合理地组织系统的⼯作流程,以提⾼系统吞吐量。
B:(1)程序和数据;(2)进程;(3)资源;(4)作业;(5)任务。
C、D:(1)存储器;(2)虚拟存储器;(3)运算器;(4)处理机;(5)控制器。
2、操作系统有多种类型:(1)允许多个⽤户以交互⽅式使⽤计算机的操作系统,称为(A);(2)允许多⽤户将若⼲个作业提交给计算机系统集中处理的操作系统称为(B);(3)在(C)的控制下,计算机系统能及时处理由过程控制反馈的数据,并做出响应。
A、B、C:(1)批处理操作系统;(2)分时操作系统;(3)实时操作系统;(4)微机操作系统;(5)多处理机操作系统。
3、从下⾯关于操作系统的论述中,选出⼀条正确的论述:( )(1)对批处理作业,必须提供相应的作业控制信息;(2)对于分时系统,不⼀定全部提供⼈机交互功能;(3)从响应⾓度看,分时系统与实时系统的要求相似;(4)采⽤分时操作系统的计算机系统中,⽤户可以独占计算机操作系统的⽂件系统;(5)从交互⾓度看,分时系统与实时系统相似。
OS基本内容总结
OS基本内容总结.doc操作系统(OS)基本内容总结引言操作系统(Operating System,简称OS)是计算机系统中最基本的系统软件,它管理计算机硬件资源并为用户和其他软件提供时间和空间上的服务。
本文档将对操作系统的基本内容进行总结,包括操作系统的定义、功能、类型以及主要的操作系统概念。
操作系统的定义操作系统是计算机系统中的一个系统软件,它负责管理计算机硬件资源,提供用户界面,控制程序执行,并为计算机程序提供支持。
操作系统的功能1. 进程管理进程控制:创建、撤销进程,实现进程状态的转换。
进程同步:协调进程间的合作。
进程通信:进程间信息传递。
死锁处理:避免和解决进程间的死锁问题。
2. 内存管理内存分配:为程序分配内存空间。
内存保护:确保进程间的内存互不干扰。
地址转换:实现逻辑地址到物理地址的转换。
3. 文件系统管理文件存储空间的分配和管理。
目录结构的组织和管理。
文件的读写管理和存取控制。
4. 设备管理管理各种硬件设备,如打印机、磁盘等。
实现设备分配、设备处理和设备通信。
5. 用户接口提供用户与操作系统交互的界面,如命令行界面(CLI)和图形用户界面(GUI)。
操作系统的类型1. 批处理系统早期的操作系统类型,主要用于批处理作业。
2. 分时系统允许多个用户同时使用计算机资源,实现资源共享。
3. 实时系统能够及时响应外部事件,并在严格的时间限制内完成任务。
4. 网络操作系统支持网络环境下的资源共享和通信。
5. 分布式操作系统由多个物理或逻辑上分离的计算机组成,协同工作。
6. 微内核操作系统核心功能最小化,其他功能通过模块化的方式实现。
主要的操作系统概念1. 进程与线程进程:程序的执行实例,是资源分配的基本单位。
线程:进程中的一个实体,是程序执行的基本单位。
2. 并发与并行并发:多个进程在宏观上同时运行。
并行:多个进程在多台处理器上同时运行。
3. 死锁多个进程在运行过程中因争夺资源而造成的一种僵局。
现代操作系统第四版第二章答案
现代操作系统第四版第二章答案现代操作系统第二章进程与线程习题1. 图2-2中给出了三个进程状态,在理论上,三个状态可以有六种转换,每个状态两个。
但是,图中只给出了四种转换。
有没有可能发生其他两种转换中的一个或两个A:从阻塞到运行的转换是可以想象的。
假设某个进程在I/O上阻塞,而且I/O结束,如果此时CPU空闲,该进程就可以从阻塞态直接转到运行态。
而另外一种转换(从阻塞态到就绪态)是不可能的。
一个就绪进程是不可能做任何会产生阻塞的I/O或者别的什么事情。
只有运行的进程才能被阻塞。
2.假设要设计一种先进的计算机体系结构,它使用硬件而不是中断来完成进程切换。
CPU需要哪些信息请描述用硬件完成进程切换的工作过程。
A:应该有一个寄存器包含当前进程表项的指针。
当I/O结束时,CPU将把当前的机器状态存入到当前进程表项中。
然后,将转到中断设备的中断向量,读取另一个过程表项的指针(服务例程),然后,就可以启动这个进程了。
3.当代计算机中,为什么中断处理程序至少有一部分是用汇编语言编写的A:通常,高级语言不允许访问CPU硬件,而这种访问是必需的。
例如,中断处理程序可能需要禁用和启用某个特定设备的中断服务,或者处理进程堆栈区的数据。
另外,中断服务例程需要尽快地执行。
(补充)主要是出于效率方面的考量。
中断处理程序需要在尽量短的时间内完成所需的必要处理,尽量减少对线程/程序流造成的影响,因此大部分情况下用汇编直接编写,跳过了通用编译过程中冗余的适配部分。
4.中断或系统调用把控制转给操作系统时,为什么通常会用到与被中断进程的栈分离的内核栈A:内核使用单独的堆栈有若干的原因。
其中两个原因如下:首先,不希望操作系统崩溃,由于某些用户程序不允许足够的堆栈空间。
第二,如果内核将数据保留在用户空间,然后从系统调用返回,那么恶意的用户可能使用这些数据找出某些关于其它进程的信息。
5.一个计算机系统的内存有足够的空间容纳5个程序。
这些程序有一半的时间处于等待I/O的空闲状态。
uC_OS-II实验指导书
os02_2010
2.2.9 进程与程序的联系与差 别
进程与程序的联系
– 进程包括一个程序 – 进程存在的目的就是执行这个程序
进程与程序的差别
– 程序静态,进程动态 程序静态, – 程序可长期保存,进程有生存期 程序可长期保存, – 一个程序可对应多个进程,一个进程只能执行一 一个程序可对应多个进程,
个程序
2.3 线程与轻进程
P1:
send
P2:
sync
receive
2. 间接相互作用:发生在任何进程之间 间接相互作用:
P1
wait
P2
R
hold
2.2.8
进程控制
进程控制:指系统使用一些具有特定功 进程控制 指系统使用一些具有特定功 能的程序段来创建 创建、 能的程序段来创建、撤消进程以及完成 进程各状态间转换的一系列有效管理。 进程各状态间转换的一系列有效管理。 原语:是原子操作。 原语:是原子操作。一个操作中的所有 动作,要么全做,要么全不做, 动作,要么全做,要么全不做,不允许 中断。不可分割的操作。 中断。不可分割的操作。用于进程控制 的程序段。 的程序段。 用于进程控制的原语有:创建原语 创建原语; 用于进程控制的原语有 创建原语;撤 消原语;阻塞原语;唤醒原语等。 消原语;阻塞原语;唤醒原语
2.2 进程的引入(Cont.)
多道系统中的程序: 推进,暂停,推进,暂停,……. 推进,暂停,推进,暂停,……. 暂停:保存现场(断点,寄存器) 推进:恢复现场 暂停原因:(1) 自身原因:等待资源,启动IO (2) 剥夺CPU—给其它程序运行机会
2.2.1 进程的概念
定义:
– 可参与并发执行的程序称为进程。 – 进程是具有一定独立功能的程序关于一个数 据集合的一次运行活动。
操作系统第二章作业答案
第二章作业1.操作系统中为什么要引入进程的概念?为了实现并发进程中的合作和协调,以及保证系统的安全,操作系统在进程管理方面要做哪些工作?答:为了从变化角度动态地分析研究可以并发执行的程序,真实的反应系统的独立性、并发性、动态性和相互制约,操作系统中不得不引入进程的概念。
为了防止操作系统及其关键的数据结构如:PCB等,受到用户程序破坏,将处理机分为核心态和用户态。
对进程进行创建、撤销以及在某些进程状态之间的转换控制。
2.试描述当前正在运行的进程状态改变时,操作系统进行进程切换的步骤。
答:分为两种情况:(1):运行状态就绪状态:根据进程的自身的情况插入到就绪队列的适当位置,系统收回处理及转入进程调度程序重新进行调度。
(2):运行状态→阻塞状态:系统会调用进程调度程序重新选择一个进程投入运行。
3.现代操作系统一般都提供多任务的环境,是回答以下问题。
为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?答:系统必须建立PCB。
为支持进程的状态变迁,系统至少应该供哪些进程控制原语?答:阻塞、唤醒、挂起和激活原语。
当进程的状态变迁时,相应的数据结构发生变化吗?答:会根据状态的变迁发生相应的变化。
例如:将进程PCB中进程的状态从阻塞状态改为就绪状态,并将进程从阻塞队列摘下,投入到就绪队列中。
4.什么是进程控制块?从进程管理、中断处理、进程通信、文件管理、设备管理及存储管理的角度设计进程控制块应该包含的内容。
答:PCB:描述进程本身的特征、状态、调度信息以及对资源占有情况等的数据结构,是进程存在的唯一标识。
进程控制块所包含的内容:①进程信息描述;②CPU信息状态;③进程调度信息;④进程控制和资源占用信息。
5.假设系统就绪队列中有10个进程,这10个进程轮换执行,每隔300ms轮换一次,CPU在进程切换时所花费的时间是10ms,试问系统化在进程切换上的开销占系统整个时间的比例是多少?解:P=(10*10)/[(300+10)*10]=3.2%6.试述线程的特点及其与进程之间的关系。
操作系统五大管理功能包括哪些
操作系统五大管理功能包括哪些操作系统的五个基本管理功能你知道是什么呢?下面由店铺整理了操作系统五大管理功能包括哪些的相关知识,希望对你有帮助。
操作系统五大管理功能包括哪些1) 设备管理:主要是负责内核与外围设备的数据交互,实质是对硬件设备的管理,包括对输入输出设备的分配,初始化,维护与回收等。
例如管理音频输入输出。
2) 作业管理:这部分功能主要是负责人机交互,图形界面或者系统任务的管理。
3) 文件管理:这部分功能涉及文件的逻辑组织和物理组织,目录结构和管理等。
从操作系统的角度来看,文件系统是系统对文件存储器的存储空间进行分配,维护和回收,同时负责文件的索引,共享和权限保护。
而从用户的角度来说,文件系统是按照文件目录和文件名来进行存取的。
4) 进程管理:说明一个进程存在的唯一标志是pcb(进程控制块),负责维护进程的信息和状态。
进程管理实质上是系统采取某些进程调度算法来使处理合理的分配给每个任务使用。
5)存储管理:数据的存储方式和组织结构。
补充:操作系统的四大类操作系统的类型也可以分为几种:批处理系统,分时操作系统,实时操作系统,网络操作系统等。
下面将简单的介绍他们各自的特点:1) 批处理系统:首先,用户提交完作业后并在获得结果之前不会再与操作系统进行数据交互,用户提交的作业由系统外存储存为后备作业;数据是成批处理的,有操作系统负责作业的自动完成;支持多道程序运行。
2) 分时操作系统:首先交互性方面,用户可以对程序动态运行时对其加以控制;支持多个用户登录终端,并且每个用户共享CPU和其他系统资源。
3) 实时操作系统:会有时钟管理,包括定时处理和延迟处理。
实时性要求比较高,某些任务必须优先处理,而有些任务则会被延迟调度完成。
4) 网络操作系统:网络操作系统主要有几种基本功能(1) 网络通信:负责在源主机与目标主机之间的数据的可靠通信,这是最基本的功能。
(2) 网络服务:系统支持一些电子邮件服务,文件传输,数据共享,设备共享等。
电子科大02级操作系统试卷-有答案
0250-0252操作系统试卷A一、简答题(每题5分,共30分)1.什么是虚拟设备?2.What’s the differrence between a process and a program?3.What’s Hyper-Treading technology?4.死锁的必要条件是什么?5.为什么将文件控制块分成主部和次部两部分?6.若系统有同类资源m个,被n个进程共享,问:当m>n和m<=n时每个进程最多可以请求多少个这类资源,使系统一定不会发生死锁?为什么?二、填空题(每空1分,共10分)1.操作系统的两个重要特性是: (1) 和 (2) 。
2.只能在管态下执行的指令称为 (3) 。
处理机状态由目态转换为管态的唯一途径是 (4) ,管态到目态的转换可以通过修改 (5) 来实现。
3.进程在其生存期内可以处于如下三种基本状态之一:运行态、就绪态和等待态。
当一个就绪进程 (6) 时,其状态由就绪变为运行,当一个运行进程被抢占处理机时,其状态由运行变为 (7) ,当一个运行进程因某事件受阻时,其状态由运行变为 (8) ,当进程所等待的事件已经发生时,该进程状态由 (9) 变为就绪。
4.线程是进程内的一个相对独立的 (10)。
三、计算题(每题10分,共40分)1.设某计算机系统采用虚拟页式存储管理方法,进程的虚拟地址空间为64KB,页面尺寸为4KB。
假设当前进程的页表如右图所示(页表以二进制形式表示),请将虚拟地址8196和2050转换为物理地址。
2.设某计算机系统采用虚拟页式存储管理方法,内存中为该进程分配4个物理页架, 开始时内存页架为空,假设进程在一段时间内的页面访问序列如下:6,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1,请画图表示采用以下页面淘汰算法时的缺页中断次数:(1)最佳页面淘汰算法(OPT);(2)先进先出页面淘汰算法(FIFO);(3)使用过最久的先淘汰(LRU)。
进程与任务或作业管理
6.3.1 可执行文件的setuid和setgid属性
设置后的权限为drwxr-xr-t或1755
6.3.2 进程管理与调度命令
1. 查询进程状态(ps)
功能:
查询进程状态和信息,给出系统当前正在运 行进程信息的快照。
用法:
ps [ options ]
说明:
ps支持多种UNIX系统格式的个性化显示方式。 且参数较多; 可以配合kill命令结束系统三类进程
前台进程:
是指用户直接控制的用于完成某个任务的进程,因此也叫终 端交互式进程。它从标准输入读数据,向标准输出写数据, 将错误信息输出到标准错误。也可以是用户直接交互控制的 完成某种功能的程序。
后台进程
是指在系统后台运行的、不与用户交互进程。 前台的进程也可放在后台运行,这时可能要用到输入输出的 重定向。 守候进程也叫服务器或精灵进程,它是后台进程的一种。
6.1.1程序、进程、作业和任务
程序(program)是一个存储在存储介质上的 文件。 进程(proccess)是一个程序的执行过程。 作业(job)或任务(task)是用户需要计算机完成 某项任务时要求计算机所做工作的集合,一个 作业可能需要几个程序联合完成。 作业和进程主要的区别与关系如下:
作业是用户向计算机提交的任务实体; 一个进程是作业或任务的某个执行过程; 一个作业可由多个进程组成。
sticky权限管理
sticky位是对目录执行权来说的,它的 属性值为1000。sticky位也可用chmod命 令通过root用户来设置。 设有目录mydir的权限为drwxr-xrx(755),则可通过以下两种方法来设置 它的sticky位:
操作系统原理与应用(第2版)清大版第2章习题参考答案
1、进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
在程序并发执行时已不再具有封闭性,而且产生了许多新的特性和新的活动规律。
程序这一静态概念已不足以描述程序的并发执行的特性。
为了适应这一新情况,引入了一个能反应程序并行执行特点的新概念——进程(process)。
有的系统也称为任务(task)。
2、进程:是程序的一次执行,是动态概念;一个进程可以同时包括多个程序;进程是暂时的,是动态地产生和消亡的。
程序:是一组有序的静态指令,是静态概念;一个程序可以是多个进程的一部分;程序可以作为资料长期保存。
3、能够看到。
进程控制块PCB表示进程的存在。
为进程的实体为:程序部分描述了进程所要完成的功能,它通常可以由若干个进程所共享。
数据部分包括程序运行时所需要的数据和工作区,它通常是各个进程专有的。
4、可再现性:程序重复执行时,必将获得相同的结果。
即对于程序A来说,第一次运行得到一结果,第二次运行时若中间有停顿,但最后的结果必将与第一次一样。
封闭性:程序一旦开始运行,其计算结果和系统内资源的状态不受外界因素的影响。
5、1)运行状态:进程正占用CPU,其程序正在CPU上执行。
处于这种状态的进程的个数不能大于CPU的数目。
在单CPU机制中,任何时刻处于运行状态的进程至多是一个。
2)就绪状态:进程已具备除CPU以外的一切运行条件,只要一分得CPU马上就可以运行(万事具备,只欠东风)。
在操作系统中,处于就绪状态的进程数目可以是多个。
为了便于管理,系统要将这多个处于就绪状态的进程组成队列,此队列称为就绪队列。
3)封锁状态:进程因等待某一事件的到来而暂时不能运行的状态。
此时,即使将CPU 分配给它,也不能运行,故也称为不可运行状态或挂起状态。
系统中处于这种状态的进程可以是多个。
同样,为了便于管理,系统要将它们组成队列,称为封锁队列。
封锁队列可以是一个,也可以按封锁原因形成多个封锁队列。
6、(1)1---分到CPU,2---时间片到,3---等待某一事件的发生,4---所等待事件已发生。
计算机操作系统课件02-1进程的基本概念
(4) 静止阻塞→活动阻塞。处于Blockeds状态的进程,若用激 活原语Active激活后,该进程将转变为Blockeda状态。
4.创建状态和终止状态
1) 创建状态
创建一个进程一般要通过两个步骤:首先,为一个新进程创 建PCB,并填写必要的管理信息;其次,把该进程转入就绪状 态并插入就绪队列之中。
例如,在进行计算时,总须先输入用户的程序和数据,然后 进行计算,最后才能打印计算结果。
用结点(Node,用圆圈表示) 代表各程序段的操作,其中,I代 表输入操作,C代表计算操作,P为打印操作;另外,用箭头 指示操作的先后次序。
I1
C1
P1
I2
C2
P2
S1
S2
S3
(a) 程序的顺序执行
(b) 三条语句的顺序执行
→={(Pi,Pj)|Pi must complete before Pj may start} 如果(Pi,Pj)∈→,可写成Pi→Pj,称Pi是Pj的直接前趋,而称 Pj是Pi的直接后继 在前趋图中,把没有前趋的结点称为初始结点(Initial Node), 把没有后继的结点称为终止结点(Final Node)。
当用挂起原语Suspend将该进程挂起后,该进程便转变为静止 就绪状态,表示为Readys,处于Readys状态的进程不再被调度 执行。
请求
释放
活动 阻塞
I/O
调度
活动 就绪
激活
挂起
执行
激活 挂起
静止 阻塞
释放
挂起
静止 就绪
图 2-6 具有挂起状态的进程状态图
实时操作系统包括硬实时和软实时的区别
实时操作系统包括硬实时和软实时的区别⼀.什么是真正的实时操作系统做嵌⼊式系统开发有⼀段时间了,做过⽤于⼿机平台的嵌⼊式Linux,也接触过⽤于交换机、媒体⽹关平台的VxWorks,实际应⽤后回过头来看理论,才发现⾃⼰理解的肤浅,也发现CSDN上好多同学们都对实时、嵌⼊式这些概念似懂⾮懂,毕竟如果不做类似的产品,平时接触的机会很少,即使做嵌⼊式产品开发,基本也是只管调⽤Platformteam封装好的API。
所以在此总结⼀下这些概念,加深⾃⼰的理解,同时也给新⼿⼊门,欢迎⼤家拍砖,争取写个连载,本⽂先总结⼀下实时的概念,什么是真正的实时操作系统1. ⾸先说⼀下实时的定义及要求:参见Donal Gillies 在Realtime Computing FAQ 中提出定义:实时系统指系统的计算正确性不仅取决于计算的逻辑正确性,还取决于产⽣结果的时间。
如果未满⾜系统的时间约束,则认为系统失效。
⼀个实时操作系统⾯对变化的负载(从最⼩到最坏的情况)时必须确定性地保证满⾜时间要求。
请注意,必须要满⾜确定性,⽽不是要求速度⾜够快!例如,如果使⽤⾜够强⼤的CPU,Windows 在CPU空闲时可以提供⾮常短的典型中断响应,但是,当某些后台任务正在运⾏时,有时候响应会变得⾮常漫长,以⾄于某⼀个简单的读取⽂件的任务会长时间⽆响应,甚⾄直接挂死。
这是⼀个基本的问题:并不是Windows不够快或效率不够⾼,⽽是因为它不能提供确定性,所以,Windows不是⼀个实时操作系统。
根据实际应⽤,可以选择采⽤硬实时操作系统或软实时操作系统,硬实时当然⽐软实时好,但是,如果你的公司正在准备开发⼀款商⽤软件,那请你注意了,业界公认⽐较好的VxWorks(WindRiver 开发),会花光你本来就很少的银⼦,⽽软实时的操作系统,如某些实时Linux,⼀般是开源免费的,我们公司本来的产品就是基于VxWorks的,现在业界都在CostReduction,为了响应号召,正在调研如何把平台换成免费的嵌⼊式实时Linux。
操作系统第二版第二章课后习题答案
第二章进程和线程作业答案1,2,4,6,7,10,11,12,14, 211.在操作系统中为什么要引入进程概念?它与程序的差别和关系是怎样的?答:由于多道程序的并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。
用程序这个静态概念已经不能如实反映程序并发执行过程中的这些特征。
为此,人们引入“进程(Process)”这一概念来描述程序动态执行过程的性质。
进程和程序是两个完全不同的概念。
进程与程序的主要区别:进程和程序之间存在密切的关系:进程的功能是通过程序的运行得以实现的,进程活动的主体是程序,进程不能脱离开具体程序而独立存在。
2.PCB的作用是什么?它是怎样描述进程的动态性质的?答:PCB是进程组成中最关键的部分。
每个进程有惟一的进程控制块;操作系统根据PCB对进程实施控制和管理,进程的动态、并发特征是利用PCB表现出来的;PCB是进程存在的唯一标志。
PCB中有表明进程状态的信息,该进程的状态包括运行态、就绪态和阻塞态,它利用状态信息来描述进程的动态性质。
4. 用如图2-26所示的进程状态转换图能够说明有关处理机的大量容。
试回答:①什么事件引起每次显著的状态变迁?②下述状态变迁因果关系能否发生?为什么?(A)2→1 (B)3→2 (C)4→1答:(1)就绪→运行:CPU空闲,就绪态进程被调度程序选中运行→阻塞:运行态进程因某种条件未满足而放弃CPU的占用。
阻塞→就绪:阻塞态进程所等待的事件发生了。
运行→就绪:正在运行的进程用完了本次分配给它的时间片(2)下述状态变迁(A)2→1,可以。
运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个进程投入运行。
(B)3→2,不可以。
任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再变为就绪态。
(C)4→1,可以。
某一阻塞态进程等到的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。
Linux0号进程,1号进程,2号进程
Linux0号进程,1号进程,2号进程 本节我们将从linux启动的第⼀个进程说起,以及后⾯第⼀个进程是如何启动1号进程,然后启动2号进程。
然后系统中所有的进程关系图做个简单的介绍⼀、0号进程 0号进程,通常也被称为idle进程,或者也称为swapper进程。
0号进程是linux启动的第⼀个进程,它的task_struct的comm字段为"swapper",所以也称为swpper进程。
1#define INIT_TASK_COMM "swapper" 当系统中所有的进程起来后,0号进程也就蜕化为idle进程,当⼀个core上没有任务可运⾏时就会去运⾏idle进程。
⼀旦运⾏idle进程则此core就可以进⼊低功耗模式了,在ARM上就是WFI。
我们本节重点关注是0号进程是如何启动的。
在linux内核中为0号进程专门定义了⼀个静态的task_struct的结构,称为init_task。
1/*2 * Set up the first task table, touch at your own risk!. Base=0,3 * limit=0x1fffff (=2MB)4*/5struct task_struct init_task6 = {7 #ifdef CONFIG_THREAD_INFO_IN_TASK8 .thread_info = INIT_THREAD_INFO(init_task),9 .stack_refcount = ATOMIC_INIT(1),10#endif11 .state = 0,12 .stack = init_stack,13 .usage = ATOMIC_INIT(2),14 .flags = PF_KTHREAD,15 .prio = MAX_PRIO - 20,16 .static_prio = MAX_PRIO - 20,17 .normal_prio = MAX_PRIO - 20,18 .policy = SCHED_NORMAL,19 .cpus_allowed = CPU_MASK_ALL,20 .nr_cpus_allowed= NR_CPUS,21 .mm = NULL,22 .active_mm = &init_mm,23 .tasks = LIST_HEAD_INIT(init_task.tasks),24 .ptraced = LIST_HEAD_INIT(init_task.ptraced),25 .ptrace_entry = LIST_HEAD_INIT(init_task.ptrace_entry),26 .real_parent = &init_task,27 .parent = &init_task,28 .children = LIST_HEAD_INIT(init_task.children),29 .sibling = LIST_HEAD_INIT(init_task.sibling),30 .group_leader = &init_task,31 RCU_POINTER_INITIALIZER(real_cred, &init_cred),32 RCU_POINTER_INITIALIZER(cred, &init_cred),33 .comm = INIT_TASK_COMM,34 .thread = INIT_THREAD,35 .fs = &init_fs,36 .files = &init_files,37 .signal = &init_signals,38 .sighand = &init_sighand,39 .blocked = {{0}},40 .alloc_lock = __SPIN_LOCK_UNLOCKED(init_task.alloc_lock),41 .journal_info = NULL,42 INIT_CPU_TIMERS(init_task)43 .pi_lock = __RAW_SPIN_LOCK_UNLOCKED(init_task.pi_lock),44 .timer_slack_ns = 50000, /* 50 usec default slack */45 .thread_pid = &init_struct_pid,46 .thread_group = LIST_HEAD_INIT(init_task.thread_group),47 .thread_node = LIST_HEAD_INIT(init_signals.thread_head),48 };49 EXPORT_SYMBOL(init_task); 这个结构体中的成员都是静态定义了,为了简单说明,对这个结构做了简单的删减。
精品干货OS第二章习题(2.1-2.3)答案(收藏)
精品干货OS第二章习题(2.1-2.3)答案(收藏)第二章进程管理( 2.1-2.3 )一、选择题1 程序的顺序执行通常在( A )的工作环境中,具有( C )特征;程序的并发执行在( B )的工作环境中,具有( D )特征。
A. 单道程序B.多道程序C.程序的可再现性D.资源共享2.下面对进程的描述中,错误的是( )。
A. 进程是动态的概念B.进程执行需要处理机C.进程是有生命周期的 D. 进程是指令的集合3.在操作系统中,进程是一个具有一定独立功能的程序在某个数据集上的一次( )。
A.等待活动B.动态运行C.单独操作D.关联操作4.( )是进程存在的唯一标识。
A. 数据段B.进程控制块C. 程序段D.进程控制区5. 多道程序环境下,操作系统分配资源以( )为基本单位。
A.程序B.指令 C 进程D.作业6. 当进程因时间片用完而让出处理机时,该进程应转变为( )状态。
A、等待B、就绪C、运行D、完成7.一个进程被唤醒意味着( )。
A. 该进程重新占有了CPU B.它的优先权变为最大C. 其PCB 移至等待队列队首D.进程变为就绪状态8.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是( D );由运行状态变为阻塞状态的条件是( B )。
A. 时间片用完B.等待某事件发生C.等待的某事件已发生D.被进程调度程序选中9.下列的进程状态变化中,( )变化是不可能发生的,A.运行→就绪B.运行→等待C.等待→运行D.等待→就绪10.一个运行的进程用完了分配给它的时间片后,它的状态变为( )。
A.就绪B.等待C. 运行D.由用户自己确定11.设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述 4 种情况:A 没有运行进程,有 2 个就绪进程,n 个进程处于阻塞状态。
B 有1 个运行进程,没有就绪进程,n-1 进程处于阻塞状态。
C 有1 个运行进程,有 1 个就绪进程,n-2 进程处于阻塞状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
源分配和调度
异步性:各进程按各自独立不可预知的速度向前推进。从
而导致程序执行不可再现性
其他: 交互性、结构性
§ 2.2 进程的概念
进程和程序既有密切联系又有区别
p34
联系:
程序是构成进程的要素之一,进程执行程序。 一对多关系 • 一个进程可以涉及到一个或几个程序的执行 • 一个程序可以对应一个或多个进程,即同一程序段可
建立模型的系统方法,许多实际的操作系统都是按照这 样的三种状态进行具体构造的
在一个没有使用虚存的系统中,每个被执行的进程必须
完全载入主存,因此,所有队列中的所有进程必须驻留 在主存中
内存的吞噬:
内存被等待队列沾满 导致新进程不能被调入内存,从而使CPU处于空闲状态
进程的挂起状态
解决方法
作业1 t1
I1
作 业
3、1进程的引入
作业2
t2
P1
I2
作业3
t3
O1
P2
I3
t4
O2
P3
t
O3 并行计算的先后次序
§2.1 多道程序设计
并发执行的特点
例:计算交通路口车辆流量的系统中,有这样两个程序段:
A:while(exp1){
A1:N=N+1; }
B: while(exp2){
B1:print(N); B2:N=0;
§2.4 进程的描述
进程控制块队列 实现对进程的统一管理
运行队列
就绪队列 等待队列
每个队列都有一个队列的首指针; 队列末尾的PCB,其队列指针为-1
单一等待队列
就绪队列 允许进入 分派 处理器 超时 等待队列 事件发生
释放
等待事件
(五状态进程) 队列模 型
多条等待队列
就绪队列 允许进入 分派 处理器 超时 事件1队列 事件1发生 事件2队列 事件2发生 释放
有一个挂起状态
允许进入
分派
释放
新建
就绪
超时 激活 事件发生 事件等待
运行
终止
挂起
挂起
等待
有挂起状态的进程状态转换
进程的挂起状态
当操作系统已经执行了一个挂起操作,它可以有两
种方法用于选择一个进程并取到主存中
可以接纳一个新近创建的进程 或调入一个以前被挂起但现在已经解除阻塞的进程
通常比较倾向于调入一个以前被挂起而现在已经处
进程的挂起状态
挂起进程具有以下特点
进程不能立即执行
进程可能正在等待一个事件,也可以不是。 为了阻止进程执行,可以通过代理把这个进程置于挂起状 态,代理可以是进程自己,也可以是父进程或操作系统 除非代理显式地命令系统进行状态转换,否则进程无法从
这个状态中转移
§2.4 进程的描述
为了提高计算机的利用率、运行速度和系统的处
理能力,在计算机中广泛使用并行处理技术
§2.1 多道程序设计
在多道程序设计环境下,若干程序在系统中“同时” 运行,一程序未结束,另一程序又开始
前提:因为在大多数的计算问题中,部分的操作需
要顺序的执行,而另外的一些操作可以并行执行
例如:有一程序完成如下工作:从键盘上读入数据 (I)——对数据进行处理(P)——对结果输出(O)
进程映像:也称进程图像,是进程执行的上下文
环境,包括通用 寄存器的值,内存映像,打开的文件列
表和占用的资源等
进程上下文
进程的物理实体和支持进程执行的运行环境合称为进程 上下文
进程上下文是进程执行过程中顺序关联的静态描述,包 括每个进程执行过的,执行时的以及待执行的指令和数 据,分别称为上文,正文和下文。 进程上下文切换:当发生进程切换时,执行进程上下文 的切换。
③
B1—A1—B2
a
a+1 0
显然第三个序列的执行结果是错误的。
§2.1 多道程序设计
并发执行的特点
不可再现性 多道程序在并发执行过程中,程序彼此之间有时是完全孤 立的,有时存在 着依赖和制约的关系,这就失去了顺序 程序的封闭性
并发执行程序具有“执行-暂停-执行”的活动规律,程序 开始执行,以及输入输出的序列是随机的,不可预测的
管理,相互关系由用户安排,调度级别低于系统进程
§ 2.2 进程的概念
进程的特征 p32
动态性:进程是动态变化的,每个进程都有一个从创建到 消亡的过程——最基本特征 并发性: 多道程序中每个进程的执行过程,总是与其他
进程的执行过程并发执行的 ——重要特征
独立性:多个进程同时存在内存,独立运行,独立进行资
就绪状态(Ready) 等待处理机的状态。该进程运行所需 要的其他资源都得到满足,但因处理机个数少于进程个数,
该进程不能运行,必须等待分配处理机资源
运行
进程调度程序 把处理机分配给 进程
进程因某事件 (如等待I/O 完成) 变成等待状态
时间片用光
就绪 某事件被解除 (如I/O完成)
等待
进程状态变化图
§ 2.3进程的状态及状态变化
增加两个很有用的状态:新建和退出 新建状态 刚刚创建的进程,操作系统还没有把 它加入到可执行进程组中,通常是还没有加载到
主存中的新进程
终止状态 操作系统从可执行进程组中释放出的
进程,或者是因为它自身停止了,或者是因为某
种原因被取消
允许进入
新建 就绪
分派
运行 超时 事件发生 事件等待
的并行控制
§2.1 多道程序设计
并发执行的特点 资源共享
– 所谓资源,是指计算机处理一个任务或一个作业
时的所有硬设备和软设备
– 所谓资源共享,是指计算机中并发执行的多个程
序交替使用计算机资源
§2.2 进程的概念
多道与单道相比提高了cpu,内存和设备的利用率 同时多道程序设计对操作系统的设计提出了更多的
为什么要引入进程呢?
顺序执行(单道)的程序具有特性
程序严格按照先后次序一个接一个运行。 一次只允许一个程序运行。
作业1
作业2
I1
P1
O1
I2
P2
O2
顺序处理操作的先后次序
§2.1 多道程序设计
顺序执行的程序具有特性
顺序性
资源独占
程序在处理机上执行时,其操作只能严格按照所
程序在执行过程中独占全部资源,资源状态的 程序执行的结果与其执行的速度无关,而
扩充主存以容纳更多的进程,但有缺点:
一、主存的价格问题; 二、程序对存储器空间的要求的增长速度比存储器价格下 降的速度快
引入挂起
把主存中某个进程的一部分或全部移到辅存中。当主存中 没有处于就绪状态的进程时,操作系统就把被等待的进程换 出到磁盘中的“挂起队列”。主存中释放的空间可被调入的 另一个进程使用
规定的顺序执行
改变只与程序本身有关,而与外界环境无关
结果的无关性 不论是连续还是间断地执行;二是只要程序的初始条件不 变,当重复执行时,一定能得到相同的结果
缺点:cpu,设备和内存利用率低
§2.1 多道程序设计
程序的并发执行(多道)及其特性 程序的并发执行是现代操作系统的一个基本特征
}
A是计数程序段,B是定时将数据归档入库并清零的程序 段,可以知道A和B程序段是并发执行的。
§2.1 多道程序设计
A:while(exp1){ B: while(exp2){ A1:N=N+1; B1:print(N); } B2:N=0; } ① ② 举其中3种可能出现的执行序列(设某时刻N=a) A1—B1—B2 B1—B2—A1 a+1 a a+1 0 0 1
操作系统原理
金 海 溶
blue1879@(MSN) 办公室: JK329
第2章 进程、线程与作业
单道与多道程序设计
进程的概念 进程描述 进程的状态及其切换 进程控制
线程的引入
程序、作业和进程的概念
程序(program):用来描述一个计算机能完成的一个独立功
刻画的活动单元
§ 2.2 进程的概念
进程的定义2
进程(process) 是指程序在给定数据集合上的一次执行过程,是系统进行 资源分配和调度运行的独立单位 p28
• 系统进程:系统进行软硬件资源管理的进程,其相互
关系由操作系统负责协调,是系统资源的实际享有者
• 用户进程:可以独立执行的用户程序段,不插手资源
进程控制块PCB(Process Control Block) p29
PCB-是标志进程存在的数据结构,是系统内描
述和控制进程的运行而定义的
进程控制块是进程存在的标志 进程控制块是进程的唯一代表 操作系统根据进程控制块所提供的信息对进程实行 调度
和管理
进程组成的三要素:程序+数据+PCB
p28
§ 2.3进程的状态及状态变化
运行状态(Run) 进程正在处理机上运行的状态。该进程 已经获得必要的资源,也获得了处理机,用户程序正在处理 机上运行 等待状态(Wait),也叫阻塞状态或睡眠状态 进程等待某 种事件完成 (例如,等待I/O操作完成) 而暂时不能运行的状
态。此时,即使分配给它处理机,它也不能运行
因此,即使初始条件相同,结果也可能不同。运行结果不 可再现
§2.1 多道程序设计
并发执行的特点
制约性
• 间接制约方式 由于竞争相同的资源而引起,得到资源的 程序段可以投入运行,而得不到资源的程序段就暂时等待,
直至获得可用资源时再继续运行。在这种情况下,通常要
操作系统协调,实行并发控制 • 直接制约方式 这通常是在那些逻辑上相关的程序段之间 发生,一般是由于各种程序段要求共享信息引起的,这时, 可以在程序段中使用系统提供的操作,调节各程序段之间