第二章 操作系统用户界面

上传人:豆浆 文档编号:47588491 上传时间:2018-07-03 格式:PPT 页数:54 大小:279KB
返回 下载 相关 举报
第二章 操作系统用户界面_第1页
第1页 / 共54页
第二章 操作系统用户界面_第2页
第2页 / 共54页
第二章 操作系统用户界面_第3页
第3页 / 共54页
第二章 操作系统用户界面_第4页
第4页 / 共54页
第二章 操作系统用户界面_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《第二章 操作系统用户界面》由会员分享,可在线阅读,更多相关《第二章 操作系统用户界面(54页珍藏版)》请在金锄头文库上搜索。

1、第2章 操作系统用户界面讨论OS向上提供的用户接口,即命令控 制接口和编程接口。命令控制接口可完 成用户作业的组织和控制。 1本章目录n2.1 简介n2.2 一般用户的输入输出界面n2.3 命令控制界面n2.4 Linux与Windows的命令控制界面n2.5 系统调用n2.6 Linux与Windows的系统调用本章教学目标n掌握:操作系统为用户提供的编程接口和命 令控制接口的概念,作业的定义,作业的组 织,作业的输入输出方式,作业控制方式, 系统调用及其实现过程n了解:Linux、Windows操作系统用户界 面作 业(P36)n2.4 试述SPOOLING系统的工作原理。n2.5 操作系

2、统为用户提供哪些接口?它们的区别 是什么?n2.7 2.8 什么是系统调用?简述系统调用的实现 过程。2.1 简介n用户界面的功能:负责用户与操作系统之间的交 互.n计算机系统的用户:n使用和管理计算机的用户:普通用户,管理员n程序开发人员n操作系统为不同的用户提供不同的用户界面。n不同的操作系统提供的用户界面也是不同的。2.1 简介n操作系统为普通用户、管理员提供的界面: 由一组不同形式表示的操作命令组成,称为 命令控制界面;n操作系统为程序开发员提供的界面:系统调 用。n命令控制界面是在系统调用的基础上开发而 成的。2.2 一般用户的输入输出界面n2.2.1 作业的定义n2.2.2 作业组

3、织n2.2.3 一般用户的输入输出方式2.2.1 作业的定义图2.1 一般编程过程2.2.1 作业的定义n作业:在一次应用业务处理过程中,从输入开始 到输出结束,用户要求计算机所做的有关该次业 务处理的全部工作称为一个作业。n用户的观点:在一次业务处理过程中,从输入程序和数 据到输出结果的全过程。作业步:形成中间结果文件。n系统的观点(针对作业进行资源分配):作业由程序及 数据和作业说明书组成。系统通过作业说明书控制程序 和数据的执行和操作。n作业由不同的顺序相连的作业步组成。n作业步:是在一个作业的处理过程中,计算机所 做的相对独立的工作。2.2.1 作业的定义n批处理系统中,常将若干作业依

4、次放在输入 设备上,在操作系统的控制下将其送入辅存 ,这就形成了一个作业流(输入流)n批处理系统:以作业为单位把程序和数据调 入内存执行,作业是抢占内存的基本单位。2.2.2 作业组织n作业由三部分组成,即程序、数据和作业说 明书。n一个作业可以包含多个程序和多个数据集, 但必须至少包含一个程序。n作业说明书包含:作业的基本描述、作业控 制描述和资源要求描述。体现用户的控制意 图。图2.2 作业说明书的主要内容2.2.3 一般用户的输入输出方式n联机输入输出方式n脱机输入输出方式n直接耦合方式nSPOOLING系统n网络联机方式联机输入输出方式n用户和系统通过交互会话来输入作业。n外围设备直接

5、和主机连接。由主机直接控制输入 输出;I/O与作业处理不能并行。降低了CPU效 率n一台主机可以连接一台或多台外围设备。在单台 设备和主机相连接进行作业输入输出时,由于外 围设备的输入输出速度远远低于CPU处理速度, 有可能造成CPU资源的浪费。 脱机输入输出方式n利用低档个人计算机作为外围处理机进行输入输 出处理。用于主机不太快的情况。n脱机输入输出解决了快速输入输出问题,提高了 主机的资源利用率,但这是以牺牲低档机为代价 的;n脱机输入输出需要用户进行干预或进行一定的操 作,例如移动存储介质和连接后援存储器等;n脱机输入输出方式存在灵活性差的缺点,即遇到 紧急任务需要处理时,无法直接交给主

