第二章操作系统奇数资料讲解.docx

上传人:b****6 文档编号:6285880 上传时间:2023-01-05 格式:DOCX 页数:25 大小:376.46KB
下载 相关 举报
第二章操作系统奇数资料讲解.docx_第1页
第1页 / 共25页
第二章操作系统奇数资料讲解.docx_第2页
第2页 / 共25页
第二章操作系统奇数资料讲解.docx_第3页
第3页 / 共25页
第二章操作系统奇数资料讲解.docx_第4页
第4页 / 共25页
第二章操作系统奇数资料讲解.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

第二章操作系统奇数资料讲解.docx

《第二章操作系统奇数资料讲解.docx》由会员分享,可在线阅读,更多相关《第二章操作系统奇数资料讲解.docx(25页珍藏版)》请在冰豆网上搜索。

第二章操作系统奇数资料讲解.docx

第二章操作系统奇数资料讲解

1、什么是PSW?

其主要作用是什么?

   答案:

PSW是指程序状态字。

PSW的作用是用来指示处理器状态,控制指令的执行顺序,并且保留和指示与运行程序有关的各种信息,主要作用是实现程序状态的保护和恢复。

每个正在执行的程序都有一个与其当前状态相关的相关的PSW,而每个处理器都设置一个硬件PSW寄存器,一个程序占用处理器执行时,其PSW将占用硬件的PSW寄存器。

3、为什么现代计算机要设置两种或多种CPU状态?

   答案:

为了确定处理器当前是操作系统还是应用程序在其上运行,在不同的程序时根据执行程序对资源和机器指令的使用权限将处理器设置成不同的状态。

5、为什么要把机器指令分成特权指令和非特权指令?

答案:

这是因为应用程序在执行有关资源管理的机器指令时易于导致系统混乱,造成系统或用户信息被破坏,因此,再多到程序设计环境中,从资源管理和多道程序执行的角度出发,必须把指令系统中的指令分为两种:

特权指令和非特权指令。

7、从中断事件的性质来说,可以把它们分成哪些类型?

答案:

可以分为两类:

强迫性中断和自愿性中断,其中强迫性中断又分为:

1、机器故障中断,2、程序性中断3、外部中断4、输入输出中断

9、从中断事件的实现来说,可以把它们分成哪些类型?

答案:

分为硬中断和软中断,其中硬中断包括外中断和内中断,软中断是信号和软件中断。

11、概述程序性中断的处理方式?

答案:

程序性中断常出现几种错误,如果是语法错误,程序将在编译时报错,如果逻辑错误,可有测试发现错误并报错,如果运行中产生异常,操作系统会立即执行这种中断并处理。

13、何谓中断的优先级?

为什么要对中断事件进行分级?

答案:

中断装置所预设的响应顺序称为中断的优先级。

因为中断是随时发生的,所以在不发生中断丢失的情况下把紧迫程度相当的中断源归为一类,紧迫程度差别大的中断源归为不同级别,级别高的中断有优先获得响应的权利,如果系统正在执行某种优先级的中断服务程序,那么只有更高优先权的中断请求才能中断此服务程序。

15、概述系统调用的执行过程?

答案:

系统调用把应用程序的请求传送至内核,调用相应的内核函数完成所需的处理。

将结果返回相应的程序。

17、试述时钟中断在操作系统中的重要性及其主要作用?

答案:

时钟是操作系统进行调度工作的重要工具,如维护系统的绝对时间和日期、让分时进程按时间片轮转、让实时进程定时发送或接收控制信号、系统定是唤醒或阻塞进程、对用户进程记账、测量系统性能等,利用定时器能够确保操作系统在必要时获得控制权,陷入死循环的进程最终会因时间片耗尽而终止被迫让出处理器。

19、操作系统如何处理多重中断事件?

答案:

对于多重中断,可能是同一优先级的不同

中断,也可能是不同优先级的中断。

如果是前者,通常由同一个中断处理程序按自左至右的顺序逐个处理并清除,对于后者可分为串行处理,嵌套处理,即时处理。

