第4章 进程与进程管理4
第二讲 进程管理(1)--进程控制
N=account;
N=N+200; account=N;
建立一个能够描述程序的执行过程并且能用来共享资 源的基本单位。
2.1.5 进程的定义和特征
一、进程(Process) 进程是程序在一个数据集上的运行过程,是系统 进行资源分配和调度的一个独立单位。
其它定义:
进程是程序的一次执行。 进程是一个程序及其数据在处理机上顺序执行时所 发生的活动。 进程是进程实体的运行过程,是系统进行资源分配 和调度的一个独立单位”。
2.2 进程的描述
系统中需要有描述进程存在和能够反映其变化的物理实体,即进程的静态 描述。进程的静态描述由三部分组成:进程控制块PCB,有关程序段和该 程序段对其进行操作的数据结构集。
进程控制块PCB包含了有关进程的描述信息、控制信息以及资源信息,是 进程动态特征的集中反映。 系统根据PCB感知进程的存在和通过PCB中所包含的各项变量的变化,掌 握进程所处的状态以达到控制进程活动的目的。
21
2.2.1 进程控制块
4)进程控制信息:
程序和数据的地址——指程序和数据所在的内存或外存首地址; 进程同步和通信机制——如信号量、消息队列指针等,它们可能全 部或部分地存放在PCB中; 资源清单——是一张列出了除CPU外的、进程所需的全部资源及已 经分配到该进程的资源的清单; 链接指针——它给出本进程(PCB)所在队列中下一个进程的PCB的 首址。
27
2.3.1 进程的基本状态
进程的挂起/解挂状态
一、设臵原因
1、用户需要 :中间结果与预期不符; 2、操作系统需要:系统某些功能故障; 3、系统负荷过重 4、父进程需要 5、对换的需要
二、设臵挂起状态后进程状态的转换
计算机导论课件-第4章-计算机操作系统概述
4.1 操作系统的功能
2、存储器管理 存储管理主要管理内存资源。当多个程序共享有限的内存
资源时,会有一些问题需要解决,比如,如何为它们分 配内存空间,同时,使用户存放在内存中的程序和数据 彼此隔离、互不侵扰,又能保证在一定条件下共享等问 题,都是存储管理的范围。当内存不够用时,存储管理 必须解决内存的扩充问题,即将内存和外存结合起来管 理,为用户提供一个容量比实际内存大得多的虚拟存储 器。
RTOS设计目标:对外部请求能在严格的时限内作 出响应,有高可靠性和完整性
硬实时任务(Hard Real-time Task) 软实时任务(Soft Real-time Task)
实时操作系统
分类: 第一类:实时过程控制
工业控制,军事控制,... 第二类:实时通信(信息)处理
电讯(自动交换),银行,飞机订票 股市行情
设备驱动程序(Device Drivers)
存储器管理器(Memory Manager)
调度和分派程序(Scheduler and Dispatcher)
5.4 系统的引导
现代操作系统处理的难题(1)
进程(Process)
对正在运行的程序的抽象 一个进程至少包括三部分内容:
一段可执行的程序 程序的相关数据:变量、工作空间和缓冲区等 程序执行的上下文环境,即进程的状态
4.1 操作系统的功能
3、设备管理 操作系统应该向用户提供设备管理。设备
管理是指对计算机系统中所有输入输出设备 (外部设备)的管理。设备管理不仅涵盖了进行 实际I/O操作的设备,还涵盖了诸如设备控制 器、通道等输入输出支持设备。
4.1 操作系统的功能
4、文件管理 系统中的信息资源(如程序和数据)是以文件的形式
进程管理
时间的表示方法:
绝对:midnight moon teatime hh:mm 当天午夜 当天中午 当天下午4点 mm/dd/yy
相对now+n selonds +n days +n hours +n wecks +n minutes 如:# at 21:00 3/17/2004 >ls >cd /etc >init 0 ctrl+d
格式:batch [参数(同 at参数)] 时间 如:1)# batch now+3 minutes 2)# batch 17:00 03/19/2004
3.cron 功能:安排作业让系统在指定时间周期运行 原理:cron进程,每隔一分钟,检查/var/spool/cron目 录下用户提交的作业文件中有无任务需要运行 配置:(1)建立文件 # vim /root/root.cron
• 前台:直接输入程序名(如:#vim) • 后台:程序名后加&(如:#vim&)
2)调度启动 系统在指定时间运行指定的程序(at.batch.cron)
二、进程管理的常用命令
1.ps 功能:显示系统的进程信息 格式:ps [参数]
参数:-a -u -x -e -w 显示所有进程(不包括没有终端的进程) 显示用户名和启动时间 显示没有终端的进程 显示所有进程(不显示进程状态) 宽行显示
进程管理
进程的基本概念 进程管理的常用命令 任务的自动化
一、进程的基本概念
1.进程的定义 程序关于某个数据集合的运行活动
程序:具有一定目的性的指令集合 作业:用户提交给计算机要执行的程序
第4章 进程控制
通信信息
进程间进行通信时所记录的有关信息
家族联系
指明本进程与家族的联系 占有资源清单
进程的特征
结构特征:进程除了程序段、数据段还 包括PCB 动态性:进程是一个程序的执行,是动 态的,是有生命周期的。 并发性:多个进程实体能同存于内存中, 且在一段时间内同时运行。 独立性:独立运行,独立申请资源,独 立接受调度。 异步性:进程按各自独立的、不可预知 的速度向前前进。 动态性和并发性是进程的最基本特征。
进程等待原语的实现
入口
保护进程的CPU现场到PCB结构中
置该进程为”等待”状态
将该进程PCB结构插入到等待队列中
转进程调度
5. 进程唤醒 进程唤醒原语的形式 当处于等待状态的进程所期待的事件来到时, 由发现者进程使用唤醒原语叫唤醒它。 wakeup(chan) 入口参数chan:进程等待的原因。 进程唤醒原语的功能 当进程等待的事件发生时,唤醒等待该事件的 进程。
响了程序速度。
程序的并发执行使得程序失去了顺序 性,封闭性和可再现性,用“程序” 无法描述这些特征,因此引入了“进 程这个概念”。
4.2 进程的概念 4.2.1进程的定义
1. 进程定义
什么是进程 所谓进程,就是一个程序在给定活动空间和初始环 境下, 在一个处理机上的执行过程。
进程与程序的区别
程序是静态的概念;进程是动态的概念
进程是一个独立运行的活动单位
进程是竞争系统资源的基本单位
一个程序可以对应多个进程;一个进程至少包含一
个程序。
2. 进程的状态
进程的基本状态
运行状态(running)
该进程已获得运行所必需的资源,它的程序正在处理机 上执行。
等待状态(wait)
计算机操作系统课后答案
计算机操作系统课后答案计算机操作系统课后答案第一章:操作系统概述1.1 操作系统的定义与作用操作系统是计算机系统中的核心软件,负责管理和控制计算机硬件资源,为用户和应用程序提供统一的接口和服务。
1.2 操作系统的发展历程操作系统的发展经历了批处理系统、分时系统、实时系统和网络操作系统等阶段,逐步提高了计算机的效率和可靠性。
1.3 操作系统的功能和特点操作系统的功能包括进程管理、内存管理、文件管理和设备管理等。
其特点包括并发性、共享性、虚拟性和异步性等。
第二章:进程管理2.1 进程的概念和属性进程是程序在执行过程中的一个实例,具有独立的地址空间和执行状态。
2.2 进程的调度算法常见的进程调度算法有先来先服务调度、短作业优先调度、高响应比优先调度和时间片轮转调度等。
2.3 进程同步与通信进程同步是指协调多个进程之间的执行顺序,进程通信是指进程之间的数据交换和共享。
第三章:内存管理3.1 内存管理的基本概念内存管理包括内存的分配和回收,以及地址转换和内存保护等操作。
3.2 内存分配的算法常见的内存分配算法有首次适应、最佳适应和最坏适应等。
3.3 虚拟内存的实现原理虚拟内存通过将主存和辅存进行映射,将不常用的数据和程序置换到辅存中,以提高内存利用率。
第四章:文件管理4.1 文件的概念和组织方式文件是存储在存储介质上的数据集合,文件组织方式包括顺序文件、索引文件和哈希文件等。
4.2 文件共享与保护文件共享是指多个进程可以同时访问同一个文件,文件保护是指对文件进行权限和访问控制。
4.3 文件系统的实现原理文件系统通过文件目录和文件控制块来管理文件和目录的存储和访问。
第五章:设备管理5.1 设备管理的基本概念设备管理包括设备的分配和回收,以及设备的驱动程序和设备控制器等。
5.2 设备独立性和设备分配算法设备独立性是指操作系统对设备的不同类型进行统一管理,设备分配算法有等待队列调度和优先级调度等。
5.3 设备中断和错误处理设备中断是指设备发出的中断信号,操作系统需要及时响应并处理中断。
第4章 进程管理
batch命令的语法格式也和 命令十分相似, 命令的语法格式也和at命令十分相似 命令的语法格式也和 命令十分相似, 如下所示: 如下所示: batch [-V] [-q queue] [-f file] [-mv] [time]
例:指定今天下午6:35分执行 命令。假设现在时间是 分执行ls命令 指定今天下午 分执行 命令。 11:35分,2005年6月11日。 分 年 月 日
Linux进程 图9-2 Linux进程 工作模式示意图
4.2 守 护 进 程
守护进程是Linux系统 种进程之一, 系统3种进程之一 守护进程是 系统 种进程之一, 也是相当重要的一种。 也是相当重要的一种。
4.2.1 守护进程简介
守护进程( 守护进程(Daemon,也称为精灵进程) ,也称为精灵进程) 是指在后台运行而又没有终端或登录shell 是指在后台运行而又没有终端或登录 与之结合在一起的进程。 与之结合在一起的进程。守护进程经常在 程序启动时开始运行,在系统结束时停止。 程序启动时开始运行,在系统结束时停止。 这些进程没有控制终端, 这些进程没有控制终端,所以称为在后台 运行。 运行。
cron命令运行时会搜索 命令运行时会搜索/var/spool/cron 命令运行时会搜索 目录,寻找以/etc/passwd文件中的用户名 目录,寻找以 文件中的用户名 命名的crontab文件,被找到的这种文件将 文件, 命名的 文件 载入内存。 载入内存。
安排周期性任务的命令是crontab。该 。 安排周期性任务的命令是 命令用于安装、 命令用于安装、删除或者列出用于驱动 cron后台进程的表格,crontab命令基本格 后台进程的表格, 后台进程的表格 命令基本格 式如下: 式如下: crontab [-u user] file crontab [-u user]{-l|-r|-e}
操作系统复习总结
第一章操作系统概述1.操作系统主要特征是什么?操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以方便用户使用的程序集合。
2.“操作系统是控制硬件的软件”这一说法确切吗?为什么?不正确,因为操作系统不仅仅是控制硬件,同时它还控制计算机的软件。
第二章进程与线程1.操作系统中为什么要引入进程的概念?为了实现并发进程之间的合作和协调,以及保证系统的安全,操作系统在进程管理方面要做哪些工作?①为了从变化角度动态地分析研究可以并发执行的程序,真实的反应系统的独立性、并发性、动态性和相互制约,操作系统中不得不引入进程的概念。
②为了防止操作系统及其关键的数据结构受到用户程序破坏,将处理机分为核心态和用户态。
对进程进行创建、撤销以及在某些进程状态之间的转换控制。
2.假设系统就绪队列中有10个进程,这10个进程轮换执行,每隔300ms轮换一次,CPU在进程切换时所花费的时间是10ms,试问系统化在进程切换上的开销占系统整个时间的比例是多少?就绪队列中有10个进程,这10个进程轮换执行,每隔进程的运行时间是300ms,切换另一个进程所花费的总时间是10ms,隐刺系统化在进程切换上的时间开销占系统整个时间的比例是:10//(300+10)=3.2%.3.试述线程的特点及其与进程之间的关系。
答:线程是进程内的一个相对独立的运行单元,是操作系统调度和分派的单位。
线程只拥有一点必不可少的资源(一组寄存器和栈),但可以和铜属于一个进程的其他线程共享进程拥有的资源。
关系:1>线程是进程的一部分,是进程内的一个实体;一个进程可以有多个线程,但至少必须有一个线程。
一个线程只能在一个进程的地址空间内活动;2>进程资源的拥有者,同一个进程的多个线程共享该进程占有的所有资源;3>处理机分配给进程,线程是系统的调度单位。
1.这种策略一方面照顾了短进程,一个进程如果在100ms运行完毕它将退出系统,更主要的是照顾了I/O量大的进程,进程因I/O进入阻塞队列,当I/O完成后它就进入了高优先级就绪队列,在高优先级就绪队列等待的进程总是优于低优先级就绪队列的进程。
计算机操作系统作业
答:操作系统的基本类型有多批道处理系统、分时系统和实时系统。特点分别为:
多批道处理系统:多道性、无序性、调度性;
分时系统:多路性、独立性、及时性、交互性;
实时系统:多路性、独立性、及时性、交互性、高可靠性。
第二章中断
2.1为什么说操作系统是由中断驱动的?
3.9处理机的状态与进程的状态有何区别?
答:处理机有时可能执行系统程序,有时又执行用户程序为了保证OS中的关键表格不被用户的程序所破坏,因而引进了用户态和核心态两种状态。从进程管理的角度出发,将进程划分程三种基本的状态:运行状态,就绪状态、等待状态、新建状态和终止状态。进程之间的状态有三个特点:
(1)进程之间的状态转换在大多数情况下是不可逆的。
综合上述,可得Байду номын сангаас作系统是由中断驱动的。
2.1什么是系统调用?
所谓系统调用,指运行在用户态的应用程序请求操作系统为之服务的一种手段。它由运行在核心态的操作系统的一段程序来完成特定功能,属于一种特殊的过程调用。
2.3什么是系统调用?系统调用与一般程序有什么区别?
答:所谓系统调用,指运行在用户态的应用程序请求操作系统为之服务的一种手段。它由运行在核心态的操作系统的一段程序来完成特定功能,属于一种特殊的过程调用。
答:1)虚拟机观点:即OS是添加在硬件上的第一层软件,是对硬件功能的首次扩充与直接延伸,每对计算机作一次扩充,就使其功能更加强大,使用更加方便。
2)资源管理观点:操作系统是管理计算机系统资源的程序,主要是指在多道程序之间合理地分配和回收各种资源,是资源得到充分有效的使用,是程序得以有条不紊地运行。
3)服务用户观点:操作系统作为软件,它是一个为用户服务的大型的复杂程序。
全国计算机等级考试三级网络技术知识点巩固——第4章 服务器操作系统
全国计算机等级考试——三级网络技术知识点巩固第4章服务器操作系统4.1网络操作系统的特点4.1.1单击操作系统1.操作系统的定义操作系统是最靠近硬件的一层系统软件,是用户与计算机之间的借口。
其任务分两方面,一是把硬件裸机扩展为一台容易使用的虚拟机,二是成为计算机的资源管理器。
2.操作系统的管理功能操作系统是一个庞大的管理控制程序,包括多方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理等。
(1)进程管理进程就是一个将执行的程序,它附有该进程的地址空间、相应的寄存器组以及运行程序所需要的其他信息。
操作系统必须提供一种启动进程的机制。
在DOS中,该机制就是EXEC函数。
在Windows 中启动进程的函数是CreateProcess,它的代码存储在操作系统的内核里,即在KERNEL32.DLL 文件中。
(2)内存管理操作系统的存储功能是管理内存资源,主要实现内存的分配与回收、存储保护以及内存的扩充等。
内存管理的目标是给每一个应用程序分配所必需的内存空间,而又不占用其他应用程序的内存。
(3)文件系统文件系统负责管理在硬盘和其他大容量存储设备中存储的文件。
文件句柄对于打开的文件是唯一的识别依据。
操作系统所以能找到磁盘上的文件,是因为有磁盘上的文件名与存储位置的记录,在DOS里,它称为文件表(FAT);在Windows里,称为虚拟文件表(VFAT);在IBM 的操作系统OS/2里,称为高性能文件系统(HPFS)。
(4)设备I/O操作系统的设备管理负责分配和回收外部设备,以及控制外部设备按用户程序的要求进行操作。
所谓设备是指键盘、鼠标以及显示器、打印机等硬件。
3.操作系统的结构操作系统通常有4类组件:驱动程序、内核、接口库、外围组件。
常见的结构吧包括:简单结构、层次结构、微内核结构、垂直结构和虚拟机结构。
其中,内核的结构可以分为单内核、微内核、超微内核及外核等。
4.1.2网络操作系统网络操作系统(NOS)的基本任务是:屏蔽本地资源与网络资源的差异性,为用户提供各种基本网络服务功能,实现网络系统资源的共享管理,并提供网络系统的安全保障。
操作系统概念(第九版)答案
操作系统概念(第九版)答案简介《操作系统概念(第九版)答案》是一本针对《操作系统概念(第九版)》教材的答案集合。
本文档旨在提供读者对操作系统相关概念的理解和应用基础。
目录1.引论2.进程管理3.处理机调度4.进程同步5.死锁6.内存管理7.虚拟内存8.文件系统9.输入与输出10.磁盘存储管理11.安全性和保护12.分布式系统13.多媒体操作系统14.实时系统第一章引论本章的目标是介绍操作系统的概念和功能,包括定义了什么是操作系统、操作系统的历史和发展、操作系统的分类以及操作系统的基本组成部分。
问题1:操作系统是什么?答案:操作系统是一个管理计算机硬件和软件资源的软件系统。
它为用户提供一个在硬件和软件之间进行交互的接口,同时协调和控制计算机的各个组件,以实现有效和可靠的计算机操作。
问题2:操作系统的历史和发展?答案:操作系统的历史可以追溯到大约20世纪50年代,当时计算机的使用范围相对较小,操作系统也比较简单。
随着计算机技术的发展,操作系统逐渐变得复杂而且功能强大。
在20世纪60年代,随着多道程序设计的发展,操作系统开始支持同时运行多个程序。
这就导致了对资源的合理分配和进程调度的需求。
同时,操作系统的文件系统和输入输出功能也得到了改进和扩展。
在20世纪70年代,个人计算机的出现使得操作系统变得更加普及。
同时,分时操作系统和分布式操作系统的概念也开始出现。
到了20世纪80年代和90年代,图形用户界面(GUI)的引入和互联网的普及使得操作系统更加用户友好和功能丰富。
现在,操作系统已经成为计算机系统中不可或缺的一部分,为计算机用户提供各种功能和服务。
问题3:操作系统的分类有哪些?答案:操作系统可以根据不同的标准进行分类。
以下是国际上常用的操作系统分类方法:1.目标计算机系统:大型机操作系统、小型机操作系统、微型机操作系统、嵌入式系统操作系统。
2.处理方式:批处理系统、分时操作系统、实时操作系统。
3.用户数量:单用户操作系统、多用户操作系统。
操作系统第4章习题带答案
操作系统第4章习题带答案第四章⼀、问答题1、同步机制应遵循的准则是什么?2、死锁产⽣的4个必要条件是什么?它们是彼此独⽴的吗?3、简述死锁的定义和死锁产⽣的原因。
4、简述死锁定理和解除死锁的⽅法。
5、什么是安全状态?怎么判断系统是否处于安全状态?6、同步机制应遵循的准则是什么?7、死锁产⽣的4个必要条件是什么?它们是彼此独⽴的吗?⼆、计算题(共20分)1、当前系统中出现下述资源分配情况:利⽤银⾏家算法,试问如果进程P2提出资源请求Request(1,2,2,2)后,系统能否将资源分配给它?答:Request(1,2,2,2)<=(2,3,5,6)申请合法Request(1,2,2,2)<=Available,开始试探性分配,Available=(0,4,0,0) 测试系统是否安全:work= Available,finish=1没有进程的need满⾜<=work系统处于不安全状态,系统拒绝此次资源分配。
2、当前某系统有同类资源7个,进程P,Q所需资源总数分别为5,4。
它们向系统申请资源的次序和数量如表所⽰。
回答:问:采⽤死锁避免的⽅法进⾏资源分配,请你写出系统完成第3次分配后各进程占有资源量,在以后各次的申请中,哪次的申请要求可先得到满⾜?答:第1次申请,Q申请资源2,系统安全,分配第2次申请,P申请资源1,系统安全,分配第3次申请,Q申请资源1,系统安全,分配资源剩余3个,P占有1个资源,Q占有3个资源,第4次分配不安全,拒绝,第5分配系统安全,满⾜。
3、⼀个计算机系统有6个磁带驱动器和4个进程。
每个进程最多需要n个磁带驱动器。
问当n为什么值时,系统不会发⽣死锁?并说明理由答:n=2理由同第4题(进程资源最⼤需求-1)×进程数量+1≤系统资源数量4、若系统有某类资源m×n+1个,允许进程执⾏过程中动态申请该类资源,但在该系统上运⾏的每⼀个进程对该资源的占有量任何时刻都不会超过m+1个。
计算机操作系统课后习题答案解析张尧学
第一章绪论1.什么是操作系统的基本功能?答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。
操作系统的基本功能包括:处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。
2.什么是批处理、分时和实时系统?各有什么特征?答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。
其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。
分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。
其主要特征是:交互性、多用户同时性、独立性。
实时系统(realtimesystem):在被控对象允许时间范围内作出响应。
其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。
3.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别?答;多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时值行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。
要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。
6.设计计算机操作系统时与那些硬件器件有关运算器、控制器、存储器、输入设备、输出设备第二章作业管理和用户接口2.作业由哪几部分组成?各有什么功能?答:作业由三部分组成:程序、数据和作业说明书。
程序和数据完成用户所要求的业务处理工作,作业说明书则体现用户的控制意图。
3.作业的输入方式有哪几种?各有何特点答:作业的输入方式有5种:联机输入方式、脱机输入方式、直接耦合方式、SPOOLING(Simultaneous Peripheral OperationsOnline)系统和网络输入方式,各有如下特点:(1)联机输入方式:用户和系统通过交互式会话来输入作业。
(第4章进程及进程管理)习题四答案介绍
沈华
湖北工业大学计算机学院
P 对公共变量 Q 的访问 V
end coend 信号量 mutex 的取值范围为:mutex.value ∈[1, - (n-1)]。 ①值为 1 时,表示没有进程访问公共变量 Q; ②值为 0 时,表示有一个进程正在访问公共变量 Q; ③值<0 时,表示有一个进程正在访问公共变量 Q,同时又| mutex.value |个进程 等待访问公共变量 Q。
沈华
湖北工业大学计算机学院
19. 20. 21. }
} }//while
4-6 进程有哪几个基本状态?在一个系统中为什么必须区分出这几种状态。 答:进程有三个基本状态:运行状态、就绪状态和等待状态(又称阻塞、挂起、 睡眠) 。 因为多道程序设计技术的引入,使得多个进程可以并发执行。并发执行的进程 之间由于合作具有直接制约关系或由于共享资源具有间接制约关系,使得它们 的执行过程具有“执行——暂停——执行——暂停——执行——…”的动态特 征,因此需要对进程在其生命周期内所处于的不同状态进行区分,以便对进程 进行分析、管理和控制。
4-4 图 4-2 标明程序段执行的先后次序。其中 I 表示输入操作、C 表示计算操作、 P 表示打印操作,下角标说明是对哪个作业进行上述操作。请指明: (1)哪些操作必须有先后次序,其原因是什么? (2)哪些操作可以并发执行,其原因又是什么? 答: (1)Ii 必须先于 Ci 执行,Ci 必须先于 Pi 执行,这是因为同一个作业的这三 个操作之间具有逻辑上的严格的先后执行次序;Ii 必须先于 Ii+1 执行,Ci 必须先 于 Ci+1 执行,Pi 必须先于 Pi+1 执行,这是因为 Ii 和 Ii+1 共享输入设备、Ci 和 Ci+1 共享 CPU、Pi 和 Pi+1 共享输出设备。 (2)Ii+1 和 Ci、Pi-1 可以并发执行,因为这三个进程分属于不同的作业,且它们 占据的是不同的资源。
进程管理
disable server server_args wait user only_from no_access per_source instances access_times
xinetd是否监控此服务 指定由xinetd监控的服务器路径 指定由xinetd监控的服务器的运行参数 是否为该服务提供多线程功能 指定执行本守护进程的用户 只允许指定的主机访问 指定不能访问的主机 每个客户机的最大连接数 服务器总共支持的最高连接数 指定允许访问本守护进程的时间
守护进程的概念
守护进程(Daemon)
是在计算机启动时就被运行的,并在系统中持续运 行的进程, 它等待着随时为客户提供自身负责的服 务。 Windows中的一些守护进程被称为“服务”
守护进程的工作就是打开一个端口,并且等待 (Listen)进入的连接。 如果客户提请了一个 连接,守护进程就创建(fork)子进程来响应 此连接, 而父进程继续监听更多的服务请求。 正因为如此,每个守护进程都可以处理多个客 户服务请求。
Linux中的进程
进程识别号(PID) 实际用户识别号(real user ID) 实际组识别号(real group ID) 有效进程识别号(effect user ID) 有效组识别号(effect group ID)
进程的启动方式
手工启动
前台 后台Biblioteka 调度启动cron at
查看系统中的进程
ps命令功能
查看指定的服务在当前运行级别的运行状态。 # chkconfig sendmail 查看指定的服务在所有运行级别的运行状态。 # chkconfig --list sendmail 显示由chkconfig管理的所有服务。 # chkconfig --list
第四章进程管理
等待队列 2
4.进程控制
创建、撤消进程以及完成进程各状态之间的转 换,由具有特定功能的原语完成 进程创建原语 进程撤消原语 阻塞原语 唤醒原语 挂起原语 激活(解挂)原语 改变进程优先级
进程的创建
创建一个PCB 赋予一个统一进程标识符 为进程映象分配空间 初始化进程控制块
许多默认值 (如: 状态为 New,无I/O设备 或文件...) 如: 把新进程加到就绪队列的链表中
静态部分(PCB和资源表格) 动态部分:核心栈(核心过程的栈结构,不同进程在 调用相同核心过程时有不同核心栈)
PCB的内容
进程描述信息:
进程标识符(process ID),唯一,通常是一个整数 进程名,通常基于可执行文件名(不唯一) 用户标识符(user ID);进程组关系 当前状态 优先级(priority) 代码执行入口地址 程序的外存地址 运行统计信息(执行时间、页面调度) 进程间同步和通信;阻塞原因
顺序程序(续)
特征: 程序执行的顺序性 程序执行的封闭性
独占资源,执行过程中不受外界影响
程序执行结果的确定性 即:程序结果的可再现性
程序运行结果与程序执行速度无关,只要 初始状态相同,结果应相同
2.并发程序
并发环境: 在一定时间内物理机器上有两个或两个以 上的程序同处于开始运行但尚未结束的状 态,并且次序不是事先确定的
运行 --> 就绪
进程转换(续1)
运行 --> 等待
当一进程必须等待时
OS尚未完成服务 对一资源的访问尚不能进行 初始化I/O 且必须等待结果 等待某一进程提供输入 (IPC)
张尧学《计算机操作系统教程》课后题答案
张尧学《计算机操作系统教程》课后题答案第一章绪论1.什么是操作系统的基本功能?答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。
操作系统的基本功能包括:处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。
2.什么是批处理、分时和实时系统?各有什么特征?答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。
其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。
分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。
其主要特征是:交互性、多用户同时性、独立性。
实时系统(realtimesystem):在被控对象允许时间范围内作出响应。
其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。
3.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别?答;多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时值行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。
要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。
6。
设计计算机操作系统时与那些硬件器件有关运算器、控制器、存储器、输入设备、输出设备第二章作业管理和用户接口2.作业由哪几部分组成?各有什么功能?答:作业由三部分组成:程序、数据和作业说明书。
程序和数据完成用户所要求的业务处理工作,作业说明书则体现用户的控制意图。
3.作业的输入方式有哪几种?各有何特点答:作业的输入方式有5种:联机输入方式、脱机输入方式、直接耦合方式、SPOOLING(Simultaneous Peripheral OperationsOnline)系统和网络输入方式,各有如下特点:(1)联机输入方式:用户和系统通过交互式会话来输入作业。
计算机操作系统习题及答案
第一章操作系统引论一、单项选择题1.操作系统是一种__________。
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,操作系统中采用多道程序设计技术提高CPU和外部设备的_______。
|A.利用率B.可靠性C.稳定性D.兼容性7.操作系统是现代计算机系统不可缺少的组成部分,是为了提高计算机的_______和方便用户使用计算机而配备的一种系统软件。
A. 速度B.利用率C. 灵活性D.兼容性8.操作系统的基本类型主要有_______。
A.批处理系统、分时系统及多任务系统B.实时操作系统、批处理操作系统及分时操作系统C.单用户系统、多用户系统及批处理系统D.实时系统、分时系统和多用户系统/9.所谓_______是指将一个以上的作业放入主存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其他资源。
A. 多重处理B.多道程序设计C. 实时处理D.并行执行10. _______操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。
A.网络D.分布式C.分时D.实时11.如果分时操作系统的时间片一定,那么_______,则响应时间越长。
A.用户数越少B.用户数越多C.内存越少 D. 内存越多12,分时操作系统通常采用_______策略为用户服务。
#A.可靠性和灵活性B.时间片轮转C.时间片加权分配D,短作业优先13. _______操作系统允许用户把若干个作业提交给计算机系统。
操作系统第四章课后题答案
第四章1.为什么说多级反馈队列调度算法能较好地满足各类用户的需要(来自百度):答案一:多级反馈队列调度算法能较好地满足各种类型用户的需要。
对终端型作业用户而言,由于他们所提交的大多属于交互型作业,作业通常比较短小,系统只要能使这些作业在第1级队列所规定的时间片内完成,便可使终端型作业用户感到满意;对于短批处理作业用户而言,他们的作业开始时像终端型作业一样,如果仅在第1级队列中执行一个时间片即可完成,便可以获得与终端型作业一样的响应时间,对于稍长的作业,通常也只需要在第2级队列和第3级队列中各执行一个时间片即可完成,其周转时间仍然较短;对于长批处理作业用户而言,它们的长作业将依次在第1,2,…,直到第n级队列中运行,然后再按时间片轮转方式运行,用户不必担心其作业长期得不到处理。
答案二:(惠州学院操作系统课后题)与答案一基本相似,可看做精简版。
答:(1)终端型作业用户提交的作业大多属于较小的交互型作业,系统只要使这些作业在第一队列规定的时间片内完成,终端作业用户就会感到满足。
(2)短批处理作业用户,开始时像终端型作业一样,如果在第一队列中执行一个时间片段即可完成,便可获得与终端作业一样的响应时间。
对于稍长作业,通常只需在第二和第三队列各执行一时间片即可完成,其周转时间仍然较短。
(3)长批处理作业,它将依次在第1 ,2 ,…,n个队列中运行,然后再按轮转方式运行,用户不必担心其作业长期得不到处理。
所以,多级反馈队列调度算法能满足多用户需求。
2.分别对以上两个进程集合,计算使用先来先服务(FCFS)、时间片轮转法(时间片q=1)、短进程优先(SPN)、最短剩余时间优先(SRT,时间片q=1)、响应比高者优先(HRRN)及多级反馈队列(MFQ,第1个队列的时间片为1,第i(i<1)个队列的时间片q=2(i-1))算法进行CPU调度,请给出各进程的完成时间、周转时间、带权周转时间,及所有进程的平均周转时间和平均带权周转时间。
进程管理-无答案
进程管理(第四章)练习题一、填空题1.进程的“同步”和“互斥”反映了进程间直接制约和间接制约的关系。
2.死锁产生的原因是竞争资源产生死锁和进程推进顺序不当。
3.产生死锁的四个必要条件是互斥条件、请求与保持条件、非剥夺条件、循环等待条件。
4.在操作系统中,信号量是表示资源的物理实体,它是一个与队列有关的整型变量,其值仅能由pv 原语来改变。
5.每执行一次P原语,信号量的数值S减1。
如果S>=0,该进程继续执行;若S<0,则阻塞该进程,并把它插入该信号量对应的阻塞队列中。
6.每执行一次V原语,信号量的数值S加1。
如果S>0 ,进程继续执行;如果S <=0,则从对应的等待队列中移出一个进程R,该进程状态变为就绪。
7.利用信号量实现进程的互斥,应为临界区设置一个信号量mutex。
其初值为1 ,表示该资源尚未使用,临界区应置于p 和v 原语之间。
8.在多道环境下,由于进程的并发执行,一段程序为多个进程共享时,要求在执行的过程中,该段程序的指令和数据不能被修改,这样的程序段称为纯过程。
二、单项选择题1.在非剥夺调度方式下,运行进程执行V原语之后,其状态 A 。
(A)不变(B)要变(C)可能要变(D)可能不变2.两个进程争夺同一个资源 B 。
(A)一定死锁(B)不一定死锁(C)不死锁(D)以上说法都不对3. E 是一种只能由P操作和V操作进行访问的特殊变量,可以用来实现异步并行进程间的 D 以排它地访问共享数据,还可以用来实现G,实现进程间在逻辑上的相互制约关系。
(A)调度(B)类程(C)进程(D)互斥(E)信号量(F)控制变量(G)同步(H)共享变量(I)规程(J)分配4.可以被多个进程在任一时刻共享的代码必须是 A 。
(A)不能自身修改的纯码(B)顺序代码(C)无转移指令的代码(D)汇编语言编制的代码5.当对信号量进行V原操作之后, C 。
(A)当S<0,进程继续执行(B)当S>0,要唤醒一个就绪进程(C)当S<=0,要唤醒一个等待进程(D)当S<=0,要唤醒一个就绪进程6.在下列叙述中,错误的一条是 A 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.1 进 程 概 念 的 引 入✧ 所谓程序,就是一个在时间上严格有序的指令集合. ✧ 在单道程序设计环境下,系统具有如下特点:(1) 资源的独占性:任何时候,位于内存中的程序可以使用系统的一切资源.没有竞争资源.(2) 执行的顺序性: 各个程序是按次序执行的.如下图:(3) 结果的再现行: 由于执行环境和初始环境相同,重复执行一个程序,获得的结果总是一样✧ 在单道程序环境中执行顺序如下::✧ 多道程序环境下系统具有如下特点:(1) 执行的并发性:并发性:逻辑上相互独立的程序在执行时间上相互重叠,一个程序的执行还没结束,另一个程序已经开始.宏观上看: 多道程序环境下,在內存的多个程序都在执行,按照自己的程序步骤推进.微观上看: 由于CPU 在任何时刻只能执行一个程序,程序轮流占用CPU ,交替地执行.(2) 相互的制约性:A 间接制约B 直接制约 (3) 状态的多变性✧ 在多道程序环境中执行顺序如下✧ 在多道程序设计环境中,程序A 和程序B 同时在内存中,当然内存中还有其他的程序存在.由于执行的顺序性被打破了,执行过程交织在一起,无规律可循.见书上例子P60:程序A 程序B 程序Ct 程序A 程序B 程序Ct✧设A1: N:=N+1: B1:Print(N);B2:N:=0;有三种情况:A1 B1 B2B1 A1 B2B1 B2 A14.1.1 进程的定义✧综合起来,可以从3个方面来描述进程:(1)进程是程序的一次运行活动.(2)进程的运行活动是建立在某个数据集合之上的.(3)进程要在获得资源的基础上从事自己的运行活动.概括的说:是指一个程序在给定数据集合上的一次执行过程,是系统进行资源分配和运行调度的独立单位.✧有两类进程: 一类是系统进程,另一类是用户进程✧区别:进程与程序的区别4.1.2 进程的特征✧进程是程序的一次执行过程,主要特征如下:(1)进程是一种动态的概念(2)不同的进程可以执行同一个程序(3)每个进程都有自己的生命期(4)进程之间具有并发性(5)进程之间相互制约4.2 进程的基本状态及转换✧进程在其生命期內,可以处于下面3种基本状态之一:(1)运行状态:获得CPU的进程。
(2)阻塞状态:进程为了等待某种外部事件的发生,暂时无法运行,阻塞状态也称等待状态或挂起状态。
(3)就绪状态:已具备运行所需的一切条件。
✧例如上图的变迁图,试问在什么条件下将会发生下面给出的因果变迁:(1)一个进程从运行状态变为就绪状态,一定会引起另一个进程从就绪状态变为运行状态。
(2)一个进程从运行状态变为阻塞状态一定会引起另一个进程从运行状态变为就绪状态。
(3)一个进程从阻塞状态变为就绪状态,一定会引起另一个进程从就绪状态变为运行状态。
✧例4-1:如果系统中有20个进程,不考虑系统的调度开销,在某一时刻处于就绪状态,执行状态,阻塞状态的进程最多有多少个?最少有多少个?✧在具有挂起和解挂功能的系统中,进程增加的两种新状态---挂起就绪和挂起阻塞✧挂起:用户需要暂停自己的进程以检查中间结果或系统管理员为了减轻系统负荷4.2.1 Linux 的进程控制块✧Linux 操作系统包括三种不同类型的进程:交互进程,批处理进程,监控进程。
每种类型的进程都有自己的特点和属性。
✧在Linux中,每个进程在创建时都被分配一个数据结构,称为进程控制块(PCB)。
✧在Linux內核中,用一个称为Task_struts的数据结构作为进程控制块,指向该数据结构的指针形成一个task数组。
4.2.2 进程控制块(PCB)的內容✧一个进程要由3个部分组成:程序,数据集合以及进程控制块PCB。
PCB是进程存在的唯一标志,具体表示如下:✧进程控制块队列✧操作系统三件事:(1)把处于相同状态的进程的PCB通过各自的队列指针链接在一起,形成一个队列。
(2)为每一个队列设立一个队列头指针,总是指向排在队列之首的进程的PCB。
(3)排在队尾的进程的PCB,它的“队列指针”项內容应该为”-1”或一个特殊的符号,以表示这是该队的对尾PCB。
4.3.1 进程的调度算法✧先来先服务调度算法此算法基本思想是:以到达就绪队列的先后次序为标准来选择占用处理机的进程。
采用这种算法时应该这样来管理就绪队列:到达的进程的PCB总是排在就绪队列末尾,调度程序总是把CPU分配给就绪队列中的第一个进程使用。
例:就绪队列中依次来了三个进程A,B,C。
A进程需要运行24ms,B和C 各需运行3ms.求平均等待时间✧时间片轮转算法基本思想:为就绪队列中的每一个进程分配一个称为“时间片”的时间段,允许该进程运行的时间长度。
在使用完一个时间片后即使进程还没有运行完毕,也要强迫其释放处理机,让给另一个进程使用。
它自己则返回到就绪队列末尾,排队等待下一次调度的到来。
✧与先来先服务不同的是进程每次占用处理机的时间有时间片决定,而不是只要占用处理机就一直运行下去,直到运行完毕成为等待某一事件的发生而自动放弃。
✧在时间片轮转算法中:时间片大小的设定是一个影响系统效率发挥的重要因素:(1)太大==先来先服务(2)太小:调度程序频率上升,系统耗费在调度上的时间增加,真正运行用户程序的时间减少。
✧例:有一个分时系统允许10个终端用户同时工作,时间片设定为100ms。
若对用户的每一个请求,CPU将耗费300ms的时间进行处理,做出回答,试问终端用户提出两次请求的时间间隔最小是多少?✧优先数调度算法基本思想:为系统中的每个进程规定一个优先数,就绪队列中具有最高优先数的进程优先得到处理机的权利,优先数相同实行先来先服务的调度。
优先数越小者优先级越大。
✧优先数又分为静态优先数和动态优先数。
(1)静态优先数:在进程的整个生命周期內优先数保持不变。
(2)动态优先数:在进程的整个生命周期內可随时修正它的优先级别以适应系统环境和条件的变化。
✧多级队列调度算法:是时间片调度算法与先来先服务调度算法的结合。
实行这种调度算法时,系统维持多个就绪队列。
每个就绪队列具有不同的调度级别可以获得不同长度的时间片。
具体的调度方法是:创建一个新进程时,它的PCB将进入第一级就绪队列的末尾。
对于在第一级到第n-1级队列中的进程。
如果在时间片內完成全部工作,那就撤离系统。
如果在时间片没用完时提出了输入/输出请求或要等待某事件发生,那么就进入相应的阻塞队列等待。
4.3.2 进程管理的基本原语✧原语:为了保证执行时的绝对正确,要求他们以一个整体出现,不可分割,也就是说一旦启动,他们的程序就要保证做完,中间不能插入其他程序的执行序列。
在操作系统中把具有这种特性的程序称为“原语”。
✧创建进程的原语主要功能有三项:(1)新建进程申请一个进程控制块PCB。
(2)将创建者(即父进程)提供的信息插入PCB中。
(3)将新建进程设置为就绪状态,按照所采用的调度算法,把PCB排入就绪队列中。
✧撤销进程原语主要功能是收回该进程占用的资源,将该进程的PCB从所在队列里摘下,将PCB所占用的存储区间归还给系统。
✧阻塞进程原语一个进程通过调用阻塞进程原语或将自己的状态由运行变为阻塞,或将处于就绪状态的子孙进程改变为阻塞状态。
✧唤醒进程原语在等待事件发生后,就要调用唤醒进程原语以便把某个等待进程从相应的阻塞队列里解放出来,进入就绪对列,重新参与调度。
习题1.有两个程序,A程序按顺序使用CPU10s,使用设备甲5s,使用CPU5s,使用设备乙10s,最后使用CPU10s。
B程序按顺序使用设备甲10s,使用CPU10s,使用设备乙5s,使用CPU5s,使用设备乙10s。
在顺序环境下先执行A程序在执行B程序,CPU的利用率是多少?2.设某计算机系统有一台输入机,一台打印机。
现有两道程序投入运行,且程序A先开始运行,程序B后运行。
程序A的运行轨迹为:计算50ms,打印100ms,再计算50ms,打印100ms,结束。
试说明:两道程序运行时,CPU有无空闲等待?若有,在哪段时间等待?为何会空闲等待?程序A,B运行时有无等待现象?若有,出现在何时?3.在单机系统中,系统中各个进程到达就绪队列的时刻、执行时间和优先级(优先数越小优先级越高)如表1-3-1所示。
假设进程的调度时间忽略不计。
请分别给出采用下面不同的进程调度算法时各个进程的调度次序,并计算平均周转时间。
表1-3-1(1)(3)剥夺式短进程优先调度算法; (4)剥夺式优先级调度算法(5)非剥夺式优先调度算法4.6 进程的互斥和同步4.6.1 互斥和同步✧进程间共享资源的方式不同,导致不同的制约方式:间接制约和直接制约。
(1)间接制约:由于进程之间存在资源共享而引起的。
(2)直接制约:由于进程之间存在合作关系引起的。
4.6.2 临界资源和临界区的引入(见P60)✧临界资源的定义:在同一时刻就只能有一个进程使用的资源。
✧临界区的定义:每个进程中访问临界资源的那段程序。
临界区的使用必须是互斥的,解决问题必须遵循以下原则:(1)有闲让进(2)忙则等待(3)有限等待(4)让权等待4.6.3 互斥的加锁实现(P78)✧用硬件加锁的方法可以简单而有效地实现互斥。
为每个临界区或临界资源设置一个布尔变量lock(1)Lock=false 临界区没有进程,允许等待进程进入。
(2)Lock=true 有别的进程,则不允许进入执行。
进程使用临界资源的步骤如下:(1)测试lock的值。
(2)进程进入临界区,访问临界资源。
(3)退出临界区,置lock为false(开锁),下一个进程才能继续使用该临界资源。
4.6.4 信号量与PV 操作✧进程间的制约关系先看个例子1:编写一个复制n个记录的程序,它把文件F中的每一个记录依次先读到输入缓冲区R,在从R拷贝到输出缓冲区T,最后写到文件G中。
假定R和T的大小正好存放一个记录,如图所示:可以编写三个子程序来完成这一工作。
GET: 负责从文件F中按照顺序读出一个记录,然后送入输入缓冲区R。
COPY:负责把输入缓冲区R中的记录拷贝到输出缓冲区T中。
PUT:负责从输出缓冲区T中读出一个记录,然后依照顺序写入文件G。
不去考虑GET、COPY和PUT的执行关系,那么它们的执行顺序可以有6种可能:(1)COPY PUT GET(2)COPY GET PUT(3)PUT COPY GET(4)PUT GET COPY(5)GET COPY PUT(6)GET PUT COPY✧通过分析这例子,得到进程间具有的两种制约关系:互斥与同步。
(1)对于共享资源的争夺,导致进程之间出现互斥关系;(2)由于对任务的协同工作,导致进程之间出现同步关系。
✧wait操作将信号量减1,表示分配资源。
signal操作将信号量增1,表示释放资源。
✧wait操作:s=s-1; s<0 阻塞进程,把它插入等待队列中signal操作:s=s+1 s<=0 在等待队列中还有进程在等待;✧公用信号量:为一组互斥共享临界资源的并发进程。