操作系统第七章——操作系统接口

用户接口

字符显示式联机用户接口

又称联机命令接口
用户通过命令语言实现对作业的控制,以及取得操作系统的服务
命令语言:以命令为基本单位,指示操作系统完成特定的功能;由诸多命令组成了命令集,完整的命令集包含了操作系统提供给用户的全部功能。

  • 命令行方式
  • 批命令方式
    交互方式:用户输入命令、终端处理程序接收命令、在屏幕上显示反馈信息

图形化联机用户接口

又称图形用户接口
WIMP技术:该技术将窗口、图标、菜单、鼠标和面向对象技术等集成在一起,引入形象化的各种图标,将系统的各项功能、各种应用程序和文件直观、逼真地表示出来,形成一个图文并茂的操作环境

脱机用户接口

联机命令类型

  • 系统访问
  • 磁盘操作命令
  • 文件操作命令
  • 目录操作命令
  • 其他命令
    • 输入输出重定向(PROGRANG > FILE2)
    • 管道连接(Command1 | Command2|··|Commandn )
    • 过滤命令 (find /N “erase” (文件路径名))
    • 批命令(“*.BAT”)

联机命令接口实现

实现联机命令接口需要:

  • 键盘终端处理程序
  • 命令解释程序

键盘终端处理程序

  • (1)接收用户从终端上打入的字符。
    • 面向字符方式:不做任何修改送给
    • 面向行方式 :接收的字符暂存在行缓冲中,并可对行内字符进行编辑,尽在收到行结束符后,才将一行正确的信息送给命令解释程序
  • (2)字符缓冲,用于暂存所接收的字符(暂存字符,降低终端处理器的频率)
    • 专用缓冲:每个终端设置一个缓冲区,暂存键入的一批字符
    • 公用缓冲:将所有的空缓冲区链接成一个空的缓冲区,先申请一空缓冲区来接收输入字符
  • (3)回送显示(终端处理程序将字符送往屏幕显示)
    • 硬件实现:直接会先,速度快,但不灵活
    • 软件实现:灵活控制,系统忙时回显慢
  • (4)屏幕编辑
    • 删除字符、删除行、插入键、移动光标等
  • (5)特殊字符处理
    • 特殊字符不缓冲 ,直接产生作用

MS-DOS解释程序

命令解释程序主要功能:解释命令并执行命令

主要作用

  • 在屏幕上给出提示符,
  • 等用户键入命令,然后读入该命令,
  • 识别命令,
  • 再转到相应命令处理程序的入口地址,把控制权交给该处理程序去执行,
  • 并将处理结果送屏幕上显示。 若
  • 用户键入的命令有错,而命令解释程序未能予以识别,或在执行中间出现问题时,则应显示出相应出错信息。

组成

  • 常驻部分:包括一些中断服务子程序等
  • 初始化部分:在启动时获得控制权,处理 AUTOEXEC.BAT文件,决定应用程序装入的基地址
  • 暂存部分:主要是命令解释程序,并包含了所有内部命令处理程序、批文件处理程序一级装入和执行外部命令的程序

工作流程
在这里插入图片描述

Shell解释程序

UNIX的Shell作为操作系统的最外层,可作为命令语言,也为用户提供使用操作系统的接口,用户利用该接口与机器交互

Shell还包括了Shell命令截止程序,用于对从标准输入或文件中读入的命令进行解释执行

系统调用

系统调用提供了用户程序和操作系统之间的接口,是应用程序取得操作系统服务唯一途径

需要的原因

  • 保护操作系统代码运行不受应用程序破坏
  • 保护各个应用程序不受其他应用程序破坏

本质
应用程序请求OS内核完成某项功能时的一种过程调用

系统态和用户态

OS内核
通常将一些与硬件紧密相关的模块、各种常用设备的驱动程序以及运行频率较高的模块、都安排在紧靠硬件的软件层次中,将它们常驻内存

系统态
又称管态、内核态。运行OS内核。可执行特权指令
用户态
又称目态,运行应用程序,只能执行非特权指令

特权指令和非特权指令

特权指令

  • 只允许操作系统内核使用
  • 内存空间的访问范围基本不受限制
  • 特殊指令,如启动外部设备、设置时钟、关中断、转换执行状态等
    非特权指令
  • 应用程序能使用的指令
  • 不能对系统中的硬件和软件直接进行访问
  • 对内存的访问范围也局限于自己的用户空间

由硬件实现
若应用程序使用特权指令则会发出权限出错信号,操作系统捕获到这个信号后将转入相应错误处理程序,将终止应用程序运行

