《操作系统接口》PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
访问系统空间 如:启动外设、设置系统时钟、关中断… 只允许操作系统使用,不允许应用程序使用 非特权指令 用户态时运行的指令 只能访问用户空间 不能直接访问系统中的硬件和软件,避免应用程序
运行异常时破坏系统 采用硬件实现权限的限制
16
系统调用
前述机制带来的矛盾: 为了安全性,应用程序不能直接调用操作系统过程 不使用操作系统提供的服务,应用程序做不了什么
10
7.1.4 命令解释程序
位于是OS的最高层,以便与用户交互。 功能: 先对用户输入的命令进行解释 再转入相应命令的处理程序去执行 例如: MS-DOS中的COMMAND.COM UNIX中的Shell
11
7.1.4 命令解释程序
1. 作用
在屏幕上给出提示符,读入和识别命令, 转入相应命令处理程序的入口地址,把控 制权交给该处理程序执行,将处理结果回 送到屏幕显示。
一般过程调用
主调程序:用户态 被调程序:系统态
主调程序和被调程序 同在用户态或系统态
通过软中断进入状态 不切换 切换
可能引起调度
不调度
有深度限制
不限制深度
18
系统调用举例——读写文件
用户程序
读 写
open create read write close
exit …
系统调用
输入文件 输出文件
用户态
系统态
第九章 操作系统接口
OS —— 用户与计算机之间的接口。
接口类型
1. 用户接口
支持用户与OS的交互:用户向OS请求服务,系统 向用户返回服务结果。
2. 程序接口
即API(Application Programming Interface) 支持程序员编程时使用,使程序可在执行中访问
系统资源和服务。 组成:系统调用(system call),每个系统调用是一
7
7.1.2 联机命令的类型
1. 系统访问类 2. 磁盘操作命令 3. 文件操作命令 4. 目录操作命令 5. 其它命令
8
命令接口的支持程序
为了实现命令方式下的人机交互,系统需配备: 键盘终端处理程序 命令解释程序
9
7.1.3 键盘终端处理程序
功能: 1. 接收用户从终端上打入的字符 2. 字符缓冲,用于暂存所接收的字符 3. 回送显示 4. 屏幕编辑 5. 特殊字符处理
2. 组成 3. 工作流程
12
7.3 系统调用
程序接口:OS专为用户程序设置的接口,是 用户程序取得OS服务的唯一途径,由各种类 型的系统调用组成。
1. 系统调用的概念 2. 系统调用的类型 3. POSIX标准 4. 系统调用的实现
13
7.3.1 系统调用的基本概念
OS核心中的一组实现各种系统功能的子程序 (过程),可以提供给应用程序使用。 但是,为了避免破坏OS,不允许用户程序直接 调用这些子程序(过程),OS提供了一系列系 统调用命令,应用程序只能通过系统调用去调 用所需系统过程。
有价值的工作,甚至无法正常工作 系统调用的作用: 使应用程序可以间接调用OS的相关过程,取得相应
的服务。 系统调用的本质 应用程序向OS请求服务时的过程调用 是一种特殊的过程调用
17
系统Βιβλιοθήκη Baidu用的特殊性
与一般的过程调用相比,系统调用具有一定的特殊性
运行状态
状态切换 返回问题 嵌套调用
系统调用
5
命令行方式
用户从终端直接输入命令,系统反馈后才能输入下一 条 命令的执行时间断的,伴随着用户和系统之间的不断 交互 一般形式: Command arg1 arg2 … argn
6
批命令方式
将多条命令写入批命令文件,一次建立,多次 执行。 如,MS-DOS中的.BAT文件。 用户不必记忆和键入命令,系统可连续执行多 条命令,可减少出错和提高效率。
3. 进程通信
打开/接受连接;发送/接收消息,关闭连接
4. 设备管理
申请/释放设备、设备I/O、重定向、设置设备属性、 逻辑上连接/释放设备等
5. 信息维护
获得系统时间/版本,文件时间/日期,当前用户,空
闲内存、磁盘空间大小等
21
7.3.3 POSIX标准
为了实现应用程序与操作系统平台的无关性,国际化 标准组织ISO给出了有关系统调用的国际标准 POSIX1003.1(Portable Operation System IX),也 称为“基于UNIX的可移植操作系统接口”。 POSIX定义了标准应用程序接口(API),用于保证应用 程序在源代码一级兼容多种操作系统。 POSIX规定了系统调用的功能,没有明确规定系统调用 的实现形式。常见实现形式: 汇编语言,可看作扩展机器指令,可在汇编语言编
个能完成特定功能的子程序(访问OS底层服务)。
2
用户接口
用户接口是计算机系统与用户之间进行交互 作用和通信的通路。 对绝大多数用户而言,一个计算机系统的可 接受性在很大程度上取决于用户接口。 用户接口可分为两类: 联机用户接口 脱机用户接口
3
7.1 联机用户接口
联机用户接口也叫联机命令接口、交互式用户 接口,用于联机作业控制,由一组可与系统交 互的命令组成。 两种形式: 字符方式
终端——字符流
键盘终端——输入命令 显示终端——反馈结果
图形方式
图标、菜单、对话框
4
命令语言
用户组终端键盘键入的命令被称为命令语言, 由一组命令动词和参数组成,以命令行的形式 输入并提交给系统。 每一条命令指示系统完成特定的功能。 完整的命令集反映了系统提供给用户可使用的 全部功能。 命令语言又可分为两种方式: 命令行方式 批命令方式
14
系统态和用户态
为了防止系统程序被破坏,为计算机设置了两 种状态: 系统态(管态、核心态)
操作系统
用户态(目态)
应用程序
实际运行中,处理机会在系统态和用户态切换。 使用系统调用时,需要进行两种状态的切换。
15
特权指令和非特权指令
特权指令 系统态时运行的指令 对内存空间访问不受限制,可访问用户空间,也可
19
中断机制
系统调用通过中断机制实现,一个操作系统的 所有系统调用都通过同一个中断入口来实现。 如:
MS-DOS提供了INT 21H Linux使用80h
20
7.3.2 系统调用的类型
1. 进程控制
创建/终止进程,获得/设置进程属性,等待某事件
2. 文件操纵
创建/删除文件,打开/关闭文件,读/写文件
相关文档
最新文档