一、接口
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、系统调用的类型
(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指针
-
确定系统调用号
-
参数传送
-
利用系统调用定义表转入相应的处理程序
-
系统调用返回前的公共处理