Download presentation
Presentation is loading. Please wait.
1
第2章 操作系统的用户界面 2.1 运行一个用户程序的过程 2.2 操作系统的用户界面 2.3 操作系统提供给用户程序的服务
第2章 操作系统的用户界面 2.1 运行一个用户程序的过程 2.2 操作系统的用户界面 2.3 操作系统提供给用户程序的服务 2.4 用户界面的发展 开 始
2
本章学习目标 操作命令:包括作业控制语言和键盘命令,这是用户操作计算机的方式 系统功能调用:这是用户程序对操作系统提供的服务的调用接口
操作命令:包括作业控制语言和键盘命令,这是用户操作计算机的方式 系统功能调用:这是用户程序对操作系统提供的服务的调用接口 系统功能调用的执行过程 返回本章首页
3
2.1 运行一个用户程序的过程 一、使用计算机来计算来运行用户程序有三个步骤:
2.1 运行一个用户程序的过程 一、使用计算机来计算来运行用户程序有三个步骤: (1)用某种语言(例如FORTRAN语言)编制一个程序,它被称为源程序。 (2)将源程序和初始数据记录在某种输入介质上。例如穿成一盘纸带,或在终端设备(包括键盘、显示器)上直接编辑源程序。 (3)按照一定要求来控制计算机工作,并经过加工最后算出结果。 返回本章首页
4
二、对作业的处理的几个作业步 (1)编辑(修改):建立新文件或是对原有文件进行修改。
(2)编译:请求系统把修改好的源程序翻译成浮动目标模块,并将它放在磁盘上,也可以穿孔输出或二者有之。 (3)链接:请求系统把主程序模块和其他所需要的子程序和例行程序链接装配在一起,成为一个可执行的完整的内存映像文件。 下一页
5
三、作业步之间的关系表现为 (1)每个作业步运行的结果产生下一个作业步所需要的文件。如图2.1所示。
(2)一个作业步能否正确地执行,依赖于前一个作业步是否成功地完成。 下一页
6
图 作业步之间的关系 返回本节
7
2.2 操作系统的用户界面 操作系统提供的两个接口 作业控制语言和键盘命令 返回本章首页
8
操作系统提供的两个接口 操作系统为用户提供的接口体现在两个方面(如图2.2所示):一是操作系统为用户提供的各种操作命令,用户可利用这些操作命令来组织作业的工作流程和控制作业的运行;二是操作系统为用户提供的一组系统功能调用,用户可以在源程序一级使用这些系统调用,请求操作系统提供的服务(如,请求使用各种外部设备进行信息传输、向系统申请资源等)。
9
返回本节
10
2.2.2 作业控制语言和键盘命令 1.作业控制语言 2.单道批处理系统中的作业调度基本原则 3.作业调度的性能指标
作业控制语言和键盘命令 1.作业控制语言 2.单道批处理系统中的作业调度基本原则 3.作业调度的性能指标 4.单道批处理系统作业调度算法介绍与分析 5.键盘命令建立用户程序及分时系统作业调度
11
1.作业控制语言 在脱机工作方式下系统提供作业控制语言(JCL,Job Control Language),它既可以写成操作说明书的形式,也可穿孔成为作业控制卡的形式(前者较多地为批处理系统所采用)。 操作系统根据作业申请表来分配作业所需的资源并注册该作业;通过作业说明书(或作业控制卡)对作业实施运行控制。一般在批处理系统中都提供JCL语言。 下一页
12
2.单道批处理系统中的作业调度基本原则 作业调度时,操作系统调度程序一般应遵循以下原则: (1)单位时间应并发运行尽可能多的用户作业。
(2)使CPU尽可能保持“忙”,不空闲,以提高CPU资源的利用率。 (3)I/O设备尽可能保持“忙”,不空闲,以提高设备资源的利用率。 (4)各类型的作业平等。 下一页
13
3.作业调度的性能指标 对于批处理系统,作业调度的原则体现在一个指标,即各作业的平均周转时间上,如设i作业的周转时间为Ti=Tci-Tsc;Tci,Tsc分别为作业的完成时间和作业的提交时间,则平均周转时间为:J=(∑Ti)/n;对这个公式涉及的n个作业,相对于长作业,对J值的影响大,而短作业对J值的影响小。为了增加短作业对J值的影响,引入平均带权周转时间的概念。平均带权周转时间定义为:W=(∑Ti/tri)/n;tri作业的运行时间。一般认为J、W越小,系统对作业的吞吐量越大,系统的性能越高。 下一页
14
4.单道批处理系统作业调度算法介绍与分析 (1)先来先服务(FCFS)算法 (2)短作业优先调度算法(SJF) (3)动态优先级调度算法
下一页
15
(1)先来先服务(FCFS)算法 先来先服务作业调度算法是一种较简单的作业调度算法,即每次调度是从后备作业队列中选择一个最先进入该队列的作业,将它调入内存,分配资源、创建相应的进程,放入进程就绪队列准备运行。 FCFS算法利于长作业,不利于短作业,而大多数的作业是I/O繁忙的短作业。以FCFS作为主调度算法是不常用的。 下一页
16
(2)短作业优先调度算法(SJF) 短作业优先调度算法是指操作系统在进行作业调度时以作业长短作为优先级进行调度。该调度算法可以照顾到实际上占作业总数绝大部分的短作业,使它们能比长作业优先调度执行。这时后备作业队列按作业优先级由高到低顺序排列,当作业进入后备队列时要按该作业优先级放置到后备队列相应的位置。 实践证明,该调度算法的性能是最好的,单位时间的作业吞吐量也最大,但也存在缺点:对长作业极为不利。 。 下一页
17
(3)动态优先级调度算法 当几个作业几乎同时进入后备队列时,短作业的优先级高,它先被调度执行。但随着时间的推移,长作业的优先级逐渐增大,长作业就可能在后进入后备队列的短作业之前被操作系统调度执行。 分析动态优先级调度算法,可以认为该算法既照顾了短作业,又不会使长作业长期得不到服务,从而实现了一种良好的折中。 下一页
18
5.键盘命令建立用户程序及分时系统作业调度
(1)呼叫 (2)联接 (3)通信 (4)退出 下一页
19
(1)呼叫 当终端用户想从终端打入命令或输入信息时,他首先要进行呼叫,例如通过类似电话拨号的方式进行呼叫。当呼叫成功后,用户就可以从终端的键盘上打入各种命令输入到计算机系统,即开始第二步——联接。 下一页
20
(2)联接 呼叫成功后,计算机即和终端联上,于是计算机应在终端设备上输出引导信息,以告诉用户终端设备与系统联上了。这时,用户应打入一条“录入命令”,向系统申请录入一个作业。一般录入命令应给出以下参数:用户名、作业名、口令、资源需求等。系统接到录入命令后,将检查口令、资源需求等。在符合时,就允许录入。当用户从终端上看到允许录入的信息后,就知道这个终端作业被接受了,从而就进入第三步——通信。 下一页
21
(3)通信 终端作业被录入后,就可以通过终端打入各种控制作业的命令和从终端输入作业的程序和数据。属于通信这一步的键盘命令是比较丰富的,一般有以下几类: (5)编译、连接装配和运行。 (6)输入数据。 (7)操作方式转换。 (8)申请资源。 (1)环境设置。 (2)系统管理。 (3)文件管理。 (4)编辑修改。 下一页
22
(4)退出 当作业运行结束时,用户应打入“退出”命令。系统响应命令后将收回分配给作业的全部资源,然后在终端输出日期和上机时间等,即通知用户系统已结束了该作业。退出系统后,用户若要求系统执行新的作业可再打入“录入”命令。每个作业结束后一定要打入“退出”命令。 返回本节
23
2.3 操作系统提供给用户程序的服务 系统调用描述 系统调用功能分类 系统调用的实现 返回本章首页
24
系统调用描述 系统调用 :用户所需要的功能,有些是比较复杂的,硬件不能直接提供,只能通过软件的程序来实现。而有些功能可由硬件完成,并设有相应的指令,如启动外设工作,就有用于输入/输出的硬指令。但配置了操作系统后,对系统资源的分配、控制不能由用户干预,而必须由操作系统统一管理。所以,对于这样一类功能,也需有相应的控制程序来实现。
25
自愿进管指令 : 为了实现对这些事先编制好的、具有特定功能的例行子程序的调用,现代计算机系统一般提供自愿进管指令,其指令形式为: SVC N 其中,SVC表示机器自愿进管指令的操作码记忆符,N为地址码。 SVC是Supervisor Call(访问管理程序)的缩写,所以SVC指令又称访管指令。 当处理机执行到这一条指令时就发生中断,该中断称为访管中断,它表示正在运行的程序对操作系统的某种需求。借助中断可使机器状态由目态转为管态。 返回本节
26
2.3.2 系统调用功能分类 1.设备管理:这类系统调用被用来请求和释放设备,以及启动设备操作等。
系统调用功能分类 1.设备管理:这类系统调用被用来请求和释放设备,以及启动设备操作等。 2.文件管理:这类系统调用包括创建、删除文件,读、写文件操作以及移动文件指针等。 3.进程控制:当多个用户程序在系统内执行时引出了一个新的概念,称为进程。 4.进程通信:进程间传递消息或信号的系统调用。 5.存储管理:内存块的申请、释放,获取作业占用内存块的首址、大小等。 返回本节
27
系统调用的实现 操作系统的基本服务是通过系统功能调用来实现的,系统功能调用提供运行程序和操作系统之间的界面。系统调用的实现取决于计算机的结构,它是由特定的硬件指令实现对操作系统某一服务例程的调用。
28
图2.3 系统调用的执行过程 返回本节
29
2.4 用户界面的发展 随着计算机技术、多媒体技术的发展,使操作系统提供的接口在形式上和功能上发生了很大的变化,其发展方向是可视化、集成化、智能化。操作系统为用户提供的是一个更友好的、更直观的、易懂的、图文并茂的、且具有一定智能的计算环境。用户可以通过文字、图像、声音等媒体,以及键盘、鼠标、扫描仪、声音装置等部件来驱动操作系统提供的命令和用户扩充的自定义命令,从而达到轻松、方便地使用计算机的目的。 返回本章首页
30
操作系统提供的系统功能调用从低级的汇编语言级的接口,发展到高级语言中提供的操作系统服务界面,用户在用高级语言编程时,可以利用操作系统提供的丰富的系统功能调用来请求系统资源,进行进程控制和通信,完成信息的处理等工作。 返回本节
31
THANK YOU VERY MUCH ! 本章到此结束, 谢谢您的光临! 返回本章首页 结束放映
Similar presentations