操作系统——(10)操作系统接口

本文详细介绍了操作系统用户接口的多种类型,包括字符显示式联机接口、图形化用户接口(GUI)和脱机用户接口。重点讨论了命令行方式、批命令以及图形化操作,如窗口、图标、菜单等。此外,还阐述了shell命令语言的特点、简单命令分类以及shell的种类。系统调用的概念、目的和类型也被提及,包括进程控制、文件操纵、通信等。文章最后提到了UNIX系统中的进程控制和文件操纵系统调用的实现方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、接口

1、概述

为了使用户能方便的使用计算机,帮助用户快速、有效、安全、可靠的操纵计算机系统中的各类资源,完成相关的处理,操作系统提供了相应的用户接口

2、用户接口

(1)、字符显示式联机用户接口(联机命令接口)

是指用户通过命令语言实现对作业的操作,以及获取操作系统的服务。命令语言就是以命令为基本单位,只是操作系统完成特定的功能,由诸多命令组成的命令及完整的命令集,包含了操作系统提供给用户可使用的全部功能。命令是由一组命令动词和参数组成的,具有规定的词法、语法、语义和表达形式

        1. 命令行方式

该方式是以行为单位输入和显示不同的命令,每行长度不超过256个字符

        2. 批命令方式

操作系统都支持一种称为批命令的特别命令方式,允许用户预先把一系列命令组织在一种称为批命令文件的文件中

此方式可减少用户输入命令次数,节省了时间,减少了出错概率,并且方便了用户,批处理文件文件扩展名一般为“.bat”

3、图形化联机用户接口

(1)、图形化用户接口(GUI)

(2)、WIMP技术

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

4、脱机用户接口

5、联机命令的类型

(1)、系统访问类

注册名和口令

6、文件操作命令

  • 显示文件命令Type,用于将指定文件内容显示在屏幕上

  • 拷拷贝文件命令copy,用于实现文件的拷贝

  • 文件比较命令comp,用于对两个指定文件进行比较,两个文件可以在同一个或不同的驱动器上

  • 重新命名命令Rename,用于将以第一参数命名的文件改成用第二参数给定的名字

  • 删除文件命令erase,用于删除一个或一组文件

7、目录操作命令

  • 建立子目录命令mkdir,用于建立指定名字的新目录

  • 显示目录命令dir,用于指示磁盘中的目录项

  • 删除子目录命令rmdir,用于删除指定的子目录文件,但不能删除普通文件,而且一次只能删除一个空目录(其中包含“.”和“..”两个文件),不能删除根即当前目录

  • 显示目录结构命令tree,显示指定盘上的所有目录路径及其层次关系

  • 改变当前目录命令chdir,将当前目录改变为由路径名参数给定的目录,用“..”作参数时,表示应返回到上一级目录下

8、其他命令

  • 输入输出重定向命令

  • 管道连接

  • 过滤命令

  • 批命令

二、shell命令语言

1、shell语言特点

    1. 作为命令语言,它有自己内建的shell命令集,可以为用户提供使用操作系统的接口,用户利用该接口与机器交互

    2. 作为一种程序设计语言,它支持绝大多数在高级语言中能见到的程序元素;作为一种编程语言,还具有简单易学的特点

    3. 作为一个命令解释器(程序),可对输入的命令解释执行

2、简单命令

一条命令行中仅有一个命令;一条简单命令便是一个能完成某种功能的目标程序的名字

    1. 格式:命令名字符的个数及用于分隔命令名、选项、各参数间空格数等,都是任意的

    2. 简单命令的分类

  • 内部命令

  • 外部命令

    3. 根据命令是否包含在shell内部,即是否长驻内存

内部命令 shell中少数标准命令,如改变工作目录命令cd等,是包含在shell内部的,作为内部命令常驻内存。

外部命令 shell中绝大多数的命令,如拷贝命令ct和移动命令rm等,均保存于外存(盘)上,即每个命令是存在于文件系统中某个目录下的单独程序

3、shell的种类

  • Bourne Shell

  • C Shell

  • Korn Shell

4、简单命令的类型

(1)、进入与退出系统

  • 进入系统(注册)

  • 退出系统

(2)、文件操作命令

  • 显示文件内容命令cat

  • 复制文件副本命令cp

  • 对已有文件改名命令mv

  • 撤销文件命令rm

  • 确定文件类型命令file

(3)、目录操作命令

  • 建立目录命令md

  • 撤销目录命令rd

  • 改变工作目录的命令cd

(4)、系统询问命令

  • 访问当前日期和时间命令date

  • 询问系统当前用户命令who

  • 显示当前目录路径名命令pwd

(5)、重定向与管道命令

  • 重定向命令

  • 管道命令

(6)、通信命令

  • 信箱通信命令mail

  • 对话通信命令write

  • 允许或拒绝接收消息命令mesg

6、后台命令

三、联机命令接口的实现

1、键盘终端处理程序

