操作系统接口
用户接口:
字符显示式: 命令行、 批命令
图形式:
简单命令:
进入与退出系统
文件操作命令
目录操作命令
系统询问命令: 比如pwd 获取当前路径名
重定向命令: >> fileName 输出重定向 将前面的结果不打印在屏幕上,而是输入到后面的文件中
<<fileName 输入重定向,将后面文件中的内容输入给前面的命令进行处理
管道命令: | 前面的结果作为输入,传给后面执行 这也是进程的一种通信方式
通信命令: mail write
后台命令: &
命令接口的实现:
键盘中断处理程序:接收用户的命令输入,进行缓冲,回送显示,屏幕编辑,特殊字符处理
Shell解释程序: (Shell解释器的作用是什么?? )
Shell对标准输入或者文件中读入的命令进行解释,然后传给内核进行执行!
执行过程:
1)获取用户的命令输入
2)对命令进行分析
3)建立子进程来执行命令
4)对于 ;分割的命令,等前面的命令执行完后,再执行后面的命令,对于 & 分割的命令,不用等到前面命令执行完,前面的命令执行后,就可以调用后面的命令了!!
系统调用:
系统调用提供了用户程序和操作系统内核之间的接口,也是用户程序取得os 服务的唯一途径!!!
系统态和用户态:
系统中运行着应用程序和系统程序,为了防止应用程序对os的破坏,os的内核运行在系统态(内核态),应用程序运行在用户态!
CPU的指令集也分为特权指令和非特权指令。 特权指令是系统态运行的指令,对内存空间的访问范围不受限制。非特权指令是用户态运行的指令,对内存的访问范围是有限制的。
系统调用:
因为存在了内核态和用户态,那么当我们的程序要想调用内核态才能调用的功能时,就需要进行系统调用。
系统调用是通过中断机制实现的。
系统调用的类型:
1)创建和终止进程;等待某事件出现(等待唤醒) (进程或者线程的切换也是用到内核态实现的吧???)
2)创建和删除文件;打开和关闭文件(为什么要打开和关闭文件呢?);读、写文件。
3)进程通信。 消息传递、共享存储
4)设备管理的系统调用 信息维护的系统调用
浙公网安备 33010602011771号