第七章 操作系统接口
(1) 操作系统接口概述
人-计算机接口:操作系统
;
用户与操作系统之间进行交互的接口:操作系统接口
;
(2) 操作系统接口分类
命令接口\
联机用户接口
:面向联机用户的操作接口;\脱机用户接口
:面向脱机(批处理)用户的操作接口;图形用户接口(GUI, Graphical User Interface)\
面向联机用户的操作接口。
程序接口\
面向程序员的接口,程序可以直接调用操作系统核心功能。
7.1 联机命令接口
7.1.1 联机命令的基本形式
联机命令的基本形式\
Command Param1 Param2 …
Command:命令名称。
Param1,Param2,..: 命令参数和选项;
实例\
DIR\
COPY C:\t.txt d:\td.txt\
cp file1 file2
7.1.2 联机命令接口的组成
键盘终端处理程序\
负责实现基本的命令编辑、接收和回显功能。
接收用户从终端打入的字符;
字符缓冲,用于暂存所接收的字符;
字符回显;
屏幕编辑;
特殊字符处理;
命令解释程序\
负责实现对用户输入命令的解释,并转入相应命令处理程序去执行。
7.2 Shell程序接口
Shell编程(UNIX)
利用UNIX操作系统提供的命令,将需要完成的命令按执行次序写成文件,形成所谓shell程序文件。
执行这类文件,可以实现一批命令的自动执行。
7.3 程序接口:系统调用
7.3.1 系统调用的基本概念
(1) 什么是系统调用
用户在程序中调用操作系统所提供的一些子功能。通常也把被调用的操作系统功能,称为系统调用。
(2) 系统调用过程
(3) 系统调用特点
这是特殊的过程调用,由特殊的机器指令实现(每种机器的机器指令集中都有一条系统调用指令——访管指令)
这个指令还将系统转入管态
系统调用是一个低级过程,只能由汇编语言直接访问
系统调用是操作系统提供给编程人员的唯一接口
系统调用和函数调用区别:
进入和退出方式不同:
\系统调用:INT/IRET,函数调用: CALL/RET;
CPU状态变化不同:
\系统调用:用户态 → 系统态 → 用户态;
\函数调用:无CPU状态变化。
(4) 系统调用处理过程
在系统中为控制系统调用服务的机构称为陷入(TRAP)或异常处理机构。相对应,把由于系统调用引起处理机中断的指令称为陷入或异常指令(或称访管指令);
在操作系统中,每个系统调用都对应一个事先给定的功能号,例如0、1、2、3等;
在陷入指令中必须包括对应系统调用的功能号。有些陷入指令中,还带有传给陷入处理机构和内部处理程序的有关参数;
必须为实现系统调用功能的子程序编造入口地址表,每个入口地址与相应的系统程序名对应;
陷入处理程序把陷入指令包含功能号与入口地址表有关项对应, 系统调用功能号驱动有关子程序执行;
在系统调用处理结束之后,用户程序需利用系统调用返回结果继续执行.
Last updated