21,按中断事件的来源和实现手段可将中断划分为硬中断和软中断两类。

硬中断可划分为外中断和内中断;软中断可划分为信号和软件中断。

硬中断与软中断的类比:

11.“中断”(硬中断)用于外部设备对CPU的中断(中断正在运行的任何程序),转向中断处理程序执行。

12.“异常”(硬中断)因指令执行不正常而中断CPU(中断正在执行的这条指令的程序),转向异常处理程序执行。

13.“软件中断”(软中断)用于硬中断服务程序对内核的中断,在上半部分中发出软件中断(即标记下半部分),使得中断下半部分在适当时刻获得处理。

14.“信号”(软中断)用于内核或进程对某个进程的中断,向进程通知某个特别事件发生或迫使进程执行信号处理程序。

5.每个处理器都有一个中断请求级别设置,其值随着内核代码的执行而改变,运行于核心态的线程可以提高或降低正在运行处理器的优先级,从而屏蔽低级中断。

Dispatch/DPC和APC中断是内核和设备驱动程序所产生的软件中断,优先级为2和1,他们启动线程调度、延迟过程调用和异步过程调用的执行;普通线程运行于0级,允许发生所有级别的中断。

当发生中断的时,陷阱调度程序讲提高处理器优先级别至中断源所具有的优先级别上,保证服务于此中断的处理器不被同级别或低级的中断抢先,被屏蔽的中断将被另一处理器响应,或被阻拦直至优先级降低到相对应的优先级以下时才能被处理。

由于改变处理器的优先级别非常重要,故处理器的优先级只能在核心态改变。

从而win2003动态实现了中断屏蔽功能。

3.APC:

AsynchronousProcedureCall,异步过程调用,用于中断一个特定程序和执行,为应用程序和系统代码提供一种在特殊线程描述表中执行代码的方法。

等待执行的APC在内核管理的APC队列中,是特定于线程而言的。

27.Linux中,处理快中断仅保存那些被常规C函数修改的寄存器,会屏蔽其他中断。

快中断处理完毕后,通常会恢复现场,返回被中断的进程继续执行,属于非抢占式调度。

而处理慢中断之前需保存所有寄存器的内容,通常不屏蔽其他中断信号,慢中断处理完毕后,通常不返回被中断的进程,而是转向调度程序重新进行调度,调度结果未必是被中断的进程继续执行,属于抢占式调度。

而且慢中断的工作比较多。

28.Linux中断下半部分处理的原理:

提供静态创建的下半部分处理的数据结构,建立一个函数指针数组,采用数组索引的方式访问,最多有32个不同的下半部分处理函数。

 

31.讨论Linux的bottomhalf、taskqueue、tasklet、workqueue和softirq机制。

Bottomhalf,提供静态创建的下半部分处理的数据结构,建立一个函数指针数组,采用数组索引的方式访问,最多有32个不同的下半部分处理函数。

HB机制存在两方面的局限性:

(1)下半部分处理函数的数量限制为32个,且每个HB上只能挂接一个函数,随着系统设备的增多,HB的应用范围越来越广,这个数目还不够用。

(2)每个HB在全局范围内同步,即使属于不同的处理器,也不允许任何两个HB同时执行,这种机制使用方便但不够灵活,安全简单但尚存在性能瓶颈。

所以在开发V2.5内核版本时,HB接口最终被抛弃。

Taskqueue,进一步的改进方法是引入任务队列(taskqueue)机制,实现对各种任务的延迟执行。

为此,内核定义一组队列,每个队列包含一个由等待调用的函数组成的链表,不同队列中的函数在某个时刻会被触发执行。

显然,任务队列不一定非要与中断处理有关,但是可以用它来代替HB,当驱动程序或内核相关部分要将任务排队进行延迟处理时,可将任务添加到相应的任务队列中,然后,采用适当的方式通知内核执行任务队列函数。

典型的下半部分处理均有相关联的任务队列,任务队列在Linux中的应用范围相当广泛,还在其他场合被使用。

任务队列与下半部分相比较,任务队列可以动态的定义和管理,而下半部分却由内核静态定义,且处理函数不能超过32种。

