操作系统接口

 

  用户接口:

    字符显示式: 命令行、 批命令

    图形式:         

  简单命令:

    进入与退出系统

    文件操作命令

    目录操作命令

    系统询问命令:    比如pwd  获取当前路径名

         重定向命令:    >> fileName    输出重定向   将前面的结果不打印在屏幕上,而是输入到后面的文件中

           <<fileName    输入重定向,将后面文件中的内容输入给前面的命令进行处理

    管道命令:  |       前面的结果作为输入,传给后面执行       这也是进程的一种通信方式

    通信命令:        mail     write  

    后台命令: & 

  命令接口的实现:

      键盘中断处理程序:接收用户的命令输入,进行缓冲,回送显示,屏幕编辑,特殊字符处理

      Shell解释程序:  (Shell解释器的作用是什么?? )

        Shell对标准输入或者文件中读入的命令进行解释,然后传给内核进行执行! 

       执行过程:

        1)获取用户的命令输入

        2)对命令进行分析

        3)建立子进程来执行命令

        4)对于 ;分割的命令,等前面的命令执行完后,再执行后面的命令,对于 & 分割的命令,不用等到前面命令执行完,前面的命令执行后,就可以调用后面的命令了!!

  系统调用:

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

  系统态和用户态:

    系统中运行着应用程序和系统程序,为了防止应用程序对os的破坏,os的内核运行在系统态(内核态),应用程序运行在用户态!

    CPU的指令集也分为特权指令和非特权指令。 特权指令是系统态运行的指令,对内存空间的访问范围不受限制。非特权指令是用户态运行的指令,对内存的访问范围是有限制的。

    系统调用:

      因为存在了内核态和用户态,那么当我们的程序要想调用内核态才能调用的功能时,就需要进行系统调用。

      系统调用是通过中断机制实现的。

    系统调用的类型:  

        1)创建和终止进程;等待某事件出现(等待唤醒) (进程或者线程的切换也是用到内核态实现的吧???)

        2)创建和删除文件;打开和关闭文件(为什么要打开和关闭文件呢?);读、写文件。

        3)进程通信。  消息传递、共享存储

        4)设备管理的系统调用  信息维护的系统调用

 

posted @ 2020-07-27 08:09  你眼里的星辰  阅读(418)  评论(0)    收藏  举报