• linux shell执行原理


    shell简介

    Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。

    运行背景

    a 一个基本的linux系统结构

    b.由上图可以看出,shell 在系统中是处于中间层次的。他为用户和kernel的交互提供了一种方式,方案。

    c.关于分层结构的众多优势:

    1、开发人员可以只关注整个结构中的其中某一层;
    2、可以很容易的用新的实现来替换原有层次的实现;
    3、可以降低层与层之间的依赖;
    4、有利于标准化;
    5、利于各层逻辑的复用。

    缺点:

    1、降低了系统的性能。

      2、有时会导致级联的修改

    shell命令执行原理

    表层理解   我们一般做法就是:打开终端,输入命令,敲回车,等待命令运行,得到结果

    那么,对于这个过程进行细致的解析,又包含了哪些东西呢?

      打开终端,输入命令,敲回车----IO中断

      等待过程:

        shell分析命令及参数----shell(一个终端位置的解释性程序)

        fork拷贝附近成pcb相关资源,为命令执行做准备----系统调用

        exec在fork得到的子进程中执行命令

      执行完成,返回结果----堆栈保护,栈帧注:当执行命令如  ls  &

    &符号表示该命令在后台执行,而当命令执行过程中,我们是无法仅需输入命令的,这是因为父进程在fork执行shell命令的同时,回执行wait等待子进程结束,除非用户主动Ctrl+C中止命令执行或者Ctrl+z置入后台执行。

    参考http://my.oschina.net/u/866271/blog/232840

  • 相关阅读:
    SuiteCRM-7.7.6 (Ubuntu 16.04)
    Mautic-2.2.0 (Ubuntu 16.04)
    Limesurvey-2.55 (Ubuntu 16.04)
    视频会议20方100点 v2.66.1.18
    cuda和tensorflow对应关系
    pointnet++运行
    ubuntu使用anaconda安装tensorflow
    ubuntu安装搜狗输入法
    add the icon of the pycharm
    ubuntu中文界面改成英文界面
  • 原文地址:https://www.cnblogs.com/lang5230/p/5566338.html
Copyright © 2020-2023  润新知