数据库作业第二章第三章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第二章一、思考题1.什么是PSW,它有何作用?psw:操作系统将程序运行时的一组动态信息会聚在一起,称为程序的状态字作用:实现程序状态的保护和恢复3.为什么要把机器指令分成特权指令和非特权指令?应用程序在执行有关资源管理的机制指令时易于导致系统混乱,造成系统或用户信息被破坏,因此在多道程序设计环境中,从资源管理和控制程序执行的角度出发,必须把指令系统中的指令分成这两类。4.试分别从中断事件的性质、来源和实现角度对其进行分类从中断事件的性质和激活的手段来说,可以分成两类:(1)强迫性中断事件强迫性中断事件不是正在运行的程序所期待的,而是由于某种事故或外部请求信息所引起的,分为:机器故障中断事件。程序性中断事件。外部中断事件。输入输出中断事件。(2)自愿性中断事件自愿性中断事件是正在运行的程序所期待的事件。按事件来源和实现手段分类:(1)硬中断;硬中断分为外中断(中断、异步中断)和内中断(异常、同步中断);(2)软中断;软中断分为信号和软件中断。9.什么是系统调用?试述API、库函数及系统调用间的关系。叙述系统调用执行流程。由操作系统实现的所有系统调用所构成的集合即程序接口或应用编程接口(ApplicationProgrammingInterface,API)。系统调用是一种API,是应用程序同系统之间的接口。库函数是语言本身的一部分,可以调用多个系统调用;系统调用(函数)是内核提供给应用程序的接口,属于系统的一部分,可以认为是某种内核的库函数;操作系统API是有系统调用(函数)的集合(也就是将许多的系统调用封装在了一起)。一是编写系统调用服务例程;二是设计系统调用入口地址表,每个入口地址都指向一个系统调用的服务例程,有的还包括系统调用自带的参数个数;三是陷阱处理机制,需要开辟现场保护区,以保存发生系统调用时应用程序的处理器现场。应用程序执行系统调用,产生中断指向内核态,进入陷阱处理程序,它将按功能查询入口地址表,并转至对应服务例程执行,完成后退出中断,返回应用程序断点继续运行。14.简述Linux的快中断和慢中断快中断:快中断处理仅要保存被常规C函数修改的寄存器;中断处理时会屏蔽所有其他中断;中断处理完毕后,通常恢复现场返回被中断的进程继续执行(是非抢先式调度)。慢中断:处理慢中断前需保存所有寄存器的内容,中断处理时,不屏蔽其他中断信号,慢中断处理完毕后,通常不立即返回被中断的进程,而是进入调度程序重新调度,调度结果未必是被中断的进程运行(是抢先式调度)。17.讨论Linux系统的tasklet、workqueue和softirq任务延迟处理进制。(1)tasklet:能更好支持SMP,它基于软中断来实现,但比软中断接口简单,锁保护要求低;softirq保留给执行频率及时间要求特高的下半部分使用(如网络和SCSI),多数场合下可使用tasklet。使用tasklet的步骤:声明、编程、调度。BH全局串行处理,不适应SMP环境,而不同tasklet可同时运行于不同CPU上,当然,系统保证相同tasklet不会同时在不同CPU上运行,在这种情形下,tasklet就不需要是可重入的。在新版Linux中,tasklet是建议的异步任务延迟执行机制。(2)workqueue:Linux2.5内核引入-工作队列,它把一个任务延迟,并交给内核线程去完成,且该任务总是在进程上下文中执行,通过工作队列执行的代码能占尽进程上下文的优势,最重要的是工作队列允许重新调度及阻塞。默认的工作者线程:event/n如果延迟执行的任务需要阻塞,需要获取信号量或需要获得大量主存时,那么,可选择工作队列,否则可使用tasklet或softirq。(3)Sorfirq:(软中断)是一种软中断机制,亦即是一种信号机制,中断处理程序在其返回前标记下半部分,让其稍后执行;它又是一个框架,纳入了tasklet及为网络操作专门设计的软中断。18.什么是进程?计算机系统中为什么要引入进程?(1)进程定义:进程是可并发执行的程序在某个数据集合上的一次计算活动,也是操作系统进行资源分配和保护的基本单位(2)刻画系统的动态性,发挥系统的并发性,提高资源利用率。程序是并发执行的,即不是连续而是走走停停的。程序的并发执行引起资源共享和竞争问题,执行的程序不再处在封闭环境中。“程序”自身只是计算任务的指令和数据的描述,是静态概念无法刻画程序的并发特性,系统需要寻找一个能描述程序动态执行过程的概念,这就是进程。它能解决系统的“共享性”,正确描述程序的执行状态。程序与程序的执行不再一一对应19.进程有哪些主要属性?试解释之•共享性:同一程序同时运行于不同数据集合上时构成不同进程,即多个不同进程可执行相同的程序,所以进程和程序不是一一对应的。•动态性:进程是程序在数据集合上的一次执行过程,是动态概念,同时它有生命周期,由创建而产生、由调度而执行、由事件而等待、由撤销而消亡;而程序是一组有序指令序列,是静态概念,所以程序作为系统中的一种资源是永远存在的•独立性:每个进程是操作系统中的一个独立实体,有自己的虚存空间,程序计数器和内部状态;•制约性:进程因共享进程资源或协同工作产生相互制约关系,造成进程执行速度的不可预测,必须对进程的执行次序或相对执行速度加以协调;•并发性:多个进程的执行在时间上可以重叠,在单处理器系统中可并发执行;在多处理器环境中可并发执行。因此,并发的执行是可被打断的,或者说,进程执行完一条指令后在执行下一条指令前可能被迫让出处理器,由其它若干个进程执行若干条指令后才能再次获得处理器执行。20.进程最基本的状态有哪些?哪些事件可能引起不同状态间的转换?运行态、就绪态、等待态(1)运行态-等待态:运行进程等待使用某种资源或者某事件发生(2)等待态-就绪态:所需资源得到满足或某事件已经完成(3)运行态-就绪态:运行时间片到时或出现更高优先级的进程,当前进程被迫让出处理器。(4)就绪态-运行态:当CPU空闲时,调度程序选中一个就绪进行执行21.五态模型的进程中,新建态和终止态的主要作用是什么?新建态:对应于进程被创建时的状态,进程尚未进入就绪队列,对于进程管理非常有用。终止态:进程完成任务到达正常结束点或者因错误而终止,或被操作系统及有终止权的进程时所处的状态。进入终止态程序不再执行,等待操作系统进行善后处理。24.什么是进程的挂起状态?列出挂起进程的主要特征。(1)为了让某些进程暂时不参与低级调度,释放它占有的资源,将其置于磁盘对换区中,以平滑系统负荷的目的而需引入挂起态;(2)特征:•该进程不能立即被执行。•挂起进程可能会等待事件,但所等待事件是独立于挂起条件的,事件结束并不能导致进程具备执行条件。•进程进入挂起状态是由于操作系统、父进程或进程本身阻止它的运行。•结束进程挂起状态的命令只能通过操作系统或父进程发出25.试述组成进程的基本要素,并说明其作用。控制块:存储进程的标志信息,现场信息和控制信息;程序块:规定进程的一次运行所应完成的功能;核心块:用来保护中断/异常现场,保存函数调用的参数和返回地址;数据块:存放各种私有数据26.何谓进程控制块(PCB)?它包含哪些基本信息?(1)进程控制块PCB,是操作系统用于记录和刻划进程状态及有关信息的数据结构。也是操作系统掌握进程的唯一资料结构,它包括进程执行时的情况,以及进程让出处理器后所处的状态、断点等信息。(2)进程控制块包含三类信息标识信息现场信息控制信息28.请列举组织进程队列的各种方法通用队列组织方式:线性方式链接方式索引方式30.什么是进程上下文?简述其主要内容操作系统中把进程物理实体和支持进程运行的环境合称为进程上下文。当系统调度新进程占有处理器时,新老进程随之发生上下文切换。进程的运行被认为是上下文中执行。进程上下文组成•用户级上下文•系统级上下文•寄存器上下文31.什么是进程切换?试述进程切换的主要步骤(1)进程切换是让处于运行态的进程中断运行,让出处理器,这时要做一次进程上下文切换、即保存老进程状态而装入被保护了的新进程的状态,以便新进程运行(2)保存被中断进程的处理器现场信息修改被中断进程的进程控制块有关信息,如进程状态等把被中断进程的PCB加入有关队列选择下一个占有处理器运行的进程修改被选中进程的PCB的有关信息根据被选中进程设置操作系统用到的地址转换和存储保护信息根据被选中进程恢复处理器现场32.什么是模式切换?它与进程切换之间有何区别?模式切换即CPU模式切换,是从用户态到核心态或者核心态到用户态的转换是CPU模式切换,此时仍然在同一个进程中运行。模式切换不同于进程切换,它不一定会引起进程状态的转换,也不一定会引起进程切换,在完成系统调度服务或中断处理之后,可通过逆向模式来恢复被中断进程的运行。35.在操作系统引入进程概念后,为什么还有引入线程的概念?操作系统中再引入线程,则是为了减少程序并发执行时所付出的时空开销,使得并发粒度更细、并发性更好。38.试从调度、并发性、拥有资源和系统开销等四个方面对传统进程和多线程进程进行比较。40.试对下列系统任务进行比较:(1)创建一个线程和创建一个进程(2)两个进程间通信与同一进程中的两个线程间通信(3)同一进程中的两个线程的上下文切换和不同进程中两个线程的上下文切换。43.列举线程的组织方式和应用场合。答:线程组织方式:(1)调度员/工作者方式(2)组模式(3)流水线模式应用场合:(1)前台和后台工作(2)C/S应用模式(3)异步处理(4)加快执行速度(5)设计用户接口45.试分析Linux系统的进程和线程。进程描述符task_struct中包含:进程标识、链接信息、调度信息、文件信息、虚存空间信息、信号处理信息等。Linux中认为线程就是共享地址空间及其他资源的进程,故并没有单独为线程定义数据结构,有一套在用户模式下运行的线程库-pthread,但每个线程都拥有惟一隶属于自己的task_struct48.处理器调度分为哪几种类型?简述各种调度的主要任务。答:(1)高级调度:在多道处理操作系统中,从输入系统的一批作业中按照预定的调度策略挑选若干个作业进入主存,为其分配所需资源,并创建作业的相应用户进程后便完成启动阶段的高级调度任务;(2)中级调度:根据主存资源决定主存中所能容纳的进程数目,并根据进程的当前状态来决定辅助存储器和主存中的进程的对换;(3)低级调度:根据某种原则决定就绪队列中的哪个进程或内核级线程获得处理器,并将处理器让出给它使用。49.试述衡量一个处理器调度算法优劣的主要任务。根据调度机制的三个逻辑功能程序模块组成来评判:(1)队列管理程序(2)上下文切换程序(3)分派程序52.解释:(1)作业周转时间;(2)作业带权周转时间;(3)相应时间;(4)吞吐率。答:(1)作业周转时间:批处理用户从系统提交作业开始,到作业完成为止的时间间隔;(2)作业带权周转时间:在操作系统中,带权周转时间反映作业(或进程)长短问题,带权周转时间越大,作业(或进程)越短;带权周转时间越小,作业(或进程)越长。(3)响应时间:从交互式进程提交一个请求至得到响应之间的时间间隔称为响应时间。(4)吞吐率:单位时间CPU处理作业的个数。53.试述作业、进程、线程和程序之间的关系。进程是操作系统结构的基础;是一个正在执行的程序;计算机中正在运行的程序实例;可以分配给处理器并由处理器执行的一个实体;由单一顺序的执行显示,一个当前状态和一组相关的系统资源所描述的活动单元。线程(thread,台湾称执行绪)是进程中某个单一顺序的控制流。也被称为轻量进程(lightweightprocesses)。计算机科学术语,指运行中的程序的调度单位。作业:用户在一次运算过程中,或一次事务处理中要求计算机所做的全部工作的总和。进程是在自身的虚拟地址空间正在运行的一个程序程序运行产生进程程序是一组静态的指令集,不占用系统运行资源进程是随时都可能发生变化的,动态的。占用系统运行资源的程序一个程序可以产生多个进程作业嘛,是一个或多个正在执行的相关进程。一般来讲当进程与作业控制相关联时才被称为

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功