现代操作系统第二章复习重点
操作系统第二章进程和线程复习题
第二章练习题一、单项选择题1.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将( C )。
A. 从就绪变为运行; B.从运行变为就绪;C.从运行变为阻塞; D.从阻塞变为就绪2.进程控制块是描述进程状态和特性的数据结构,一个进程( D )。
A.可以有多个进程控制块;B.可以和其他进程共用一个进程控制块;C.可以没有进程控制块;D.只能有惟一的进程控制块。
3.临界区是指并发进程中访问共享变量的(D)段。
A、管理信息B、信息存储C、数据D、程序4. 当__ B__时,进程从执行状态转变为就绪状态。
A. 进程被调度程序选中B. 时间片到C. 等待某一事件D. 等待的事件发生5. 信箱通信是一种( B )通信方式。
A. 直接通信B. 高级通信C. 低级通信D. 信号量6. 原语是(B)。
A、一条机器指令B、若干条机器指令组成C、一条特定指令D、中途能打断的指令7. 进程和程序的一个本质区别是(A)。
A.前者为动态的,后者为静态的;B.前者存储在内存,后者存储在外存;C.前者在一个文件中,后者在多个文件中;D.前者分时使用CPU,后者独占CPU。
8. 任何两个并发进程之间存在着(D)的关系。
A.各自完全独立B.拥有共享变量C.必须互斥D.可能相互制约9. 进程从运行态变为等待态可能由于(B )。
A.执行了V操作 B.执行了P 操作C.时间片用完 D.有高优先级进程就绪10. 用PV操作管理互斥使用的资源时,信号量的初值应定义为(B)。
A.任意整数 B.1 C.0 D.-111. 现有n个具有相关临界区的并发进程,如果某进程调用P 操作后变为等待状态,则调用P操作时信号量的值必定为(A)。
A.≤0 B.1C.n-1 D.n12. 用PV操作管理临界区时把信号量的初值定义为1,现已有一个进程在临界区,但有n个进程在等待进入临界区,这时信号量的值为(C)。
A.-1 B.1 C.-n D.n13. 用V操作唤醒一个等待进程时,被唤醒进程的状态应变成(B)状态。
操作系统期末复习重点
目录第一章操纵系统引论------------------------------------------------ 11.1操作系统的目标和作用 --------------------------------------------------- 11.2操纵系统的发展过程 ----------------------------------------------------- 11.3操作系统的基本特性 ----------------------------------------------------- 21.5 OS结构设计 ------------------------------------------------------------ 2第二章进程的描述与控制-------------------------------------------- 32.1前趋图和程序执行 ------------------------------------------------------- 32.2进程的描述 ------------------------------------------------------------- 32.3 进程控制--------------------------------------------------------------- 32.4 进程同步--------------------------------------------------------------- 32.6 进程通信--------------------------------------------------------------- 4第三章处理机调度与死锁-------------------------------------------- 43.1处理机调度的层次和调度算法的目标 --------------------------------------- 43.3进程调度 --------------------------------------------------------------- 43.5死锁概述 --------------------------------------------------------------- 5第四章存储器管理-------------------------------------------------- 64.2程序的装入和链接 ------------------------------------------------------- 64.3连续分配存储管理方式 --------------------------------------------------- 64.4对换(Swapping) ------------------------------------------------------- 74.5分页存储管理方式 ------------------------------------------------------- 74.6分段存储管理方式 ------------------------------------------------------- 8第五章虚拟存储器-------------------------------------------------- 85.1虚拟存储器概述 --------------------------------------------------------- 85.2请求分页存储管理方式 --------------------------------------------------- 95.3页面置换算法 ----------------------------------------------------------- 95.4“抖动”和工作集------------------------------------------------------- 10第六章输入输出系统----------------------------------------------- 11第七章文件管理--------------------------------------------------- 11第一章操纵系统引论1.1操作系统的目标和作用1.1.1操作系统的目标(4个)——P001目标:方便性,有效性,可扩充性,开放性1.1.2操作系统的作用(3个)——P002作用:1.OS作为用户与计算机硬件系统之间的接口。
现代操作系统总复习资料
操作系统基础习题解析及实验指导2016.9第一篇操作系统基础知识点及习题解答该部分罗列操作系统基础各章节的学习要点,指出学习的重点和难点,在回顾相关知识点的基础上,对典型习题进行分析和解答。
第一章操作系统引论本章学习要点【1】掌握操作系统的概念与作用【2】掌握操作系统的基本类型与特点【3】掌握操作系统的特征与功能【4】深入领会多道程序设计技术本章学习难点【1】多道程序设计技术【2】操作系统的特征知识点回顾一. 操作系统的概念一个完整的计算机系统由计算机硬件系统和计算机软件系统两部分组成。
操作系统是配置在计算机硬件上的第一层软件,是对硬件系统功能的第一次扩充。
图1-1 计算机系统的层次图1.操作系统(Operating System,简称OS)的作用(1)OS作为用户与计算机硬件系统之间的接口OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。
或者说,用户在OS 的帮助下能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。
(2)OS作为计算机系统资源的管理者这是广为流行的一个关于OS作用的观点。
在一个计算机系统中,通常都包含了各种各样的硬件和软件资源。
归纳起来可将资源分为四类:处理器、存储器、I/O设备以及信息(数据和程序)。
OS的主要功能正是针对这四类资源进行有效的管理。
(3)OS用作扩充机器对于一台完全没有软件配置的计算机系统(裸机),即使功能再强,也必定难于使用。
OS在第 1 页共102 页裸机上分别覆盖I/O设备管理软件、文件管理软件等,此时用户所看到的机器,将是一台比裸机功能更强、使用更方便的机器。
通常把覆盖了软件的机器称为扩充机器或虚机器。
在计算机系统上覆盖上一层软件后,系统功能便增强一级。
由于OS自身包含了若干层软件,因此当在裸机上覆盖上OS后,便可获得一台功能显著增强,使用极为方便的多层扩充机器或多层虚机器。
2.操作系统的概念操作系统是一组控制和管理计算机硬件和软件资源、合理组织计算机的工作流程,方便用户使用的程序的集合。
操作系统复习重点内容 复习总结
操作系统复习重点内容复习总结教材:计算机操作系统西安电子科技大学出版社第一章操作系统引论主要解决的是对操作系统的认识问题。
在学习完后面各章后还应该再回过头来认真品味本章的内容,重点是对操作系统原理的整体认识和掌握。
操作系统引论这部分内容不会出现大题。
一般是以基本原理和概念的形式为主,属于识记形式的题目。
重点是操作系统的定义、操作系统的特征和主要功能等。
l计算机系统把资源管理和控制程序执行的功能集中组成一种软件,称为操作系统,是系统软件l操作系统的两个设计目标:1、使计算机系统使用方便2、使计算机系统能高效地工作(扩充硬件的功能,使硬件的功能发挥得更好;使用户合理共享资源,防止相互干扰;以文件形式管理软件资源,保证信息的安全和快速存取。
P1 l设置操作系统的作用1,用户观点:操作系统是裸机与用户的一个界面。
2,系统观点:操作系统是计算机系统资源的一个"管理员"。
l操作系统的分类用户要求计算机系统进行处理的一个计算问题称为一个"作业"。
按照操作系统提供的服务,大致可以把操作系统分为:单道批处理系统;多道批处理系统,简称"多道系统",即多个作业可同时装入主存储器进行运行的系统。
多道系统能极大提高计算机系统的效率,表现为:(1)并行工作,减少了CPU的空闲时间,提高了CPU的利用率。
(2)合理搭配多道使用不同资源的作业,可充分利用计算机系统的资源。
(3)直接在高速的磁盘上存取信息,缩短了作业执行时间,使单位时间内的处理能力得到提高。
(4)作业成批输入、自动选择和控制作业执行减少了人工操作时间和作业交接时间,提高了系统的吞吐率;分时系统,具有同时性、独立性、及时性、交互性。
批处理兼分时系统中,由分时系统控制的作业称为"前台"作业,由批处理控制的作业称为"后台"作业。
实时系统:在严格时间规定内处理必须结束;分类:(1)实时控制(2)实时信息处理网络系统:可实现资源共享的,为计算机网络配置的的操作系统我们使用的windows是网络式系统;分布式系统可协调多个计算机以完成一个共同任务的;l发展MS-DOS:单用户单任务Windows XP:单用户多任务UNIX:多用户多任务l操作系统的特性1,并发性2,共享性3,不确定性l掌握操作系统的基本功能:处理器管理、存储器管理、文件管理、设备管理、文件管理。
现代操作系统总复习资料
操作系统基础习题解析及实验指导2016.9第一篇操作系统基础知识点及习题解答该部分罗列操作系统基础各章节的学习要点,指出学习的重点和难点,在回顾相关知识点的基础上,对典型习题进行分析和解答。
第一章操作系统引论本章学习要点【1】掌握操作系统的概念与作用【2】掌握操作系统的基本类型与特点【3】掌握操作系统的特征与功能【4】深入领会多道程序设计技术本章学习难点【1】多道程序设计技术【2】操作系统的特征知识点回顾一. 操作系统的概念一个完整的计算机系统由计算机硬件系统和计算机软件系统两部分组成。
操作系统是配置在计算机硬件上的第一层软件,是对硬件系统功能的第一次扩充。
图1-1 计算机系统的层次图1.操作系统(Operating System,简称OS)的作用(1)OS作为用户与计算机硬件系统之间的接口OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。
或者说,用户在OS 的帮助下能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。
(2)OS作为计算机系统资源的管理者这是广为流行的一个关于OS作用的观点。
在一个计算机系统中,通常都包含了各种各样的硬件和软件资源。
归纳起来可将资源分为四类:处理器、存储器、I/O设备以及信息(数据和程序)。
OS的主要功能正是针对这四类资源进行有效的管理。
(3)OS用作扩充机器对于一台完全没有软件配置的计算机系统(裸机),即使功能再强,也必定难于使用。
OS在第 1 页共102 页裸机上分别覆盖I/O设备管理软件、文件管理软件等,此时用户所看到的机器,将是一台比裸机功能更强、使用更方便的机器。
通常把覆盖了软件的机器称为扩充机器或虚机器。
在计算机系统上覆盖上一层软件后,系统功能便增强一级。
由于OS自身包含了若干层软件,因此当在裸机上覆盖上OS后,便可获得一台功能显著增强,使用极为方便的多层扩充机器或多层虚机器。
2.操作系统的概念操作系统是一组控制和管理计算机硬件和软件资源、合理组织计算机的工作流程,方便用户使用的程序的集合。
《现代操作系统》重点纲要
第一章:引论操作系统是运行在内核态的软件,为程序猿提供资源集抽象以及管理硬件1.1.2主要任务:记录那个程序在用什么资源,管理资源分配,评估使用代价,调节冲突1.3.11.操作系统必须知道所有的寄存器,以便中断时保存进度2.用户程序在用户态运行时,仅允许执行至灵级的一个子集,一般不能调用IO和内存保护指令3.陷阱:a. 用于执行系统调用b. 多数由硬件引起,用于警告异常4.超线程:无并行处理,线程切换纳秒级1.3.2存储器1. 寄存器(和CPU一样快)-》高速缓存(多级缓存)-》主存(RAM ROM EEROM 闪存)1.3.3上下文切换:多道程序系统中从一个程序切换到另一个程序1.3.51. 设备驱动程序:控制IO设备,与控制器对话并收发命令2. 设备存储器:映射到操作空间A.优点:不需要特定IO指令B.缺点:占地址空间(8088)3. 实现输入输出的方法:A.忙等待:设备驱动循环检查IOB.操作完成时中断C.使用特殊的直接存储器访问芯片DMA1.3.61. USB:通用串行总线,键盘鼠标等慢速设备1.3.7启动1. 加电-》BIOS检查硬件-》BIOS查询启动设备(设备第一扇区用启动签名才可以作为启动设备)-》硬盘第一区(MBR),分区表,超级块等1.5.1进程1. 本质:正在执行的程序的实例,地址空间(core image 进程可读写,有数据和堆栈)。
2. 相关:资源集(寄存器,报警,文件清单等)3. 容许运行一个程序所需要所有信息的容器4. UID与GID1.5.31. IO设备的分类:A.块设备:硬盘,可随机读取B.字符特殊文件:键盘鼠标2.管道:虚文件,连接进程1.6系统调用1. 用户程序与操作系统交互:处理抽象2. 能进入内核的过程调用用户态切换到核心态三种方法:中断,异常,系统调用3.TRAP指令:副作用切换到内核态1.7.3微内核1. 高可靠性,把操作系统划分成小的,定义良好的模块,只有微内核运行在内核,其他是普通用户程序2. 设备驱动:崩溃不会导致系统死机3. 机制与策略分离第二章:进程与线程2.1进程模型1. 多道程序设计:CPU在多个程序之间快速切换2. UNIX: 开始是相同,之后不同。
操作系统第2章
第二章进程及作业管理§1 进程概念§2 系统内核§3 进程控制 §4 进程同步 §5 进程通讯 §6 作业概念 §7作业控制§1 进程概念1.1 程序的顺序执行与并发执行在单道程序系统中,程序的执行必然具有下述特性:(1) 顺序性(2) 封闭性(3) 无关性(4) 可再现性对于多道程序系统,程序的执行就有一些新的特性:(1) 异步性(2) 竞争性(3) 相互制约(4) 与速度有关设有两个循环结构的程序A和B,它们共享一个公共变量n。
程序A每执行一次循环都要作n:=n+1操作;程序B 在每一次循环中打印出n的值,然后将n置0。
对此的PASCAL描述如下:cobegin/coend表示并发结构,其中的程序可以并发执行。
由于程序A和B都是异步执行,它们的语句在时间上可能是穿插或交叉执行的,故程序A的n:=n+1操作既可能在程序B的print(n)和n:=0操作之前或之后执行,也可能在它们之间执行(即n:=n+1出现在print(n)之后,而在n:=0之前)。
于是,程序的运行可能产生三组不同的执行轨迹和结果(设在开始某个循环之前n=v):1.2 进程定义(1) 进程是一种动态概念。
(2) 进程的实体是程序和数据集合。
(3) 进程是可并发的运行单位。
1.3 进程的状态(1) 执行状态(2) 就绪状态(3) 等待状态(4) 停止状态(5) 死锁状态图2-1 进程的生命历程图2-2 具有挂起状态的进程生命历程1.4 进程控制块图2-3 进程的物理表示PCB包含了进程的描述信息和控制信息,通常有如下项目:(1) 标识符(2) 存贮信息(3) 现行状态(4) 优先数(5) 现场信息(6) 链接字(或称队列指针)(7) 族系关系(8) 资源清单(9) 其他PCB的内容和大小随系统不同而异,它不仅和具体系统的管理及控制方法有关,也和系统规模的大小有关。
操作系统第二章知识点总结
操作系统第二章知识点总结操作系统是计算机系统中最核心的部分之一,它负责管理计算机的资源,并提供用户与计算机硬件之间的接口。
操作系统的设计和实现涉及到多个方面的知识,包括进程管理、内存管理、文件系统、输入输出等。
本文将针对操作系统第二章的知识点进行总结,主要涵盖了进程管理和线程管理、进程同步、死锁以及内存管理等方面的内容。
一、进程管理和线程管理1.1 进程的概念进程是指程序执行时的一次动态过程,是程序在执行过程中的实例。
进程是操作系统中的基本执行单元,每个进程都有自己的地址空间、代码、数据、环境变量等信息。
1.2 进程的状态操作系统中的进程通常具有多种状态,包括运行态、就绪态和阻塞态。
进程在不同的状态之间切换,这些状态的切换由操作系统的调度器完成。
1.3 进程的创建和删除进程的创建是指操作系统根据用户请求或者其他进程的要求,在内存中分配资源以及初始化进程控制块等信息。
进程的删除则是指进程执行完毕或者出现错误时,操作系统释放进程占用的资源,并将进程控制块从系统中移除。
1.4 进程的调度进程的调度是指操作系统根据一定的调度算法将就绪态的进程分配给处理器进行执行。
调度算法可以采用先来先服务、短作业优先、轮转等多种方式。
1.5 线程的概念线程是进程的一部分,是进程中的一个实体,是系统调度的基本单位。
一个进程可以包含多个线程,线程共享进程的资源。
1.6 线程的创建和删除线程的创建包括为线程分配资源、初始化线程控制块等操作。
线程的删除则是将线程控制块从系统中移除,并释放线程占用的资源。
1.7 线程的调度线程的调度是操作系统根据一定的调度算法将就绪态的线程分配给处理器进行执行。
线程调度与进程调度有一些不同之处,例如可以采用抢占式调度的方式。
二、进程同步2.1 进程同步的概念进程同步是指多个进程或者线程在对共享资源进行访问时,保证它们按照某种特定的顺序执行,避免发生竞争条件和数据不一致等问题。
2.2 临界区问题临界区是指一段代码,在同一时刻只能有一个进程或者线程执行。
操作系统教程第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是进程存在的惟一标志。
2253 《现代操作系统》
2253 博士研究生《现代操作系统》科目入学考试大纲第一部分考试说明一.考试性质《现代操作系统》入学考试是华中科技大学计算机科学与技术相关专业所设置的一个考试科目。
它的评价标准是高等学校计算机学科优秀硕士毕业生能达到的及格或及格以上水平,以保证录取的博士生具有一定的计算机专业理论及软件开发能力,以利于计算机学科相关专业各导师择优选拔。
考试对象为参加博士生入学考试的应届或非应届硕士毕业生,以及具有同等学历的在职人员。
二.考试的学科范围操作系统的基本概念,包括:操作系统的定义、功能、特性、类型以及现代操作系统的用户界面与操作系统的逻辑结构。
操作系统资源管理策略、功能与实现技术,包括:处理机管理、存储管理、设备管理和文件系统。
了解操作系统的重要论题:死锁概念。
并发处理的概念及实现技术。
包括:进程概念、进程状态及变迁、进程控制、进程同步互斥的概念及实现技术。
实例操作系统,如:UNIX系统与Windows系统的类型、结构、用户界面、进程管理、设备管理与文件系统的有关问题。
三.评价目标《现代操作系统》科目考试是考核学生对操作系统的基本概念、基本原理及实现技术的掌握程度,考核学生融会贯通及综合运用所学知识的能力。
本科目的考试要求学生能理解操作系统的基本原理及实现技术,不要死记硬背;要求学生能灵活地运用所学知识分析问题、解决问题;要求学生能理论联系实际,了解实例操作系统的主要的概念及实现技术。
四.考试形式与试卷结构1.答卷方式:闭卷,笔试。
2.答题时间:180分钟。
3.考查内容及考查比例考查内容的难度分为较易、较难、难三个等级。
每份试卷中不同难度试题的分配比例是3:4:3。
基本概念和基本知识约占30%,在理解的基础上,运用所学知识来解决问题的试题约占40%,需要综合几个知识点来解决问题的试题约占30%。
题目的形式可以有多样。
如:填空题、选择题、判断改错题、简答题、计算题、图解题、实现同步互斥的编程题等。
题型不是关键,最关键的是对操作系统这门课程的知识点掌握的程度,知识就是每章必须掌握的基本内容。
操纵系统第二版第二章课后知识题目解析
第二章进程和线程作业答案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,可以。
第二章:操作系统复习题(答案)
第二章复习题参考答案一、单选题:1、D2、C3、B4、B5、B6、A7、A8、D9、B10、A 11、A 12、D 13、B 14、D 15、B 16、C 17、C 18、C19、A 20、A 21、C 22、B 23、B 24、D 25、B 26、A 27、D28、B 29、A 30、C 31、B 32、C 33、B 34、B二、二、双选题:1、BC2、AC3、AD4、AC5、AD6、AD7、AC8、BC9、AD10、CD 11、BE 12、DE 13、BE 14、AD 15、AD 16、AB17、BC 18、AB 19、AB 20、CD 21、CD 22、AD 23、CD 24、AC 25、BC26、AB 27、BC 28、BD三、是非题:1、T2、T3、T4、F5、T6、F7、T8、T9、T 10、T 11、T 12、T 13、F 14、F 15、T 16、F 17、F 18、T 19、F 20、F 21、T 22、F 23、F 24、F25、F 26、F 27、T 28、T 29、T 30、T 31、T 32、F 33、T 34、T 35、T36、T 37、T 38、F 39、T 40、T 41、F 42、F 43、T 44、T 45、F46、F 47、F 48、T 49、F四、填空:1、资源管理器、我的电脑2、名称、大小、日期、类型、自动3、已经格式化过的磁盘、检查磁盘坏扇区4、驱动器的容量、共享特性5、PC6、硬件资源和软件资源7、每次只能调用一个用户作业程序进入内存并运行的操作系统。
8、内核、外壳、应用程序9、、msdos.sys、io.sys10、文件名和文件内容,后缀名11、典型型、便携型、compact setup、定制型12、我的公文包13、各种应用程序14、应用程序15、启动第二章:操作系统复习题一、单项选择:1.对操作系统的说法中错误的是______A.按运行环境将操作系统分为实时操作系统和分时操作系统和批处理操作系统B.分时操作系统具有多个终端C.实时操作系统是对外来信号及时做出反应的操作系统D.批处理操作系统指利用CPU的空余时间处理成批的作业2.MS-DOS是基于____的操作系统.A.多用户多任务B.单用户多任务C.单用户单任务D.多用户单任务3.以下配置中,_____不是安装Windows 98硬件的最低要求。
现代操作系统课后习题答案
现代操作系统课后习题答案第二章进程管理第一部分教材习题3、为什么程序并发执行会产生间断性特征?4、程序并发执行,为何会失去封闭性和可再现性?【解】程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将多个程序来改变,致使程序的运行已失去了封闭性。
同时于失去了封闭性,也将导致其再失去可再现性。
程序在并发执行时,于失去了封闭性,程序经过多次执行后,其计算机结果已与并发程序的执行速度有关,从而使程序的执行失去了可再现性。
5、在操作系统中为什么要引入进程概念?它会产生什么样的影响?【解】在操作系统中引入进程的概念,是为了实现多个程序的并发执行。
传统的程序不能与其他程序并发执行,只有在为之创建进程后,才能与其他程序并发执行。
这是因为并发执行的程序是“停停走走”地执行,只有在为它创建进程后,在它停下时,方能将其现场信息保存在它的PCB中,待下次被调度执行是,再从PCB中恢复CPU现场并继续执行,而传统的程序却无法满足上述要求。
建立进程所带来的好处是使多个程序能并发执行,这极大地提高了资源利用率和系统吞吐量。
但管理进程也需付出一定的代价,包括进程控制块及协调各运行机构所占用的内存空间开销,以及为进行进程间的切换、同步及通信等所付出的时间开销。
6、试从动态性、并发性和独立性上比较进程和程序?【解】动态性:进程既然是进程实体的执行过程,因此,动态性是进程最基本的特性。
动态性还表现为:“它创建而产生,调度而执行,因得不到资源而暂停执行,以及撤消而消亡”。
可见,进程有一定的生命期。
而程序只是一组有序指令的集合,并存放在某种介质上,本身并无运动的含义,因此,程序是个静态实体。
并发性:所谓进程的并发,指的是多个进程实体,同存于内存中,能在一段时间内同时运行。
并发性是进程的重要特征,同时也成为OS的重要特征。
引入进程的目的也正是为了使其程序能和其它进程的程序并发执行,而程序是无法并发执行的。
独立性:进程实体是一个能独立运行的基本单位,也是系统中独立获得资源和独立调度的基本单位。
《现代操作系统第四版》-第二章-答案Word版
现代操作系统第二章进程与线程习题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的空闲状态。
操作系统教程-第2章(3)
5
3.程序的并发执行(多道程序)
什么是并行操作? 什么是并发执行?
多个程序段在计算机系统中“一起”执行。例如,在一个 时间段内,一个CPU在为多道程序工作,而在某一个瞬间,一 个CPU只能运行一道程序,它只是在多道程序中快速切换,给 人以CPU“同时”运行几道程序的感觉。每个程序内部仍是按 顺序执行,但是多个程序的执行过程是可以交叉的,这是一 种伪并行,称之为并发执行。
1) 并发执行
若干程序段在执行时间上有重叠, 即一个程序段的执行过程 中插入了其它程序的操作,称为并发执行
R
Q
P
T
t1 t2
t3 t4 t5
t6
6
2) 程序并发执行的特征
若干个程序段的并发执行,产生了一些与程序顺序执行时不同 的特征: 顺序性:多个程序段并发执行时,每个程序段中语句的顺序执 行仍然保持,但是多个程序段之间不再保持顺序执行的关系。 间断性:多个程序段并发执行时,由于共享资源或由于相互合 作而形成执行时的相互制约关系,使得每个程序段执行时产生 了间断性。 非封闭性:多个程序段并发执行时,每个程序段不再独占系统 资源, 执行时受外界因素影响。例如,当一个用户的程序段执 行中使用某个I/O设备时,其他用户的程序段申请使用该设备, 就必须等待。 不可再现性:多个程序段并发执行时,产生了非封闭性,不再 独占系统资源,此时,即使程序执行的环境与初始状态不变, 重复执行时运算速度通常也不可再现,若运算结果与执行速度 有关,则可能会被改变。
5.进程定义与特征
1961年,进程的概念首先由美国麻省理工学院在MULTICS系统中引入,得到 人们的普遍重视并广为采用。随后,许多人都对进程下过定义,如:
现代操作系统——2
22
2019/3/29
ECNU-Operating Systems, Li Dong
设计利弊权衡
构建Web Server的三种方式
2019/3/29 ECNU-Operating Systems Design, Li Dong
20
线程应用2: Web Server
21
2019/3/29
ECNU-Operating Systems Design, Li Dong
线程应用2: Web Server
Web Server的代码框架
14
进程概念回顾
什么是进程?
它是一个程序的执行实例,是一个程序的执行过程。 它与其它的实例是相互独立的。 它可以创建、运行其他进程。
进程包括什么?
程序段,
数据段
进程控制块(PCB)
进程状态、进程优先级、进程记账信息 程序指针、寄存器变量值、堆栈指针等
打开的文件、分配到的设备等
16
2019/3/29
ECNU-Operating Systems Design, Li Dong
线程模型(The Thread Model)
在不支持线程的系统中,进程是资源分配和调度的基本 单位;而在支持线程的系统中,进程是资源分配的基本 单位,线程是调度的独立单位,进程中的线程共享该进 程的所有资源。 共享信息
1.进程调度程序选择某一进程
2.进程调度程序选择另一个进程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章进程与线程·在早期计算机中,每个字节的读写直接由CPU处理(即没有DMA),对于多道程序而言这种组织方式有什么含义?在这个读取任务中包括两个时间:CPU复制数据的时间和IO设备工作的时间。
而早期IO设备的速度太慢了,IO 设备的工作时间远大于把数据存到内存中所需要的时间,CPU则会空转很长时间,此时多道程序设计就非常必要了。
进程是OS提供的最古老最需要的抽象概念,它把来回切换的多道程序描述成一种多程序的并发。
2.1进程多道程序设计站在系统的角度——提高了CPU的利用率站在用户的角度——可“同时”运行多个程序对某个具体的任务而言——执行速度不变单个CPU不能真正实现并行计算,其在任意时刻都只能执行一道指令。
(第一章到第六章都是以单个CPU来讲解的)·如何解决这个矛盾:OS采用了一系列软件技术实现程序并发执行。
·什么是程序的并发执行【“大家注意把这个刻在脑子里”】若干个程序段同时在系统中运行,这些程序段的执行在时间上是重叠的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,即使这种重叠是很小的一部分,也称这几个程序段是并发执行的。
·什么是运行时间:程序在内存中的时间。
只有一个CPU,但是又希望有多个CPU——虚拟出多个CPU。
(“伪并行”,在任意时刻只有一个程序是活跃的)面向每个任务虚拟出一个CPU,这就是进程。
(CPU:从内存中取指令并执行)虚拟出的CPU本质:对每个进程虚拟了程序计数器。
2.1.1进程模型并行性:处理多个同时性活动的能力并行处理:利用多个处理部件,为完成一个整体任务而同时执行在任意时刻物理PC只对应一个程序的指令底层:CPU在各个进程间来回切换2.1.2进程的创建有4种主要事件导致进程的创建:1.系统初始化(foreground processes and daemons)2.执行了正在运行的进程所调用的进程创建系统调用★3.用户请求创建一个新进程4.一个批处理作业的初始化Fork子进程是父进程的精确副本。
(但子进程的执行是独立的)调用一次返回两次。
真正出现在代码中的不是系统调用程序,是系统调用的接口。
Pid=fork()pid>0:父进程pid=0:子进程如果返回-1:代表创建子进程失败。
父进程子进程谁先执行谁后执行不能确定。
Execlp(替换子进程)子进程复制了父进程的PC、正文、堆、栈等内容,包括输出缓冲。
Printf换行符:清空当前缓冲行;Putchar():在创建子进程后,当前缓冲行没有被清空,则子进程也会输出父进程中Putchar()的内容。
希望父子进程共享地址空间——vfork()Vfork会确保子进程先执行,子进程用exec或exit退出。
(子进程不能用return(0)而是exit(0))单CPU并行(多程序并发执行)与GPU并行的区别?伪并行,不能提高CPU执行速度和效率单CPU有空闲单CPU不够用共同点:价值体现在CPU确实有事要忙(多任务)2.1.5进程的状态只有运行态和就绪态可以相互变迁,且都是由于系统调度。
(CPU调度)为了更好地管理进程,我们会对它建立数据结构,通常采用的数据结构就是队列。
就绪队列:就绪态各个等待队列:阻塞态·程序的并发执行?两个程序在执行时间上有重叠。
·操作系统如何实现并发执行?计算机上所有软件被组织成若干顺序进程,用调度算法使CPU在各个进程间来回切换。
进程的五种状态及转换关系图2.1.6进程的实现为了实现进程模型,即多任务并发执行,OS维护着一张表格(一个结构数组)——进程表;每个进程对应一个进程表项(也叫进程控制块,PCB);它包含进程状态的重要信息:PC、堆栈指针、内存分配状况、所打开文件的状态、账号和调度信息、其他进程由运行态转换到就绪态或阻塞态时必须保存的信息。
(PPT英文,找了课本的图)CPU在各个进程间来回切换,切换时操作系统会保存现场。
保存线程——保存PCB就绪队列——就绪态;等待队列——堵塞态。
(因为可能有不同堵塞原因,所以有多个等待队列)·在单个CPU如何维持多个顺序进程的错觉?中断向量(Interrupt vector)的位置?因为操作系统通过我们之前一系列技术实现的,这些技术离不开中断处理,因此中断处理会放在内存固定的地方,即靠近内存底部的固定区域,它包含中断服务程序的入口地址。
假设当一个磁盘中断发生时,用户进程A正在运行,则---1.中断硬件将程序计数器、程序状态字、一个或多个寄存器压入堆栈,计算机随机跳转到中断向量所指示的地址(保存现场)2.软件,特别是中断服务例程接管一切剩余的工作。
【多道程序设计模型】怎么量化CPU的利用率呢?于是提出了概率模型Probabilistic Model(概率模型)p:一个进程等待I/O操作的时间与其停留在内存中的时间比n:内存中同时存在的进程数量·什么情况下多道程序设计最有价值?最有价值:内存足够的情况下,我可以增加尽可能多的程序道数,而且在这一过程中,随着程序道数的增加,我的CPU利用率一直在上升。
——所以由图,80%I/O的时候最有价值。
【重要题型:CPU利用率】(顺序执行时,∵CPU20分钟,I/O等待占50%,∴IO也需要20分钟,∴总共40分钟,又∵两个作业,∴总共80分钟。
并行执行时,则需要计算利用率。
总时间=真正用到的时间÷cpu利用率)2.1.7多道程序设计模型2.2线程传统操作系统中,每个进程有一个地址空间和一个控制线程<--->进程进程有两个基本属性:拥有资源的独立单元&被处理器独立调度和分配的单元。
通常存在一个地址空间中准并行运行多个控制线程的情形分离的进程&共享地址空间为了减小系统开销,出现了线程。
但还是以进程为单位分配资源。
(以线程为调度运行的单位,系统开销大大减小)·多线程的必要性?回顾进程模型→多线程→并行实体共享同一地址空间和可用数据的能力比进程更轻量级,比进程更易创建【快10-100倍】原因:创建线程时不需要给它分配地址空间和额外的资源。
性能:存在大量计算和I/O操作情况下加快应用程序执行速度。
多线程的价值:同步完成多项任务;不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。
2.2.2经典的线程模型进程VS线程进程用于把资源集中到一起,而线程则是在CPU上被调度执行的实体;线程给进程模型增加了一项内容:在同一个环境中,允许彼此有较大独立性的多个线程执行。
·进程中的不同线程与不同进程间的独立性相比?进程独立性是为了竞争而存在,线程独立性是为了合作而存在,他们是不一样的。
同一进程中的各个线程的共享内容(左)各个线程私有的内容(右)·为何Stack(栈)为线程私有内容?因为线程是独立执行的,函数参数、局部变量都保存在栈中,函数名只是一段代码的起始地址而已,它执行时要取参数(保存在栈中,要取局部变量,这些都在栈中,所以为了线程不互相干扰,堆栈是独立的。
2.2.4在用户空间中实现线程在内核只有进程表,是看不到线程的。
操作系统的调度一定是以进程为单位调度的。
·为什么要在用户空间实现多线程呢?在用户空间实现多线程依然可以更高效的执行,只是只能由进程自己的运行时系统来管理,进程中会有自己的线程表。
·进程中会有自己的线程表的好处?减少开销,减少干预,安排线程更加灵活;缺点:操作系统还是以进程为单位调度,所以没办法更好地根据线程的需要分配资源。
2.2.5在内核中实现线程线程由内核管理,内核有进程表和线程表。
内核开销大,不够灵活。
可以真正实现以线程为单位的调度。
2.2.6混合实现若干用户级线程对应一个内核线程。
线程的实现小结用户空间实现[用户级线程ULT(User Level Threads)]由应用程序完成所有线程的管理通过线程库(用户空间)一组管理线程的过程核心不知道线程的存在线程切换不需要核心态特权调度是应用特定的在内核中实现[内核支持线程KST(Kernel Supported Threads)]所有线程管理由内核完成没有线程库,但对内核线程工具提供API内核维护进程和线程的上下文[线程表]线程之间的切换需要内核支持以线程为基础进行调度例子:Windows NT,OS/2★不同优缺点用户空间实现核心不知道线程的活动,但仍然管理线程的进程的活动;当线程调用系统调用时,整个进程阻塞优点:线程切换不调用内核调度是应用程序特定的:可以选择最好的算法ULT可运行在任何操作系统上(只需要线程库)Run-time system缺点:大多数系统调用是阻塞的,因此内核阻塞进程,故进程中所有线程将被阻塞内核只将处理器分配给进程,同一进程中的两个线程不能同时运行于两个处理器上。
内核中实现优点:对多处理器,内核可以同时调度同一进程的多个线程;阻塞是在线程一级完成;内核例程是多线程的缺点:在同一进程内的线程切换调用内核,开销大,导致速度下降。
2.3进程间通信(第二章的核心)全局变量究竟应该私有还是共享呢?——关键:不同的线程间是否需要通信。
(线程可以拥有私有的全局变量)全局变量共享:实现进程间通信进程间通信,IPC三个问题需要处理:①一个进程如何把消息传递给另一个②确保两个或更多的进程在关键活动中不会出现交叉③正确的顺序相关(原语操作)请记住同样的问题和解决方法也适用于线程。
2.3.1竞争条件竞争条件:两个或多个进程读写某些共享数据,而最后的结果取决于进程运行的精确时序。
如何避免竞争条件?——实现对共享数据的互斥操作抽象描述:把对共享内存进行访问的程序片段称作临界区域或临界区采取措施使2个进程不可能同时处于临界区。
形成原语→形成程序片段(临界区)2.3.2临界区·避免竞争条件的解决方案满足的条件?①任何时候都没有2个进程同时在临界区②对CPU的速度和数量不做任何假设③任意运行在临界区外的进程都不能阻塞其它进程④任何进程总有机会可以进入其临界区·何为临界区?对共享内存进行访问的程序片段。
·下面代码中临界区是?全局变量是count则访问了count的都是临界区2.3.3忙等待的互斥方案说明实现代码一定有while或for,循环测试。
1.屏蔽中断在每个进程在刚刚进入临界区后立即屏蔽所有中断(包括时钟中断),并在就要离开前再打开所有中断。
缺点:①把屏蔽中断的权利交给用户可能导致严重后果②中断时间过长,会影响系统效率,限制了处理器交叉执行程序的能力③多处理器情况下,中断屏蔽仅对执行Disable指令的那个CPU有效2.锁变量软件解决方案:共享锁变量,初始值为0一个进程想进入临界区时首先测试这把锁0:临界区没有进程1:临界区有进程缺点:锁变量本身也是全局变量,其依然会被争抢。