6、机以便优 先处理。直接耦合方式n直接耦合方式把主机和外围低档个人机通过 一个公用的大容量外存直接耦合起来,从而 省去了在脱机输入中依靠人工干预来传递后 援存储器的过程。用于高速主机。n慢速的输入输出过程由外围机自己管理,而 对公用存储器中的大量数据的高速读写则由 主机完成。图2.3 直接耦合方式特点:需大容量公用存储器,且主机、公用存储器、 低档PC机固定连接;可联机快速输入,灵活性较强 ;无脱机输入输出方式中的人工干预。SPOOLING系统nSPOOLING:外围设备同时联机操作n在SPOOLING系统中,多台外部设备通过通道或DMA器件和主机与外存连接起来。作业的输入输出过程由主机中的操作

7、系统控制。SPOOLING系统DMA技术nDMA方式(Direct Memory Access,直接存取 方式):在外围设备和内存之间开辟直接的数据 交换通路。每台设备至少要一个DMA控制器(通 道:一个通道控制多台设备与内存进行数据交换 )n数据的传送是在DMA控制器的控制下不经过CPU 控制完成;n但是,对外围设备的管理和某些操作仍由CPU控 制(与通道的区别),如信息的传送方向、信息 传送的源地址和目的地址以及传送长度等都是由 CPU控制而不是由DMA器件控制的。网络联机方式n在网络上一台机器进行作业输入/输出,在 另一台主机上运行为什么说分时系统没有作业的概念?n分时系统中,每个用户得

8、到的时间片有限, 用户的程序和数据信息直接输入到内存工作 区和其他程序一起抢占系统资源投入执行, 而不必进入内存输入井等待作业调度程序选 择。因此,分时系统没有作业控制表,也没 有作业调度程序。2.3 命令控制界面n命令控制界面:用来组织和控制作业运行。n作业控制方式:n脱机作业控制:用户输入作业说明书,整个作业的运行 由系统控制。用作业控制语言编写作业控制程序(作业 说明书),其语言的语句就是作业控制命令。n联机作业控制:通过人-机会话方式控制作业运行。如 DOS、Windows、Linux系统。 用户登录(控制台登录或远程登录),由系统自动执行一 些命令脚本后,并进入shell(字符或GU

9、I界面),接受 用户的命令和操作,最后退出系统。联机作业控制的命令种类n环境设置n执行权限管理n系统管理n文件管理n编辑、编译、链接装配、执行命令n通信n资源要求2.3 命令控制界面n现代操作系统,大都提供联机控制方式和批 处理方式。n批处理方式:指传统的作业控制语言编写的 作业说明书方式,也指那些把不同的交互命 令按一定格式组合后的命令文件方式。2.3 命令控制界面n操作系统的命令控制界面已从早期的脱机控 制方式(批处理系统)和联机控制方式(分 时系统)向多窗口、菜单、按钮以及声控等 图形化多媒体方式变化。2.4 Linux与Windows的命令控制界面n2.4.1 Linux的命令控制界面

10、n2.4.2 Windows的命令控制界面2.4.1 Linux的命令控制界面n图形化窗口系统: X Windowsn交户型命令解释程序:Shell程序2.4.2 Windows的命令控制界面n窗口交互部分:鼠标、键盘n命令解释器:cmd.exe2.5 系统调用n系统调用是操作系统提供给编程人员的唯一 接口。nOS核心中都有一组实现系统功能的过程(子 程序),用户在程序中调用操作系统提供的 子功能称为系统调用。n编程人员利用系统调用,在源程序一级动态 请求和释放系统资源,调用系统中已有的系 统功能来完成那些与机器硬件部分相关的工 作以及控制程序的执行速度等。系统调用分类n设备管理n文件管理n进

11、程控制n进程通信n存储管理n线程管理2.5 系统调用n计算机系统中的程序可分为系统程序与用户 程序两类。n为了保证OS不被用户程序破坏, 不允许用户 程序直接访问OS的系统程序和数据, 只能用 系统调用访问。2.5 系统调用n系统调用的实现过程需要有一个类似于硬件中断处理的处理 机构(陷入硬件机构)。当用户使用操作系 统调用时,产生一条相应的指令,处理机在 执行到该指令时发生相应的中断,并发出有 关的信号给该处理机构,该处理机构在收到 了处理机发来的信号后,启动相关的处理程 序去完成该系统调用所要求的功能。陷阱处理机构、陷阱指令n在系统中为控制系统调用服务的机构称为陷 阱(trap)处理机构。

