Operating_System_Chapter-3_Fall_2011

Operating_System_Chapter-3_Fall_2011 - 第3章 用户接口...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 第3章 用户接口 3.1 作业管理的概念 3.2 命令接口 3.5 程序接口 IE310, 1-1, Feb. 18th, 2008, IE310.2008.sjtu@gmail.com Shanghai Jiao Tong University 第3章 用户接口 操作系统不仅是资源的管理者,而且要为用户 提供服务 用户要使用计算机,必须通过一定的方式和途 径,把自己的使用要求告诉计算机 这种方式和途径,就是用户使用计算机的接口, 即用户接口 实际上,这种用户接口就是由操作系统提供, 并具有两种形式: 命令接口 命令行方式-通过键盘、终端输入命令 图形方式-通过鼠标点击图标输入命令,即图形接口 批处理作业控制语言 程序接口-系统调用 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-2, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 第3章 用户接口 由于用户接口长期与作业的管理密切相关, 正确理解作业管理的概念,将有利于对用 户接口的认识 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-3, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 3.1 作业管理的概念 3.1.1 作业的概念 作业 用户交给计算机所做的工作的集合。 作业步 作业中的一个相对独立的步骤。如编程作业中的 编辑、编译、连接、运行等几个作业步。 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-4, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 3.1 作业管理的概念 3.1.1 作业的概念 作业的类型 交互式作业(终端作业或联机作业): 用户独占终端实施交互式控制,特别适合于对程 序的动态调试和修改。比如,DOS命令行对话、 telnet方式访问bbs。 批处理作业(脱机作业): 一般通过作业控制语言,以命令文件的方式提供。 在批处理方式下,计算机系统一次可以接收多个 用户作业,由操作系统根据一定的调度算法调度 作业的运行。比如:DOS批处理文件、以后台方式 编译大量的源程序、以后台方式进行批量的科学 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System 计算。 IE310, 3-5, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 3.1 作业管理的概念 3.1.1 作业的概念 作业的类型 现代通用操作系统一般同时具有分时交互操作和 批处理功能。 在分时下处理的交互式作业一般被称为”前台”作 业 在批处理下的作业一般被称为”后台”作业 “前台”作业要求及时响应,其调度优先级往往 高于”后台”作业 “后台”作业一般只有在”前台”作业负载较轻的 情况下才会被启动 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-6, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 3.1 作业管理的概念 3.1.1 作业的概念 作业的构成:程序、数据和作业说明书三部 分 程序是问题求解的算法描述; 数据是程序加工的对象,当然有些程序未必使用 数据; 作业说明书是告诉操作系统本作业的程序和数据 按什么样的控制要求使之执行。 作业控制语言-Job Control Language, JCL Shell语言 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-7, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 3.1 作业管理的概念 3.1.2 作业的提交方式 联机输入方式:交互会话输入作业,CPU等待浪费资 源 脱机输入方式:离线将作业存储在磁带上,提高主机 资源的利用率 直接耦合方式:主机与外围低档机有公用的(外部)存 储器 SPOOLING输入方式:在硬盘上开辟出一块称之为输 入井和输出井的空间,多个外围设备通过通道或者 DMA,在操作系统的控制下,实现作业的快速输入和 输出 网络输入方式 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-8, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 3.1 作业管理的概念 3.1.3 作业处理过程 作业的状态 提交状态。用户把作业提交给系统时作业所处的状态。 收容状态,又称后备状态。当作业全部进入辅助存储设备后, 操作系统对作业进行登记,为每个作业建立一个作业控制块, 并把作业控制块放入作业后备队列,为作业调度做准备。 执行状态。当作业被作业调度程序选中而进入主存开始运行, 到作业运行完毕为止,这时作业所处的状态为执行状态。此时, 系统为作业(或作业步)建立进程并分配相应的资源,而系统也从 作业管理阶段转变为进程管理阶段。从微观来看,作业的执行 状态可能是就绪、执行或等待(阻塞)三种状态中的一种。 完成状态。作业正常运行完成或因故障终止之后,作业进入完 成状态。作业调度程序负责将其从现行作业队列中删除,并回 收作业占用的资源。 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-9, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 3.2 命令接口 命令行界面 由联机用户交互式地通过终端或控制台的键盘输入命 令,系统使用命令解释程序进行解释并执行,执行结 果被反馈到屏幕上。完成后返回到终端或控制台的提 示,等待用户输入下一条命令。又称联机命令。 命令行格式: [系统提示符]Command 参数1,参数2,…,参数n,[选项 1,选项2,…,选项n] 命令解释程序: 内部命令,执行代码已经包含在命令解释程序之内。 外部命令,执行代码在其它专门的”系统程序”之中,命令解 释程序负责搜寻该”系统程序”并加载至内存执行。 系统程序。又称标准程序或实用程序。不是操作系统 的核心,但不可缺少,服务于用户程序的开发、调试、 执行和维护过程。 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-10, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 3.2 命令接口 命令行界面 键盘终端处理程序 接受用户从终端上打入的字符 字符缓冲,用于暂存所接收的字符 回送显示 屏幕编辑 特殊字符处理 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-11, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 3.2 命令接口 图形用户接口 也就是图形化命令。 键盘命令需要用户清楚所用的命令,命令中 的任何一个字符输入不正确就会被拒绝执行; 图形用户接口有望提供傻瓜式的操作界面。 用户可利用鼠标对屏幕上的图标进行操作, 完成与操作系统的交互,从而减少了需要记 忆的内容。 它由窗口、图标、菜单、对话框等图形化元 素构成。 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-12, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 3.2 命令接口 批处理作业控制语言 批处理操作系统提供批处理作业控制语言,以控制批 处理文件中各作业的执行过程。 操作系统对批处理文件采用边解释边执行的执行方式。 用户可以使用批处理语言来组织和控制自己的可执行 文件的执行,从而在作业级别上控制多个作业的执行 流程。 批处理文件无须编译连接,与高级程序编译连接后形 成的可执行文件是不同类型的。 批处理文件是ASCII码文本文件,由可执行文件的文 件名、内部命令名以及批处理控制语言组成。 高级语言编译连接成的可执行文件是二进制文件,内 部是机器码、目标代码。 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-13, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 3.2 命令接口 批处理作业控制语言 DOS/Windows命令(批处)文件 在使用操作命令过程中,有时需要连续使用多条 命令;有时需要多次重复使用若干条命令;有时 需要选择性地使用不同命令。 命令文件实现的基本思想:用户先把一系列命令 组织在一个文件中,一次建立后可多次执行。可 以写出带参数形式的命令文件,从而可执行不同 的命令序列。 相当于批处理文件。 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-14, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 3.5 程序接口 什么是程序接口、系统调用? 程序接口又称操作系统应用编程接口API,它是操作 系统为用户程序在执行中访问系统资源而设置的。 程序接口由一系列系统调用组成,因此大多数操作系 统的程序接口也被称为系统调用。 系统调用是操作系统应用编程接口API,是操作系统 程序接口的具体形式,是属于操作系统内核的、能够 完成系统特定功能的子程序或过程。 无论是键盘命令接口、图形接口还是批处理文件,它 们在执行期间都会转换成相应的系统函数去完成相应 的任务。 系统功能是实现操作系统功能和应用程序功能的支撑 平台。 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-15, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 3.5 程序接口 系统调用的功能是什么? 软件开发人员用程序设计语言编程时,往往会需要使用诸如读 写磁盘文件等与硬件相关的功能操作。 与硬件相关部分的功能必须由核心态的特权指令才能执行完成。 系统调用是软件开发人员从用户态进入核心态,取得操作系统 内核服务,完成与硬件相关特权指令执行的唯一途径。 系统调用的引入使得编程人员能在自己的程序中动态请求和释 放系统资源,调用操作系统中已有的系统功能来实现与机器硬 件相关的操作和控制程序的执行速度等。 系统调用就像一个黑盒子,它对程序员屏蔽了系统实现具体功 能的细节而只提供了相关功能。 操作系统为用户提供系统调用实际上是出于安全和效率考虑, 使得用户态程序不能自由地访问内核关键数据结构或直接访问 硬件资源。 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-16, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 3.5 程序接口 系统调用的使用方式 并不是所有的程序设计语言都能直接使用系统调用。 在DOS系统下的汇编语言中 ,打开文件: MOV AH,3DH … INT 21H; 在UNIX系统中,打开文件: fd=open(“./data.txt”,…) 库函数是系统调用的高级形式。如C语言中的printf()、 fopen()函数等。 在Unix System V、Windows、Linux、OS/2等操作系 统中,其系统调用采用C语言编写,并以库函数形式 提供,因此在C语言的编程中可以直接使用系统调用。 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-17, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 3.5 程序接口 系统调用与普通过程(子程序)调用的区别 执行状态不同 前者调用方在用户态,被调用方在核心态;后者调用 方与被调用方同属一个状态,用户态(或核心态)。 执行方式与过程不同 前者需使用软件中断陷阱指令(int)或陷入指令(trap); 后者使用普通的跳转指令(call、jmp等)。 提供的方式不同 前者由OS提供;后者由调用者自己或编译系统提供。 执行的代码不同 前者执行是OS内核代码;后者执行的是用户自己(或 操作系统)的代码。 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-18, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 3.5 程序接口 系统调用的分类 文件管理类:如创建文件、开文件、读写文件、 关闭文件等; 进程控制类:如进程创建、撤消、执行等待、唤醒 等; 进程通信类:如进程间传递消息或信号等; 设备管理类:如请求、释放有关设备以及设备的启 停控制。 系统管理类:如取日历时间、读取或设置终端信息 等; 存储管理类:如内存的申请与释放等; 线程管理类:如线程的创建、撤消、调度、执行等。 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-19, xqfang.sjtu@gmail.com 3.5 程序接口 Shanghai Jiao Tong University 系统调用的处理过程 系统调用陷入机构 保护CPU现场 系统调用处理子程序 入口地址表 A0 用户程序 陷入指令 SUB0 A1 SUB1 Ai SUBi A0 A1 … 取系统功能号 找入口地址表 相应入口地址 … System Call Ai … 执行系统调用 子程序 … An 结束处理 恢复现场 An SUBn ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-20, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 3.5 程序接口 系统调用的处理过程 (1)设置系统调用的功能号和参数。系统调用的功能号可以作 为指令的一部分,也可以装入到特定的寄存器。参数可以直 接装入特定的寄存器,也可以通过内存区域的参数表进行, 将系统调用所需的参数放入参数表中,然后用指定的寄存器 存放指向参数表的指针。 (2)执行陷入指令,并进行一般性处理。调用者将功能号和参 数设置好之后,便执行一条陷入指令,产生访管中断, CPU 由用户态转变为系统态。陷入处理机构首先保护CPU现场,将 处理机状态字PSW、程序计数器PC等内容压入堆栈保存,然 后将用户定义的参数在指定的地址空间保护起来。 (3)查系统调用入口地址表,执行相应功能的子程序或过程。 操作系统利用功能号去查找入口地址表,找出与功能号相对 应的系统调用子程序的入口地址,然后执行该系统调用子程 序,期间可以执行特权指令,可以访问内核空间。 (4)进行系统调用结束处理。当系统调用完成后,要恢复CPU 现场,将调用后的结果装入到指定内存位置,并执行中断返 回指令。CPU由系统态转变为用户态,返回用户程序中被中断 的地方(系统调用后面的那一条语句)继续执行。 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-21, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 操作系统的用户接口是操作系统向用户提供服务的主要途径,分两 种级别: 基于操作级 命令接口 图形接口 批处理作业控制语言 基于程序级 小结 程序接口(系统调用) 命令接口和图形接口是建立在系统调用基础上的。 使用命令接口要求用户记住字符或文本命令,但执行方式简洁。 图形接口不需要记住文本命令,只有点击响应的图形化元素。 程序接口是操作系统提供给程序员使用系统功能的唯一途径,程序 员通过系统调用执行操作系统内核的代码,实现其想要的特定的、 与硬件相关或无关的功能。 系统调用与一般的过程或函数调用有本质的区别。 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-22, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 课后任务 (课后自行思考/下次上课课堂回答) 1. 2. 3. 系统调用与一般过程调用有什么区别? 操作系统提供的用户界面是什么? 什么是系统调用?请简述其一般性处理 过程。 ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-23, xqfang.sjtu@gmail.com Shanghai Jiao Tong University 1. 2. 3. 4. 5. 6. 7. 8. 课后课程设计任务 自学第9章Linux应用基础; 自学第10章Linux的操作命令界面与内核编译; 练习实验1 实验环境与Linux操作系统的安装 (虚拟机、红帽Linux安装、虚拟网卡的安装); 练习实验2-1 Linux的键盘命令; 练习实验2-2 Linux的图形界面; 练习实验2-3 Linux的批处理; 练习实验3-1 Linux进程的创建与父子进程同步; 练习实验3-2 Linux子进程映像的重新加载; ftp://xqfang:fall2011@public.sjtu.edu.cn/Operating_System IE310, 3-24, xqfang.sjtu@gmail.com ...
View Full Document

This note was uploaded on 03/08/2012 for the course IE 310 taught by Professor Fangxinqi during the Fall '11 term at Shanghai Jiao Tong University.

Ask a homework question - tutors are online