第七章 操作系统接口
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
作业
• 习题1,13
在系统调用处理子程序执行完后,应恢复被中断的或设
置新进程的 CPU 现场,然后返回被中断进程或新进程, 继续往下执行。
7.4 UNIX系统调用
7.4.1 UNIX系统调用的类型
1. 进程控制 (1) 创建进程(fork)。 (2) 终止进程(exit)。 (3) 等待子进程结束(wait)。
(4) 执行一个文件(exec)。
(5) 获得进程ID。 (6) 获得用户ID。 (7) 进程暂停(pause)。
2. 文件操纵 (1) 创建文件(creat)。 (2) 打开文件(open)。 (3) 关闭文件(close)。 (4) 读和写文件read和write。 ① 文件描述符fd; ② buf缓冲区首址。③ 用户要求传 送的字节数nbyte。 (5) 连接和去连接(link和unlink)。
式、图符驱动方式、图形化用户界面。 图形化用户接口直观、方便、易学,更适合于普通用户 使用。
试题解析
例1 (武汉大学2001年试题) 用户与OS之间的接口有哪些方式?它们在什么情况下使用的? 解答:用户与操作系统之间的接口有以下方式:命令接口、 程序接口、图形用户接口。 命令接口是用户在终端输入命令与系统交互或者是用户通 过提交作业控制说明书来控制系统运行。这种方式要求用户 记忆所以的命令,有较强的英语应用能力。 程序接口是通过系统调用来实现的,这种接口主要提供给 程序员使用,在OS的外层软件或用户程序中,凡是与资源有 关的操作都必须通过该接口向操作系统提出服务请求,并由 OS代为完成。 图形化用户接口直观、方便、易学,更适合于普通用户使 用。
被中断程序 中断处理开始 中断处理 程序 中断处理结束
图 7 - 4 中断时的CPU轨迹
中断点
(2) 中断和陷入向量。
2. 系统调用号和参数的设置
(1) 直接将参数送入相应的寄存器中。 (2) 参数表方式。
3. 系统调用的处理步骤
将处理机状态由用户态转为系统态;之后,由硬件和内 核程序进行系统调用的一般性处理。 分析系统调用类型,转入相应的系统调用处理子程序
试题解析
例2 (东南大学1996年试题) UNIX系统中把一条命令的执行结果输出给下一条命令,作为它 的输入并加以处理,这种机制称为__机制;操作系统不是从 键盘上逐条接受命令并执行,而是调用一个文本文件,执行其 中保存的一系列命令,这种方式称为__。 解答:管道命令机制;批处理命令接口方式(或脱机处理命 令接口方式)。
操作系统可以通过程序接口和操作接口两种 方式把它的服务和功能提供给用户,反过来也 可以这样说,用户可以如下图那样通过两个接 口来调用操作系统提供的服务和功能。
操作系统又将命令接口分为交互式命令接口(联机 命令接口)和批处理命令接口(脱机命令接口)
• 联机命令接口是为联机用户提供的调用操作系统功能, 请求操作系统为其服务的手段,它由一组命令及命令解 释程序组成。当用户在键盘上每键入一条命令后,系统 便立即转入命令解释程序,对该命令进行处理和执行。 • 脱机命令接口是专为批处理作业的用户提供的,所以, 也称批处理用户接口。操作系统提供了一个作业控制语 言JCL(Job Control Language),它由一组作业控制 卡、或作业控制语句、或作业控制操作命令组成。
(b ) 程序之间的嵌套调用
图 7-3 系统功能的调用
7.3.2 系统调用的类型
1. 进程控制类系统调用
2. 文件操纵类系统调用
3. 进程通信类系统调用
7.3.3 系统调用的实现
1. 中断和陷入硬件机构
(1) 什么是中断和陷入。
中断是指 CPU 对系统发生某事件时的这样一种响应:
CPU 暂停正在执行的程序,在保留现场后自动地转去执行 该事件的中断处理程序;执行完后,再返回到原程序的断 点处继续执行 。
④ 目录操作类;
⑤ 通信类;
⑥ 其他命令。
7.1.2 键盘终端处理程序
为了实现人机交互,还须在微机或终端上配置相应的键 盘终端处理程序,它应具有下述几方面的功能: (1) 接收用户从终端上打入的字符。 (2) 字符缓冲, 用于暂存所接收的字符。 (3) 回送显示。 (4) 屏幕编辑。 (5) 特殊字符处理。
3. 进程间通信 (1) 消息机制。 (2) 共享存储器机制。 (3) 信号量机制。
4. 信息维护 (1) 设置和获得时间。 (2) 获得进程和子进程时间(times)。
来自百度文库
(3) 设置文件访问和修改时间(utime)。
(4) 获得当前UNIX系统的名称(uname)。
7.5 图形用户接口
这是大家都很熟悉的接口了。它又可分为:菜单驱动方
试题解析
例3 (中国科学院计算技术研究所2001年试题) 现代网络操作系统中,系统向程序员提供的基于Socket的 Tcp/IP接口属于操作系统提供给用户的__ 接口。 解答:程序。
例4(华中理工大学2000年试题) 用户在程序中试图读某文件的第100个逻辑块,使用操作系统提 供的__ 接口。 A. 系统调用 B.图形用户接口 C. 原语 D. 键盘命令 解答:A
7.1.3 命令解释程序
1. 命令解释程序的作用
命令解释程序的主要作用,是在屏幕上给出提示符,
请用户键入命令,然后读入该命令,识别命令,再转到相应
命令处理程序的入口地址,把控制权交给该处理程序去执行,
并将处理结果送屏幕上显示。 若用户键入的命令有错,而命 令解释程序未能予以识别,或在执行中间出现问题时,则应
显示出某一出错信息。
2. 命令解释程序的组成 (1) 常驻部分。 这部分包括一些中断服务子程序。
(2) 初始化部分。
它跟随在常驻内存部分之后,在启动时获得控制权。 这部分还包括对 AUTOEXEC.BAT 文件的处理程序,并决 定应用程序装入的基地址。 (3) 暂存部分。 这部分主要是命令解释程序,并包含了所有的内部命 令处理程序、批文件处理程序,以及装入和执行外部命令 的程序。
7.1 联机命令接口
联机命令接口包括
•联机命令
•终端处理程序
•命令解释程序
7.1 联机命令接口
7.1.1 联机命令的类型
为了能向用户提供多方面的服务,通常,OS都向用户 提供了几十条甚至上百条的联机命令。根据这些命令所完 成功能的不同,可把它们分成以下几类:
① 系统访问类;
③ 文件操作类;
② 磁盘操作类;
3. 命令解释程序的工作流程
图 7 2
-
输入命令行
COMMAND.COM
命令合法否?
是内部命令?
从外存调入外部命 令执行
DIR 命令 处理 程序
Type 命令 处理 程序
Copy 命令 处理 程序
Date 命令 处理 程序
显示提示符
的 工 作 流 程
7.2 Shell命令语言
7.2.1 简单命令
7.2.2 重定向与管道
7.2.3 通信命令 7.2.4 后台命令
7.3 系 统 调 用
程序接口是OS专门为用户程序设置的,也是用户程序
取得OS服务的唯一途径。程序接口通常由各种类型的系统
调用所组成,而系统调用提供了用户程序和操作系统之间
的接口,应用程序通过系统调用实现其与OS的通信,并取
得它的服务。
7.3 系 统 调 用
7.3.1 系统调用的基本概念
系统调用与一般过程调用的差别: (1) 运行在不同的系统状态。 (2) 通过软中断进入。
(3) 返回问题。
(4) 嵌套调用。
用户程序 系统调 用命令 调用 系统调 用命令
系统功能
系统功能 系统调 用命令 调用 系统子功能
返回 返回
(a ) 系统调用与返回
第七章 操作系统接口
7.1 7.2 7.3 7.4 7.5 联机命令接口 Shell命令语言 系统调用 UNIX系统调用 图形用户接口
教学要求
• 本章知识属于了解性质。需要对各类接口 有一个清醒的认识,能分辨出实际中经常 使用的接口属于哪种类型。
教学重点:命令接口、程序接口和图形用户接口
操作系统提供的用户接口