12、n由于系统调用引起处理机中断的指令称为陷 阱指令(或称访管指令)。n在操作系统中,每个系统调用都对应一个事先 给定的功能号,在陷阱指令中必须包括对应系 统调用的功能号。n在有些陷阱指令中,还带有传递给陷阱处理机 构和内部处理程序的有关参数。陷阱处理机构、陷阱指令n必须为实现各种系统调用功能的子程序编造 入口地址表,每个入口地址都与相应的系统 子程序名对应。n由陷阱处理程序把陷阱指令中所包含的功能 号与该入口地址表中的有关项对应起来,从 而由系统调用功能号驱动有关系统子程序执 行。陷阱处理机构、陷阱指令n在进入系统调用处理之前,陷阱处理机构要 保存处理机现场。在系统调用处理结束之后 ,陷阱处理机

13、构还要恢复处理机现场。n操作系统中,处理机的现场一般被保护在特 定的内存区或寄存器中。图2.5 系统调用的处理过程系统调用的参数传递n不同的系统调用需要传递给系统子程序以不 同的参数。系统调用的执行结果也要以参数 形式返回给用户程序。n用户程序和系统程序参数传递实现方法:n由陷阱指令自带参数。只能自带极有限的几个 参数进入系统内部。n使用有关通用寄存器来传递参数。寄存器长度 也是较短的,无法传递较多的参数。因此,在 系统调用较多的系统中,大多在内存中开辟专 用堆栈区来传递参数。系统态、用户态n处理器运行系统程序的状态称为系统态(核 心态、管态、特权状态);n处理器运行用户程序的状态为用户态(算

14、态 、目态)。n通常在程序的状态字PSW中设置。n系统调用指令将系统转入系统态。系统调用与一般过程调用的比较n相同点: 改变指令流程,转去执行公用程序段。n不同点:n一般过程调用,调用程序和被调用程序都运行在 相同状态(用户态或系统态);而系统调用, 调 用程序在用户态,被调用程序在系统态。n一般过程调用调用时不涉及系统状态转换,直接 转向被调用过程;而系统调用调用时涉及系统 状态的转换, 不允许由调用过程直接转向被调 用过程, 要先通过类似于硬件中断处理的处理 机制由用户态转换为系统态, 经 OS 核心分析 后, 再转向相应的系统调用处理子程序。2.6 Linux与Windows的系统调用n

15、2.6.1 Linux的系统调用n2.6.2 Windows的系统调用open()nopen() 打开文件表头文件: #include#include#includeint open( const char * pathname, int flags);int open( const char * pathname, int flags, mode_t mode);n参数说明: pathname:要打开的文件名(包含路径名称,缺省 是认为在当前路径下面). flagsflags 所能使用的标志可以是以下的组合: O_RDONLY :以只读方式打开文件 O_WRONLY :以只写方式打开文件 O

16、_RDWR :以可读写方式打开文件 上述三种标志是互斥的,也就是不可同时使用,但可与下列 的标志利用OR(|)运算符组合。 O_CREAT:若欲打开的文件不存在则自动建立该文件。 O_TRUNC:若文件存在并且以可写的方式打开时,此标志 会令文件长度清为0,而原来存于该文件的资料也会消失 。O_EXCL:如果O_CREAT 也被设置,此指令会去检查文件 是否存在。文件若不 存在则建立该文件,否则将导致打开 文件错误。此外,若O_CREAT与O_EXCL同时设置,并 且欲打开的文件为符号连接,则会打开文件失败。flagsnO_NOCTTY:如果欲打开的文件为终端机设备时,则不 会将该终端机当成进程控制终端机。nO_APPEND :当读写文件时会从文件尾开始移动,也就 是所写入的数据会以附 加的方式加入到文件后面。nO_NONBLOCK: 以不可阻断的方式打开文件,也就是 无论有无数据读取或等待,都会立即返回进程之中。nO_NDELAY :同O_NONBLOCK。nO_SYNC :以同步的方式打开文件。nO_

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号