环保护机构

  • 一种由CPU提供的硬件机制
  • 低编号的环具有高优先权,可执行特权指令,运行内核,即内核态
  • 最大编号的环具有低优先权,只能执行非特权指令,运行应用程序,即用户态。
    在这里插入图片描述

系统调用与一般过程调用的区别(常考

  • (1)运行在不同的系统状态。
  • (2)状态转换:通过软中断进入,不同的系统采用各自的特定中断号:MS-DOS采用INT 21H,Linux采用80h。
  • (3)返回问题。当调用进程仍具有最高优先级时,才返回到调用进程继续执行;否则,将引起重新调度,以便让优先权最高的进程优先执行。
  • (4)嵌套调用。系统调用也可以嵌套进行

在嵌套上的区别
在这里插入图片描述

系统调用的类型

  1. 进程控制类系统调用
    • 创建和终止进程的系统调用。
    • 获得和设置进程属性的系统调用。
    • 等待某事件出现的系统调用:用户进程在运行过程中,有时需要等待某事件(条件)出现后,方可继续执行。
  2. 文件操纵类系统调用 创建文件、删除文件、打开文件、关闭文件、读文件、写文件、建立目录、移动文件的读/写指针等。
  3. 进程通信类系统调用: 消息传递方式和共享存储区方式。

系统调用的实现

系统调用时,控制要由用户态转换到系统态,借助陷入机制来完成

  • 陷入硬件机构
  • 陷入处理程序

中断

  • 内中断:由CPU内部事件引起的中断
  • 外中断:由外部设备事件引起的中断
    陷入和中断的区别
    陷入是指执行了现行指令所引起;
    而中断是由于系统中某事件引起的,事件与现行指令无关

陷入向量
在这里插入图片描述
每条系统调用有一个唯一的系统调用号
处理系统调用需要:系统调用好和相应的参数

传递参数和调用好的方式

  • 陷入指令自带方式:捎带能力有限
  • 直接将参数传入相应的寄存器:MS-DOS采用这种方式。寄存器数量有限
  • 参数表方式。将指向该参数表的指针放在某个指定的寄存器中。当前大多数的OS如UNIX系统采用了这种方式

参数传递的两种方式

  • 直接参数传递
    在这里插入图片描述
  • 间接参数传递
    在这里插入图片描述

系统调用处理步骤

执行前准备

  1. 因陷入指令从用户态转为系统态
  2. 保存中断进程的CPU环境:PSW,程序计数器、系统调用号、用户栈指针,以及通用寄存器等;压入进程的内核栈
  3. 传入参数

分析系统调用号转入相应的系统调用子程序

  • 系统调用入口表:系统调用号、参数个数和入口地址组成的系统表
  • 查找系统调用入口表找到处理子程序入口地址
    从系统调用处理子程序返回
  • 检查是否需要调度,若需要调度则调度后转向新进程执行
  • 否则从进程的系统栈中弹出保存的环境,返回调用进程继续执行

系统调用功能主要是由系统调用子程序来完成的,对于不同的系统调用,起处理程序将执行不同的功能

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
wimp用户界面概念模型是一种被广泛应用于现代计算机系统的设计理念。WIMP是指窗口(Window)、图标(Icon)、菜单(Menu)和鼠标(Pointer)四个英文单词的首字母缩写。 在WIMP概念模型中,窗口是一个可视化的区域,用于同时显示和操作多个应用程序或文件。用户可以通过窗口在屏幕上自由移动、调整大小和最小化等操作。图标则是一种用来表示应用程序或文件的图形符号,用户可以通过点击图标来打开对应的窗口。菜单则提供了一个集中管理和操作的方式,用户可以通过菜单来执行各种命令或操作。鼠标则是一种用于控制屏幕上光标位置和选择操作对象的输入设备。 WIMP用户界面概念模型的优点之一是它提供了直观易用的操作方式,使用户可以通过简单的点击、拖拽和选择等动作完成复杂的操作。同时,WIMP界面也提供了良好的可视化效果,用户可以通过窗口、图标和菜单等元素直观地感知和操作系统的状态和功能。 WIMP用户界面概念模型的设计理念已经被广泛应用于个人电脑、移动设备和互联网等各种计算机系统中。它不仅提高了用户的工作效率,还降低了用户的学习门槛,使得更多的人可以轻松地使用计算机进行工作和娱乐。 总的来说,WIMP用户界面概念模型通过窗口、图标、菜单和鼠标等元素的组合,提供了一种直观易用的操作方式,帮助用户更高效地使用计算机系统。它是现代计算机界面设计的基础,也是人机交互领域的重要研究内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值