zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    鱼眼相机畸变矫正资料
    异常值检测算法三:3sigma模型
    五:瑞芯微RV1109
    四:海思Hi3516CV500/Hi3516DV300
    三:瑞芯微OK3399-C开发板
    二:飞凌嵌入式FCU1201
    一:芯片概述
    六:大数据架构
    五:大数据架构回顾-LambdaPlus架构
    四:大数据架构回顾-IOTA架构
  • 原文地址:https://www.cnblogs.com/lang5230/p/5566338.html
Copyright © 2011-2022 走看看