由于任务队列的灵活性较差,无法代替整个HB接口,也不能胜任像网络等性能要求较高的子系统,此系统已从V2.5版本中除去

Tasklet,(小任务)也是一种下半部分机制,能够更好地支持对称式多处理器,它基于软中断来实现,但比软中断的借口要简单,锁保护的要求低。

因为HB是全局串行处理,不适应多处理器对称系统,引入tasklet之后,不同的tasklet可同时运行于不同的CPU上。

当然由系统保证相同的tasklet不会同时在不同的CPU上运行。

在这种情形下,tasklet就无需是可重入的。

Workqueue,工作队列,与其他机制的工作原理都不同,它把一个任务延迟,并将其交给内核线程去完成,且此任务总是在进程上下文中执行。

这样,通过工作队列执行的代码能够占尽进程上下文的优势,最重要的是,工作队列允许重新调度和阻塞。

如果延迟执行的任务需要阻塞、需要获取信号量或需要获得大量的主存空间,那么可以选择工作队列,否则就使用tasklet或softirq。

Softriq,迄今,Linux沿用最早的HB思想,但在此机制上实现了庞大和复杂的软中断子系统——softriq,它既是一种软中断机制,又是一个框架,包括tasklet及为网络操作专门设计的软中断。

Tasklet允许动态注册,但softriq在编译时静态定义。

33.进程有哪些主要属性,试解释之。

(1)结构性

进程包含数据集合和运行于其上的程序,它至少有程序块、数据块和进程控制块等要素组成。

(2)共享性

同一程序同时运行于不同的数据集合上时,将构成不同的进程,即多个进程可以执行相同的程序,所以进程和程序不是一一对应的。

共享性还表现在进程之间可以共享某些公用变量,通过引用公用变量就能够交换信号,从而进程的运行环境不再是封闭的。

(3)动态性

进程是程序在数据集合上的一次执行过程,是动态的概念,同时,进程有生命周期,由创建而产生、由调度而执行、由事件而等待、由撤销而消亡;而程序是一组有序指令所组成的序列,是静态的概念,所以程序作为一种系统资源是永久存在的。

(4)独立性

进程是系统中资源分配、保护和调度的基本单位,说明它具有独立性,凡是未建立进程的程序,都不能作为独立单位参与调度和运行。

此外每个进程都可以有各自独立的、不可预知的速度在处理器上推进,即按照异步方式执行,这也表现出进程的独立性。

(5)制约性

并发进程之间存在着制约关系,造成进程执行速度的不可预测性,必须对进程的并发执行次序、相对执行速度加以协调。

(6)并发性

进程的执行可以在时间上有所重叠,在单处理器系统中可并发执行,在多处理器系统中可并发执行。

对于单处理器系统而言,m个进程轮流占用处理器并发地执行。

35.五态模型的进程中,新建态和终止态的主要作用是什么?

新建态的引用对于进程管理非常有用,新建态对应于进程被处理时的状态,进程尚未进入就绪队列,创建进程要通过两个步骤:

首先,为新进程分配所需资源,建立必要的管理信息;然后,设置此进程为就绪态,等待被调度执行。

终止态是指进程完成任务,到达正常结束点,或因出现无法到达的错误而异常终止,或被操作系统及又终止权的进程所终止时所处的状态。

处于终止状态的进程不再被调度执行,下一步将被系统撤销,最终从系统中消失。

类似的,进程终止也要通过两个步骤实现:

首先,等待操作系统或相关进程进行善后处理,然后,回收被占用的资源并由系统删除进程。

37.多数时间片轮转调度使用使用固定大小的时间片,请给出:

(1)选择小时间片的理由。

(2)选择大时间片的理由。

时间片长短的确定遵循这样的原则:

既要保证系统中各个用户进程及时地得到响应,又不要由于时间片太短而增加调度的开销,降低系统的效率。

(1)选择小时间片的理由是:

使轮转的总时间减少,是用户进程尽快得到应答。

(2)选择大时间片的理由是:

减少进程调度次数,提高系统效率。

39.什么情况下会产生挂起等待态和挂起就绪态?

