文档库 最新最全的文档下载
当前位置:文档库 › 操作系统原理-第二章预习与思考题

操作系统原理-第二章预习与思考题

第二章 用户界面

** 知识点汇总

1、 作业及作业步

图2-1 作业及作业步

2、系统调用:用户程序中对操作系统的调用称为系统调用。使用户程序通过简单的调用,来实现一些硬件相关,应用无关的工作,从而简化了用户程序。

独立程序:不需要操作系统帮助的程序(包括程序的启动和结束) 非独立程序:需要操作系统帮助的程序

图2-2 系统调用的执行过程

系统调用的特点:

(1)系统调用指令是由硬件决定的(即:CPU 中的中断向量表)。

CPU的指令集中都有一条系统调用指令,又称访管指令 但系统调用具体实现的功能由操作系统决定(即:操作系统中的,系统调用分支表,及系统调用代码)。

……

……

…… INT (系统调用) …… ……

……

中断向量表 硬件 功能号:地址 系统调…… …… …… …… …… …… 系统调中

用户态(目态) 系统态(管态)

因此:同一种计算机上的不同操作系统,系统调用指令是相同的。同一操作系统,在不同的计算机上,系统调用指令是不同的。

(2)系统调用是动态连接的

静态连接:程序在编译时,将被调用的程序嵌入到自身中。如:库函数调用

动态连接:程序在执行的过程中,执行到调用指令时,才连接到被调用的程序并执行。如:动态连接库(dynamic link library,DLL),系统调用。

由于操作系统是动态连接的,所以,缩短了用户程序,使用户程序和操作系统提供的系统调用功能相互独立。

(3)系统调用的调用地址和返回地址不是固定的。

系统调用的地址,由系统启动装载操作系统时,存放系统调用代码的位置决定,每次开机都可能存放在不同的位置上。

返回地址,由用户程序中系统调用指令的位置决定。

(4)安全接口

在执行系统调用和从系统调用中返回时,要分别保存和恢复程序状态字PSW,并设置PSW中的系统态/用户态标志位,进行系统态和用户态的切换。

执行系统调用时,进入系统态。从系统调用中返回用户程序时,进入用户态。

状态切换的目的:某些特权指令只能在系统态下执行。一些地址,只能在系统态下访问。从而限制了用户程序不能随意地进入操作系统区域,读写操作系统的内部代码,也限制了用户程序不能随意进入其它用户程序的区域。

中断:是指计算机在执行程序的过程中,当遇到需要立即处理的事件时,立即暂停当前正在运行的程序,转去执行有关服务程序,处理完后自动返回原程序。

发生中断的原因:系统调用,程序异常,IO事件完成,时间片结束,等等。可以归结为两大方面,一任务间切换的时候发生中断,二由用户态进入系统态时发生中断。

中断的执行过程:保存现场,将PSW等现场信息放入堆栈中,然后转去相应的中断处理程序。中断结束返回时,恢复现场,从堆栈中取出PSW等现场信息。继续执行原程序。

** 例题解析

【例2.2.1】操作系统向用户提供了哪几类接口?

答:操作系统向用户提供了两类接口:一类是命令接口,另一类是程序接口。用户利用命令接口提供的操作命令来组织和控制作业的执行,按命令接口对作业控制方式不同,又可以将命令接口分为联机命令接口和脱机命令接口;用户还可以利用程序接口提供的一组系统调用来请求并获得操作系统服务,程序接口在用户编制程序的时候使用。今年来,为了方便用户的使用,又出现了图形接口。

【例2.2.2】试说明作业和进程的状态,并说明引起状态转换的典型原因。

答:作业的状态有提交状态、后备状态、运行状态和完成状态。

当一个作业还未进入算机系统内之前,用户正在向系统提交作业时所处的状态叫做提交状态。送入计算机并由操作系统将其存放在磁盘上以后,系统为这个作业建立一个作业控制块,并把它插入到后备队列中等待调度运行。此时,这个作业所处的状态称为后备状态。

当这个作业被作业调度程序选中,并为它分配了必要的资源,建立了一组相应的进程之后,这个作业就由后备状态变为运行状态。

进程有三种状态:就绪状态、执行状态和阻塞状态。刚建立的进程处于就绪状态;就绪状态的进程被进程调度程序选中,获得处理机运行,此时的状态称为执行状态;对于执行状态的进程,当它使用完分配给它的时间或被更高优先权的进程剥夺处理机后,又回到就绪状态,等待下次调度;进程在执行中若发生了某些事件而暂时无法执行下去,如有输入输出请求并等待输入输出完成,则进入阻塞状态;当引起进程阻塞的事件消失时,如输入输出完成,进程由阻塞状态变为就绪状态,重新获得被调度的资格。

当作业正常运行结束或因发生错误而异常结束时,作业进入完成状态。此时,由操作系统将作业控制块从当前作业队列中删除,并收回其所占用的资源。

【例2.2.3】作业和进程有什么区别和联系?

答:作业通常是指用户在一次计算过程中或者一次事物处理过程中要求计算机系统所作的工作的集合,包括用户程序、所需的数据及命令等。进程是具有独立功能的可并发执行的程序在一个数据集合上的运行过程,是系统进行资源分配和调度的独立单位。作业和进程之间的区别和联系如下:

1、作业是用户向计算机提交的任务实体,而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。

2、一个作业可以由多个进程组成,且一个作业至少由一个进程组成。

3、作业的概念主要用在批处理系统中,而进程的概念则用在所有的多道程序系统中。

第二章预习与思考题

1、JCB的概念、组成与作用

2、SPOOLING的工作原理与作用

3、系统调用的原理与作用

相关文档
相关文档 最新文档