操作系统原理-第二章 用户界面
- 格式:docx
- 大小:46.96 KB
- 文档页数:6
第二章用户界面2.1 知识点汇总1、作业及作业步图2-1 作业及作业步2、系统调用:用户程序中对操作系统的调用称为系统调用。
使用户程序通过简单的调用,来实现一些硬件相关,应用无关的工作,从而简化了用户程序。
独立程序:不需要操作系统帮助的程序(包括程序的启动和结束)非独立程序:需要操作系统帮助的程序图2-2 系统调用的执行过程系统调用的特点:(1)系统调用指令是由硬件决定的(即:CPU中的中断向量表)。
CPU的指令集中都有一条系统调用指令,又称访管指令但系统调用具体实现的功能由操作系统决定(即:操作系统中的,系统调用分支表,及系统调用代码)。
因此:同一种计算机上的不同操作系统,系统调用指令是相同的。
同一操作系统,在不同的计算机上,系统调用指令是不同的。
(2)系统调用是动态连接的静态连接:程序在编译时,将被调用的程序嵌入到自身中。
如:库函数调用动态连接:程序在执行的过程中,执行到调用指令时,才连接到被调用的程序并执行。
如:动态连接库(dynamic link library,DLL),系统调用。
由于操作系统是动态连接的,所以,缩短了用户程序,使用户程序和操作系统提供的系统调用功能相互独立。
(3)系统调用的调用地址和返回地址不是固定的。
系统调用的地址,由系统启动装载操作系统时,存放系统调用代码的位置决定,每次开机都可能存放在不同的位置上。
返回地址,由用户程序中系统调用指令的位置决定。
(4)安全接口在执行系统调用和从系统调用中返回时,要分别保存和恢复程序状态字PSW,并设置PSW中的系统态/用户态标志位,进行系统态和用户态的切换。
执行系统调用时,进入系统态。
从系统调用中返回用户程序时,进入用户态。
状态切换的目的:某些特权指令只能在系统态下执行。
一些地址,只能在系统态下访问。
从而限制了用户程序不能随意地进入操作系统区域,读写操作系统的内部代码,也限制了用户程序不能随意进入其它用户程序的区域。
中断:是指计算机在执行程序的过程中,当遇到需要立即处理的事件时,立即暂停当前正在运行的程序,转去执行有关服务程序,处理完后自动返回原程序。
第二章用户界面2.1 知识点汇总1、作业及作业步图2-1 作业及作业步2、系统调用:用户程序中对操作系统的调用称为系统调用。
使用户程序通过简单的调用,来实现一些硬件相关,应用无关的工作,从而简化了用户程序。
独立程序:不需要操作系统帮助的程序(包括程序的启动和结束)非独立程序:需要操作系统帮助的程序图2-2 系统调用的执行过程系统调用的特点:(1)系统调用指令是由硬件决定的(即:CPU中的中断向量表)。
CPU的指令集中都有一条系统调用指令,又称访管指令但系统调用具体实现的功能由操作系统决定(即:操作系统中的,系统调用分支表,及系统调用代码)。
因此:同一种计算机上的不同操作系统,系统调用指令是相同的。
同一操作系统,在不同的计算机上,系统调用指令是不同的。
(2)系统调用是动态连接的静态连接:程序在编译时,将被调用的程序嵌入到自身中。
如:库函数调用动态连接:程序在执行的过程中,执行到调用指令时,才连接到被调用的程序并执行。
如:动态连接库(dynamic link library,DLL),系统调用。
由于操作系统是动态连接的,所以,缩短了用户程序,使用户程序和操作系统提供的系统调用功能相互独立。
(3)系统调用的调用地址和返回地址不是固定的。
系统调用的地址,由系统启动装载操作系统时,存放系统调用代码的位置决定,每次开机都可能存放在不同的位置上。
返回地址,由用户程序中系统调用指令的位置决定。
(4)安全接口在执行系统调用和从系统调用中返回时,要分别保存和恢复程序状态字PSW,并设置PSW中的系统态/用户态标志位,进行系统态和用户态的切换。
执行系统调用时,进入系统态。
从系统调用中返回用户程序时,进入用户态。
状态切换的目的:某些特权指令只能在系统态下执行。
一些地址,只能在系统态下访问。
从而限制了用户程序不能随意地进入操作系统区域,读写操作系统的内部代码,也限制了用户程序不能随意进入其它用户程序的区域。
中断:是指计算机在执行程序的过程中,当遇到需要立即处理的事件时,立即暂停当前正在运行的程序,转去执行有关服务程序,处理完后自动返回原程序。
发生中断的原因:系统调用,程序异常,IO事件完成,时间片结束,等等。
可以归结为两大方面,一任务间切换的时候发生中断,二由用户态进入系统态时发生中断。
中断的执行过程:保存现场,将PSW等现场信息放入堆栈中,然后转去相应的中断处理程序。
中断结束返回时,恢复现场,从堆栈中取出PSW等现场信息。
继续执行原程序。
2.2 例题解析【例2.2.1】操作系统向用户提供了哪几类接口?答:操作系统向用户提供了两类接口:一类是命令接口,另一类是程序接口。
用户利用命令接口提供的操作命令来组织和控制作业的执行,按命令接口对作业控制方式不同,又可以将命令接口分为联机命令接口和脱机命令接口;用户还可以利用程序接口提供的一组系统调用来请求并获得操作系统服务,程序接口在用户编制程序的时候使用。
今年来,为了方便用户的使用,又出现了图形接口。
【例2.2.2】试说明作业和进程的状态,并说明引起状态转换的典型原因。
答:作业的状态有提交状态、后备状态、运行状态和完成状态。
当一个作业还未进入算机系统内之前,用户正在向系统提交作业时所处的状态叫做提交状态。
送入计算机并由操作系统将其存放在磁盘上以后,系统为这个作业建立一个作业控制块,并把它插入到后备队列中等待调度运行。
此时,这个作业所处的状态称为后备状态。
当这个作业被作业调度程序选中,并为它分配了必要的资源,建立了一组相应的进程之后,这个作业就由后备状态变为运行状态。
进程有三种状态:就绪状态、执行状态和阻塞状态。
刚建立的进程处于就绪状态;就绪状态的进程被进程调度程序选中,获得处理机运行,此时的状态称为执行状态;对于执行状态的进程,当它使用完分配给它的时间或被更高优先权的进程剥夺处理机后,又回到就绪状态,等待下次调度;进程在执行中若发生了某些事件而暂时无法执行下去,如有输入输出请求并等待输入输出完成,则进入阻塞状态;当引起进程阻塞的事件消失时,如输入输出完成,进程由阻塞状态变为就绪状态,重新获得被调度的资格。
当作业正常运行结束或因发生错误而异常结束时,作业进入完成状态。
此时,由操作系统将作业控制块从当前作业队列中删除,并收回其所占用的资源。
【例2.2.3】作业和进程有什么区别和联系?答:作业通常是指用户在一次计算过程中或者一次事物处理过程中要求计算机系统所作的工作的集合,包括用户程序、所需的数据及命令等。
进程是具有独立功能的可并发执行的程序在一个数据集合上的运行过程,是系统进行资源分配和调度的独立单位。
作业和进程之间的区别和联系如下:1、作业是用户向计算机提交的任务实体,而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。
2、一个作业可以由多个进程组成,且一个作业至少由一个进程组成。
3、作业的概念主要用在批处理系统中,而进程的概念则用在所有的多道程序系统中。
2.3习题2.3.1 选择题1.操作系统提供给程序员的接口是( )A 进程B 系统调用C 库函数D 系统调用和库函数2. 用户在程序中试图读某文件的第100个逻辑块,使用操作系统的()接口A 系统调用B 图形用户接口C 原语D 键盘命令3.在下列语言中属于脱机作业控制语言的是()A 作业控制语言B 汇编语言C 会话式程序设计语言D解释BASIC4.用户使用操作系统通常有三种手段,它们是终端命令,系统调用命令和()A 计算机高级命令B 宏命令C 作业控制语言D 汇编语言5.用户要在程序一级获得系统帮助,必须通过()。
A.进程调度B.作业调度C.键盘命令 D .系统调用6.用户的应用程序和应用系统是通过( )提供的支持和服务来使用系统资源完成其操作的。
A 点击鼠标B 键盘命令C 系统调用D 图形用户界面7. 用户可以通过()两种方式来使用计算机。
A 命令方式和函数方式B 命令方式和系统调用方式C 命令方式和文件管理方式D 设备管理方式和系统调用方式8.系统调用的目的是()。
A. 请求系统服务B. 终止系统服务C. 申请系统资源D. 释放系统资源9. 系统调用是由操作系统提供的内部调用,它()。
A. 直接通过键盘交互方式使用B. 只能通过用户程序间接使用C. 是命令接口中的命令使用D. 与系统的命令一样10.操作系统内核与用户程序、应用程序之间的接口是()。
A. shell 命令B. 图形界面C. 系统调用D. C 语言函数11.当CPU执行操作系统代码时,称处理机处于()。
A 执行态B 目态C 管态D 就绪态12.为了便于用户直接或间接地控制自己的作业,操作系统向用户提供了命令接口,该接口又可进一步分为()。
A 联机用户接口和脱机用户接口B 程序接口和图形接口C 联机用户接口和程序接口D 脱机用户接口和图形接口2.3.2 填空题1. 用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合称为_____。
2.所谓系统调用,就是用户在程序中调用______所提供的一些子功能。
2.2.3 简答题1. 脱机命令接口和联机命令接口有什么不同?2.处理机为什么要区分核心态和用户态两种操作方式?什么情况下进行两种方式的转换?3.简述系统调用与过程调用有什么相同和不同点。
4. 区别概念:操作命令与系统调用5. 简述系统调用的实现过程6. 命令接口和图形用户接口分别有什么优缺点?7. 何谓脱机I/O和联机I/O?2.4 习题解答要点2.4.1 选择题1.B2. A3. A4. C5.D6. C7.B8. A9. B 10.C 11.C 12.A2.4.2 填空题1. 作业2.操作系统2.4.3 简答题1.脱机命令接口是OS提供给批处理作业用户的作业控制语言。
批处理用户不能直接与自己的运行作业进行交互,只能向系统提供用作业控制语言编写的作业说明书,并委托系统按作业说明书中的作业控制命令,来对它们的作业进行控制和管理联机命令接口则不要求用户填写作业说明书,此时,系统将向用户一组键盘命令或其他操作方式的命令,用户可通过这些命令来交互地控制自己程序的运行,并获得操作系统的服务。
2. 为了保护操作系统不受破坏,通常将CPU的执行方式分为两种:核心态和用户态。
在核心态,允许执行CPU的指令全集,而在用户态,只能执行非特权指令,从而使系统得到保护。
当用户希望得到操作系统服务时,使用系统调用命令。
这样,当CPU执行到系统调用时,CPU的执行方式就由用户态变为核心态,执行用户希望的服务。
完成服务后,在返回用户程序之前,CPU的执行状态再变为用户态,继续执行用户程序。
3. 相同点:执行都改变指令的流程;都可以重复执行和共享调用;允许嵌套调用。
区别:(1)运行在不同的系统状态。
一般过程调用,其调用程序和被调用程序都运行在相同的状态:核心态或用户态。
系统调用中,调用程序运行在用户态,被调用程序运行在核心态。
用户态向核心态转变时,通过陷入指令实现。
(2)进入方式不同。
一般的过程调用不涉及系统状态的转换,由调用程序直接通过调用语句转向调用过程。
系统调用,调用和被调用过程在不同系统状态,不允许由调用过程直接转向被调用过程,必须通过软中断机制先由用户态转换为核心态。
(3)返回问题一般过程调用在被调用过程执行完后,将直接返回到调用过程继续执行;系统调用,如果系统采用抢占调度方式,则在被调用过程执行完后,必须先对系统中所有要求运行的进程做优先分析。
只有当调用进程仍具有最高优先权时,才返回到调用进程继续执行;否则,将引起重新调度。
4. 操作命令是提供给普通用户使用的与操作系统的接口方式,其目的是便于用户利用利用这种接口方式组织和控制作业的执行。
系统调用是操作系统向编程人员提供的请求操作系统服务和使用设备时的一种接口。
操作系统调用命令对应操作系统提供服务的一些子程序。
用户通过这些称为特殊指令的命令来调用这些子程序,已取得操作系统的服务。
5.系统调用是操作系统提供给软件开发人员的惟一接口,开发人员可利用它使用系统功能。
OS核心中都由一组实现系统功能的过程(子程序),系统调用是对上述过程的调用。
因此,系统调用直观上像一个黑箱子,对用户屏蔽操作系统的具体动作而只提供有关的功能。
为了实现系统调用,系统设计人员还必须为实现各种系统调用功能的子程序编造入口地址表,每个入口都与相应的系统子程序名对应起来。
然后,由陷阱处理程序把陷进指令中所包含的功能号与该入口地址表中的有关项对应起来,从而有系统调用功能号驱动有关系统子程序执行。
由于在系统调用处理结束后,用户程序还需利用系统调用的返回结果继续执行,因此,在进入系统调用处理前,陷阱处理机构还需保存处理机现场。
再者,在系统调用处理结束后,陷阱处理机构还要恢复处理机现场。
在操作系统中,处理机的现场一般被保护在特定的内存区或寄存器中。