试举例说明。

挂起就绪态表明进程具备运行条件,但目前在辅助存储器中,只有当进程被换到主存时才能调度执行;挂起等待态则表明进程正在等待某一事件发生且进程在辅助存储器中。

挂起进程等同于不在主存的进程,因此,挂起进程不会参与低级调度直到它们被对换进主存。

挂起进程具有以下特征:

此进程不能立即执行;此进程可能会等待某事件发生,所等待的事件独立于挂起事件,时间结束并不能导致进程具备可执行条件;此进程进入挂起状态是由于操作系统、父进程或进程自身阻止其运行;进程挂起状态的结束命令只能通过操作系统或父进程发出。

41

每个进程有且仅有一个进程控制块,或成进程描述符,它是进城存在的唯一标识,是操作系统用来记录和刻画进程状态及有关信息的数据结构,是进程动态特征的一种汇集,也是操作系统掌握进程的唯一资料结构和管理进程的主要依据。

进程控制块包括进程执行时的情况以及进程让出处理器之后所处的状态、断点等信息,一般来说包括三类信息,标识信息、现场信息和控制信息。

43

线性方式、链接方式、索引方式

45

进程上下文实际上是进程执行活动全过程的静态描述。

我们把已执行过的进程指令和数据在相关寄存器与堆栈中的内容称为上文,把正在执行的指令和数据在寄存器和堆栈中的内容称为正文,把待执行的指令和数据在寄存器与堆栈中的内容称为下文。

具体的说,进程上下文包括计算机系统中与执行该进程有关的各种寄存器(例如通用寄存器,程序计数器PC,程序状态字寄存器PS等)的值,程序段在经过编译过后形成的机器指令代码集,数据集及各种堆栈值PCB结构。

47

当发生中断或系统调用时,暂停正在运行的进程,把处理器状态从用户态切换到核心态,执行操作系统服务程序,这就是一次模式切换。

模式切换不同于进程切换,它不一定会引起进程状态的转换,在大多数情况下,也不一定引起进程切换,在完成系统调用服务或中断处理之后,可通过逆向模式切换来恢复被中断进程的运行。

49

进程运行结束:

进程执行非法指令:

进程在用户态执行特权指令:

进程的运行时间超过所分配的最大时间配额:

进程的等待时间超过所设定的最长等待时间:

进程所申请的主存空间超过系统所能提供的最大容量:

越界错误:

对共享主存区的非法使用:

算数错误:

I/O操作故障:

操作员或操作系统干预:

父进程撤销其子进程:

父进程撤销,其所有子进程被撤销:

操作系统终止,等等。

61.列举与线程状态变化有关的线程操作

线程的状态有运行,就绪和等待三态。

他的状态转换与进程类似。

当该进程被操作系统选中后,获得CPU,此时线程就会由就绪态转变为运行态;

当处于运行状态的线程在执行过程中要求系统服务或有另一个处于就绪态的线程,此时线程就会由运行态转变为等待态;

当被等待事件完成,此时线程就会由等待态转变为就绪态。

63.试述并发多线程程序设计的主要优点及其应用

多线程程序设计的主要优点是提高系统性能,具体体现在:

快速线程切换,节省主存空间,减少管理开销,通信易于实现,并发程度提高。

多线程技术应用包括:

前台和后台工作,客户—服务器应用模式,任务异步处理,用户界面设计等。

65.试述Linux的进程和线程

Linux认为线程就是共享地址空间及其他资源的进程,有一套在用户模式下运行的线程库pthread;同时Linux支持内核线程,这类线程周期性地被唤醒和调用,可以被调度或抢占,主要用于实现系统后台操作。

Linux系统启动时,最先产生idle进程,此进程会创建一个内核线程来执行初始化工作,结果是处理器的运行模式由核心态切换至用户态。

内核线程演变成用户进程init,一切用户进程都是他的后代进程。

创建每个进程时,要为其创建新的进程描述符结构体。

67.试述Windows2003中的进程和线程概念

Windows2003中进程是资源的容器,容纳所分配到的各种资源。