(1)、字符接收功能

实现字符接收功能的方式:面向政府方式以及面向行方式

(2)、字符缓冲功能

采用字符缓冲功能的方式:专用缓冲方式以及公用缓冲方式

(3)、回送显示

(4)、屏幕编辑

(5)、特殊字符处理

  • 中断字符:Break、Delete、Ctrl+C

  • 停止上卷字符:Ctrl+S

  • 恢复上卷字符:Ctrl+Q

2、Ms-Dos解释程序

(1)、命令解释程序的作用

(2)、命令解释程序的组成

  • 常驻部分

  • 初始化部分

  • 暂存部分

(3)、命令解释程序的工作流程

3、shell解释程序

(1)、特点

  • 一条命令行中含有多个命令

  • 具有不同的分隔符

(2)、Linux命令解释程序的工作流程

  1. 读取用户由键盘输入的命令行

  2. 对命令进行分析

  3. 建立相应的子进程

  4. 等待子进程完成

四、系统调用的概念和类型

1、系统调用目的

是使应用程序可以通过它间接调用操作系统中的相关过程,取得相应的服务

2、中断机制

所有系统调用,都通过同一个中断入口来实现

3、系统调用的类型

(1)、进程控制类系统调用

创建和终止进程的系统调用:利用创建进程的系统调用,为欲参加并发执行的程序创建一个进程。当星辰已经执行结束时,利用终止进程的系统调用来终止该进程的结束

(2)、获取和设置进程属性的系统调用

利用获得进程属性的系统调用来了解某些进程的属性,利用设置进程属性的系统调用来确定和重新设置进程的属性

(3)、等待某事件出现的系统调用

进程在运行过程中,需要等待某事件(条件)出现,后方可继续执行。此时进程可利用等待的系统调用,使自己处于等待状态,一旦等待(事件)的事件出现,便可将等待进程唤醒

4、文件操纵类系统调用

  • 创建和删除文件

  • 打开和关闭文件的系统调用

  • 读和写文件的系统调用

  • 进程通信类系统调用

5、POSIX标准

也称为:基于Unix的可移植操作系统接口

五、UNIX系统系统

1、进程控制

(1)、进程的创建和终止

  • 创建进程

  • 终止进程

(2)、改变进程映像和等待

  • 执行一个文件(exec)

  • 等待紫禁城结束(wait)

(3)、其他进程调用

  • 获得进程ID

  • 获取用户ID

  • 进程暂停pause

2、文件操纵

(1)、文件的创建和删除

创建文件(creat):如果系统中不存在指明文件,核心便于给定的文件名和许可权方式来创建一个新文件,如果系统中已有同名文件,核心便释放其已有的数据块

删除文件:无人可对文件进行删除,只有当文件的确已无人需要时才删除它

(2)、文件的打开和关闭

打开文件open:把有关的文件属性从磁盘拷贝到内存中,以及在用户和指明文件之间建立一条快捷的通路,并给用户返回一个文件描述符fd

关闭文件close:允许一个文件被多个进程所共享,故只有在无其他任何进程再需要对它进行访问时,或者说,在对其索引节点中的访问计数in-count执行减1操作后其值为0,表示已无进程再访问该文件时,才能真正关闭该文件

3、文件的读和写(read和write)

两个系统调用都要求用户提供三个输入参数:文件描述符fd、Buf缓冲区首址、用户要求传送的字节数nbyte

4、建立与文件的连接和去连接

 连接(link): 在该文件的索引节点中设置了一个连接计数i.link,每当有一用户要共享的文件时,须利用系统调link来建立该用户与此文件之间的连接,并对i.link做加1操作

去连接(unlink):当用户不再使用此文件时,应利用系统调用unlink去断开此连接,亦即做i.link的减1操作

5、进程通信和信息保护

(1)、进程通信

  • 消息机制

  • 共享存储器机制

  • 信号量机制

(2)、信息维护

  • 设置和获得时间

  • 获得进程和子进程时间

  • 设置文件访问和修改时间

  • 获得当前Unix系统的名称

六、系统调用的实现

1、系统调用的实现方法

(1)、系统调有好和参数的设置

  • 陷入指令自带方式

  • 直接将参数送入相应的的寄存器中

  • 参数表方式

(2)、系统调用的处理步骤

  • 首先将处理器状态由用户才转为系统态

  • 由硬件和内核程序进行系统调用的一般性处理

  • 分析系统调用类型,转入相应的系统调用处理子程序

  • 在系统调用处理子程序执行完后,应恢复被中断的或设置新进程的CPU现场,然后返回被中断进程或新进程,继续往下执行

(3)、Unix系统调用的实现

  • Cpu环境保护

  • AP和FP指针

  • 确定系统调用号

  • 参数传送

  • 利用系统调用定义表转入相应的处理程序

  • 系统调用返回前的公共处理

(4)、Linux系统调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DF10F-0001A

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值