线程是可以呗被内核调度的执行实体,他可以被中断,使CPU转向另一个线程执行。

77解释:

(1)作业周转时间;

(2)作业带权周转时间;

(3)响应时间;

(4)吞吐率.

答:

(1)作业周转时间:

批处理用户从向系统提交作业开始,到作业完成为止的时间间隔称为作业周转时间.包括:

作业在后备队伍中等待的时间、相应的进程进入主存之后在就绪队列中等待的时间、进程在CPU上执行的时间和等待事件发生的时间。

(2)作业带权周转时间:

如果作业i的周转时间为t,所需运行时间为T,则称w=t/T为此作业的带权周转时间。

(3)响应时间:

从交互式进程提交一个请求至得到响应之间的时间间隔称为响应时间。

包括:

所输入的请求命令传送到CPU的时间、CPU处理这一请求命令的时间和处理所形成的响应回送到终端显示器的时间。

(4)吞吐率:

单位时间内CPU处理作业的个数。

79什么是JCB?

列举其主要内容和作用。

答:

JCB:

JobControlBlock作业控制块;为了有效地管理作业,必须像进程管理那样为进入系统的每个作业建立一个作业控制块,所有JCB组成作业表。

JCB是在批处理进入系统时由SPOOLing和作业管理模块建立的,它是批处理作业存在于系统的标志,作业撤离时其JCB也被撤销。

81试述作业、作业步、作业流的概念。

答:

作业是用户提交给操作系统计算的一个独立任务;作业步是作业必须经过若干相对独立且相互关联的顺序加工步骤才能得到结果,每个加工步骤称为作业步;作业流是若干批处理作业进入系统并依次存放在磁盘上,在系统的控制下逐个取出执行便形成的。

83在时间片轮转低级调度算法中,根据哪些因素确定时间片的长短?

答:

确定时间片长度的因素有进程数目、切换开销、系统效率和响应时间。

93.试述linux2.4和linux2.6处理器调度算法

Linux2.4调度算法计算每个就绪队列的进程优先级,对优先级最高的进程运行。

Linux2.6调度算法采用O

(1)调度程序,调度程序选择优先级活跃数组中第一个被设置的位,优先级高的进入就绪进程队列,然后,选择此优先级链表中的表头进程。

内核实现基于动态优先级的调度算法,优先级高的先运行,低的后运行,相同的按轮转运行。

95.证明:

在非抢占式调度算法中,最短作业优先算法具有最小的平均等待时间。

反证:

若不是最短作业优先算法必有相邻两作业a、b,a的时间大于b的时间,交换a、b,则a的等待时间增加b,b的等待时间减少a,b小与a,与题设矛盾,故最短作业优先算法具有最小的平均等待时间。

97.在多级反馈队列中,对不同的队列分配大小不同的时间片值,其意义何在?

较高优先级分配较小的时间片值,较低优先级分配较大的时间片值,可减少调度次数。

能使优先级高的得到响应,使短作业快速完成。

而且综合了FCFS和短作业调度算法的优点。

克服了缺点。

(5)在操作系统中强调将机制与策略分离,请提出一种调度机制,允许父进程控制其子进程的调度策略。

1.下列指令中哪些只能在核心态运行?

(1)读时钟日期;

(2)访管指令;

(3)设时钟日期;

(4)加载PSW;

(5)置特殊寄存器:

(6)改变存储器映象图;

(7)启动I/O指令。

答:

题中

(1),

(2)为非特权指令,(3),(4),(5),(6),(7)为特权指令。

因为核心态可以执行所有指令,而用户态只能执行非特权指令,所以只能在核心态运行的指令为(3),(4),(5),(6),(7)。

3.并发进程之间有什么样的相互制约关系?

下列日常生活中的活动是属哪种制约关系:

(1)踢足球;

(2)吃自助餐;

(3)图书馆借书;

(4)电视机生产流水线工序。

答:

并发进程之间存在互斥和同步的相互制约关系。

其中进程互斥是指若干进程因相互争夺独占型资源而产生的竞争制约关系;进程同步是指为完成共同任务的并发进程基于某个条件来协调其活动,因为需要在某些位置上排定执行的先后次而等待、传递信号或消息所产生的协作制约关系。

题中进程

(1),

(2),(3)为互斥制约关系;

进程

(1)和(4),

(2)和(4),(3)和(4)为同步制约关系。

 

5.若后备作业队列中等待运行的同时有三个作业J1、J2、J3,已知它们各自的运行时间为a、b、c,且满足a

答:

①采样SJF算法进行作业调度,作业的调度顺序为J1,J2,J3则:

平均作业周转时间T1=1/3[a+(a+b)+(a+b+c)]=1/3(3a+2b+c)

②若不采用SJF算法进行作业调度,假设作业调度顺序为J2,J1,J3则:

平均作业周转时间T2=1/3[b+(a+b)+(b+a+c)]=1/3(3b+2a+c)

T1-T2=1/3(a-b)<0

所以采用最短作业优先算法调度能获得最小平均作业周转时间。

 

二、应用题

7.

1)采用先来先服务的调度算法

调度算法为:

job1job2job3job4job5

平均周转时间为:

(10+11+13+14+19)/5=13.5

平均带权周转时间为:

(10/10+11/1+13/2+14/1+19/5)/5=7.26

10s11s13s14s19JOBS

Job1

1

Job2

2Job3

3‘

Job4

4

5job5

 

TIMES

2)采用时间片轮转算法

我们设时间片为1,调度的顺序为:

job1job2job3job4job5,job1job3job5,job1job5,job1job5,job1job5,jib1,job1,job1,job1,job1。

平均周转时间为:

(19+2+7+4+14)/5=9.2

平均带权周转时间为:

(19/10+2/1+7/2+4/1+14/5)/5=2.85

1s

JOBS

1job1

2job2

3job3

4job4

5job5

 

TIMES

 

3)采用优先权调度算法:

调度算法为:

job2job5job3job1job4

平均周转时间为:

(18+1+8+19+6)/5=10.4

平均带权周转时间为:

(18/10+1/1+8/2+19/1+6/5)/5=5.6

 

job2job5job1job3JOBS

 

TIMES

4)时间最短法

调度算法为:

job2job4job3job5job1

平均周转时间为:

(19+1+4+2+9)/5=5

平均带权周转时间为:

(19/10+1/1+4/2+2/1+9/5)/5=1.74

job2job4job3job5job1JOBS

 

TIMES

9.

(6)当Q=

CPU的利用率为=T/(T+S)

2.当Q>T

CPU的利用率为=T/(T+S)

3.当S

CPU的利用率为=Q/(Q+S)

4.当Q=S

CPU的利用率为=50%

5.当

6.Q接近0

CPU的利用率为=0

15.有5个批处理作业A——E均已到达计算中心,其运行时间分别是2min、4min、6min、8min和10min;各自的优先级分别规定为1、2、3、4和5,其中5是最高级。

对于时间片轮转算法、优先数法、短作业优先算法、先来先服务调度算法(按照作业到达次序C、D、B、E、A),在忽略进程切换时间的前提下,计算出平均作业周转时间。

(对于时间片轮转算法,每个作业获得相同的2min长的时间片;对于其他算法采用单道运行方式,直到结束。

解:

(1)FCFS调度算法

执行次序执行时间等待时间周转时间带权周转时间

C6061

D86141.75

B414184.5

E1018282.8

A2283015

作业平均周转时间T=(6+14+18+28+30)/5=19.2

作业平均带权周转时间W=(1+1.75+4.5+2.8+15)/5=5.01

6.优先级调度算法

执行次序执行时间等待时间周转时间带权周转时间

E100101

C810182.25

D618244.5

B424287

A2283015

作业平均周转时间T=(10+18+24+28+30)/5=22

作业平均带权周转时间W=(1+2.25+4+7+15)/5=5.85

(3)时间片轮转法

执行次序执行时间等待时间周转时间带权周转时间

A2021

B48123

C614203.33

D818263.25

E1020303

作业平均周转时间T=(2+12+20+26+30)/5=18

作业

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学反思汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1